为了使学习过程尽可能顺利,本书中的所有代码示例均可在 Manning 出版社的官方网站(https://www.manning.com/books/build-a-large-language-model-from-scratch)和 GitHub(https://github.com/rasbt/LLMs-from-scratch)上找到,其中 GitHub 上的代码示例是以 Jupyter Notebook 格式提供的。1 如果遇到问题,也不用担心——附录 C 收录了所有代码练习的答案。

1 读者也可到图灵社区本书中文版主页 ituring.cn/book/“随书下载”处下载书中代码示例。——编者注

本书中包含大量的源代码示例,有些以编号形式列出,有些则穿插在正文中。无论是哪种形式,为了与普通文本相区分,源代码均以如下字体展示:

fixed-width font

在多数情况下,原始源代码已经过重新排版。我们添加了换行符,并调整了缩进以契合图书版式。在极少数情况下,如果难以满足排版需求,我们则会在代码清单中添加续行标记(➥)。此外,如果正文已对代码进行了阐释,那么源代码中就不再添加注释。许多代码清单配有代码注释,以突出重要概念。

本书的一大核心宗旨是提高可访问性,因此,代码示例都经过精心设计,以便在普通的笔记本电脑上高效运行,而不需要任何特殊硬件。但如果你确实有可用的 GPU,那么部分章节会提供一些实用建议来扩展数据集和模型规模,以利用这些额外的计算能力。

本书将使用 PyTorch 作为从零开始实现大语言模型的主要张量和深度学习库。如果你对 PyTorch 不太熟悉,建议先从附录 A 开始阅读。附录 A 对 PyTorch 进行了深入介绍,并给出了设置建议。