图书前言

译者简介

郭涛,主要从事人工智能、智能计算、概率与统计学、现代软件工程等前沿交叉技术研究。出版过多部译作,包括《Python 预训练视觉和大语言模型》《OpenAI API 编程实践(Java版)》和《LangChain大模型应用开发》。

译 者 序

在当今科技飞速发展的时代,人工智能(Artificial Intelligence,AI)已成为推动变革的核心力量,尤其是在自然语言处理(Natural Language Processing,NLP)领域,大规模语言模型(Large Language Model,LLM)的兴起引发了前所未有的突破。这些模型通过处理海量数据,掌握了语言的复杂结构及其细微差别,从而能够生成逼真的文本并回答问题,甚至进行创造性的写作。本书围绕这一前沿技术展开讨论,为读者提供了深入理解和应用大规模语言模型的详尽指南。

1. 大规模语言模型的时代

近年来,大规模语言模型重新定义了人工智能存在的可能性。这些模型不仅是技术上的飞跃,更重要的是它们对各类应用产生了深远影响。从智能助手、自动化内容生成,到代码生成和数据分析,大规模语言模型已成为推动这些领域发展的关键力量。

本书的第Ⅰ部分详细介绍了大规模语言模型的基本概念和历史背景,以帮助读者了解大规模语言模型与传统机器学习模型的区别,并深入探讨了目前最流行的大规模语言模型架构。这一部分为读者奠定了理解大规模语言模型的坚实理论基础,能帮助读者更好地把握这项技术的精髓及其在人工智能领域的重要地位。

2. 从理论到实践:大规模语言模型的应用

大规模语言模型的强大之处不仅体现在理论层面,更重要的是其在实际应用中具有广泛性和灵活性。本书的第Ⅱ部分系统介绍了如何将大规模语言模型应用于人工智能驱动的各种场景中,涵盖从模型选择、提示工程到应用开发的各个环节,尤其是如何利用LangChain等新型工具进行人工智能应用的编排和开发。

提示工程(Prompt Engineering)是影响大规模语言模型输出质量的关键因素,尤其在应对复杂任务时,其作用尤为显著。本书对此进行了深入探讨,可帮助读者掌握这一关键技术,从而最大限度地发挥大规模语言模型的优势。这部分内容对于希望利用大规模语言模型开发高质量应用的开发者和工程师来说具有极高的实用价值。

3. 新兴应用领域的探索

本书的第Ⅲ部分带领读者探索大规模语言模型在多个新兴领域的应用,包括会话应用、多模态智能体、代码生成和结构化数据处理等。这些领域代表了大规模语言模型技术的前沿应用方向,展示了其在不同场景下具有的广泛适用性和强大功能。

特别是在多模态应用对应的章节中,作者提出了将语言、图像和音频等不同模态的基础模型组合成单一智能体的概念,这一创新思路为人工智能技术未来的发展指明了新的方向。通过阅读这些内容,读者可以获得关于跨模态整合和创新的宝贵启示,并尝试在自己的项目中应用这些先进的理念和技术。

4. 微调与负责任的人工智能

随着大规模语言模型在各个领域的广泛应用,其潜在的风险和挑战也日益凸显。本书的最后几章深入探讨了大规模语言模型采用的微调技术和负责任的人工智能开发理念。这些内容对于希望将大规模语言模型应用于实际项目的技术人员和决策者来说,具有重要的参考价值。

微调技术允许开发者根据特定需求对大规模语言模型进行调整,从而提高模型在特定任务中的性能。然而,微调过程中涉及的数据隐私、模型偏见等问题也需要引起足够的重视。负责任的人工智能开发已经成为行业内的共识,特别是在涉及伦理和社会影响之时。作者提出的一系列技术和方法,为开发者提供了实用的指导,可帮助他们在减少大规模语言模型带来的潜在风险的同时,最大化其积极影响。

5. 未来展望

本书的最后部分探讨了生成式人工智能领域的最新进展和未来的发展趋势。随着大规模语言模型技术的不断演进,未来将出现更多创新应用,同时也会面临新的挑战和机遇。通过对这些趋势进行分析,作者为读者描绘了一幅未来人工智能技术发展的蓝图,可帮助其前瞻性地应对即将到来的技术变革。

