乙巳蛇年伊始,DeepSeek-R1大模型横空出世,凭借“四两拨千斤”的创新实力火爆出圈,在人工智能领域引起了强烈反响。各行各业的企业、开发者纷纷在本地部署DeepSeek,争先恐后“品尝”这道“大模型盛宴”。
为了赶上这波热潮,笔者在机房找到一台AI服务器,机型为浪潮信息NF5466G7,摩拳擦掌开始部署DeepSeek。在笔者看来,本地化部署DeepSeek主要面临兼容性与安全性两方面难题。
- GPU、服务器等底层硬件的复杂适配工作是第一个难题。GPU适配涉及到驱动程序的兼容性、CUDA与cuDNN版本的匹配以及GPU之间的通信与负载均衡等。而服务器适配则包括CPU与内存的协调、存储系统的优化以及网络带宽的保障等。这些因素相互交织、提高了适配复杂性,这增加了DeepSeek部署的资源与时间投入,还可能延长DeepSeek的上线时间,导致企业在快速变化的商业环境中错过市场机会。
- 训练与推理过程中的数据泄露风险、数据安全问题等也是本地化部署DeepSeek的痛点问题。比如,本地化部署Deepseek往往需要储存、处理大量敏感数据,比如个人隐私、商业秘密等,上述数据的泄露将给个人或者企业造成重大损失。再例如,本地化部署DeepSeek需要定期、及时地修复已知安全漏洞,以规避系统安全隐患,这无疑增加了维护成本。
为了无忧使用DeepSeek,笔者摸排了现有各类部署方案,发现云峦KeyarchOS本地化部署DeepSeek方案与笔者的场景与需求较为吻合。首先,该方案的底层硬件是浪潮信息AI服务器,与笔者现有的测试机器一致;其次,方案在操作系统选型上采取了同一家厂商研发的KeyarchOS,能够与服务器、主流GPU等硬件天然兼容;再次,方案适配了CUDA、GPU驱动等关键AI组件,满足笔者的大模型部署需求。
下面,笔者将根据自己的实际体验,简要介绍选取这一方案的原因,并提供保姆级部署教程,详细介绍笔者如何通过Ollama框架,实现DeepSeek R1的在线、离线本地化部署,以及部署过程中的常见问题与解决方法。
云峦KeyarchOS本地化部署DeepSeek方案架构
一、选择这一方案的原因?
- 服务器及GPU广泛支持:方案选用云峦KeyarchOS作为底层操作系统,天然兼容NF5468G7、NF5468H7等主流AI服务器,并全面支持国内外主流消费级与服务器级GPU,能够支撑DeepSeek在不同计算环境下顺利运行。灵活的硬件兼容性,减少了笔者在部署DeepSeek时的适配成本。
- 灵活扩展且一键部署:针对不同的算力规模,方案将动态推荐适配的DeepSeek版本,有助于缩短部署周期。此外,最令笔者这种“懒人”动心的是,方案提供了简单易用的部署脚本,可以实现DeepSeek的私有化一键部署。
- 多重防护措施保护隐私:通过云峦KeyarchOS的安全模块,方案提供了内核级无侵入式系统防护,这有助于保障本地知识库数据的全生命周期安全,防止未经授权的访问。方案还采用了机密计算与加密技术,对DeepSeek训练与推理过程涉及的敏感数据进行精准加密,降低数据泄露风险。此外,方案构建了硬件级可信执行环境(TEE),金融等高合规要求、高安全标准行业也可无忧使用。
二、“手把手”教会DeepSeek本地化部署!
以下为笔者在云峦KeyarchOS上,通过Ollama框架实现DeepSeek R1本地化部署的详细步骤。
温馨提示:云峦KeyarchOS还提供了DeepSeek一键部署脚本,懒得一步步部署的同学可以试用~
笔者本次使用的软硬件环境如下:
- 机型:NF5466G7
- 操作系统:Keyarchos5.8 SP2
- 内存:256G
- 磁盘空间:4T
- GPU型号及显存:NVIDIA T4 16G * 4
- Ollama:0.5.7
- deepseek-r1: 14b
- Chatbox:1.9.8
三、在线部署教程
1、安装ollama:
下载ollama的二进制包(X86为例):ollama-linux-amd64.tgz
下载地址:https://ollama.com/download/ollama-linux-amd64.tgz
安装ollama:
tar -C /usr -xzf ollama-linux-amd64.tgz
配置服务文件:
模型路径的存储空间最好要预留模型大小的两倍以上。
启动ollama服务:
如上,ollama安装成功且服务配置成功。
2、通过 Ollama 拉取并部署 DeepSeek - r1
启动 Ollama 服务:
在终端中输入以下命令启动 Ollama 服务:
拉取 DeepSeek - r1 模型:
注意:要根据显存、内存等拉取合适大小的模型
模型网址:https://ollama.com/library/
拉取模型:ollama pull deepseek-r1:14b
系统会开始从相应的镜像源拉取 DeepSeek-r1 模型,并显示下载和构建镜像的进度。等待拉取和构建完成。
拉取完之后查看下载的模型:
运行模型:ollama run deepseek-r1:14b
当 DeepSeek-r1模型拉取完成后,输入该命令即可在对应的命令行界面(Linux的终端)中,直接与模型进行交互。
如下命令可查看正在运行的模型:
3、使用 DeepSeek - r1模型---命令行交互。
运行模型后,输入你想要询问的问题或指令,DeepSeek-r1 模型会给出相应的回答:
4、使用 DeepSeek - r1 模型---chatbox可视化交互。
(1)Linux环境下使用chatbox。
添加可执行权限:chmod +x Chatbox-1.9.7-x86_64.AppImage
打开可视化界面:./Chatbox-1.9.7-x86_64.AppImage --no-sandbox
运行后打开可视化界面如下:
(2)Windows 环境下使用chatbox。
如果需要多人使用同一个服务端模型,团队成员可以各自在自己的笔记本上安装chatbox,服务端进行以下配置:
服务器端添加监听端口:export添加监听端口:export OLLAMA_HOST=10.129.131.12:11434
关闭防火墙:systemctl stop firewalld
客户端安装Windows版chatbox,打开chatbox进行配置:
交互:
四、离线部署教程
1、安装ollama
在目标机器上安装ollama,步骤可参考【在线部署教程】中的安装ollama小节。
2、导出模型
离线部署需获取模型包,可将训练好的模型包导出,再部署到目标机器。如下以导出某一指定模型为例:
(1)查看模型列表:
(2)查看模型信息:
(3)复制该文件并命名为.gguf文件。
将.gguf文件拷贝出来。
3、导入模型
(1)目标机器在导入模型时须先准备好ollama环境,准备好导出的gguf文件,并且编辑好Modelfile文件,编辑如下内容:
(2)导入
执行以下命令进行导入:
执行完以上步骤,即可运行模型进行交互。
五、常见问题及解决方法
1、拉取失败
(1)网络问题
- 原因:网络不稳定或网络限制可能导致拉取模型失败。
- 解决方法:检查网络连接是否正常,可以尝试重新连接 Wi-Fi 或切换网络环境。如果是网络限制问题,例如网络限制了某些镜像源访问,需要联系网络管理员解除限制或更换可用的镜像源。
(2)镜像源问题
- 原因:默认的镜像源可能出现故障或不可用。
- 解决方法:可以尝试指定其他可用的镜像源。在 Ollama 中,可以通过修改配置文件来指定镜像源。具体的配置文件位置和修改方法可以参考 Ollama 的官方文档。
2、Ollama 服务无法启动
(1)端口冲突
- 原因:Ollama 服务所使用的端口被其他程序占用。
- 解决方法:在 Linux 系统中,使用 lsof -i :<port> 命令查看占用指定端口的进程,然后使用 kill -9 <pid> 命令强制终止该进程(<port> 为实际端口号,<pid> 为进程 ID)。
(2)依赖问题
- 原因:Ollama 运行所需的某些依赖项未正确安装或配置。
- 解决方法:重新检查 Ollama 的安装步骤,确保所有依赖项都已正确安装。对于 Linux 系统,可以参考安装过程中的提示信息,重新安装缺失的依赖包。