如何训练自己的deepseek-r1

模型与算力

拆清自训 DeepSeek-R1 类推理模型的完整路径与前置门槛,帮开发者判断该自训、微调还是直接调用,并给出可执行的起步顺序。

很多人看到「开源推理模型」就想自己也训一个,结果第一步就卡在显存和数据上。这篇不讲虚的,只回答三件事:自训到底包含哪些环节、你现在手里的卡和数据够不够、以及不够时应该退到哪条路。适合已经会跑推理、准备往训练方向动手的开发者。

很多人看到「开源推理模型」四个字就想自己也训一个,第一步卡在显存和数据上,第二步卡在「我到底要训什么」上。这篇只回答三件事:自训到底包含哪些环节,你手里的卡和数据够不够,以及不够时该退到哪条路。适合已经会跑推理、准备往训练方向动手的开发者。

先把期待放正:自训不等于「复制一个官方大模型」,它更像是用你自己的数据和算力,把一个已有的推理能力往你的领域里掰。掰得动多少,取决于你愿意投多少卡和多少标注时间。下面按「先认清自己在做哪件事」到「动手前的检查」的顺序拆。

先分清:你说的「训练」是哪一种

「训练」这个词被用得太宽了。从零预训练、继续预训练、指令微调、推理能力蒸馏,是四件成本差好几个量级的事。多数人嘴上说自训,实际想要的是「让模型按我的领域推理」,这类需求通常落在微调或蒸馏上,跟预训练不是一回事。

你想要的实际对应的路径典型投入量级
模型学会我的行业知识指令微调 / LoRA小团队可承担
模型输出固定格式和话术指令微调最小
模型推理链更像某个强模型推理能力蒸馏中等偏上
模型基础能力整体变强继续预训练机构级
从随机权重长出一个模型从零预训练基本不用考虑
  • 先写下你要模型新增的能力是什么:是知识、是格式、还是推理链,三类对应不同路径
  • 知识类优先微调,格式类可以用少量样本加模板约束,推理链类才需要考虑蒸馏
  • 什么情况下不适用:如果你只是想要更强的基础推理能力,自训基本不划算,直接用现成推理模型更省
  • 不确定时,先按微调做一版小实验,用结果反推是不是需要更重的路径

算力和数据的地板在哪

别凭感觉报数。按目标参数量、序列长度和训练方式反推显存与卡数,到站内的部署与算力估算页按自己的模型口径算一遍,比在群里问「我这个卡够不够」靠谱得多。

显存估算页
到 /models/deploy 按参数量、精度、序列长度反推卡数和显存,先算再买
算力口径
到 /compute/sizing 核对训练方式对应的算力区间,别把推理的估算套到训练上
数据三段式
样本要按「问题—推理过程—答案」组织,只有问答对而没有中间步骤,训出来的模型不会推理
小样本先行
先准备小规模、高质量、可复现的样本集,跑通全流程再扩量
  1. 定口径写下目标参数量、最大序列长度、训练方式三项,作为后面所有估算的输入
  2. 算地板到站内估算页把三项输进去,得到显存和卡数的最低要求,记下来
  3. 凑数据按三段式整理样本,先做几百条高质量样本跑通,扩量前统一标注口径
  4. 验一致性随机抽一批样本人工过一遍,确认推理过程的写法没有自相矛盾

四条路线怎么选、按什么顺序做

路线选择不是看哪条先进,而是看你的预算和数据形态。预算极小就蒸馏,有领域数据就 LoRA 微调,要改基础能力才考虑继续预训练,从零预训练基本只适合机构。选定之后按固定顺序推进,每一步都留退路。

路线适合什么情况先决条件
蒸馏没有标注数据,但有强模型可用来生成能稳定拿到高质量的推理过程样本
LoRA 微调有领域数据,想快速看到效果数据三段式齐整
继续预训练要改模型的基础能力算力和数据都上量
从零预训练研究或机构级目标不适用于个人和普通小团队
  1. 跑通推理先把基座模型推理跑顺,确认输出格式和评测方式固定下来
  2. 固定评测集准备一批不参与训练的评测样本,作为后面所有对比的基线
  3. 小样本微调用少量高质量数据先微调一版,和基线对比
  4. 对比基线如果效果没变好,先查数据和评测,不要急着加算力
  5. 再决定加算力确认方向对了再扩数据、加卡,出问题能回退到上一版权重

动手前把许可证和交付口径过一遍

这是最容易被跳过、又最容易在最后卡住的一步。基座权重的许可范围、训练数据的来源授权、交付形态的合规要求,三件事要在开训前查清,不要等训完才发现不能上线。

  • 确认基座权重能不能商用、要不要署名、衍生模型能不能换许可证
  • 训练数据的来源与授权留档,尤其是爬取语料,留不下来源的样本尽量不用
  • 交付形态想清楚:是本地权重还是对外接口,两者的合规要求不一样
  • 模型卡和训练配置一起归档,方便后续复现和对外说明
  • 什么情况下不适用:纯内部研究、不外发不商用的场景约束会松,但仍建议留记录

新手最容易踩的几个坑

这些坑的共同点是:出问题时很难定位。提前知道,能省下不少重复实验的时间。

坑表现怎么避
把能跑当训好loss 降了但任务效果更差每次训练都拿基线对比,不看单一指标
数据不够就上大模型原有能力掉得比新增能力快先小样本验证,确认方向再扩
无脑降精度省显存推理类任务精度损伤明显到 /tools 用换算工具先估,再决定精度
一次改多个变量出问题无法定位一次只动一个环节,其余保持不动
自训的胜负不在第一版效果,而在你能不能把每次改动的原因和结果都记下来。

最后给一个判断口诀:能微调就不蒸馏,能蒸馏就不继续预训练,能继续预训练就别想着从零开始。每一层都比上一层省一个量级的投入。

下一步动手前先到模型部署与算力估算页把自己的口径算一遍,同时对一下中转站和工具目录里现成的推理服务价格,很多时候调用比自训更划算。

常见问题

个人开发者有可能从零训一个 DeepSeek-R1 级别的模型吗?

基本不可能。这类模型的预训练需要的是集群级算力和海量语料,不是几张消费卡能覆盖的。个人能做的现实路径是:拿开源基座做继续预训练或微调,或者用强推理模型生成推理链数据来蒸馏小模型。真正想复现效果,先降到可控参数量并接受能力上限的下降。

自训和微调到底差在哪,我该从哪个开始?

微调是在已有权重上继续学,成本低、见效快,适合补领域知识和输出格式;自训的范围更宽,包含预训练和继续预训练,用来改基础能力,成本高一个量级以上。绝大多数人的需求微调就能满足。先把评测集建好,用小规模微调验证方向,确实触到能力天花板再考虑更重的路线。

训练需要多少显存和卡,怎么算才靠谱?

没有通用数字,取决于参数量、序列长度、批大小和是否用 LoRA、梯度检查点等省显存手段。做法是先确定目标配置,到站内的部署测算和算力测算页面按同一口径算一遍,得到粗估再上机验证。别照抄别人的配置单,模型版本和框架版本一变,数字就不成立了。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。