本书为那些希望深入了解和应用大规模语言模型的读者提供了全面的指导。无论是软件开发人员、数据科学家、人工智能/机器学习工程师,还是技术创始人、在校学生或研究人员,均可从本书中汲取丰富的知识并掌握实用的工具,进而在人工智能领域取得更大的成就。希望本书的中文版能够帮助更多的读者走进大规模语言模型的世界,并在技术变革中获得启迪,继而创造属于自己的辉煌。同时,建议读者结合译者翻译的另外两本关于大模型的著作《Python预训练视觉和大语言模型》和《LangChain大模型应用开发》进行阅读。

在翻译本书的过程中,我查阅了大量的经典著(译)作,并得到了很多人的帮助。我要特别感谢清华大学出版社的编辑,他们做了大量的编辑与校对工作,保证了本书的质量,使得本书符合出版要求,在此深表谢意。

由于本书涉及的内容广且深,加上译者翻译水平有限,在翻译过程中难免有不足之处,欢迎读者批评指正。

作 者 简 介

Valentina Alto是一名人工智能爱好者、技术文献作者和跑步健将。在拿到数据科学硕士学位后,她于2020年加入微软,目前担任人工智能专家。Valentina从求学之初就对机器学习和人工智能充满热情,她不断加深对这一领域的了解,并在科技博客上发表了数百篇文章。她与Packt合作撰写了第一本书,名为Modern Generative AI with ChatGPT and OpenAI Models。在目前的工作中,她与大型企业合作,旨在将人工智能整合到企业业务中,并利用大型基础模型开发创新解决方案。

除了职业追求,Valentina还热爱徒步于意大利美丽的山川之间,喜欢跑步、旅行,并乐于手捧好书,品一杯香浓的咖啡。

审稿人简介

Alexandru Vesa是一名拥有十多年专业经验的人工智能工程师,目前担任Cube Digital公司的CEO。他领导的这家人工智能软件开发公司的愿景是激发人工智能算法的变革潜力。在跨国公司和充满活力的初创企业中,他积累了应对复杂商业环境和打造人工智能产品的丰富经验。他通过从不同学科中汲取灵感,建立了一套多才多艺的技能体系,并将最先进的技术与成熟的工程方法完美融合。他擅长从零开始指导项目,直至项目在更大的范围或规模上取得成功。

Alex是DecodingML出版物的灵魂人物,他与Paul Iusztin合作,在Substack平台上策划了开创性的实践课程LLMTwin: Building Your Production-Ready AI Replica。他解决问题和沟通的能力促使其成为利用人工智能推动创新并取得实际成果不可或缺的力量。

Louis Owen是一名来自印度尼西亚的数据科学家/人工智能工程师。目前,他在领先的CX自动化平台Yellow.ai负责NLP解决方案,致力于提供创新解决方案。Louis的职业生涯横跨多个领域,包括与世界银行合作开展非政府组织工作、与Bukalapak和Tokopedia合作开展电子商务活动、与Yellow.ai合作开展会话人工智能工作、与Traveloka合作开展在线旅游业务、与Qlue合作开展智慧城市计划以及与Do-it合作开展金融科技工作。他还与Packt合作撰写了Hyperparameter Tuning with Python一书,并发表了多篇有关人工智能领域的论文。

工作之余,Louis喜欢花时间指导有抱负的数据科学家,通过文章分享自己的见解,并沉迷于自己的业余爱好——看电影和做副业。

前    言

本书开启了探索大规模语言模型(Large Language Model,LLM)及其在人工智能(Artificial Intelligence,AI)领域所代表的变革性范式之旅。这本全面的指南可以帮助你深入了解基本概念,从这些前沿技术的坚实理论基础到大规模语言模型的实际应用,最终汇聚到使用生成式人工智能解决方案时的伦理和责任考量。本书旨在帮助你深入了解市场上新兴的大规模语言模型如何影响个人、大型企业乃至整个社会。本书重点介绍如何利用LangChain等新型人工智能编排器构建由大规模语言模型驱动的强大应用,并揭示现代应用开发的新趋势。

阅读完本书后,相信你定能更轻松驾驭快速发展的生成式人工智能解决方案生态系统,并掌握在日常任务和业务中充分利用大规模语言模型的工具。让我们开始吧!

