如何在离线的Linux服务器上部署 Ollama,并使用 Ollama 管理运行 Qwen 大模型
手动安装 Ollama
根据Linux的版本下载对应版本的 Ollama
- 查看Linux CPU型号,使用下面的命令
#查看Linux版本号
cat /proc/version
#查看cpu架构
lscpu
- x86_64 CPU选择下载ollama-linux-amd64;aarch64|arm64 CPU选择下载ollama-linux-arm64
安装和运行
- 在有网络的环境下载好tgz安装包,并上传到离线 Linux 服务器
- 安装,使用下面的命令:
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
- 启动 Ollama,使用下面的命令:
ollama serve
- 另外启动一个终端验证是否运行成功,使用下面的命令:
#查看所有下载的模型
ollama list
这样 Ollama 就算安装完成了。之所以下载 Ollama,是因为 Ollama 提供了大模型运行的所有环境,使用它能方便的在本地运行各种 LLM。
在 Ollama 上部署 Qwen2.5
下载 Qwen2.5
- 在国内 AI 社区 ModelScope 下载 Qwen2.5 模型,国外的 AI 社区 Hugging Face 也可以下载,不过要想下载国外的大模型,例如 Llama,需要填写联系信息进行申请,不过申请了也不一定会给过的。
- 推荐使用 Git 下载,使用下面的命令:
git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-1.5B-Instruct.git
从 Safetensors 导入模型
- Git 克隆下来的仓库会包含一个 model.safetensors 文件,需要将其格式转换为二进制 .bin 形式,才能由 Ollama 着手导入进行管理。
- 大模型格式转换主要用到一个工具 llama.cpp,使用下面的命令同步 llm/llama.cpp 子模块:
#首先克隆 Ollama 仓库
git clone [git@github.com](mailto:git@github.com):ollama/ollama.git ollama
cd ollama
#然后同步子模块
git submodule init
git submodule update llm/llama.cpp
#接着安装 python 依赖
python3 -m venv llm/llama.cpp/.venv
source llm/llama.cpp/.venv/bin/activate
pip install -r llm/llama.cpp/requirements.txt
- 转换模型Qwen2.5,使用下面的命令:
python llm/llama.cpp/convert_hf_to_gguf.py ./model --outtype f16 --outfile converted.bin
- 编写模型文件 Modelfile (没有后缀名),文件内容如下:
FROM converted.bin
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
"""
SYSTEM """
你是一个乐于助人的助手,但你会用20世纪30年代黑手党暴徒的风格去回答问题
"""
- 将转换后的 .bin 文件和 Modelfile 文件上传到离线的 Linux 服务器的同一目录下,使用下面的命令导入到 Ollama:
ollama create Qwen2.5 -f Modelfile
- 查看和运行大模型,使用下面的命令:
#查看大模型信息
ollama show Qwen2.5
#查看 Ollama 管理的所有大模型
ollama list
#运行大模型
ollama run Qwen2.5
#查看正在运行的大模型
ollama ps
这样 Qwen2.5 就算导入成功了,实际上 llama 工具还可对大模型进行量化,量化后的大模型会更加精确,更加节省系统资源,有关量化的信息可自行研究。