大模型算法闯关

0 / 75 已通关
L00 待挑战

PyTorch 热身

从张量变形、查表到反向传播,写出第一段训练代码。

进入关卡
L01 待挑战

RMSNorm 教程

让数值尺度更稳定,理解归一化为什么能帮助训练。

进入关卡
L02 待挑战

SwiGLU 激活

用可学习的门控筛选信息,拆解模型里的激活模块。

进入关卡
L03 待挑战

旋转位置编码教程

把位置信息变成旋转,让注意力分清词语的前后。

进入关卡
L04 待挑战

多头注意力

看懂多头注意力,比较共享缓存如何节省显存。

进入关卡
L05 待挑战

LLaMA3 Block 教程

把注意力、归一化和残差接起来,搭好一个模型层。

进入关卡
L06 待挑战

MoE 路由器

给每个词挑选专家,理解稀疏模型如何分配计算。

进入关卡
L07 待挑战

MoE 负载均衡损失

避免少数专家忙不过来,让路由学会均衡分工。

进入关卡
L08 待挑战

架构技巧

观察参数共享与初始化等小改动如何影响模型。

进入关卡
L09 待挑战

监督微调训练循环

对齐输入、标签和损失,让模型学回答而非复述。

进入关卡
L10 待挑战

LoRA 教程

冻结大模型,用两块小矩阵学会一项新任务。

进入关卡
L11 待挑战

WSD 余弦学习率调度器

安排学习率的升降节奏,让训练开始稳、收尾准。

进入关卡
L12 待挑战

梯度累积

分几次计算再更新,用小显存实现更大的训练批次。

进入关卡
L13 待挑战

端到端微调实验

串起数据、损失和参数更新,验证模型确实在学习。

进入关卡
L14 待挑战

RLHF 与 PPO 显存占用与流转

追踪偏好训练中的多个模型,算清显存花在哪里。

进入关卡
L15 待挑战

直接偏好优化损失教程

利用好坏回答配对,让模型直接学习人类偏好。

进入关卡
L16 待挑战

群体相对策略优化损失教程

比较同组答案的奖励,把相对表现变成学习信号。

进入关卡
L17 待挑战

Attention 反向传播与自定义 Autograd

沿注意力的计算链反推梯度,尝试自定义反向传播。

进入关卡
L18 待挑战

激活与损失反向

从损失出发追踪梯度,理解激活函数如何传递信号。

进入关卡
L19 待挑战

激活检查点

少存中间结果、需要时重算,用计算换取显存。

进入关卡
L20 待挑战

FlashAttention 模拟

分块计算注意力,观察如何减少中间结果的存取。

进入关卡
L21 待挑战

解码策略

调节采样规则,比较回答的稳定性与多样性。

进入关卡
L22 待挑战

vLLM 分页注意力

像管理内存分页一样管理缓存,减少显存空洞。

进入关卡
L23 待挑战

投机解码

小模型先写草稿,大模型验证,理解何时能更快。

进入关卡
L24 待挑战

SGLang 基数注意力

复用请求的公共开头,避免重复计算相同上下文。

进入关卡
L25 待挑战

W8A16 量化

把权重压成低比特整数,亲手观察体积与误差。

进入关卡
L26 待挑战

QLoRA 与 4-bit 量化

量化大模型、训练小旁路,理解低成本微调的组合。

进入关卡
L27 待挑战

ZeRO 优化器模拟

把参数、梯度和优化器状态分摊到多张卡。

进入关卡
L28 待挑战

Pipeline 并行微批次

把模型分段、批次切小,让多张卡流水作业。

进入关卡
L29 待挑战

Tensor 并行模拟

拆开一个大矩阵,理解多卡计算与通信如何配合。

进入关卡
L30 待挑战

长上下文微调

给长文本安排长度预算,理解装得下与学得好的区别。

进入关卡
L31 待挑战

LoRA 变体原理

比较低秩旁路的宽度、缩放和位置,理解变体差异。

进入关卡
L32 待挑战

SFT 数据工程

清理空回答、重复与格式问题,准备可靠的训练样本。

进入关卡
L33 待挑战

微调 Readiness

核对数据、时间和评测预算,判断微调能否开始。

进入关卡
L34 待挑战

前缀缓存与分块预填充

先复用公共前缀,再把剩余输入拆成小块处理。

进入关卡
L35 待挑战

多 Token 解码

一次提出多个候选,理解为何只能接受连续正确部分。

进入关卡
L36 待挑战

解码调度

改变请求的处理顺序,观察等待时间与公平性。

进入关卡
L37 待挑战

KV Cache 调度

缓存满了该淘汰谁?逐步比较访问顺序与保留策略。