本书读者对象

本书主要面向有一定Python代码基础的技术读者。但理论章节和实践练习基于生成式人工智能基础知识和行业用例,非技术读者可能也会感兴趣。

总之,本书适合有兴趣全面了解大规模语言模型的读者,可辅助其充满信心和前瞻性地驾驭快速发展的人工智能领域。本书所呈现的内容适合但不仅限于以下读者。

●软件开发人员和工程师:本书为希望利用大规模语言模型构建应用的开发人员提供了实用指导。内容包括将大规模语言模型集成到应用后端、API、架构等。

●数据科学家:本书为有兴趣将大规模语言模型部署到实际应用中的数据科学家介绍了如何将模型从研究阶段应用到生产阶段。内容包括模型服务、监控和优化等方面。

●人工智能/机器学习工程师:专注于人工智能/机器学习应用的工程师可以利用本书了解如何构建和部署大规模语言模型,并将其作为智能系统和智能体的一部分。

●技术创始人/CTO:初创公司的创始人和CTO可以利用本书评估是否以及如何在其应用和产品中使用大规模语言模型。本书在提供技术概述的同时,还考虑了业务因素。

●在校学生:学习人工智能、机器学习、自然语言处理(Natural Language Processing,NLP)或计算机科学的研究生和高年级本科生可以从本书中了解大规模语言模型在实践中的应用。

●大规模语言模型研究人员:研究新型大规模语言模型架构、训练技术等的研究人员将深入了解真实世界中模型的用法和相关挑战。

本书内容

第1章介绍并深入探讨大规模语言模型,这是生成式人工智能领域中一套强大的深度学习神经网络。本章不仅介绍了大规模语言模型概念,其与经典机器学习模型的区别,以及相关术语,还讨论了最流行的大规模语言模型采用的架构,如何训练和使用大规模语言模型,并比较了基础大规模语言模型与经过微调的大规模语言模型。完成第1章的学习后,读者便可了解什么是大规模语言模型及其在人工智能领域的定位,从而为后续章节的学习奠定基础。

第2章探讨大规模语言模型如何彻底改变软件开发世界,从而引领人工智能驱动的应用进入新时代。本章可帮助读者更清楚地了解如何借助目前人工智能开发市场上的新型人工智能编排器框架,将大规模语言模型嵌入不同的应用场景中。

第3章重点介绍不同的大规模语言模型可能具有不同的架构、规模、训练数据、功能和限制。为自己的应用场景选择合适的大规模语言模型并不是一件简单的事情,毕竟它会对解决方案的性能、质量和成本产生重大影响。这一章将介绍如何为应用场景选择合适的大规模语言模型,并讨论市场上最有前景的大规模语言模型、比较大规模语言模型时使用的主要标准和工具,以及规模和性能之间进行的各种权衡。阅读完本章后,读者便可清楚地了解如何为自己的应用场景选择合适的大规模语言模型,以及如何有效、负责任地使用它。

第4章介绍了在设计由大规模语言模型驱动的应用时,提示工程是一项至关重要的活动,原因是提示对大规模语言模型的性能有很大影响。事实上,有几种技术不仅可以重新微调大规模语言模型的响应,还可以降低与幻觉和偏差相关的风险。这一章中介绍的提示工程领域采用的新兴技术,更是涉及从基本方法到高级框架的描述。完成本章的学习后,读者将具备为大规模语言模型驱动的应用构建功能强大的提示的能力,并为接下来的章节学习打下坚实的基础。

第5章讨论随着使用大规模语言模型开发的应用的出现,软件开发领域所引入的一系列新组件。为了更方便地在应用流程中编排大规模语言模型及其相关组件,出现了几个人工智能框架,其中LangChain是应用最广泛的框架之一。这一章将深入了解LangChain及其使用方法,学习如何通过Hugging Face Hub将开源大规模语言模型API调用到代码中,并管理提示工程。完成本章的学习后,读者将具备开始使用LangChain和开源Hugging Face模型开发由大规模语言模型驱动的应用的技术基础。

