L06: Final Projects & Practical Tips

Week 3 · Thu Jan 22 2026 08:00:00 GMT+0800 (中国标准时间)

进度: 0/22 (0%)
下载 PDF
/ 0
100%
正在加载 PDF...

L06: Final Projects & Practical Tips

Slides

中英交替版(推荐)

L06 双语 (PDF)

英文原版

L06 EN (PDF)

中文翻译版

L06 ZH (PDF)

核心知识点

1. Transformer 回顾(L05 Quick Summary)

Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11
  • Transformer Decoder(GPT 类):
    • 堆叠 Decoder Blocks:Masked Multi-Head Self-Attention \to Add & Norm \to FFN \to Add & Norm
    • 因果掩码(Causal Mask):位置 ii 只能看到 i\le i 的位置
  • Transformer Encoder(BERT 类):
    • 与 Decoder 相同结构,但去掉 masking \to 双向上下文
  • Transformer Encoder-Decoder(T5 类):
    • Encoder 双向编码 + Decoder 因果生成
    • Cross-Attention:K/V 来自 Encoder,Q 来自 Decoder
      • ki=Khik_i = K h_i, vi=Vhiv_i = V h_i(encoder 输出)
      • qi=Qziq_i = Q z_i(decoder 输入)
  • MT 上的优异表现(Vaswani et al., 2017):WMT 2014 EN-DE/EN-FR SOTA
  • 文档生成:Transformer 全面超越 seq2seq-attention baseline
  • 待改进
    • 二次注意力复杂度 O(n2)O(n^2)
    • 位置表示方案的演进:absolute \to relative (Shaw 2018) \to RoPE (Su 2021) \to DeRoPE (Xiong 2026)
    • 实践结论:大 LM 几乎都使用标准二次注意力

📐 三种 Transformer 架构的注意力矩阵对比

Encoder(BERT) — 双向全注意力:

Aij=qiTkjdki,j{1,,n}A_{ij} = \frac{q_i^T k_j}{\sqrt{d_k}} \quad \forall\, i, j \in \{1, \ldots, n\}

注意力矩阵无约束,每个 token 可关注所有 token(包括未来位置)。

Decoder(GPT) — 因果掩码:

