【零基础学AI】第 27 章课后练习与答案

第 27 章练习与答案

🌈 关于《AI 零基础 36 讲》课后训练

📚 与正式讲解配套学习

本篇是《AI 零基础 36 讲》的配套课后训练,与对应章节的正式讲解一起使用。整个系列面向初学者,从日常 AI

使用逐步进入编程、模型训练和大模型应用开发。

✍️ 先独立作答,再核对答案

训练围绕本章知识安排概念判断、结果分析或动手任务,并提供参考答案与解释。建议先读完对应的正式文章,再独立作答;遇到困难时回看相关例子,最后核对答案。

💻 代码题请亲手运行

观察程序输出,确认自己能解释结果、发现错误并完成修复。做完一道题,也要弄清答案为什么成立。

题目

  1. 提示"小猫"为什么有三个输入 Token,嵌入之和与词表分数是什么形状。
  2. 两个头、总宽 16,每个头的 Q、K、V 特征宽是多少。前馈宽度增加到 32 是否改变 Token 数。
  3. [1,2,3,4] 的总体方差为何为 1.25。LayerNorm 是否在整句所有位置上做同一次均值计算。
  4. 分支最后输出 32 维,主干输入 16 维,能否直接残差相加。如何修复。
  5. 为什么训练"小猫吃鱼。"时需要输入与目标错开一位,并屏蔽未来位置。
  6. 模型对"小猫"后面选择"吃"的概率约 0.4995,是否说明训练失败。限制仅生成一个 Token 时得到什么停止原因。

参考答案

1. 开始标记和形状

三个 Token 为 BOS、小、猫。单句输入 (1,3),嵌入之和 (1,3,16),词表分数 (1,3,31)。生成时取最后一个位置的 31 个分数。

2. 头宽和前馈

每头 8 维。前馈仅改变每个位置的特征宽度,T 不变,中间 32 维后还要回到 16 维。

3. 总体方差

均值为 2.5,平方偏差为 2.25、0.25、0.25、2.25,除以四个数得到 1.25。本章 LayerNorm 在每个位置最后一维计算,保持各 Token 位置分开。

python 复制代码
import torch
values = torch.tensor([1., 2., 3., 4.])
print(float(values.mean()), float(values.var(unbiased=False)))

结果为 2.5 1.25。

4. 残差尺寸

不能直接逐元素相加。让分支最后一层由 32 投影回 16,再与主干相加,或明确改变主干投影。本章采用前者。

5. 下一 Token 目标

当前位置预测下一项,输入以 BOS 开始,目标以第一个普通字开始,最后预测 EOS。因果限制阻止当前位置读到后面的真实目标。补齐位置不参与损失。

6. 多种续写与停止

语料有"小猫吃鱼。"和"小猫喝水。",同样前缀存在分支,这个分数不直接说明失败。仅生成一项时结果为"小猫吃",停止原因为新 Token 上限,通常不是 EOS。

python 复制代码
from examples.toy_transformer import ROOT, load_model, generate
model, tokenizer = load_model(ROOT / "results/tiny-transformer.pt")
result = generate(model, tokenizer, "小猫", max_new_tokens=1)
print(result["text"], result["stop_reason"])
相关推荐
慢慢来不要急12 分钟前
Anthropic 自建源码控制,AI Agent 把 Git 跑到了极限 · 11-09
人工智能·开发工具
CyrusYiVPP24 分钟前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
美团技术团队28 分钟前
美团 LongCat-2.5 开源:从看见,到抵达
人工智能
aifannihao35 分钟前
AI 学习第 8 课:1200 列纯噪声 CV 出 0.47,泄漏在筛特征那步
人工智能·机器学习·scikit-learn·学习路线·数据泄漏
老金带你玩AI1 小时前
我宣布!Magpie就是版本答案!
人工智能
Rocky Ding*1 小时前
REPA-E技术深度解析:解冻 VAE 之后,扩散模型为什么需要选择梯度
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·repa-e
武雄(小星Ai)1 小时前
Ollama报llama-server binary not found排坑实录:服务活着引擎没了
人工智能·windows·大模型·ollama·排坑
bryant_meng2 小时前
【TNT】《Transformer in Transformer》
人工智能·深度学习·transformer·word embedding·tnt·sentence embed
jay神2 小时前
基于 YOLOv8 的轴承缺陷检测(Web 版)
前端·人工智能·yolo