返回列表 发布新帖
查看: 150|回复: 0

一张只剩3.2GB的3090,也能从零训出4000万参数小模型

29

主题

1

回帖

55

积分

注册会员

积分
55
 楼主| 发表于 2026-10-2 18:24:40 | 查看全部 |阅读模式
我手里有两张 RTX 3090。其中一张已经被 Ollama 拉起的 Qwen3.8 27B q8 吃掉了 20 多 GB 显存,最后只剩 3.2GB 可用。

按常理,这张卡基本等于“残废”了一半。可过去几天,我硬是拿这 3.2GB 从零训练了一个 4000 万参数的小语言模型。整个 GPU 训练段只用了 9 分 40 秒,实际动用的显存也只有 0.78GB。

我想把“自己训一个模型”这件事,从听起来很玄,拉到“看完就能照着试”的程度。

最初我用的还是 CPU 版 PyTorch,没有 CUDA 环境。语料来自我自己知识库里的文字,一共 170 万字。词表没有上复杂 tokenizer,只选了出现频率最高的 500 个汉字。模型结构参考 GPT-mini,参数规模 4000 万,整份训练脚本大概 200 来行。

先跑了 500 步,耗时 46 分钟,平均速度约 1475 token/秒,loss 从 6.47 降到 2.16。

不过,这 500 步其实只把 170 万字语料喂了两次多一点。按 500 步、batch 16、上下文 512 算,大约 410 万 token。采样出来的中文也只是“骨架级”:能蹦出一些词,但基本连不成完整句子。

后来我把 PyTorch 换成带 CUDA 的版本。脚本改动非常少,核心就是把模型和数据搬上 GPU:
  1. .to('cuda')
复制代码

接着从已有 checkpoint 继续训练 3000 步,其余逻辑一行都没动。

这一次的结果是:9 分 40 秒,loss 从 2.27 降到 0.176,显存占用 0.78GB。

对比也很直接:

CPU 每步大约 5.5 秒,GPU 每步约 0.19 秒。
CPU 跑 3000 步大约 4.6 小时,GPU 只要 9 分 40 秒。
GPU 显存占用 0.78GB,CPU 侧不算显存。
整体差距约 28 倍,数据来自本机训练日志。

这里有两个细节,当时让我有点意外。

CPU 占用率为什么这么高?训练这个小模型时,任务管理器里 CPU 经常能飙到八成以上。看起来像是 CPU 在承担主要计算,但实际正好相反。小模型每一步会拆成很多计算量不大的小 kernel,GPU 发一批任务后,要等下一批指令,大量时间耗在“等指令”上,也就是 launch-bound。CPU 一直在忙着发号施令,所以看着很忙,干的更多是“快递活”。等模型规模再大一些,这种差距会被摊薄。

3GB 显存怎么就够用了?4000 万参数如果按 fp32 算,权重约 160MB,同精度梯度约 160MB,Adam 优化器的两份动量约 320MB,加起来约 640MB。再加上 512 长度的激活值,总显存大概在 0.7 到 1GB 之间。

换句话说,训练一个小模型的显存需求,和推理它差不多。真正后面会大幅吃显存的,是更大的分词器,这是后话。

但 loss 降到 0.176 并不代表模型真的“学好了”。这个数字比 CPU 阶段低了一个数量级,曲线看起来非常漂亮。我拿知识库里的真实句子做续写测试:

输入:“安装工具和探索本地数据。”
输出:“nfographics: m strolam: trmmplid 00000b60 .1w 1ck;…”

这是 GPU 3000 步采样结果,原文照录。

四条测试里,几乎全部从 “nfographics” 开始复读,后面跟着乱码字符流。这就是过拟合最直观的样子:loss 在健康地下跌,模型却只是在原地背诵。170 万字语料被喂了不到 20 次,全程 3500 步大约 2867 万 token。它对这份语料的模式早就熟到不能再熟,新东西几乎没学到。

这次实验给我三个很直接的判断。

家里电脑训练 4000 万参数的小模型,并不需要 A100,也不需要专门上云服务器,3GB 空闲显存就能起步。

CPU 版 PyTorch 用来调逻辑、跑通流程完全没问题,真正要跑量时交给 GPU,差距能到 28 倍。

loss 低,从来不是“模型好”的充分证据。

这篇刻意没有展开的部分包括:环境怎么装、语料怎么准备、200 多行训练代码怎么一行行搭起来、checkpoint 怎么保存和续训,以及如何开一个网页跟自己的小模型对话。这些内容我会在下一篇整理成完整教程,照着敲就能跑出你自己的四千万参数模型。教程之后,再单独写一篇“loss 到底在骗你什么”。

留言区聊聊:你的机器上还有多少空闲显存?够不够开一局?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

帮助与支持

常见问题 投诉/建议 teaikeji@126.com
  • 微信二维码微信:teaikeji
Copyright © 2001-2026 特爱科技 版权所有 All Rights Reserved.
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表
首页 论坛 发布 消息 我的