猜你喜欢
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)

快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)

书籍作者:斯楠·奥兹德米尔 ISBN:9787302661610
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5406
创建日期:2024-06-27 发布日期:2024-06-27
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书主要围绕如何充分挖掘、利用大语言模型的潜力,囊括了大语言模型的概念,如何通过

提示词更好地利用大语言模型,大语言模型在信息检索、推荐系统、视觉问答等任务中的应用,

以及大语言模型的微调、多模态训练、模型生产应用等高阶使用技巧。本书在讲解过程中搭配

大量的应用实例以及相关代码,从大语言模型的概念、挖掘大语言模型潜力的方式到大语言模

型的高级使用方式,读者能够将概念学习和实践应用同步进行,是相关领域工程技术人员、学术

人员以及对大语言模型感兴趣的广大读者的不二之选。

本书的内容编排适合以下群体:

(1) 有一定的编程能力,但对大语言模型没有充分的认知,想通过本书迅速掌握大语言模型

的概念,并在相关业务领域(信息检索、对话系统、推荐系统等)实现快速应用。

(2) 大语言模型某个研究领域的资深从业人员,但是想更全面地了解大语言模型在各个领

域的研究应用现状,实现对大语言模型从学术研究到生产应用的全方位系统认知。


作者简介

斯楠·奥兹德米尔(Sinan Ozdemir) 拥有数学硕士学位,是一位成功的人工智能企业家和风险投资顾问。在担任约翰·霍普金斯大学讲师期间,首次涉足数据科学和机器学习,并发明了人工智能领域的多项专利。

后来创立了Kylie.ai——一个融合了对话式人工智能和机器人能力的创新平台。Kylie.ai很快就因其独特的价值主张而受到关注,最终被收购。在此期间, 斯楠·奥兹德米尔开始创作大量关于数据科学、人工智能和机器学习的作品。


关于译者

姚普 中国科学院大学博士,现任京东资深算法工程师,多年从事算法设计与开发、算法框架引擎开发、算法产品化开发,在图算法和大模型领域深耕多年,《图深度学习从理论到实践》作者。


前言



前言



笔者原来是一名理论数学家、大学讲师,后来成为人工智能爱好者,再后来成为成功的创业公司创始人、人工智能教科书作者、风险投资顾问。今天,笔者还可以作为导游,带读者参观

LLM工程和应用这个巨大的知识博物馆。本书的编写有两个目的: 一是揭开LLM领域的神秘面纱,二是为读者提供实用的知识,使读者能够开始实验、编码和构建LLM。



与在课堂上大多数教授的讲解不同,本书并不是要用复杂的术语向读者灌输,相反,本书的目的是使复杂的概念易于理解、容易与常识关联起来,更重要的是具有实用性。



坦率地说,于笔者而言,本书内容已经相当充分。笔者想给读者一些关于如何阅读本书的提示,

多次阅读本书,确保自己从本书中获得自己所需的知识。



读者人群和预备知识


本书是为谁准备的?答案很简单: 任何对LLM充满好奇心的人,有意愿的程序员,不懈的学习者。无论你在机器学习领域已有见解,还是正准备开始学习相关知识,本书都是你的指南,是为你导航LLM领域的地图。



为了最大限度地利用这段旅程,拥有一些机器学习和Python方面的经验将是非常有益的。这并不是说没有它们你将无法

继续,而是没有这些工具,

阅读的过程可能有点波折。如果你准备边读边学习,那也很好。我们将探索的一些概念

并不一定全部需要大量的编码,但大多数是需要的。



在本书中,笔者试图在深入的理论理解和实际的实践技能之间找到平衡。书中每章都充满了类比,将复杂的事物变得简单,并配以代码片段,使概念更加生动。本质上,笔者是将这本书作为LLM讲师+助教,旨在简化和揭开

LLM引人入胜的神秘面纱,而不是向读者灌输学术术语。笔者希望读者在结束每一章时能更清楚地理解主题,并了解如何将其应用于真实世界中的场景。



如何阅读本书


如前所述,如果读者有一些机器学习的经验,会发现这个旅程比没有经验的人稍微容易一些。尽管如此,这条路对任何可以用Python编码并准备学习的人都是开放的。本书可以满足不同阅读层次的读者需求,取决于每个人的背景、目标和可用的时间。依据个人喜好,读者可以深入实践部分,尝试代码并调整模型,或者可以参与理论部分,在没有编写一行代码的情况下深入理解LLM如何工作。




需要注意的是,本书每一章都建立在

之前的章节上。读者在前面部分中获得的知识和技能将成为后续部分的基础。面临的挑战是学习过程的一部分

,读者可能会困惑、沮丧,有时甚至陷入困境。当笔者为本书开发可视化问答(VQA)系统时,

曾遇到了多次失败。模型会输出无意义的内容,一遍又一遍地重复相同的短语。但是,经过无数次迭代之后,它开始生成有意义的输出。胜利的那一刻,取得突破的喜悦,让之前每一次失败的尝试

都有价值。本书将为读者提供类似的挑战,

使读者体验类似的胜利喜悦。



