很多人想动手训一个模型,卡在第一关:没卡、没预算、也不知道该从哪下手。租卡嫌贵,自己买更不现实,教程又动辄假设你有几台机器。这篇按「手里只有一台普通电脑」的前提,给一条免费工具链的推进顺序:先确认硬件底线,再挑最小可跑的任务,最后把「跑完」和「跑对」分开验收。不承诺效果,只讲每一步该看什么、在哪一步该停。
很多人想动手训一个模型,卡在第一关:没卡、没预算、也不知道该从哪下手。租卡嫌贵,买卡更不现实,教程又动不动假设你有好几台机器。这篇按「手里只有一台普通电脑」的前提,给一条不花钱的推进顺序。
思路很简单:先确认硬件底线,再挑一个最小可跑的任务,最后把「跑完」和「跑对」分开验收。不承诺效果,只讲每一步该看什么、在哪一步该停。
第一步:先量自己的硬件底线,别急着装环境
动手前先量两件事:显存和内存。显存决定你能训多大的模型,内存决定数据加载会不会中途卡死。这两个数字不清楚,后面装什么框架都是白折腾。
- 去 /compute/gpus 对照加速卡规格,先弄清自己机器的档次在哪个区间;
- 再去 /models/deploy 用部署测算估一遍:自己的机器大概能吃到多大模型的推理;
- 推理都跑不动,就别谈训练,训练对显存的要求只会更高;
- 拿不准参数量和显存的关系,去 /tools 用换算类工具过一遍,比看教程估摸靠谱。
不适用场景说清楚:如果你想训的是十亿参数以上的基座模型,这条路直接放弃,转 /compute/tco 去算租卡和买卡的账,别在本地硬扛。
第二步:把任务缩到最小,先要「跑通」不要「训好」
新手最容易死在目标定太大。第一个任务建议这样选:小参数模型,加单轮的文本分类或简单问答格式,数据集控制在自己能手看一遍的量级,几百到几千条就够。目标不是训出一个能用的模型,是走完一遍完整流程。
| 环节 | 新手做法 | 常见踩坑 |
|---|---|---|
| 数据格式 | 训练集、验证集先分好再动手 | 边训边改格式,返工全在这一步 |
| 模型选择 | 挑小参数、有现成微调脚本的 | 上来就选最大的那个 |
| 工具选择 | 用现成框架,别从零写训练循环 | 自己撸训练循环,调不通也不知道错在哪 |
| 第一轮目标 | 一轮能跑完、loss 有变化 | 盯着效果好不好,跑不通就放弃 |
工具上走「现成脚本」路线。免费的微调框架和托管服务目录在 /stacks/fine-tuning,挑一个文档完整、社区问答多的。文档完整比功能多重要,因为新手卡住时查得到答案才跑得下去。
- 对齐数据格式先读站内训练相关页面的数据格式说明,把训练集、验证集怎么分、按什么比例分弄明白,再准备文件。
- 跑通一轮用框架自带的示例脚本改数据路径,别改结构,先让它动起来。
- 验收跑通标准就一条:能在一顿饭的时间内跑完一轮,并且 loss 曲线有变化。满足就算跑通,不满足先查数据和环境,别急着调参。
第三步:跑起来之后,怎么判断有没有白跑
跑通只是开始,接下来看的是「有没有白跑」。第一眼先看训练集和验证集的差距:训练集效果好、验证集明显差,说明数据量不够或者训过头了。这是最常见的第一轮结果,不用慌,属于正常现象。
- 拿几条没进过训练集的输入手测,看模型是「学到了格式」还是「背下了原句」;
- 只学会格式也是有效结果,别当成失败;
- 记录三个数:每轮耗时、验证集表现、显存峰值;
- 这三个数决定你下一步是加数据、换模型还是换机器。
关于「背原句」和「学格式」的区别,判断方法很土但有效:把训练集里某句话改几个字再喂进去,如果输出还是照抄原文,就是在背;如果能按你改后的意思走,就是学到了格式。这个测试花不了几分钟,但能省下你反复调参的时间。
什么时候该承认免费路线到头了
免费路线是有天花板的,越早认出来越省时间。出现下面三个信号,就该考虑换方案了。
- 迭代一轮的时间超过你能接受的等待,改一次参数等半天;
- 验证集表现怎么调数据都不动,说明瓶颈不在你的调参上;
- 显存成为硬卡点,只能砍模型规模,而任务本身又要求更大的模型。
到这一步再去看花钱的方案才划算。先分清楚是租卡还是托管推理,/compute/finetune 有对照口径,去核对当时的数字。别忽略隐藏成本:电费、机器被占用的时间、整理数据的人工,这些在 /compute/power 有提示。
如果花钱能换来的只是「快一点」,先别花;只有换来「本来做不到的事」,才值得。下一步想知道自己这台机器到底适合什么任务,先把推理能力和显存关系摸清楚,再来决定训什么。→
常见问题
完全没显卡,用免费云上的额度能训模型吗?
能,但限制很多。免费额度通常给的是推理时长而不是训练时长,而且会限并发、限单次时长,跑长任务容易被中断。务实的做法是用免费额度验证「数据和脚本对不对」,跑通一次完整流程,再决定要不要为真正的训练付费。具体哪家有免费位,去 /ai-nav/category/ai-model-platform 看当时的清单。
零预算能训多大的模型?
没有固定数字,取决于你的显存、量化方式和任务类型。判断顺序是:先定任务类型,再看显存上限,最后选一个「单轮能跑完」的规模。别照着别人的参数抄,去 /models/deploy 用你自己的机器配置算一遍,得出的结论才有意义。
自己训和用现成模型的提示词,什么时候该选哪个?
先问自己:是不是非要改模型本身的行为。如果只是要它回答得符合某个格式或口吻,提示词和检索就够了,训练是浪费。只有当你要固定的风格、稳定的输出结构,而这些用提示词反复调都不稳,才考虑训。两者的分界站内有专文,先读再动手。