
简介这份PDF资料面向对大模型感兴趣的技术爱好者与研发人员聚焦DeepSeek在本地环境下的部署方法与核心训练原理帮助读者以低成本方式搭建可离线运行的大模型应用。内容从本地部署的三个实操步骤切入逐步延伸至LLM基础概念、Transformer架构以及预训练、监督微调与强化学习的训练流程并重点图解DeepSeek-R1的完整训练过程包括含R1-Zero的中间推理模型与通用强化学习两项核心创新。资源包共1个PDF文件约2.64MB以图文并茂的图解形式呈现配合大量操作界面截图便于对照理解部署细节与推理模型的构建逻辑。目前已有2199人学习适合希望快速上手本地部署、同时想深入理解强化学习驱动推理模型训练思路的读者参考。1. 本地跑 DeepSeek 这件事版本选错第一步就卡住上周帮一个做后端的朋友在旧笔记本上装 DeepSeek他上来就ollama pull deepseek-r1:7b结果 8G 内存的机器直接卡到风扇狂转命令行十分钟没吐出第一个字。这不是模型坏了是版本和硬件没对上。DeepSeek 本地部署这件事说穿了就三步装 Ollama、拉模型、跑对话但真正让人翻车的是「拉哪个尺寸」。1.5b、7b、8b 这些后缀不是版本号是参数量b 代表 billion1.5b 就是 15 亿参数7b 是 70 亿。参数量越大推理能力越强但对内存和显存的要求也水涨船高。普通办公本、没有独显的机器老老实实从deepseek-r1:1.5b起步跑通了再考虑往上换。这套方案适合想在自己电脑上离线用大模型、又不想折腾编译环境的人尤其是数据不能外传的场景。装不好最典型的后果就是命令敲下去没反应、模型加载到一半被系统杀掉、或者对话界面一直转圈。2. 装 Ollama 与拉取 DeepSeek-R1从零到能对话的三步2.1 为什么用 Ollama 而不是自己编译本地跑大模型有好几条路自己用 transformers 加载权重、用 llama.cpp 编译、或者走 Ollama 这类模型管理器。前两种对新手不友好光是 CUDA 版本、PyTorch 版本、量化格式就能耗掉一整天。Ollama 的思路是把模型下载、量化、推理引擎打包成一个命令行工具装完之后管理模型就像用 docker 拉镜像一样直接。它内置了量化后的模型文件不需要你单独去 HuggingFace 下几个 G 的权重再转格式。对于「我就想在本机跟模型聊两句」这个需求Ollama 是目前踩坑最少的路径。它支持 Windows、macOS、Linux 三个平台安装包都是下一步下一步装完在终端里能直接调起来。2.2 安装 Ollama 并确认命令可用去 Ollama 官网下载对应系统的安装包Windows 是.exemacOS 是.dmgLinux 用一条脚本。安装过程基本就是点下一步不需要改路径。装完之后打开命令窗口Windows 用 cmd 或 PowerShellmacOS 用 Terminal输入下面这行ollama --version如果能看到版本号输出说明安装成功。接着输入ollama回车会列出它支持的所有子命令大概十来个常用的就几个pull拉模型、run跑模型、list看本地已有模型、rm删模型、serve启动后台服务。这一步的意义是确认环境变量已经配好终端能找到 ollama 这个可执行文件。如果提示ollama 不是内部或外部命令说明安装时没勾选加入 PATHWindows 下重新跑一遍安装包或者手动把安装目录加到系统环境变量里。提示Linux 下如果用脚本安装装完可能需要重新登录一次 shell或者执行source ~/.bashrc否则当前终端认不到命令。2.3 拉取 deepseek-r1:1.5b 并进入对话确认 ollama 可用之后拉模型就一行命令ollama pull deepseek-r1:1.5b这条命令会从模型仓库把 1.5b 版本的 DeepSeek-R1 下载到本地下载量大概在 1G 出头。下载速度取决于网络中途断了重新执行同一条命令会续传。拉完之后用ollama list能看到本地已有的模型列表确认deepseek-r1:1.5b在列。接着启动对话ollama run deepseek-r1:1.5b第一次 run 的时候如果模型还没拉ollama 会自动先 pull 再 run所以这两步其实可以合并。进入对话界面后直接输入问题回车就行。DeepSeek-R1 是推理模型它的回复会先输出一段thinking标签包裹的思考过程然后才是正式回答。思考过程是模型在「打草稿」正式回答在 结束标签之后。如果你只想看结果等它输出完就行不用打断。2.4 模型尺寸怎么选1.5b、7b、8b 的硬件对照拉模型之前先看自己机器的内存和显存选错了尺寸就是白等。下面这张表是常见尺寸的大致要求实际占用会因为量化方式和系统差异有浮动模型尺寸参数量内存/显存大致需求适用机器deepseek-r1:1.5b15 亿24G普通办公本、无独显deepseek-r1:7b70 亿810G16G 内存以上、有入门独显deepseek-r1:8b80 亿1012G32G 内存、中端显卡deepseek-r1:14b 及以上140 亿16G 显存起步专业工作站我一般会建议先用 1.5b 把流程跑通确认 ollama 和对话界面都正常再根据机器配置往上换。换模型不需要重装 ollama直接ollama pull新尺寸然后ollama run新名字就行。旧模型不删也不影响只是占磁盘。3. 配置与调优让 DeepSeek 在本地跑得更稳3.1 环境变量与模型存储路径Ollama 默认把模型存在系统盘的用户目录下Windows 是C:\Users\用户名\.ollama\modelsmacOS 和 Linux 是~/.ollama/models。1.5b 的模型不大但如果你后面要拉 7b、14b系统盘很快就会被吃掉几十个 G。改存储路径通过环境变量OLLAMA_MODELS控制# Linux / macOS写入 shell 配置文件 export OLLAMA_MODELS/data/ollama/models # Windows PowerShell设置用户级环境变量 [Environment]::SetEnvironmentVariable(OLLAMA_MODELS, D:\ollama\models, User)设置完之后要重启终端或者重启 ollama 服务新路径才会生效。已经拉过的模型不会自动搬过去需要手动把旧目录下的blobs和manifests两个文件夹复制到新位置。这一步很多人会忘结果换了路径之后ollama list是空的以为模型丢了其实是没搬文件。3.2 后台服务模式与端口调整ollama run是前台交互模式关掉终端对话就断了。如果想让模型常驻后台、给其他程序调用用ollama serve启动服务ollama serve默认监听127.0.0.1:11434提供 HTTP API。其他程序可以通过这个端口发请求比如用 curl 测试curl http://127.0.0.1:11434/api/generate -d { model: deepseek-r1:1.5b, prompt: 用一句话解释什么是Transformer, stream: false }如果 11434 端口被占用通过OLLAMA_HOST环境变量改端口export OLLAMA_HOST127.0.0.1:11435改完重启服务。注意OLLAMA_HOST的值要带协议和端口只写端口号在某些版本上不生效。3.3 推理参数怎么调温度、上下文长度、并发Ollama 支持在 run 的时候传参数或者在 Modelfile 里固化。常用的几个参数# 启动时指定温度和上下文窗口 ollama run deepseek-r1:1.5b --temperature 0.6 --num-ctx 4096temperature控制输出的随机性值越低回答越确定做代码和数学题建议 0.20.6做创意写作可以调到 0.8 以上。num_ctx是上下文窗口大小默认 2048调大会增加内存占用。1.5b 模型在 8G 内存的机器上num_ctx开到 4096 基本是上限再大就容易触发内存交换速度断崖式下降。num_predict控制最大生成 token 数不设的话模型可能一直输出到上下文塞满。注意DeepSeek-R1 的思考过程会消耗大量 token如果num_predict设得太小可能出现思考没结束就被截断的情况正式回答根本出不来。3.4 用 Modelfile 固化一套常用配置每次 run 都敲一长串参数很烦可以写一个 Modelfile 把配置存下来# 创建自定义模型基于 deepseek-r1:1.5b ollama create my-deepseek -f ./ModelfileModelfile 内容示例FROM deepseek-r1:1.5b PARAMETER temperature 0.5 PARAMETER num_ctx 4096 PARAMETER num_predict 2048 SYSTEM 你是一个简洁的技术助手回答控制在三段以内。FROM指定基础模型PARAMETER是推理参数SYSTEM是系统提示词。创建完之后ollama run my-deepseek就直接带上这套配置。改配置就改 Modelfile 再 create 一次同名会覆盖。这个做法在需要固定人设或固定输出格式的场景下很实用不用每次手动传参。4. 避坑与排查装 DeepSeek 最常见的五个翻车现场4.1 拉模型卡在 pulling 不动现象是ollama pull执行后进度条长时间不动或者速度只有几十 KB。原因通常是模型仓库的网络连接不稳定或者本地 DNS 解析慢。解决方式是先 CtrlC 中断重新执行同一条 pull 命令ollama 支持断点续传不会从头下。如果反复卡检查一下系统代理设置ollama 会读取HTTP_PROXY和HTTPS_PROXY环境变量代理配错了反而更慢。另外磁盘空间不足也会导致下载中断拉之前用df -h或资源管理器确认目标盘有足够空间。4.2 运行时报 model requires more system memory现象是ollama run之后报内存不足或者模型加载到一半进程被杀。原因是选的模型尺寸超过了物理内存。1.5b 在 4G 内存的机器上勉强能跑7b 至少需要 8G 可用内存。解决办法是换小尺寸模型或者关掉其他占内存的程序。如果机器有独显但 ollama 没用上检查显卡驱动和 CUDA 版本ollama 在 Linux 下需要正确的 NVIDIA 驱动才能走 GPU否则默认走 CPU速度会慢很多。4.3 对话回复乱码或语言混杂现象是模型输出中英文混在一起或者出现重复无意义的字符。这在 1.5b 这种小模型上比较常见参数量小导致语言一致性差。解决方式是在 SYSTEM 提示词里明确指定「请用中文回答」或者把 temperature 调低到 0.3 以下。如果还是乱换 7b 版本会明显改善。DeepSeek-R1 的 R1-Zero 阶段本身就有语言混合的问题官方在通用强化学习阶段做了优化但小尺寸模型受限于容量优化效果有限。4.4 ollama serve 启动后端口连不上现象是ollama serve显示在运行但 curl 请求 11434 端口返回 connection refused。原因是OLLAMA_HOST绑定到了127.0.0.1只监听本地回环外部机器访问不到。如果只是本机调用没问题如果要给局域网其他机器用需要改成0.0.0.0:11434。另外防火墙可能拦了端口Linux 下用ss -tlnp | grep 11434确认监听状态Windows 下检查防火墙入站规则。4.5 模型删不干净导致磁盘占满现象是ollama rm删了模型但磁盘空间没释放。原因是 ollama 的模型文件按 blob 存储多个模型可能共享底层 blob直接 rm 只删了 manifestblob 还在。彻底清理用ollama prune或者手动删OLLAMA_MODELS目录下的blobs文件夹里没有被引用的文件。更稳妥的做法是定期ollama list看哪些模型不用了先 rm 再 prune。我一般会在拉新模型之前先清一遍避免磁盘悄悄被吃满。5. 装完怎么验证三条命令确认 DeepSeek 真的跑通了装完之后别急着关终端走一遍验证流程确认模型是真的能用而不是「看起来装上了」。第一条确认模型在本地列表里ollama list输出里应该有deepseek-r1:1.5b这一行后面跟着尺寸和修改时间。如果列表是空的说明 pull 没成功或者模型存到了别的路径。第二条用 API 模式发一个请求不进入交互界面curl http://127.0.0.1:11434/api/generate -d { model: deepseek-r1:1.5b, prompt: 11等于几只回答数字。, stream: false }返回的 JSON 里response字段应该包含答案。这一步验证的是后台服务和 API 通路如果你后面要用 Python 或其他程序调用模型这条命令通了就说明接口没问题。第三条进交互模式问一个需要推理的问题观察思考过程是否正常ollama run deepseek-r1:1.5b输入「一个笼子里有鸡和兔共 10 只脚共 28 只鸡兔各几只」。正常情况会先输出thinking包裹的推理步骤然后给出答案。如果思考过程完整、答案正确说明模型加载和推理都正常。如果思考过程被截断检查num_predict是不是设太小了。下面这张表是我一般会对照的验证清单验证项命令通过标准模型已下载ollama list列表中有目标模型API 可用curl 发 generate 请求返回 JSON 含 response推理正常ollama run问推理题思考过程完整、答案正确配置生效ollama show 模型名参数与 Modelfile 一致ollama show deepseek-r1:1.5b能看到模型的参数、模板、系统提示词等信息用来确认自定义配置有没有生效。如果改了 Modelfile 但 show 出来的还是旧参数说明 create 的时候没覆盖成功检查模型名是不是写错了。从那以后我每次装完新模型都强制走一遍「list → curl → run 推理题」这三步不看到思考过程完整输出就不算装完。很多人卡在「命令没报错」就以为好了结果真用的时候发现模型根本没加载对。希望这套流程能帮你少走点弯路。本文还有配套的精品资源点击获取