本书总览


本书分为以下四部分。


第1部分: 大模型介绍


第1章:

本章对LLM的领域进行概述。包括基本知识: 它们是什么、如何工作、为何重要,读完本章,读者会有一个坚实的基础来理解本书的其余部分。


第2章:

在第1章的基础上,深入讲解LLM如何用于其最具影响力的应用之一——语义搜索。本章将致力于创建一个能够理解查询含义的搜索系统,而不仅仅是匹配关键字。


第3章:

科学且具有艺术性的提示指令对充分使用大模型的能力十分重要。第3章提供提示工程的实用介绍,以及充分利用LLM的指导方针和技术。


第2部分: 充分挖掘大模型的潜力


第4章:

在LLM中的既有模型并不适合所有情景,本章介绍如何使用自己的数据集对LLM进行微调,并提供实践示例和练习,让读者可以快速自定义模型。



第5章:

深入讲解提示工程的世界,对高级策略技术的讲解可以帮助读者从LLM中获得更多的高级策略和技术,例如,输出验证和语义小样本学习。



第6章: 通过微调基于OpenAI的推荐引擎,

介绍如何修改模型体系结构和嵌入,以更好地适应用户的特定用例和需求,调整LLM架构以满足用户的需求。



第3部分: 大模型的高级应用


第7章:

讲解下一代模型和体系结构,它们正在突破LLM的极限。本章将组合多个LLM,并使用PyTorch建立一个框架来构建自定义的LLM架构。本章还介绍从反馈中进行强化学习,以使LLM符合用户的需求。


第8章:

提供微调高级开源LLM的实践指南和示例,重点是实现。本章不仅使用通用语言建模,还使用增强等高级方法来微调LLM,并从反馈中学习,创建自己的LLMSAWYER。



第9章:

讲解在生产环境中部署LLM的实际注意事项,如何扩展模型,处理实时请求,并确保模型稳健可靠。


第4部分: 附录



3个附录包括常见问题列表、术语表和LLM应用的参考。



附录A:

作为一名顾问、工程师和教师,笔者每天都会收到很多关于LLM的问题,

此处整理了一些较有影响力的问题。



附录B:

术语表提供本书中一些主要术语的参考。


附录C:

本书使用LLM构建了许多应用程序,附录C旨在为那些想要构建自己的应用程序的读者提供一个起点。对于LLM的一些常见应用,本附录将建议关注哪种LLM,以及可能需要的数据,还有可能会遇到的常见陷阱以及如何处理。



本书特色


读者也许会问: “是什么让本书与众不同”?首先,笔者在这项工作中汇集了各种各样的经验: 从笔者的理论数学背景,笔者进入创业世界的经历,笔者作为前大学讲师的经历,到笔者目前作为企业家、机器学习工程师和风险投资顾问的经历。每一次经历都加深了笔者对LLM的理解,笔者把所有这些知识都倾注在本书中。



读者会在本书中发现一个独一无二的特色,那就是概念在现实世界中的应用。当笔者说“现实世界”时,笔者是认真的: 本书充满了实践和实践经验,可以帮助读者理解LLM在现实中的应用。



此外,本书不仅仅是关于理解当下所涉及的领域。正如笔者经常说的,LLM的世界是随时间变化的,即便如此,一些基本原理仍然是不变的,笔者在本书中强调了这些。这样读者不仅为现在做好了准备,也为未来做好了准备。



从本质上讲,本书不仅反映了笔者的知识,还反映了笔者对人工智能和LLM构建的热情。

本书是笔者的经历、见解以及笔者使用LLM

对广大读者的启迪。这是笔者向你发出一起探索这个迷人、快速发展的领域发出的邀请。



总结


这里或许是我们共同旅程的开始,这取决于你如何看待它。你已经了解了笔者是谁,以及这本书为什么存在,期待什么,以及如何充分利用它。


现在,剩下的由你决定。笔者邀请你加入进来,让自己沉浸在LLM的世界里。无论你是经验丰富的数据科学家,还是好奇的爱好者,这里都有适合你的东西。笔者鼓励你积极参与本书——运行代码,调整它,分析它,然后把它重新组合起来。探索、实验、犯错、学习。


致谢



致我的家庭: 谢谢你,妈妈,你一直是我教学力量和影响的化身。是你对教育的热情让我意识到分享知识的

价值,我现在努力在工作中做到这一点。爸爸,你对新技术

的敏锐及其潜力的兴趣一直激励着我突破自己的领域。妹妹,你不断提醒我要考虑我的工作对人类的影响,让我脚踏实地。你们的见解使我更加意识到工作影响着人们的生活。



致我的妻子: 对于我的生活伴侣伊丽莎白来说,当我沉浸在无数个写作和编码的夜晚时,你的耐心和理解是无价的。谢谢你忍受我的胡言乱语,帮助我理解复杂的想法。当道路看起来很模糊时,你一直是一根支柱、一个传声筒和一盏明灯。你在这段旅程中的坚定一直是我的灵感来源,否则这部作品不会是现在的样子。



