🔥终于,我能够从头开始构建模型了🔥

发布: (2025年12月16日 GMT+8 00:58)
4 min read
原文: Dev.to

Source: Dev.to

经过多次迭代、实验和经验教训,我终于从零开始构建了一个 550 M 参数 的模型。

这并不是我第一次构建小型语言模型。我之前已经做过几次,但它们都是在 TinyStories 之类的玩具数据集上训练的。早期的一些项目包括:

  • Qwen
  • Gemma
  • Rnj‑1
  • Meta LLaMA

这一次,我做了一个刻意的选择:使用真实数据构建有意义的模型,而不是玩具数据集。

数据集

  • 预训练
  • 中期训练
  • 监督微调

分词器

分词器常常被忽视,但它们在构建高效语言模型时起着关键作用。我制作了一个视频,分享我在理解和选择合适分词器过程中的经历。

选择合适的分词器 – 选择背后的原因:

注意力机制

注意力是那种听起来很复杂,但概念其实很简单的东西:关注重要的部分。彻底理解注意力后,我对语言模型的看法发生了根本性的改变。

  • 选择合适的注意力机制 – 实际上在实践中有效的方案:
  • 自注意力内部工作原理 – 步骤分解说明:

架构

我采用的架构是现代的预归一化 Transformer 块,针对效率、稳定性和可扩展性进行了优化,尤其适用于像 550 M 参数这样中等规模的模型。

Transformer block diagram

训练成本

训练时我使用了 RunPod (),租用了 8 × A100 GPU,训练 1.5 天,总费用约为 $405

注意: 确保根磁盘有足够的空间。我因为磁盘空间不足而取消了一次训练。

Training cost screenshot

最终输出

训练并完成部署后,模型已上线,可以回答问题。

Model output screenshot

书籍

Book cover

在整个过程中,一直帮助我的资源是我自己的书 《从零构建小型语言模型》。写书迫使我放慢脚步,深入理解每个组件——分词器、注意力机制、架构选择、训练流水线以及调试失败。当我构建这个 550 M 参数模型时,我经常回到自己的解释、图示和代码演练,以验证决策并避免走捷径。

  • Gumroad
  • Amazon
  • Leanpub

总结

过去四个月里,我全身心投入到从零构建小型语言模型的工作中。一路上我学到了大量知识,未来会通过 YouTube 视频和博客文章分享这些经验。

这个模型能与前沿实验室的模型竞争吗?绝对不能——这也从未是我的目标。真正重要的是在整个旅程中获得的经验教训。模型仍在测试中,待在所有数据集上完成验证后,我将把它发布到 Hugging Face。

Back to Blog

相关文章

阅读更多 »

GPT-5.2

抱歉,我需要您提供要翻译的具体摘录或摘要文本,才能为您进行翻译。请粘贴您想要翻译的内容,我会尽快为您翻译成简体中文。