怎样读这本书
你不需要等到“数学全准备好了”才开始学习机器学习。带着一个问题往前走,遇到不熟悉的知识再回来补,通常更容易知道自己为什么要学它。
从哪里开始
建议先读导读。我们会用几十行 Python 代码预测打印耗时,亲手走一遍训练、比较和预测的过程。这个例子很小,却能帮你认清后面反复出现的几个角色:数据、模型、参数和误差。
接下来,可以从函数、向量与矩阵顺着读。前四篇会把数学工具、模型训练、神经网络与语言模型连成一条路线;第五、第六篇再讨论预训练、指令、偏好与奖励。每篇末尾都有实践,适合停下来,把前面零散学到的东西接成一次完整实验。
如果更关心应用,可以在熟悉模型评估与 Transformer 以后进入第七、第八篇:先做资料与工具助手,再研究运行成本和服务。第九篇把输入扩展到图像、声音和视频;第十篇则带你围绕校准问题读论文、重做实验、检查统计证据,最后写成报告。
附录 A~H适合随时翻查。前沿专题库可以按兴趣选择,不必从头追到尾:例如,先问“多想一会儿有没有帮助”,再读推理与测试时计算;先问“它为什么答得这么自信”,再看可解释性与可靠性。每个专题开头都会指出所需基础。
| 你想做什么 | 可以怎样读 |
|---|---|
| 系统理解机器学习和大模型 | 顺着全书往下读。数学部分如果一时抽象,可以先看看对应的模型,再回来重读。 |
| 尽快动手做一个应用 | 先弄懂模型评估和 Transformer 的基本思路,再进入应用与部署。遇到微调、检索等概念时,回查相关章节。 |
| 逐步读懂研究论文 | 先走完基础部分,再结合论文阅读与复现章节选择一个专题。一次追清一个问题,比同时追很多模型更容易积累理解。 |
遇到公式时,先找它在回答什么问题
看到新符号,不妨先问:输入是什么?最后要算出什么?中间这一步为什么需要?
例如,预测打印耗时时,“每页需要的时间 × 页数 + 固定开销”就是一个模型。先弄懂这句话,再把它写成公式,符号就有了落脚点。暂时看不懂一段推导,也可以先代入一组数字算算,或回到图上看看它描述的关系。
本书需要的数学会逐步展开。函数、向量、概率或导数忘了都没关系,数学部分可以当作随手查阅的工具。
让代码替你检验理解
第一次运行例子时,先保留原来的数据和设置,看看能否得到书中的结果。第二次再改一个条件:换几条数据,调整一个参数,或故意给模型一道难题。先猜结果,再运行,最后解释差异。 这三步很适合用来检查自己是否真的理解了一个方法。
前七章的脚本只使用 Python 标准库;第八章开始使用 NumPy 和 scikit-learn,第十四章开始用 PyTorch 训练网络。对应章节会说明环境安装方法,也提供固定版本的依赖清单。当前例子都在 CPU 上运行过,不要求 GPU。
第三十一章起还提供真实预训练模型的可选实验,需要下载模型并预留数 GB 内存。你也可以先运行标准库示例、阅读随书保存的完整生成记录,再决定是否重做模型推理。两种方式的区别会在章节中说明;后续实验也请先看相应的环境要求。
每次做完实验,留下几行笔记就好:改了什么、原先怎么想、实际发生了什么。过一段时间再回头看,这些记录会比“我好像已经学过了”可靠得多。
不急着追完每一篇新论文
前沿研究更新很快,基础知识却能反复帮上忙。读到新方法时,先看看它想解决什么问题,与已有方法相比改了哪一步,实验又支持了多大的结论。
遇到感兴趣的方向,可以从前沿专题库继续探索。暂时读不懂的地方,常常也会提醒你下一步值得补哪些基础。
现在,就从打印耗时这个小问题开始吧。