在 Macbook 上自己尝试了一下 0.1B 的大模型训练 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
duguying

在 Macbook 上自己尝试了一下 0.1B 的大模型训练

  •  
  •   duguying
    duguying 2 days ago 1715 views

    近年来 AI 是卷得越来越厉害了,作为一个普通开发者经常用 AI 辅助编程,但是没有接触过怎么去创造 AI ,这个五一假期,在家研究了一下大模型是怎么训练的……

    折腾下来发现一个挺尴尬的事实:网上教程要么是「调用 OpenAI API 」,要么是「分布式集群跑 Llama-3-70B 」,『在自己机器上从零训练一个能用的小模型』反而很少有人讲透

    干脆自己摸一遍,顺手做成工具 Tiny LLM Studio,目标就一个:在 MacBook 上把一个 0.1B 中文模型从 tokenizer 训到 DPO ,全流程跑通。

    技术栈没整花哨的:

    • 类 LLaMA 架构,约 96M 参数:RoPE + RMSNorm + SwiGLU + GQA
    • 32k byte-level BPE tokenizer
    • PyTorch ≥ 2.5 + MPS 后端,bf16 训练
    • 数据采集 / 清洗 / MinHash 去重 / 配置管理全做进 FastAPI + React Web UI 里
    • 预训练 → SFT → DPO → 流式 chat → 困惑度评估,一站式

    实测在 M4 Pro / 48GB 上吞吐 8k15k tokens/s:0.5B tokens 大约 12 小时验证 loss 收敛。--resume 支持断点续训,吃完饭回来无缝接着练。

    自己尝试了一下训练,用 1G 的数据量,训练了 1 晚上,然后尝试用 ollama 直接调用大模型,结果吐一堆乱码

    后面继续用这 1G 数据再训练 1 晚上,然后进行 sft 微调训练,效果好一些了,至少吐出来的是大段中文

    继续用这 1G 数据再训练了第 3 个晚上,然后 sft 微调,吐文字不再大段乱码,而是小段中文短语

    用更大量的数据,训练足够多的时间,模型的响应效果会更好。不过这样在我 Macbook 上会需要更多时间。

    写到一半我又加了点工程化的私货:

    • 写了一个的手机 app,下楼买咖啡时也能远程看训练曲线、改超参
    • 集成了 ngrok tunnel ,启动时终端直接吐一个二维码,手机扫一下就连上,在公网也能访问

    整套放上 GitHub 了,MIT 协议。如果你也想从「用 AI 」过渡到「亲手了解 AI 是怎么炼出来的」,又不想为了学习先去租一张 8×H100 ,欢迎来一起折腾。

    GitHub 地址 https://github.com/duguying/100M。 项目地址 https://tinyllm.duguying.net

    9 replies    2026-05-08 18:38:22 +08:00
    nenosyyan
        1
    nenosyyan  
       2 days ago
    太牛了
    webcape233
        2
    webcape233  
       2 days ago
    自己训练的话用在特别的小应用领域上吗
    duguying
        3
    duguying  
    OP
       2 days ago
    @webcape233 特定的小应用领域上可能有点用处。主要还是为了学习和了解整个训练流程
    webcape233
        4
    webcape233  
       2 days ago
    @duguying 手头有个 mini m4 32G 的,不知道能跑起来怎么样,打算试试
    dong706
        5
    dong706  
       2 days ago
    我记得 github 上有一个国人的项目,就是讲大模型怎么炼出来的
    Doloroso
        6
    Doloroso  
       2 days ago
    码住,有时间 搞搞玩玩
    Iefty
        7
    Iefty  
       2 days ago
    有点意思,确实没怎么关注炼模型的过程
    adminpro
        8
    adminpro  
       2 days ago
    把公司中台数据喂给他,不知道行不行?
    achangzhou
        9
    achangzhou  
       2 days ago
    有点像 MiniMind, NanoChat 我给学生开课,让他们练习这个复刻。
    About     Help     Advertise     Blog     API     FAQ     Solana     1504 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 16:44 PVG 00:44 LAX 09:44 JFK 12:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86