进入关卡
L38 待挑战

Prefill / Decode 分离

把输入处理和生成分开,找出两段流水线的瓶颈。

进入关卡
L39 待挑战

推理分层与回退策略

资源紧张时选择回退方案,同时守住服务质量底线。

进入关卡
L40 待挑战

GPTQ 与 AWQ 权重量化

理解校准数据为何重要,比较权重量化的误差来源。

进入关卡
L41 待挑战

FP8 与 KV Cache 量化

压缩权重之外的缓存与数值表示,算清收益和误差。

进入关卡
L42 待挑战

激活卸载

把暂时不用的激活搬到内存,计算省显存的搬运代价。

进入关卡
L43 待挑战

统一内存管理

把权重、激活和缓存放进同一张内存预算表。

进入关卡
L44 待挑战

自动调优框架

先筛掉不合格配置,再用统一指标寻找更好的参数。

进入关卡
L45 待挑战

显存裁剪规划

显存不够时先减哪一块?按峰值来源安排优化顺序。

进入关卡
L46 待挑战

NCCL 通信剖析

分清通信、等待与计算,找到多卡运行的耗时来源。

进入关卡
L47 待挑战

MoE 专家并行

把专家放到不同设备,理解路由、通信和负载不均。

进入关卡
L48 待挑战

通信热点与缓解策略

定位最拖后腿的通信环节,再选择针对性的改进。

进入关卡
L49 待挑战

并行策略选型

根据模型大小和资源瓶颈,选择合适的并行方式。

进入关卡
L50 待挑战

偏好数据与对齐评测

检查偏好样本和评测标准,避免用脏数据判断好坏。

进入关卡
L51 待挑战

在线 DPO

让新反馈进入训练,同时控制更新节奏与效果波动。

进入关卡
L52 待挑战

对齐冲突与阈值

当质量、速度等指标冲突时,用明确门槛做取舍。

进入关卡
L60 待挑战

LoRA 微调项目

在相同条件下比较全量与低秩微调,核对成本和效果。

进入关卡
L61 待挑战

架构验证

固定预算比较候选结构,判断一次架构改动是否值得。

进入关卡
L62 待挑战

指令微调项目

结合验证指标和生成样例,检查指令微调能否交付。

进入关卡
L63 待挑战

LoRA 变体对比项目

控制训练条件,比较不同低秩配置的效果与开销。

进入关卡
L64 待挑战

SFT 数据质量项目

给训练数据做体检,判断可用、需修复还是应暂缓。

进入关卡
L65 待挑战

QLoRA 选型项目

在显存预算与质量底线下,选择合适的微调方案。

进入关卡
L66 待挑战

推理性能对比实验

用相同请求比较延迟、吞吐和显存,读懂性能结果。

进入关卡
L67 待挑战

量化推理与部署

核对量化模型的误差、速度和后端支持,判断能否部署。

进入关卡
L68 待挑战

推测解码基准

把草稿和验证成本一起算,检验投机解码是否划算。

进入关卡
L69 待挑战

前缀缓存基准

从真实的前缀重复情况出发,评估缓存带来的收益。

进入关卡
L70 待挑战

推理服务调度基准

改变负载与调度策略,同时观察吞吐、等待和公平性。

进入关卡
L71 待挑战

MLA 与 KV Cache 结构基准

比较不同注意力结构的缓存账本,理解潜在表示压缩。

进入关卡
L73 待挑战

训练性能分析

拆解一次训练步骤,把时间与显存开销对应起来。

进入关卡
L74 待挑战

profiling 驱动的显存优化端到端收口

从性能证据提出假设,用前后对照验证优化是否有效。

进入关卡
L75 待挑战

显存预算压缩项目

比较显存压缩方案,检查节省空间是否牺牲过多速度。

进入关卡
L76 待挑战

Activation / Checkpoint / Offload 对比项目

对照保存、重算和卸载,找到当前任务合适的取舍。

进入关卡
L79 待挑战

分布式并行基准

在统一工作负载下比较多卡方案,核对扩展收益。

进入关卡
L80 待挑战

MoE 专家并行基准

评估专家并行的通信与负载,判断吞吐收益是否可靠。

进入关卡
L81 待挑战

分布式推理逻辑验证

先模拟请求路由与资源分配,判断是否值得迁移多卡。

进入关卡
L84 待挑战

DPO 偏好优化项目

检查偏好数据与训练指标,决定继续训练还是调整。

进入关卡
L85 待挑战

GRPO 组内对齐项目

同时查看组内波动和最差表现,避免平均奖励误导。

进入关卡
L86 待挑战

DPO 在线基准

跟踪持续反馈下的收益与更新成本,判断在线对齐效果。

进入关卡