推荐语
本书在开源与闭源模型之间找到了绝佳平衡,是一部帮助读者理解和运用 LLM 的系统指南,成功架起了理论与实践之间的桥梁。
—Giada Pistilli, Hugging Face 首席伦理学家
一份令人耳目一新、深受启发的学习资源。书中既有翔实的实用指导,又有清晰易懂的专业阐释,让你在这个令人惊叹的新领域真正“长本事”。
—Pete Huang, The Neuron 作者
想找一本全面覆盖大语言模型核心内容的综合资源绝非易事。直到发现这本书,我才停止了寻觅。Sinan 擅长以直截了当的方式呈现复杂概念。他把复杂的思想与算法拆解得清晰明了,让读者不至于被信息淹没。每个主题都循序铺陈、配以示例,成为读者进一步理解相关知识的踏脚石。这极大地提升了学习体验,使得即便是 LLM 开发中最棘手的部分,也能被不同基础的读者所掌握。
本书的另一大亮点是丰富的代码资源,书中的大量实战样例和代码片段对于想要动手实验、学以致用的读者来说,简直如虎添翼。它们为读者提供了宝贵的动手机会,帮助读者检验并打磨自己的理解,从而更深入地吃透材料,真正与内容互动。
总之,本书是所有对构建 LLM 感兴趣的读者的难得之选。书中卓越的讲解质量、清晰凝练的文字、丰富的代码资源,以及对要点的全面覆盖,使其成为不可或缺的参考书。不论你是新手还是资深从业者,它都能切实提升你在 LLM 开发上的理解与实践能力。我将本书强烈推荐给所有准备踏上 LLM 应用之旅的人。
—Pedro Marcelino,机器学习工程师, @overfit_study 联合创始人兼 CEO
Sinan 的这本书拨开纷繁迷雾,帮助读者看清 LLM 革命从何而来、又将走向何方。在书中,作者把复杂的主题拆解为实用的讲解与易上手的代码示例。
—Shelia Gulati,微软前总经理,现任 Tola Capital 董事总经理
推荐序
过去 6 年来,大语言模型( Large Language Model, LLM)的应用一直稳步增长,但真正让它们火遍全球的,是 OpenAI 的 ChatGPT 的发布。这款 AI 聊天机器人展示了 LLM 的强大能力,并提供了一个易于使用的界面,让各行各业的人们都能利用这一颠覆性工具。如今,自然语言处理( Natural Language Processing, NLP)的这个分支已成为机器学习领域最受关注的方向之一,许多人都希望将其融入自己的产品和服务中。这项技术让人感觉像是真正的人工智能—尽管在大多数情况下,它只是利用概率模型来预测序列中的下一个 token。
本书是一本优秀的 LLM 概念和实践指南,无论是程序员还是非程序员,都能从中获益。书中将讲解、可视化表达与实用代码示例相结合,读起来引人入胜、通俗易懂,让人忍不住一口气读完。 Sinan Ozdemir 以生动的方式涵盖了众多主题,使本书成为学习 LLM、了解其能力,以及如何与之互动以获得最佳结果的最佳资源之一。
Sinan 在 LLM 的各个方面之间游刃有余地切换,为读者提供了高效使用 LLM 所需的全部信息。从讨论 LLM 在 NLP 中的位置、解释 Transformer 和编码器,到迁移学习与微调、嵌入、注意力机制和分词—所有这些都讲解得深入浅出。他还涵盖了 LLM 的许多其他方面,包括开源与商业选项之间的权衡,如何有效利用向量数据库(这本身就是一个非常热门的话题),使用 FastAPI 编写自己的 API,创建嵌入,以及将 LLM 投入生产—这对于任何类型的机器学习项目来说都可能是一项挑战。
本书的一大亮点是同时覆盖了可视化界面(如 ChatGPT)和编程接口的使用。 Sinan 提供了清晰易懂的 Python 代码,明确展示了每一步操作。他对提示工程的讲解揭示了如何从 LLM中获得更好的结果。更棒的是,他演示了如何在可视化 GUI 和 Python OpenAI 库中提供这些提示。
这本书带给我的启发如此之大,以至于我一度想用 ChatGPT 来写这篇序言,以展示我学到的一切。这足以证明它写得多么出色、引人入胜且富有信息量。虽然我确实有能力这样做,但我还是选择亲自撰写这篇序言,以最真实、最个人化的方式表达我对 LLM 的想法和体验。
对于任何想要了解 LLM 各个方面的人来说,这就是那本书。它将帮助你理解这些模型,并知道如何在日常生活中有效地使用它们。也许最重要的是,你会享受这段旅程。
—Jared Lander,“Pearson Addison-Wesley 数据与分析丛书”主编
前言
你好!我是 Sinan Ozdemir。我曾是一名理论数学家,后来转型为大学讲师,再后来是 AI爱好者,再后来又成了成功的创业者 /AI 教科书作者 / 风投顾问。今天,我也将成为你的向导,带你漫游大语言模型( Large Language Model, LLM)工程与应用这座知识宝库。本书有两个核心目标:揭开 LLM 领域的神秘面纱,并为你提供实用知识,让你能够上手实验、编写代码、构建 LLM 应用。
不过,这里不是课堂,我也不是那种典型的教授。我不是用一堆复杂术语来对你狂轰滥炸的。相反,我的目标是把复杂概念讲得通俗易懂、贴近生活,更重要的是—能够学以致用。坦白地说,关于我就说这么多。这本书不是写给我的—是写给你的。接下来我想给你一些阅读建议,帮助你更好地阅读这本书,或者重读(如果我做得够好,你一定会愿意重读的),并确保你能从中获取所需的一切。
读者对象与先决条件
这本书写给谁?我的答案很简单:任何对 LLM 充满好奇的人、愿意动手编码的人、持续学习的人。无论你已身处机器学习领域多年,还是刚刚把脚尖探入这片海域,这本书都能成为你的向导与航图,帮助你在 LLM 的海洋中乘风破浪。
不过,如果你具备一定的机器学习与 Python 经验,会受益匪浅。这并不是说没有这些基础就完全不行,只是缺少这些工具,“航程”可能会有些颠簸。当然,边学边做也完全可行!
书中讨论的部分概念不一定需要大量编码,但大多数确实需要动手实践。
本书力求在深度理论理解与动手实践技能之间取得平衡。每一章都充满类比,让复杂的概念变得简单,随后辅以代码片段,让概念“活”起来。本质上,我把这本书写成你的 LLM 课程导师兼助教:简化并揭示这个迷人的领域,而不是用学术行话让人望而却步。希望你每读完一章,都能更清楚地理解主题,并知道如何在真实场景中应用。
如何阅读这本书
如果你有机器学习的经验,旅程会更轻松;但只要会 Python、愿意学习,人人都能入场。本书允许不同程度的参与方式,取决于你的背景、目标和可用时间。你可以深潜实践部分,亲自跑代码、调模型;也可以专注理论部分,不写一行代码也能扎实理解 LLM 的工作原理—选择权完全在你。
在阅读本书的过程中,请记住:每一章都试图在前一章的基础上构建。你在一章中获得的知识与技能,将成为后续章节的宝贵工具。你将面临的挑战是学习过程的一部分。你可能会感到困惑、沮丧,甚至有时会卡住。在为本书开发视觉问答( Visual Question Answering,VQA)系统时,我也经历了反复的失败。模型一度只会输出废话,反复重复同样的句子。但经过多次迭代之后,它终于开始生成有意义的输出。那一刻的成就感,那种突破瓶颈的兴奋,足以回报此前所有失败的尝试。本书也会给你类似的挑战,进而带来类似的突破。
内容概览
本书分为 4 部分。
第一部分:大语言模型导论。
第一部分的各章为 LLM 提供了入门介绍。从提示工程与 Transformer 架构的底层注意力机制,再到检索增强生成( Retrieval-Augmented Generation, RAG)与智能体( Agent)应用,提供了让你尽快上手 LLM 所需的基础知识。
第 1 章提供 LLM 世界的宏观概览,涵盖基础知识:它们是什么、如何工作、为何重要。读完本章,你将具备理解本书其余内容的坚实基础。
第 2 章在第 1 章的基础上,深入探讨如何将 LLM 用于最具影响力的应用之一—语义搜索。我们将构建一个能够理解查询含义而非仅匹配关键词的搜索系统。
第 3 章精心设计有效提示的艺术与科学,是释放 LLM 能力的关键。第 3 章提供提示工程的实用入门,以及从 LLM 中获取最大价值的指南和技巧。
第 4 章展示两个深入的案例研究:构建 RAG 管道和使用前几章所学的知识构建智能体。
第二部分:充分发挥 LLM 的价值。
第二部分更进一步,聚焦于帮助你微调 LLM 和嵌入模型,以从 AI 系统中获取最大价值。
第 5 章讲解如何用你自己的数据集微调 LLM,并配有实战示例和练习,让你能够快速掌握模型定制的方法。
第 6 章深入探索提示工程的世界。这一章将探讨高级策略和技术,帮助你从 LLM 中汲取更多价值—例如输出验证和语义式少样本学习。
第 7 章将探索 LLM 更技术性的一面,介绍如何修改模型架构和嵌入以更好地适应你的特定用例和需求。我们还会调整 LLM 架构以满足需求,同时微调一个表现超越 OpenAI 模型的
推荐引擎。
第 8 章退后一步,审视让 AI 系统更有用、减少危害、更易于协作的基本流程。目标是以一种突出不同组织之间 LLM 差异与相似性的方式来剖析对齐概念。
第三部分: LLM 高级应用。
第三部分继续深入设计与评估定制 LLM 架构,使用 RLHF( Reinforcement Learning from Human Feedback,人类反馈强化学习)从零训练指令对齐的聊天机器人,并对 LLM 进行量化和蒸馏,以在生产环境中实现最高效率。
第 9 章探索一些正在推动 LLM 边界的下一代模型和架构。在本章中,我们组合多种LLM,并建立一个使用 PyTorch 构建自定义 LLM 架构的框架。本章还介绍使用基于反馈的强化学习来让 LLM 对齐需求。
第 10 章提供微调高级开源 LLM 的实战指南和示例,重点关注实际实现。我们不仅使用通用语言建模来微调 LLM,还使用基于反馈的强化学习等高级方法,基于 Meta 的 Llama-3 模型创建我们自己的指令对齐 LLM—我们称之为 SAWYER。
第 11 章探讨在生产环境中部署 LLM 的实际考量。我们将介绍如何扩展模型、处理实时请求,以及确保模型稳健可靠,同时优化速度和内存消耗。
第 12 章旨在巩固 LLM 评估的流程和框架,通过审视基准测试、模型探测和模型校准等主题,以获得更可信的 AI 预测。
第四部分:附录。
4 个附录包括 LLM 常见问题解答、 LLM 术语表、 LLM 应用原型及代码仓库使用指南。
附录 A: LLM 常见问题解答。作为顾问、工程师和讲师,我每天都会收到大量关于LLM 的问题。我在这里汇编了一些影响较大的问题。
附录 B: LLM 术语表。为本书中使用的一些主要术语提供高级别参考。
附录 C: LLM 应用原型。我们在本书中使用 LLM 构建了许多应用,因此附录 C 旨在为任何想要自己构建应用的人提供一个起点。对于 LLM 的一些常见应用,本附录将建议关注哪些 LLM、可能需要哪些数据,以及可能面临哪些常见陷阱及如何应对。
附录 D:代码仓库使用指南。 a 介绍本书所有代码的获取位置和使用方法。
本书的独特之处
“这本书与其他书有什么不同? ”我仿佛听到你在问。首先,我把多元化的经历汇聚到这部作品中:从理论数学背景、创业世界的冒险、大学讲师的经历,到当前作为创业者、机器学习工程师和风投顾问的多重角色,这些经历都塑造了我对 LLM 的理解,我也把所有这些知识倾注到了这本书中。
你会在本书中发现一个独特之处,即概念的真实世界应用。当我说“真实世界”时,我是认真的:本书充满了实用的、动手的经验,能够帮助你理解与 LLM 合作的现实。
此外,本书不仅仅是关于理解当今的这个领域。正如我常说的, LLM 的世界以小时为单位在变化。尽管如此,一些基本原理仍保持不变,我在书中特别强调了这些原理。这样,你就不仅为当下做好了准备,也为未来做好了准备。
本质上,本书不仅反映了我的知识,也反映了我对用 AI 和 LLM 进行构建的热情。它是我的经验、洞见与热情的“蒸馏”—这个双关语在第 11 章中你会有更深的体会。这是一份邀请,邀请你与我一同探索这个迷人且快速演进的领域。
总结
我们来到了前言的结尾—或者说是我们共同旅程的开始,这取决于你如何看待它。你已经了解了我是谁、这本书为何存在、有什么值得期待,以及如何充分利用它。
现在,剩下的就看你了。我邀请你跳进来,沉浸在 LLM 的世界中。无论你是经验丰富的数据科学家,还是满怀好奇的爱好者,这里都有适合你的内容。我鼓励你积极地参与这本书—运行代码,调整它,打破它,然后重新组装它。大胆去探索、实验、犯错、学习吧!
让我们开始吧!
斯楠· 奥兹德米尔