图书出版流程: 衷心感谢Debra Williams Cauley为我提供了为AI和LLM社区做贡献的机会。在这个过程中,我作为一名教育工作者和作家,所经历的成长是不可估量的。

因为迷失于大模型的复杂的微调过程,耽误了本书的出版时间,对此深表歉意

。我还要感谢Jon Krohn的推荐,感谢他一直以来的支持。



目录



第1部分大模型介绍


第1章大模型概述


1.1什么是大模型


1.1.1大模型的定义


1.1.2大模型的关键特征


1.1.3大模型是如何工作的


1.2当前流行的大模型


1.2.1BERT


1.2.2GPT3和 ChatGPT


1.2.3T5


1.3垂直领域大模型


1.4大模型的应用


1.4.1经典的NLP任务


1.4.2自由文本生成


1.4.3信息检索/神经语意搜索


1.4.4聊天机器人


1.5本章小结


第2章大模型语义检索


2.1简介


2.2语义检索的任务


2.3非对称语义检索方案概述


2.4组件


2.4.1文本嵌入器


2.4.2文档分块


2.4.3向量数据库


2.4.4Pinecone


2.4.5开源替代方案


2.4.6检索结果重排


2.4.7API


2.5完整方案


2.6闭源组件的成本


2.7本章小结


第3章提示词工程入门


3.1简介


3.2提示词工程


3.2.1LLM的对齐


3.2.2LLM提问


3.2.3小样本学习


3.2.4结构化输出


3.2.5人物角色提示词


3.3跨模型提示词工程


3.3.1ChatGPT


3.3.2Cohere


3.3.3开源提示词工程


3.4采用ChatGPT构建问答机器人


3.5本章小结


第2部分充分挖掘大模型的潜力


第4章通过定制化微调优化大模型


4.1简介


4.2迁移学习与微调入门


4.2.1微调过程的解释


4.2.2闭源预训练模型作为基础模型


4.3OpenAI 微调 API 概览


4.3.1GPT3微调 API


4.3.2案例学习: 亚马逊评论情感分类


4.3.3数据指南和最佳实践


4.4使用OpenAI CLI实现自定义数据微调


4.5设置 OpenAI CLI


4.6LLM微调实践


4.6.1采用量化指标评测大模型


4.6.2定性评估技术


4.6.3将微调的GPT3模型集成到应用程序中


4.6.4案例学习: 亚马逊评论分类


4.7本章小结


第5章高级提示工程


5.1提示注入攻击


5.2输入/输出验证



5.3批处理提示


5.4提示链


5.4.1提示链作为防御提示注入的手段


5.4.2使用提示链来防止提示填充


5.4.3使用提示链来安全地使用多模态LLM


5.5思维链提示



5.6重新审视小样本学习



5.7测试和迭代快速开发


5.8本章小结


第6章定制嵌入层和模型架构


6.1案例研究: 构建一个推荐系统


6.1.1定义问题和数据


6.1.2推荐系统的定义


6.1.3基于万条用户行为数据构建推荐系统


6.1.4生成自定义字段来对比项目的相似性


6.1.5采用基础词向量构建基线


6.1.6准备微调数据


6.1.7使用Sentence Transformers微调开源嵌入器


6.1.8微调效果总结



6.2本章小结


第3部分大模型的高级使用


第7章超越基础模型


7.1案例研究: 视觉问答


7.1.1模型简介: DistilBERT、视觉转换器和GPT2


7.1.2隐藏状态投影和融合


7.1.3交叉注意力是什么以及为什么至关重要


7.1.4定制多模式联运模型


7.1.5数据: 视觉问答


7.1.6VQA训练迭代


7.1.7结果总结


7.2案例研究: 从反馈中强化学习


7.2.1FLANT5模型


7.2.2奖励模型: 情感和语法正确性


7.2.3Transformer强化学习


7.2.4RLF训练循环


7.2.5结果总结


7.3本章小结


第8章开源大模型的高级微调方法


8.1案例研究: 采用BERT对动漫进行多标签分类


8.1.1采用Jaccard相似分来评估动漫标题多标签分类的效果


8.1.2简单的微调大模型训练流程


8.1.3通用的开源大模型微调技巧


8.1.4结果总结


8.2采用GPT2生成LaTeX


8.2.1开源大模型的提示词工程


8.2.2结果总结


8.3Sinan尝试做出聪明而优美的回应: SAWYER


8.3.1有监督指令微调


8.3.2奖励模型的训练


8.3.3从(期望的)人类反馈中进行强化学习


8.3.4结果总结


8.4日新月异的微调世界


8.5本章小结


第9章将LLM应用于生产


9.1闭源LLM应用于生产


9.2开源LLM应用于生产


9.2.1将LLM应用于推理


9.2.2互操作性


9.2.3模型量化


9.2.4模型剪枝


9.2.5知识蒸馏


9.2.6大模型的成本预估


9.2.7模型推送到Hugging Face仓库


9.3本章小结


9.3.1欢迎向社区贡献代码


9.3.2继续加油


第4部分附录


附录ALLM常见问题解答


附录BLLM术语表


附录CLLM应用架构


产品特色