DeepSeek蒸馏版硬件推荐与Ollama私有化部署
模型蒸馏的定义
➢ 通俗解释:模型蒸馏就像是让一个“老师”(大模型)把知识传授给一个“学生”(小模型),让“学生”
变成“学霸”。
➢ 正式定义:模型蒸馏是一种将大型复杂模型(教师模型)的知识迁移到小型高效模型(学生模型)
的技术。
模型蒸馏的原理
➢ 教师模型的训练:先训练一个性能强大但计算成本高的教师模型。
➢ 生成软标签:教师模型对数据进行预测,得到每个样本的概率分布,这些就是软标签。
➢ 训练学生模型:用软标签和硬标签共同训练学生模型。
➢ 优化与调整:通过调整超参数,优化学生模型的性能。
蒸馏技术的优势
➢ 模型压缩:学生模型参数少,计算成本低,更适合在资源受限的环境中部署。
➢ 性能提升:学生模型通过学习教师模型的输出概率分布,能够更好地理解数据的模式和特征。
➢ 效率提高:学生模型训练所需的样本数量可能更少,训练成本降低
DeepSeek-R1蒸馏模型-能力对比
- DeepSeek蒸馏版的选择经验
千万别用1.5B和8B做正经业务,会翻!
做自然语言对话7B就很好用了
预算有限又想搞事情就选14B
要做知识问答选32B,对代码支持也不错
70B性价比最低,与32B性能类似, 成本翻倍,没有什么理由存在
- 蒸馏模型
能力稍弱。实际上是增加了推理能力的Qwen模型和Llama模型,严格来讲不能称为DeepSeek模型(市场上有误解,厂商有误导,Ollama工具的模型选项中也有误导) - DeepSeek-R1-Distill-Qwen-1.5B -->基本模型: Qwen2.5-Math-1.5B
https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B - DeepSeek-R1-Distill-Qwen-7B -->基本模型: Qwen2.5-Math-7B
https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B - DeepSeek-R1-Distill-Llama-8B -->基本模型: Llama-3.1-8B
https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Llama-8B - DeepSeek-R1-Distill-Qwen-14B -->基本模型: Qwen2.5-14B
https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B - DeepSeek-R1-Distill-Qwen-32B -->基本模型: Qwen2.5-32B
https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Llama-70B - DeepSeek-R1-Distill-Llama-70B -->基本模型: Llama-3.3-70B-Instruct
https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Llama-70B
满血版
- DeepSeek-R1-671B -->基本模型: DeepSeek-V3-Base
个人没资源玩转,知道就好~~ 要用就调API吧
硬件配置推荐
安装Ollama客户端
Windows/Mac系统:
访问Ollama官网https://ollama.com/ 或GitHub https://github.com/ollama/ollama 页面,下载安装包并运行安装程序。
Linux系统:
一键安装命令curl -fsSL https://ollama.com/install.sh | sh,或手动下载并解压安装。
Docker安装:
拉取Ollama镜像,如CPU版使用docker pull ollama/ollama
,
运行镜像时可使用docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
命令。
Ollama参数 标识与配置
-
OLLAMA_MODELS
表示模型文件的存放目录,默认目录为当前用户目录即 C:\Users%username%.ollama\models Windows 系统 建议不要放在C盘,可放在其他盘(如 E:\ollama\models) -
OLLAMA_HOST
表示ollama 服务监听的网络地址,默认为127.0.0.1 如果想要允许其他电脑访问 Ollama(如局域网中的其他电脑),建议设置成 0.0.0.0 -
OLLAMA_PORT
表示ollama 服务监听的默认端口,默认为11434 如果端口有冲突,可以修改设置成其他端口(如8080等) -
OLLAMA_ORIGINS
表示HTTP 客户端的请求来源,使用半角逗号分隔列表 如果本地使用不受限制,可以设置成星号 * -
OLLAMA_KEEP_ALIVE
表示大模型加载到内存中后的存活时间,默认为5m即 5 分钟 (如纯数字300 代表 300 秒,0 代表处理 请求响应后立即卸载模型,任何负数则表示一直存活) 建议设置成 24h ,即模型在内存中保持 24 小时, 提高访问速度 -
OLLAMA_NUM_PARALLEL
表示请求处理的并发数量,默认为1 (即单并发串行处理请求) 建议按照实际需求进行调整 -
OLLAMA_MAX_QUEUE
表示请求队列长度,默认值为512 建议按照实际需求进行调整,超过队列长度的请求会被抛弃 -
OLLAMA_DEBUG
表示输出 Debug 日志,应用研发阶段可以设置成1 (即输出详细日志信息,便于排查问题) -
OLLAMA_MAX_LOADED_MODE LS
表示最多同时加载到内存中模型的数量,默认为1 (即只能有 1 个模型在内存中)
Tips:建议修改:
将模型路径迁移至非系统盘(如OLLAMA_MODELS=E:\model s),按需提高OLLAMA_KEEP_ALIVE 和OLLAMA_NUM_PARALLEL 优
化性能,生产环境限制请求来源并关闭调试日志
访问Ollama服务
- 启动Ollama服务后,通过浏览器访问
http://localhost:11434 可看到:”ollama is running“ - 若无法访问,需检查Ollama服务是否启动,是否有防火墙或安全软件阻止端口访问,以及是否更改了默认端口。
前端界面网络访问
- 本地部署:
前端界面运行在本地计算机上,可通过http://localhost:11434 与Ollama服务通信。 - 远程部署:
需确保前端界面所在计算机可访问Ollama服务所在计算机的IP地址和端口。可在Ollama服务所在计算机上运行ollama serve --host 0.0.0.0命令允许远程访问或者修改环境变量,最后通过IP地址访问Ollama服务。
网络配置注意事项
- 端口冲突:确保11434端口未被占用,若被占用,可通过:ollama serve --port <new_port>命令或者通过修改环境变量指定其他端口。
- 代理设置:在代理网络环境中,需确保代理设置允许访问本地服务。
- 防火墙设置:确保防火墙规则允许对11434端口的访问,可添加防火墙规则允许该端口流量。
Ollama常用命令
命令 描述
ollama serve
启动 Ollama
ollama create
从 Modelfile 创建模型
ollama show
显示模型信息
ollama run
运行模型
ollama pull
从注册表中拉取模型
ollama push
将模型推送到注册表
ollama list
列出所有模型
ollama ps
列出正在运行的模型
ollama cp
复制模型
ollama rm
删除模型
-
下载命令格式
使用ollama pull命令下载模型,格式为ollama pull <model_name>。
案 例 : 某 用 户 在 终 端 输 入ollama pull deepseek- r1:7b
,从Ollama模型库中成功下载7B模型,耗时约10分钟 -
下载过程监控
下载过程中,终端会显示下载进度条,实时显示下载速度和剩余时间。
可通过ollama list
命令查看已下载的模型列表,确认模型是否下载完成。
案例:某用户在下载14B模型时,通过ollama list
命令发现下载进度为50%,预计还需20分钟完成。 -
运行命令格式
使用ollama run命令运行模型,格式为ollama run <model_name>。
案例:某用户在终端输入ollama run deepseek-r1:7b
,模型成功启动并进入运行状态。 -
运行状态检查
模型运行后,可通过ollama ps
命令查看正在运行的模型列表,确认模型是否正常运行。若模型未正常运行,可检查硬件资源是否充足,或是否有其他模型占用资源。
案例:某用户运行14B模型后,响应速度较慢,经检查发现内存占用过高。 -
停止运行模型
使用ollama stop命令停止运行的模型,格式为ollama stop <model_name>。
案例:某用户在测试完成后,通过ollama stop deepseek-r1:7b
命令停止了7B模型的运行,释放了系统资源。
安全漏洞与未经授权访问风险
问题描述:默认配置下Ollama服务暴露在公网,易被自动化脚本扫描攻击,导致算力盗用或模型文件删除。
- 解决方案
- 强制身份认证:通过反向代理(如Nginx)添加Basic Auth认证,或在Ollama启动时绑定内网IP(OLLAMA_HOST=192.168.x.x)。
- 网络层隔离:使用Docker的--network host模式部署,配合iptables限制访问来源IP段。
- 日志监控:启用Ollama的--verbose日志模式,结合Prometheus监控API调用频率,识别异常流量
模型升级后性能退化问题
问题描述:Ollama版本升级后模型仅运行在CPU,或量化精度丢失导致回答质量下降。
- 解决方案
- 锁定依赖版本:通过Docker镜像固定Ollama版本(如ollama/ollama:0.5.1-cuda),避免自动升级引入兼容性问题。
- 显存分配验证:使用
nvidia-smi
监控GPU利用率,若发现异常回退至CPU,检查CUDA 驱动版本与Ollama编译环境的兼容性。
本文节选于‘北京大学 - DeepSeek内部研讨系列:DeepSeek私有化部署’