Linux-Ollama部署备忘录
1. 什么是 Ollama
Ollama
是基于Go
语言的项目,目的在于简化开源大模型的部署、微调和工程化开发。- 其项目的底座是
ollama.cpp
项目,该项目能够利用量化模型,降低本地大模型的硬件门槛,对于规模相对较小(7b
左右的模型),利用CPU + RAM
就可以实现速度相对可用的推理。 - 因此,部署此项目可以借助较低成本,实现本地大模型的服务化。
2. 部署记录
- 本次部署的环境为
Debian 12.2
Ollama
部署的难度非常小。其部署的简易性来源于两个方面:- 国内的
GFW
对于其网络服务的限制较小,几乎没有收到防火墙的影响; Ollama
官方实现了脚本化的封装,利用systemctl
大幅简化部署过程中的困难。
- 国内的
- 部署过程如下所示:
2.1 下载脚本
bash
curl -fsSL https://ollama.com/install.sh | sh
2.2 调整环境变量
bash
# sudo vim /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/data/other/anaconda3/bin:xxxxxx" # change to bin
Environment="OLLAMA_ORIGINS=*.albert.cool"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="NVARCH=x86_64"
Environment="NV_CUDA_CUDART_VERSION=11.6"
Environment="NVIDIA_VISIBLE_DEVICES=all"
Environment="OLLAMA_MODELS=/data/ollama/models"
[Install]
WantedBy=default.target
- 如果在客户端调用,需要调整
CORS
配置 - 需要注意是否识别到显卡驱动
- 修改完成之后,执行以下命令
bash
sudo systemctl daemon-reload \
&& sudo systemctl restart ollama \
&& sudo systemctl status ollama -l
2.3 拉取模型
- 按照如下方式可以一键拉取运行
bash
ollama run llama3:70b
2.4 查看日志
bash
journalctl -e -u ollama
3. 硬件要求
2060
显卡:大约能够流畅运行13b
规模模型,规模变大之后就会很卡。3090
显卡:能够流畅运行70b
规模模型,尝试mixtral:8x22b
,基本上不可用。qwen:110b
也存在显卡瓶颈。- 无
GPU
:能够流畅运行7b
规模模型,模型规模稍大则几乎不可用。