第6章开始介绍实践部分,首次具体实现由大规模语言模型驱动的应用。使用LangChain及其组件逐步实现会话应用程序。配置一个简单聊天机器人对应的模式,添加记忆组件、非参数知识和工具,使聊天机器人“智能体化”。最后,用几行代码帮助读者建立自己的会话应用程序项目。

第7章探讨了大规模语言模型如何利用嵌入和生成模型来增强推荐系统。将讨论推荐系统的定义和演变,了解生成式人工智能如何影响这一研究领域,并讲解如何使用LangChain来构建推荐系统。最后,读者将能够创建自己的推荐应用程序,并使用LangChain作为框架以利用最先进的大规模语言模型。

第8章介绍大规模语言模型具有的一项强大功能:处理结构化表格数据的能力。讲解如何利用插件和智能体方法,将大规模语言模型用作与结构化数据之间的自然语言接口,从而缩小业务用户与结构化信息之间的差距。为了演示这一点,将使用LangChain建立一个数据库Copilot编程工具。最后,读者将能够为自己的数据资产构建一个自然语言接口,并将非结构化数据和结构化数据结合起来。

第9章涉及大规模语言模型具有的另一项强大功能:生成编程语言。在第8章中,当要求大规模语言模型针对SQL数据库生成SQL查询时,这一能力的雏形就已渐显。这一章将探讨使用大规模语言模型生成代码的其他方式,涵盖从“简单”的代码理解和生成到使用算法来构建应用程序行为。最后,读者将能够为自己的编码项目构建由大规模语言模型驱动的应用,以及构建带有自然语言接口的大规模语言模型驱动的应用,以便与代码配合使用。

第10章超越了大规模语言模型的范畴,在构建智能体时引入了多模态的概念。它涉及将不同人工智能领域(语言、图像、音频)的基础模型组合成一个能胜任各种任务的单一智能体时背后所蕴含的逻辑。其中还讲解了如何使用LangChain,以便用单模态大规模语言模型来构建多模态智能体。最后,读者将能够构建自己的多模态智能体,并为其提供执行各种人工智能任务时所需用到的工具和大规模语言模型。

第11章介绍了微调大规模语言模型的技术细节,涵盖从其理论基础到使用Python和Hugging Face的实际操作。将深入探讨如何准备数据,在数据上微调基础模型,并讨论微调模型的托管策略。最后,读者将能够在自己的数据上微调大规模语言模型,从而构建由该大规模语言模型驱动的特定领域应用。

第12章介绍了用于减轻大规模语言模型(以及一般人工智能模型)潜在危害所需具备的学科基础知识,即负责任的人工智能。这一点非常重要,因为在开发由大规模语言模型驱动的应用时,大规模语言模型会带来一系列新的风险和偏见。

接下来,将讨论与大规模语言模型相关的风险,以及如何使用合适的技术来防止或至少降低这些风险。最后,你将对如何防止大规模语言模型使所构建的应用程序具有潜在危害性有更深入的了解。

第13章探讨了生成式人工智能领域的最新进展和未来发展趋势。

充分利用本书

本书旨在提供一个坚实的理论基础,帮助读者了解什么是大规模语言模型、大规模语言模型的架构以及大规模语言模型会给人工智能领域带来革命性变化的原因。本书主要以动手实践为主题,逐步指导读者针对特定任务实现由大规模语言模型驱动的应用,并使用LangChain等功能强大的框架。此外,每个示例都会展示各种大规模语言模型的用法,以帮助读者了解其不同之处,以及何时为特定任务使用合适的模型。

总之,本书将理论概念与实际应用紧密结合,希望在大规模语言模型及其在NLP中的应用方面为读者打下坚实基础,并提供理想资源。以下是从本书中获得最大收益的前提条件:

●对神经网络背后蕴含的数学机理(线性代数、神经元和参数以及损失函数)有基本了解

●对机器学习概念(如训练集和测试集、评估指标和NLP)有基本了解

●对Python有基本了解

下载示例代码与彩色图片

本书相关的所有示例代码文件均可从本书配套的GitHub仓库下载,网址为https://github.com/PacktPublishing/Building-LLM-Powered-Applications。本书还提供了一个PDF,其中包含书中使用的彩色图片,可以通过网址https://pack.link/gbp/9781835462317下载。另外,读者也可通过扫描本书封底的二维码下载这些示例代码与彩色图片。