如何在离线的Linux服务器上部署 Ollama,并使用 Ollama 管理运行 Qwen 大模型
<h2 id="手动安装-ollama">手动安装 Ollama</h2><h3 id="根据linux的版本下载对应版本的-ollama">根据Linux的版本下载对应版本的 Ollama</h3>
<ul>
<li>查看Linux CPU型号,使用下面的命令</li>
</ul>
<pre><code class="language-sh">#查看Linux版本号
cat /proc/version
#查看cpu架构
lscpu
</code></pre>
<ul>
<li>x86_64 CPU选择下载ollama-linux-amd64;aarch64|arm64 CPU选择下载ollama-linux-arm64</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/2429337/202411/2429337-20241104110709115-1089116738.png"></p>
<h3 id="安装和运行">安装和运行</h3>
<ul>
<li>在有网络的环境下载好tgz安装包,并上传到离线 Linux 服务器</li>
<li>安装,使用下面的命令:</li>
</ul>
<pre><code class="language-sh">sudo tar -C /usr -xzf ollama-linux-amd64.tgz
</code></pre>
<ul>
<li>启动 Ollama,使用下面的命令:</li>
</ul>
<pre><code class="language-sh">ollama serve
</code></pre>
<ul>
<li>另外启动一个终端验证是否运行成功,使用下面的命令:</li>
</ul>
<pre><code class="language-sh">#查看所有下载的模型
ollama list
</code></pre>
<p>这样 Ollama 就算安装完成了。之所以下载 Ollama,是因为 Ollama 提供了大模型运行的所有环境,使用它能方便的在本地运行各种 LLM。</p>
<h2 id="在-ollama-上部署-qwen25">在 Ollama 上部署 Qwen2.5</h2>
<h3 id="下载-qwen25">下载 Qwen2.5</h3>
<ul>
<li>在国内 AI 社区 ModelScope 下载 Qwen2.5 模型,国外的 AI 社区 Hugging Face 也可以下载,不过要想下载国外的大模型,例如 Llama,需要填写联系信息进行申请,不过申请了也不一定会给过的。</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/2429337/202411/2429337-20241104140813951-2051301727.png"></p>
<ul>
<li>推荐使用 Git 下载,使用下面的命令:</li>
</ul>
<pre><code class="language-sh">git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-1.5B-Instruct.git
</code></pre>
<h3 id="从-safetensors-导入模型">从 Safetensors 导入模型</h3>
<ul>
<li>Git 克隆下来的仓库会包含一个 model.safetensors 文件,需要将其格式转换为二进制 .bin 形式,才能由 Ollama 着手导入进行管理。</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/2429337/202411/2429337-20241104142218322-873482540.png"></p>
<ul>
<li>大模型格式转换主要用到一个工具 llama.cpp,使用下面的命令同步 llm/llama.cpp 子模块:</li>
</ul>
<pre><code class="language-sh">#首先克隆 Ollama 仓库
git clone (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
</code></pre>
<ul>
<li>转换模型Qwen2.5,使用下面的命令:</li>
</ul>
<pre><code class="language-py">python llm/llama.cpp/convert_hf_to_gguf.py ./model --outtype f16 --outfile converted.bin
</code></pre>
<ul>
<li>编写模型文件 Modelfile (没有后缀名),文件内容如下:</li>
</ul>
<pre><code class="language-text">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年代黑手党暴徒的风格去回答问题
"""
</code></pre>
<ul>
<li>将转换后的 .bin 文件和 Modelfile 文件上传到离线的 Linux 服务器的同一目录下,使用下面的命令导入到 Ollama:</li>
</ul>
<pre><code>ollama create Qwen2.5 -f Modelfile
</code></pre>
<ul>
<li>查看和运行大模型,使用下面的命令:</li>
</ul>
<pre><code class="language-sh">#查看大模型信息
ollama show Qwen2.5
#查看 Ollama 管理的所有大模型
ollama list
#运行大模型
ollama run Qwen2.5
#查看正在运行的大模型
ollama ps
</code></pre>
<p>这样 Qwen2.5 就算导入成功了,实际上 llama 工具还可对大模型进行量化,量化后的大模型会更加精确,更加节省系统资源,有关量化的信息可自行研究。</p><br><br>
来源:https://www.cnblogs.com/Casflawed/p/18525187
頁:
[1]