引言
在过去的几个季度里,大语言模型(LLM)的平民化运动一直在快速发展,从最初的 Meta 发布 Llama 2 到如今,开源社区以不可阻挡之势适配、进化、落地。LLM已经从昂贵的GPU运行转变为可以在大多数消费级计算机上运行推理的应用,通称为本地大模型。
然而,本地大模型的推理需要相当大的显存,对于16位浮点精度(FP16)的模型,显存需求约为模型参数量的两倍。这使得运行大模型成为对普通家用计算机硬件规格的挑战。为了解决这个问题,模型量化技术应运而生,将权重参数的精度压缩为4位整数精度,大幅减小了显存需求。
在这一背景下,llama.cpp项目通过C/C++重写了推理代码,避免了PyTorch引入的复杂依赖,并提供了更广泛的硬件支持,包括纯CPU推理、Apple Silicon等。然而,llama.cpp的使用仍然对用户有一定的门槛,需要获取模型权重、克隆项目代码、执行模型量化、设置环境变量等。
直到Ollama的出现,一个简明易用的本地大模型运行框架,为用户提供了更便捷的方式在个人电脑上运行大模型。
快速上手
Ollama的安装非常简单,macOS用户只需在官网下载安装包并运行,而Windows用户则可以通过WSL 2以Linux方式用命令进行安装。同时,熟悉Docker的用户也可以直接使用其官方镜像。
1 | % curl https://ollama.ai/install.sh | sh |
安装完成后,通过运行 ollama –version 命令检查版本,确认安装成功后即可通过 ollama pull 命令从在线模型库下载模型。例如,下载中文微调过的Llama2-Chinese 7B模型的4-bit量化版本:
1 | % ollama pull llama2-chinese |
下载完成后,使用 ollama run 命令即可运行模型并进行推理,支持单条输入或对话模式。
1 | # 单条输入 |
1 | # 对话模式 |
套壳玩法
尽管Ollama为用户带来了便利,但命令行形式仍然对一些用户来说不够友好。为此,Ollama提供了一系列周边工具,包括Web界面、桌面应用、终端工具等。其中,Ollama GUI的选择多样,包括Web版本、终端TUI版本(oterm)以及Raycast插件等,以满足用户不同的使用偏好。
传送门
进阶玩法
更换模型
Ollama支持用户自定义系统提示词和调整推理温度等参数。用户可以根据自己的需求选择不同版本的模型,如13B版本,只需在命令中添加对应标签:
1 | % ollama run llama2-chinese:13b "天空为什么是蓝色的?" |
图片支持
除了纯语言大模型,Ollama还从0.1.15版本开始提供了对视觉模型的支持。用户只需在提示中添加本地图片路径即可进行图像文本推理。
1 | % ollama run llava |
自定义系统提示词
Ollama允许用户自定义系统提示词,提高模型的个性化。用户可以通过前端工具或直接调用API传入系统提示词选项进行配置。
1 | curl http://localhost:11434/api/chat -d '{ |
更多选项
Ollama的ModelFile提供了更多自定义的空间,包括系统提示词、对话模板、模型推理温度、上下文窗口长度等参数均可自行设置,适合进阶使用者。
在创建前,通过 show --modelfile
命令可以查看现有模型的 ModelFile 内容,作为参考:
1 | % ollama show --modelfile llama2-chinese:13b |
以自定义系统提示词并修改推理温度参数为例,应构建如下格式的 ModelFile:
1 | FROM llama2-chinese:13b |
然后使用 create 命令进行创建,新的模型会沿用原有模型的权重文件和未作调整的选项参数:
1 | ollama create llama2-chinese-pirate -f ~/path/to/ModelFile |
从而得到了属于自己的本地模型。
结语
Ollama的出现使得本地大模型的运行变得更加简单快捷。尽管相较于普通应用软件,Ollama的使用体验可能仍有提升空间,但与数月前相比,其进步巨大。称Ollama为AI技术平民化的贡献并不为过,它为更多人以最简单快速的方式在本地运行大模型提供了可能。