Aij={qiTkjdkif jiif j>iA_{ij} = \begin{cases} \frac{q_i^T k_j}{\sqrt{d_k}} & \text{if } j \le i \\ -\infty & \text{if } j > i \end{cases}

softmax 后 j>ij > i 的位置权重为 0,保证自回归生成的因果性。

Encoder-Decoder(T5) — Cross-Attention:

CrossAttn(Z,H)=softmax ⁣((ZWQ)(HWK)Tdk)(HWV)\text{CrossAttn}(Z, H) = \text{softmax}\!\left(\frac{(ZW_Q)(HW_K)^T}{\sqrt{d_k}}\right)(HW_V)

其中 ZRm×dZ \in \mathbb{R}^{m \times d} 是 Decoder 隐状态,HRn×dH \in \mathbb{R}^{n \times d} 是 Encoder 输出。Q 来自 Decoder,K/V 来自 Encoder — 注意力矩阵维度为 m×nm \times n

RoPE 位置编码(Su et al., 2021):

f(x,m)=(x1cosmθ1x2sinmθ1x1sinmθ1+x2cosmθ1)f(x, m) = \begin{pmatrix} x_1 \cos m\theta_1 - x_2 \sin m\theta_1 \\ x_1 \sin m\theta_1 + x_2 \cos m\theta_1 \\ \vdots \end{pmatrix}

其中 θi=100002i/d\theta_i = 10000^{-2i/d}。优势:相对位置 qmTknq_m^T k_n 仅依赖 mnm-n(平移不变性),且无需额外参数。

📚 已收录至 拓展阅读知识库

🔢 注意力复杂度的具体数字

模型序列长度 nn注意力 FLOPs(每层)参数量
GPT-2 Small1,0242×10242×7681.6G2 \times 1024^2 \times 768 \approx 1.6\text{G}117M
GPT-32,0482×20482×12288103G2 \times 2048^2 \times 12288 \approx 103\text{G}175B
Llama 3 (8B)8,1922×81922×4096550G2 \times 8192^2 \times 4096 \approx 550\text{G}8B

注意力 FLOPs 随序列长度平方增长。这就是为什么 128K 上下文的模型需要 FlashAttention 等内核优化——否则单层注意力的计算量就超过整个 FFN。

⚠️ 常见误区

  1. 误区:线性注意力(如 Mamba)已取代标准 Transformer → 正确:截至 2026,所有主流 LLM(GPT-4, Claude, Gemini, Llama 3)仍使用标准 O(n2)O(n^2) 注意力。线性注意力/SSM 在长序列上有优势,但在短到中等长度上未能匹敌标准注意力的质量。

  2. 误区:Encoder-Decoder 架构已过时 → 正确:T5/UL2 等 Encoder-Decoder 模型在翻译、摘要等 seq2seq 任务上仍有结构性优势(双向编码 + 因果解码),但在通用 LLM 场景中 Decoder-only 更灵活且更容易扩展。

2. 课程评分政策回顾

Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21
  • 4 次作业(48%):6% + 3 ×\times 14%
  • Final Project(49%):proposal 8% + milestone 6% + poster/web summary 3% + report 32%
  • Participation(3%)
  • Late day policy:6 天免费延期;之后每天扣 1% 总成绩;单次作业最多延期 3 天
  • 协作政策:可使用现有代码/资源,但必须标注来源,按个人贡献评分

💡 为什么 Final Project 占 49%?

CS224N 的核心设计理念:NLP 是实践驱动的学科。四次作业教你基础工具(反向传播、Transformer 实现、LLM 评估),但真正的学习发生在 Final Project 中——从选题、文献调研、实验设计到论文写作的完整研究闭环。这也是为什么顶尖团队的 Custom Project 经常直接投 ACL/EMNLP workshop。

3. Final Project 两大选项

Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31
  • Default Final Project(小 GPT + 下游任务)
    • 2026 新版:构建并实验一个小 GPT 模型
    • PyTorch 起始代码
    • 任务:实现 GPT-2(attention + transformer block)\to 微调做情感分析(Rotten Tomatoes)\to 扩展改进(paraphrasing / sonnet generation / hardware efficiency)
    • 适合人群:研究经验有限、想要引导和明确目标、约半数学生选择
  • Custom Final Project(自选课题)
    • 需要课程审批
    • 由 mentor(TA/prof/postdoc/PhD)提供反馈
    • 必须同时涉及人类语言和神经网络
    • 适合人群:已有研究方向/兴趣、想要独立探索
  • 两种选项工作量相当,都有机会获 Best Project Awards
  • 团队:1-3 人,鼓励组队;多人团队期望更大工作量
  • 语言/框架不限(但几乎所有人都用 PyTorch)

🔢 Default vs Custom Project 对比

维度Default ProjectCustom Project
课题构建小 GPT + 微调自选(需审批)
难度有明确引导开放式探索
代码PyTorch 起始代码从零开始
指导统一 TA 指导分配 mentor(TA/PhD)
典型产出情感分析 + paraphrasing可投 workshop 论文
适合人群~50% 学生选择有研究经验/兴趣
要求实现 + 实验 + 报告必须涉及人类语言 + 神经网络

Default Project 的三个扩展方向(选一):

  1. Paraphrase generation:输入句子 → 生成语义相同但措辞不同的句子
  2. Sonnet generation:生成符合格律的十四行诗
  3. Hardware efficiency:在固定计算预算下最大化性能

⚠️ 常见误区

  1. 误区:Custom Project 比 Default 更容易拿高分 → 正确:两者评分标准不同但工作量相当,Custom 的自由度意味着更高的失败风险(选题太大、数据不可获取、baseline 不清楚)。

  2. 误区:一个人做 Custom Project 也可以 → 正确:虽然允许 1 人团队,但 Custom Project 的工作量预期按团队大小线性增长,1 人做需要极好的时间管理。

4. Project Proposal(8%,3-4 页,Feb 10 截止)

Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38
  • 内容要求:
    • 找一篇与课题相关的关键论文
    • 写论文摘要 + 你从中提取的关键思路
    • 描述计划做什么、如何创新
    • 提出合理的 milestone(中期目标)
    • Custom Project 额外需要:项目计划、相关文献、模型类型、数据来源、评估方法
  • 评分标准:
    • Research paper review:summative(总结性评价)
    • Project plan:formative(形成性评价)
    • 关键:数据是否合适/可获取、评估方案是否现实、是否有 baseline 对比

💡 好的 Proposal 长什么样?

一份 A+ proposal 的核心要素:

  1. 明确的研究问题:不是”我要做情感分析”,而是”现有情感分析模型在讽刺语境下 F1 仅 42%,我要通过引入语境窗口扩展将其提升到 60%+”
  2. 可量化的 baseline:已有方法在你的数据集上的具体数字
  3. 可获取的数据:URL、大小、格式、是否需要预处理
  4. 现实的时间线:Milestone 应该是中间可交付产物(如”第 5 周完成数据预处理和 baseline 复现”),而不是模糊的”探索”
  5. 失败预案:如果主方案不 work,Plan B 是什么?

5. 寻找研究课题和数据的实用建议

Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53
  • 关注 ACL/EMNLP/NAACL/NeurIPS/ICML/ICLR 等顶会近期论文
  • 数据来源:
    • HuggingFace Datasets
    • Kaggle
    • 论文附带的数据集
    • 公开 API 和网络爬虫
  • 课题方向示例:
    • LLM pre-training / post-training
    • 多模态 LLM
    • Agentic AI
    • 推理能力
    • 评估和 red-teaming
    • 多语言 NLP
    • 科学发现
    • 语音和音频 ML
  • TA 的研究专长(可查 office hours 安排)匹配课题方向

🔢 2025-2026 热门课题方向与资源

方向数据集示例评估指标难度
LLM 推理GSM8K, MATH, ARCPass@1, Chain-of-Thought 正确率★★★
多模态 LLMVQAv2, COCO CaptionsCIDEr, VQA Accuracy★★★★
Agent/工具使用WebShop, ALFWorldSuccess Rate, Step Efficiency★★★★
Red TeamingHarmBench, TrustLLMAttack Success Rate, Safety Score★★★
高效微调Alpaca, FLANMMLU, MT-Bench★★
多语言 NLPXNLI, TyDi QACross-lingual F1★★★

关键数据源:

  • HuggingFace Datasets:最全面的 NLP 数据集仓库
  • Kaggle:标注好的竞赛数据集
  • 论文附录:顶会论文通常附带代码和数据链接
  • 合成数据:用 GPT-4/Claude 生成训练数据(注意声明)

🔗 课题方向与课程内容的映射

  • L02-L04 基础:词向量 → 情感分析(Default Project 核心)
  • L05-L07 Transformer/预训练 → LLM 效率优化、架构探索
  • L08-L09 后训练/PEFT → LoRA 变体实验、对齐研究
  • L10 RAG/Agents → 工具使用、Agent 评估
  • L11 评估 → 基准设计、Red Teaming
  • L12-L13 推理 → Chain-of-Thought、推理增强
  • L14 分词/多语言 → 低资源语言 NLP
  • L16 社会影响 → 幻觉检测、偏见缓解

推荐阅读

关联概念

作业提醒

  • A3 发布(从零实现 Transformer + 理解 attention)
  • A2 截止

个人笔记