首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Transformer 从零开始

Transformer 从零开始

作者头像
GoCoding
发布2026-03-22 11:48:41
发布2026-03-22 11:48:41
120
举报
文章被收录于专栏:GoCodingGoCoding

资料:

  • ① The Illustrated Transformer - Jay Alammar https://jalammar.github.io/illustrated-transformer/
  • ② Building Transformer Models - Jason Brownlee https://machinelearningmastery.com/category/building-transformer-models/
  • ③ Transformer - Dive into Deep Learning https://d2l.ai/chapter_attention-mechanisms-and-transformers/transformer.html

从零开始

  • 2025-10 / Building Transformer Models from Scratch with PyTorch https://machinelearningmastery.com/building-transformer-models-from-scratch-with-pytorch-10-day-mini-course/

环境

代码语言:javascript
复制
conda create -n torch python=3.12
conda activate torch

# Install PyTorch (CPU version)
pip install torch torchvision
# Install PyTorch with CUDA (version <= nvidia-smi shown)
#  https://pytorch.org/get-started/locally
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130

运行

  • 代码:build_transformer.py https://github.com/ikuokuo/start-deep-learning/blob/master/practice/Transformer/build_transformer.py
  • 关键:Decoder-only, RoPE, GQA, MoE, SwiGLU
代码语言:javascript
复制
cd start-deep-learning/practice/Transformer
pip install -r requirements.txt
python build_transformer.py

其中 BATCH_SIZE 4 可以改 32,如果显存够大。我呢,训不太动 😢

进化线

之后是概括,给一些关键词。基此问一下 AI,能得到更好的回答呢。

例如,DeepSeek 归纳了 5 条核心进化线,

如果把大模型比作一辆车:

  • Attention引擎(GQA/MLA 是省油技术);
  • Normalization底盘悬挂(RMSNorm 保证行驶稳定);
  • 激活函数燃油标号(SwiGLU 是高标号汽油);
  • 位置编码导航系统(RoPE 让你知道该去哪);
  • 架构车身设计(Decode-Only 最终统一了赛道)。

这些进化线相互配合,才有了今天又长、又快、又强的 LLM。

架构进化

Encoder-Decoder: 原始,适合 Seq2Seq 任务

Decoder-only (Causal): 当前,经过 Scaling Laws 验证

Attention 进化

KV Cache 优化,

注意力机制

KV Cache 量级

表达能力

核心思想

MHA (多头注意力)

最大 (H)

最强

每个头独立看世界

MQA (多查询注意力)

最小 (1)

较弱

所有人用同一套记忆

GQA (分组查询注意力)

中等 (G)

可控

分组共享,折中之道

MLA (多头潜在注意力)

极小 (≈1)

压缩记忆,解耦计算

计算模式优化,

  • Sliding Window Attention (滑动窗口注意力)
  • FlashAttention: 改进 GPU 的访存算法
  • Sparse Attention (稀疏注意力)

位置编码进化

让模型理解顺序,

  • 绝对位置编码
  • 相对位置编码
  • RoPE (旋转位置编码): 当前主流,更好的长度外推
  • ALiBi

激活函数进化

增强非线性,

  • ReLU
  • GeLU
  • SwiGLU

结语

开篇的资料 ① 适合入门,资料 ② 适合实践,都是超级棒的文章,值得学习 👍

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GoCoding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从零开始
    • 环境
    • 运行
  • 其中 BATCH_SIZE 4 可以改 32,如果显存够大。我呢,训不太动 😢
  • 进化线
    • 架构进化
    • Attention 进化
    • 位置编码进化
    • 激活函数进化
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档