学习如何通过构建自己的模型来理解生成式人工智能,这些模型可以撰写连贯的文本、生成逼真的图像,甚至创作出栩栩如生的音乐。 《使用PyTorch学习生成式人工智能》 通过从头开始构建工作中的AI模型,教授生成式AI的基本机制。在整个过程中,您将使用直观的PyTorch框架,这对任何使用过Python数据工具的人来说都会非常熟悉。在学习的过程中,您将掌握生成对抗网络(GANs)、Transformer、大型语言模型(LLMs)、变分自编码器、扩散模型、LangChain等的基本知识!在**《使用PyTorch学习生成式人工智能》**中,您将构建这些令人惊叹的模型:
Transformers、生成对抗网络(GANs)、扩散模型、大型语言模型(LLMs)等强大的深度学习模式彻底改变了我们处理文本、图像和声音的方式。生成式AI乍一看像是魔法,但通过一点Python、PyTorch框架和一些实践,您可以在自己的笔记本电脑上构建有趣且实用的模型。本书将向您展示如何实现这些。
《使用PyTorch学习生成式人工智能》 通过帮助您构建自己的工作AI模型来介绍生成式AI的基本机制。您将从使用GAN创建简单的图像开始,接着逐行编写一个语言翻译的Transformer。在充满趣味且引人入胜的项目中,您将训练模型生成动漫图像、撰写海明威风格的文章、创作莫扎特般的音乐等等。您只需掌握Python和一些机器学习的基础知识,其他内容在学习过程中会逐步掌握!
示例代码使用简单的Python。无需具备深度学习经验。
Mark Liu是肯塔基大学金融硕士项目的创始主任。 本书的技术编辑为Emmanuel Maggiori。
第一部分
什么是生成式AI以及为什么选择PyTorch?
使用PyTorch进行深度学习
生成对抗网络:形状和数字生成 第二部分
使用生成对抗网络生成图像
选择生成图像的特征
CycleGAN:将金发转换为黑发
使用变分自编码器生成图像 第三部分
使用递归神经网络进行文本生成
注意力机制和Transformer的逐行实现
训练Transformer翻译英语到法语
从零开始构建生成预训练的Transformer
训练Transformer生成文本 第四部分
使用MuseGAN进行音乐生成
构建并训练音乐Transformer
扩散模型与文本生成图像的Transformers
预训练的大型语言模型和LangChain库 附录A. 安装Python、Jupyter Notebook和PyTorch B. 最低要求的读者资格和深度学习基础
Dr. Mark Liu是肯塔基大学金融硕士项目的终身教授和创始主任。他拥有超过20年的编程经验,并获得了波士顿学院的金融学博士学位。
如何使人工智能具备通用智能,以及这种技术对社会的意义。 人工智能无处不在。你每天接触的越来越多的系统和服务都基于人工智能技术。尽管一些非常新的人工智能系统在某种程度上是通用的,但大多数人工智能仍然是狭窄特定的;也就是说,它只能在特定的上下文中执行单一任务。例如,拼写检查器无法进行数学运算,而世界上最优秀的国际象棋程序也无法玩俄罗斯方块。人类智能则不同。我们能够解决各种任务,包括那些我们以前没有见过的任务。在《人工通用智能》一书中,朱利安·托戈利乌斯探讨了开发更通用人工智能的技术方法,并询问通用人工智能对人类文明的意义。 托戈利乌斯首先举例说明在某些方面表现超人类的狭窄人工智能。有趣的是,已经有超过半个世纪的人工智能系统在某种意义上是超人类的。接着,他通过心理学、动物行为学和计算机科学的定义讨论拥有通用智能意味着什么。然后,他探索了开发更通用人工智能的两大主要技术方法:通过自我监督学习的基础模型,以及在虚拟环境中进行开放式学习。书的最后几章探讨了超越严格技术方面的潜在人工通用智能。这里讨论的问题包括这种通用人工智能是否会具备意识、是否会对人类构成风险,以及它可能如何改变社会。
关于作者
朱利安·托戈利乌斯是纽约大学计算机科学与工程系的副教授,也是游戏人工智能初创公司modl.ai的联合创始人。
本文在空战和远程战争的概念范围中研究了当代使用武装无人机的发展。尽管人们对无人机战争的新颖性或其政治、法律和伦理基础给予了极大关注,但本文将无人机的使用置于 20 世纪空中和远程战略目的的思考脉络之中。通过这一过程,细致入微地阐述了武装无人机如何延续和改变空战和远程战争的实践,并将无人机的使用置于更广泛的历史和当代战争实践之中。
本文分析了远程战争概念发展过程中的三个重要时刻,这些时刻促成了当代无人机应用的概念架构,即战略轰炸理论的发展、冷战期间的核战争规划以及越南战争中的空战实践。随后,将美国武装无人机的使用置于 2007 年至 2011 年在阿富汗、伊拉克和更广泛的反恐战争中采用的反叛乱战略之中。在整个研究过程中,对武装无人机和远程战争的研究做出了三个主要贡献。首先,认为武装无人机的远程性是通过一系列战术、战略和政治决策与实践积极产生的。借鉴风险转移、替代战争和代理战争的概念,认为武装无人机是通过操纵和构建遥远性来参与战争的。其次,认为武装无人机是战争概念的争论和边缘化的长期遗产的一部分,这些争论决定了武装无人机在当代战争中的应用。最后,认为必须从武装无人机对当代战争的战略贡献的角度对其进行评估,从而拒绝将无人机战争特殊化,将其视为一种根本不同的战争实践。
近年来,人工智能在语言能力方面取得了惊人的进步。在深度学习的快速发展推动下,语言 AI 系统的文本生成和理解能力达到了前所未有的高度。这一趋势正推动着新功能、新产品甚至整个行业的发展。通过本书直观的教育性内容,读者将学习如何使用这些能力的实用工具和概念。 您将了解如何使用预训练的大型语言模型处理如文案撰写和摘要生成等应用场景;创建超越关键词匹配的语义搜索系统;并利用现有的库和预训练模型进行文本分类、搜索和聚类。 本书还帮助您:
评论“Jay 和 Maarten 在他们的新书中继续提供了精美的图解和对复杂主题的深刻见解。这本书结合了可运行的代码、时间线和关键论文的参考文献,对于任何想了解大型语言模型构建主要技术的人来说,都是一项宝贵的资源。” ——Andrew Ng, DeepLearning AI 创始人 “我想不出还有哪本书比这本更值得阅读。在每一页上,我都学到了一些在语言模型时代取得成功的关键内容。” ——Josh Starmer, StatQuest “这是一本关于语言模型及其在行业中的实际应用的出色指南。书中对生成、表征和检索应用的高度可视化覆盖,使读者能够快速理解、使用并改进 LLM。强烈推荐!” ——Nils Reimers, Cohere 机器学习总监 | sentence-transformers 创作者 “如果您想快速掌握 LLM 相关的一切,不用再找了!在这本精彩的书中,Jay 和 Maarten 将带您从零基础到掌握大型语言模型的历史和最新进展。书中有直观的解释、真实的案例、清晰的图解和全面的代码实验室,这本书揭开了 Transformer 模型、分词器、语义搜索、RAG 以及许多其他前沿技术的复杂面纱。任何对最新 AI 技术感兴趣的人都必须读这本书!” ——Luis Serrano, PhD, Serrano Academy 创始人兼首席执行官 “这本书是任何对生成式 AI 快速演变领域感兴趣的人必读之作。它聚焦于文本和视觉嵌入,是算法进化、理论严谨性和实用指导的完美结合。无论您是学生、研究人员还是行业专家,这本书都将为您提供提升生成式 AI 知识所需的应用场景和解决方案。非常出色!” ——Chris Fregly, AWS 生成式 AI 解决方案首席架构师 关于作者
Jay Alammar 是 Cohere 的总监和工程研究员(Cohere 是提供大型语言模型 API 的先驱公司)。在这个角色中,他为企业和开发者社区提供使用语言模型的实践指导和教育。通过他流行的 AI/ML 博客,Jay 帮助数百万研究人员和工程师直观地理解从基础(出现在 NumPy 和 pandas 等软件包的文档中)到前沿(如 Transformers、BERT、GPT-3、Stable Diffusion)的机器学习工具和概念。Jay 还共同创建了 Deeplearning.ai 和 Udacity 上的流行机器学习和自然语言处理课程。 Maarten Grootendorst 是荷兰癌症研究中心 (IKNL) 的高级临床数据科学家。他拥有组织心理学、临床心理学和数据科学的硕士学位,利用这些知识向广泛的受众传达复杂的机器学习概念。通过他流行的博客,Maarten 向数百万读者解释了人工智能的基本原理,常常从心理学的角度进行阐述。他是多个依赖大型语言模型的开源包的作者和维护者,如 BERTopic、PolyFuzz 和 KeyBERT。这些包被全球的数据专业人士和组织下载和使用数百万次。
选择要攻击的威胁是战场上最重要的决策之一。该决策问题表现为武器-目标分配问题(WTA)。在以往的研究中,动态编程、线性规划、元启发式和启发式方法已被用于解决这一问题。然而,以往的研究因建模过于简化、计算负担重、缺乏对干扰事件的适应性以及问题规模变化时的重新计算等问题而受到限制。为了克服这些局限性,本研究旨在利用强化学习和图神经网络来解决 WTA 问题。所提出的方法反映了现实世界的决策框架--OODA-loop(观察-定向-决策),具有很高的实用性。在各种环境中进行了实验,并通过与现有的启发式和元启发式方法进行比较,证明了所提方法的有效性。所提出的方法为战术指挥与控制中的智能决策引入了一种开创性的方法,传统上被认为是人类专家的专属方法。
本研究将强化学习与图形神经网络(GNN)相结合。强化学习与 GNN 的结合是最有前途的领域之一,因为 GNN 能有效地表示复杂的交互作用。为了应用强化学习,DWTA 被建模为 POMDP(部分可观测马尔可夫决策过程)。为了优化强化学习智能体的策略,采用了近端策略优化(PPO)。学习环境是一个仿真模型,反映了对真实世界的详细描述。本研究的贡献如下。
本研究利用深度强化学习和图神经网络在各种情况下做出优化决策,为复杂性和不确定性主导的情况提供丰富的目标导向表征。
图神经网络有助于提高我们方法的可扩展性,从而增强其实际用途。
提出的方法通过人工智能技术的增强,为传统上由人类专家主导的领域(如战术指挥和控制)的决策制定带来了创新。
从整数编程中定义的问题出发,利用马尔可夫状态的理论基础和图建模技术系统地构建了 POMDP。与依靠直觉和经验法则推导 POMDP 的传统方法相比,这是一种更有条理的方法,更容易看出 POMDP 与所定义问题之间的联系。
2024年《政府工作报告》首次提出“人工智能+”战略行动,旨在推动人工智能赋能各行各业。以大模型为代表的新一代人工智能技术迅猛发展,已成为软件工程领域智能化转型的关键驱动力,为软件开发、测试等环节注入新智力。智能化软件开发工具凭借其强大的代码理解和生成能力,有效降低了开发人员的技术门槛,并提高开发效率和质量,进一步推动软件开发领域的进步。 然而,在软件开发的智能化能力建设和应用过程中,仍面临诸多挑战,如代码大模型选择困难、开发工具的工程化建设复杂、智能化能力建设无参考、开发场景选择和落地难,以及与现有开发工具或流水线的集成难等问题。为此,本指南旨在为正在进行软件开发智能化转型的企业提供一份实用指南,为企业制定落地策略、建设智能开发能力体系提供有力参考。本指南系统梳理了智能化软件开发的发展历程、现状和面临的挑战,结合大模型和软件开发特点,提出了具体的落地方向、路径和框架,详细阐述了落地所需的核心能力和使能能力,并对多个行业的落地案例进行了深入剖析,最后对智能化软件开发的发展趋势进行了展望。 由于大模型等人工智能技术产业仍处于快速发展阶段,智能开发相关的技术产品、服务和应用也在不断演变,我们的认识将随着产业实践而不断深化,报告存在的不足之处,恳请大家批评指正。 智能开发发展概述 随着人工智能技术的不断进步,特别是大模型能力的持续提升,软件工程领域正迎来前所未有的变革,软件开发的流程和模式正被重新定义,智能化进程显著加速。本章将简要回顾软件工程的发展历程,重点介绍软件工程3.0的发展特点,以及智能化软件开发(以下简称:智能开发)领域发展现状,并深入探讨智能化能力为软件开发带来的价值提升,最后梳理落地挑战。 软件工程步入3.0时代 软件工程发展历程 软件工程自1968年诞生以来,其发展历程可分成三个阶段,包括软件工程1.0、软件工程2.0和软件工程3.0。
生产型作战模型和模拟不具备对指挥结构中的多个单位进行自动规划的能力,也缺乏对火力压制等效果进行前瞻性推理的工具。这些差距限制了建模战斗计划的速度,使其无法满足人类细致输入的要求。本文了提出了一个自动化作战规划系统的架构框架,主张采用职责分离的方法--例如在机动和火力之间--来设计和管理复杂的规划系统。然后,描述了自动火力支援计划组件的概念模型,该组件在连续时间计划空间中使用贪婪的最佳优先搜索,在多项式时间内降低给定机动计划的风险。介绍了该组件在符合规划框架的架构中的实现。然后,介绍了一种定量和定性的方法来验证和确认计划模型,并将其应用于火力支援计划的实施。结果表明,在合理的运行时间后,自动火力支援计划能有效改善模拟战斗结果,并具有一些现实的突发特性。除了新颖的规划算法外,本研究还提供了设计原则、评估技术和有前景的结果,以指导战斗模型行为自动化的改进。
图 1. 概念规划框架
当今的战斗模拟软件无法自动生成逼真的作战计划。取而代之的是人工场景设计和操作。对于基于建模与仿真(M&S)的分析而言,完成一项研究所需的大部分时间都花在了作战计划的制定上。这就限制了研究的场景数量,只能是少数几个。对于基于 M&S 的训练而言,缺乏自动规划能力会增加对人类操作员的要求,从而限制了用户从基于计算机的实战训练替代方案中寻求的效率收益。在军事和视频游戏研究中出现了一些自动化机动规划的例子,但迄今为止,它们还没有在生产型军事模拟中得到应用。目前还没有实际的自动火力支援规划能力得到展示。
本文提出了自动化作战计划系统(ABPSs)的架构框架(图 1),主张采用职责分离的方法(例如,在机动和火力之间)来设计和管理复杂的计划系统。该框架的主要组成部分包括
规划数据:任务、方法(实现任务的规则)以及赋予规划特征的衍生模型
计划输入:从作战模拟环境和用户获取的数据,用于为 ABPS 制定计划问题
计划生成器:实际生成作战计划的算法、启发式方法、数据结构和接口
该框架以一种自然的方式划分了参与自动化作战计划的三类人员的职责:情景设计人员,负责为特定的 M&S 问题配置计划输入;行为开发人员,负责编写和更新计划数据,以模拟不同的战术;以及自动化计划开发人员,负责计划生成器的内部工作。该框架还引入了规划风格,将各单元限制在任务、方法和派生模型的适当子集内,以控制可从规划数据存储中获得的选项,而随着时间的推移,规划数据存储可能会变得相当庞大。
计划生成器包括一个计划控制器,它调用多个任务规划器和增强规划器子组件来生成部分计划。任务规划器试图生成部分计划,从质量上实现规划输入中提供的要求任务,并在可能的情况下选择成本较低的方案。改进规划员根据一个或多个目标函数扩展或修改局部计划,从数量上对其进行改进。任务规划员和改进规划员分别以解决问题和优化的方式进行作战规划。每个任务规划员或增强规划员都专注于规划的一个特定方面,如机动、火力或维持。计划生成器最终会将其内部计划表示编译成可在目标战斗模拟环境中执行的格式。
在学术文献和工业界出现了一些机动计划器的实例--例如,William van der Sterren 为虚拟战斗空间(VBS)设计的计划攻击系统。这类工具可用作 ABPS 的任务规划器。
现代军事战术依靠火力压制敌人的威胁。虽然目前使用的一些作战模型包括压制效果,但还没有自动规划工具可将火力支援任务添加到机动计划中。提出了一个火力支援计划器的概念模型,它可以作为 ABPS 的增强计划器。火力支援计划器使用风险区间(图 2)作为主要数据元素。每个风险区间对应友军部队暴露在敌军部队潜在火力下的一段连续时间。每个风险区间的数字代价是友军部队在穿越相应路径时可能遭受的预期伤亡人数。这一数值可通过对威胁的杀伤率进行时间积分来计算。火力支援任务是一项指令,要求一个单位移动到特定地点,在一段时间内压制单个威胁单位,暂时降低威胁的杀伤率。每项火力支援任务一旦添加到计划中,就会降低与其时间间隔重叠的所有风险间隔的数值成本。
图 2. 风险区间
火力支援计划的计划成本被定义为该计划所有风险区间成本的总和,而候选火力支援任务的得分则是如果该任务成为下一个新增任务,其对该计划成本的潜在减少量。根据这一方案提出了一种贪婪的最佳优先算法来构建火力支援计划。在构建火力支援任务选项时,尝试将每种火力支援资产应用到每个风险区间,并使用多点战术寻路来确定位置、路线和时机。通过使用计划空间表示法,能够在计划的最关键时刻实施压制;并不局限于按时间顺序向前或向后规划。
为了实现火力支援计划,首先在 Unity 3D 开发平台上建立了一个相对简单的战斗模型,称为 Wombat XXI。它包括一个从真实世界数据导入的多边形地形高程模型、分层组织的单位、实体移动编队、取决于射程的命中概率,以及一个类似于 COMBATXXI(一种生产型分析战斗模拟系统)的压制模型。根据上述概念规划框架构建了 ABPS 原型。它的单一任务规划器以分层任务网络表示法为指定单位构建机动计划,大量使用用户输入。其 “增强计划器 ”使用火力支援计划器算法,在计划中添加移动和压制任务,消耗有能力单位的未执行任务时间间隔,以降低敌方火力风险。手动 "机动计划器有助于为火力支援计划器构建特定的测试场景。
采用定量和定性的方法来验证和确认火力支援计划的实施。图 3 所示的流程本身可用于今后类似性质的开发工作。定量测试可为定性测试中的观察结果提供更有力的证据;定性测试可检查定量测量结果是否有现实可信的解释。
图 3. 验证和确认流程
定量结果(表 1)表明,自动火力支援计划比人类设计的简单计划能产生更好的模拟作战结果,尽管如果时间不受限制,人类最终也能找到更好的计划。实际运行时间从排级场景的不到一秒到营级场景的几分钟不等。如果在单独的线程中运行,该算法的可扩展性足以满足排级和连级规模的在线实时应用,而对于离线规划,它的速度明显快于人工输入。定性分析揭示了自动计划中一些有趣的突发特性,潜在用户须考虑对其进行验证。还发现了当前版本中的一些不足之处,实施时需要处理或接受这些不足之处。
表 1. 定量测试结果
除了新颖有效的火力支援规划算法和功能实现外,这项研究还提供了设计原则、评估技术和有希望的结果,以指导改进作战模型的自动作战规划。将这一能力引入生产系统的条件已经成熟。虽然这需要前期投资和持续的维护与管理,但已有足够的成熟技术来提高场景设计的效率。通过允许人工仔细审查自动化计划,可以在完善自动化的同时建立建模界的信任。一旦达到足够的舒适度和理解程度,在线重新规划可能会彻底改变战斗模型在各种不同应用中的使用方式。
与《AI智能体的崛起》一起探索未来科技
在《AI智能体的崛起》中,您将探索人工智能(AI)、区块链和量子计算如何彻底改变世界。本书不仅仅停留在理论层面,还提供了一个实用且富有洞察力的旅程,深入探讨这些颠覆性技术的可能性和挑战。 凭借在人工智能、网络安全和量子计算领域多年的经验,Petar Radanliev博士旨在将学术研究与现实世界的应用相结合。无论您是希望应用前沿解决方案的专业人士,还是渴望抢占先机的学生,本书都将为您提供宝贵的洞察力,帮助您了解不断演变的科技格局。 您将学到的内容
AI、区块链和量子计算如何协同工作,变革行业 * 这些集成技术的最新发展和实际应用 * 高级AI智能体的伦理、法律和社会影响
《AI智能体的崛起》提供了这些互相关联技术的全貌,使读者能够轻松理解复杂话题。本书不仅帮助您理解理论,还为您提供了在现实场景中应用这些理论的工具。 主要特色
复习问题与章节总结:加强关键概念的理解,巩固核心知识。 * 真实案例研究:了解这些技术在不同行业中的应用。 * 动手练习:通过交互式工具和练习,获得实战经验,提升技能。
本书旨在激励和启发读者,为您提供知识和信心,以便在AI、区块链和量子计算的快速发展领域中导航并取得成功。
进入奇妙的图算法世界,在这里你将学习如何以及何时应用这些非常有用的数据结构,来解决各种令人着迷(甚至神奇)的计算问题。 《有趣的图算法》通过幽默、富有想象力的示例以及实用的Python实现,带来对复杂概念的清新诠释,揭示基于图的解决问题方法在现实世界中的强大和多样性。通过清晰的图解、有趣的示例和Python代码,你将为在自己的项目中解决图问题打下坚实的基础。 探索一系列精心构建的场景,其中包括:
从基础的图结构到高级主题,你将能够:
深入学习拓扑排序、最小生成树、强连通分量和随机游走。应对图着色和旅行商问题等挑战。 准备好通过图的视角看待世界吧——在这里,连接揭示洞见,算法打开新的可能性。
“图可能是世界上最自然的数据结构。这本全面的书揭示了许多迷人的图算法的魔力和奥秘,这些算法使得从图中获取强大应用和洞见成为可能。” ——Kirk Borne,DataPrime首席科学官,博士
Jeremy Kubica 是一位在计算机科学与天体物理学交叉领域工作的工程总监。他拥有卡内基梅隆大学的机器人学博士学位和康奈尔大学的计算机科学学士学位。他是《计算机科学侦探》、《有趣的数据结构》(均由No Starch Press出版)和《计算童话》的作者。
本指南旨在帮助数据科学家、机器学习工程师和机器学习/AI 架构师探索信息检索与 LLMs 的集成及其相互增强。特别聚焦于 LLM 和检索增强生成(RAG)技术在信息检索中的应用,通过引入外部数据库与 LLMs 的结合,提高检索系统的性能。
基础知识入门:从 LLMs 的基本概念开始,深入了解信息检索的基本原理,以及 RAG 技术对信息检索的显著影响。 * LLM 与信息检索系统的结合:探讨如何通过集成外部数据库与 LLMs 来增强检索系统,实现更高效的企业数据搜索、推荐和 AI 助手解决方案。
LLM 和 RAG 在高级搜索与信息检索系统中的应用原理:
理解如何利用 LLM 和 RAG 技术来构建更智能的搜索和信息检索系统。 1. 掌握 RAG 的复杂性与检索生成技术:
学习 RAG 中基于检索的生成技术,特别是应用于 AI 助手场景,以实现更自然的交互和回答生成。 1. LLM 和 RAG 的评估方法:
了解如何建立精确性和效率的基准,并遵循合规指南,确保生成内容的准确性和质量。 1. 构建基于 LLM 和 RAG 的搜索引擎与推荐系统:
利用 LLM 模型的表征能力和 RAG 强大的检索与排序机制,打造智能搜索和推荐系统。 1. 定制化 AI 助手的开发:
学习如何使用预训练的 GPT 模型开发定制化的 AI 助手,并提升客户支持和任务自动化。 1. 实施个性化聊天机器人:
创建能够与用户互动的自定义聊天机器人,提升客户支持,并提供个性化体验。
通过本指南,您将全面掌握 LLM 和 RAG 技术在信息检索系统中的应用技巧,掌握构建高效、个性化的 AI 解决方案的核心技能。
当谈到由生成式 AI 驱动的应用程序时,当前最流行的框架之一是智能体。智能体可以定义为高度专业化的实体,能够通过规划和与周围生态系统的互动来实现用户的目标。在本次讨论中,您将探讨 AI 智能体的主要组成部分,如大语言模型(LLMs)、提示(Prompts)、记忆(Memory)和工具(Tools)。我们还将讨论构建健壮、企业级智能体的架构最佳实践,重点关注语义缓存(semantic caching)和 GraphRag 等新兴趋势。
利用先进的生成式 AI 技术(如 RAG),释放数据的潜力,推动创新并获取战略优势
主要功能
使用向量数据库优化数据检索和生成 * 通过 AI 代理提升决策效率并自动化工作流程 * 克服实施真实 RAG 系统中的常见挑战 * 购买印刷版或 Kindle 版书籍即可免费获取 PDF 电子书
图书简介
By finelybook 生成式 AI 正在帮助组织以新的方式挖掘数据潜力,检索增强生成(RAG)技术结合了大型语言模型(LLM)与内部数据,从而实现更智能且相关性更高的 AI 应用。本书的作者结合了他十年机器学习的经验,为您提供在使用 RAG 推动变革性成果时所需的战略见解和技术专长。 本书探讨了 RAG 在增强组织运营中的作用,将理论基础与实用技术相结合。您将通过使用 LangChain 和 Chroma 向量数据库等工具的详细代码示例,获得在 AI 系统中集成 RAG 的实践经验。章节中包含了真实的案例研究和示例应用,展示了 RAG 的多种应用场景,包括搜索引擎和聊天机器人。您将学习如何管理向量数据库、优化数据检索、有效的提示工程(prompt engineering)、以及量化性能评估的方法。本书还介绍了将 RAG 与前沿 AI 代理及新兴的非 LLM 技术的高级集成。 通过本书的学习,您将能够在商业场景中成功部署 RAG,解决常见的挑战,并扩展该革命性 AI 技术的潜力。 您将学到的内容
了解 RAG 的原理及其在生成式 AI 中的重要性 * 将 LLM 与内部数据集成以增强业务运营 * 掌握向量化、向量数据库及向量搜索技术 * 发展专用于 RAG 的提示工程技能并设计精准的 AI 响应 * 了解 AI 代理在推动复杂 RAG 应用中的角色 * 克服可扩展性、数据质量和集成问题 * 探索优化数据检索和 AI 可解释性的策略
本书适合的人群本书适合 AI 研究人员、数据科学家、软件开发人员和业务分析师,他们希望利用 RAG 和生成式 AI 来增强数据检索、提高 AI 精度和推动创新。对于任何具备 AI 基础知识并寻求实践性学习的读者,本书都具有特别的吸引力。书中提供了真实的代码示例和策略,使其对技术和非技术读者都适用。需要具备 Python 和 Jupyter Notebook 的基础知识。 目录
什么是检索增强生成(RAG) * 代码实验室——完整的 RAG 流程 * RAG 的实际应用 * RAG 系统的组成部分 * 管理 RAG 应用中的安全性 * 与 RAG 和 Gradio 的接口 * 向量和向量存储在 RAG 中的关键作用 * 使用向量进行相似性搜索 * RAG 的定量和可视化评估 * LangChain 中的关键 RAG 组件 * 使用 LangChain 提升 RAG 效果 * 结合 AI 代理和 LangGraph 实现 RAG 的强大功能 * 通过提示工程改进 RAG 工作 * 改善结果的 RAG 高级技术
关于作者Keith Bourne 是强生公司的一名高级生成式 AI 数据科学家,拥有超过十年的机器学习和 AI 经验,曾在从初创企业到财富 500 强公司的各种项目中工作。他拥有巴布森学院的 MBA 学位和密歇根大学的应用数据科学硕士学位,曾从零开始开发多个复杂的模块化生成式 AI 平台,使用了包括 RAG、AI 代理和基础模型微调在内的多项先进技术。Keith 希望通过本书向更广泛的读者分享他的知识,致力于为那些希望利用这一前沿技术的组织揭开 RAG 的复杂性。
模型 在模型维度上,本章将根据各家创业公司特点有侧重地介绍其研发历程、模型能力特点、架构特色、矩阵构成、Benchmark成绩、AGI路径规划等情况中的一到三项。 应用 在应用维度上,本章将根据各家创业公司特点有侧重地介绍其大模型应用矩阵、特色应用、主力应用、实现功能、用户数据、战略特点、生态布局、付费模式等情况中的一到三项。 融资 在融资维度上,本章将介绍各家创业公司融资历程,具体包括历次融资时间、轮次、金额、估值及投资机构。 团队 在团队维度上,本章将介绍各家创业公司核心团队成员情况,具体包括教育背景、学术影响力、重要头衔、相关工作履历等信息。
摘要—大型模型智能体(LM agents),由如 GPT-4 和 DALL-E 2 等大型基础模型驱动,代表了实现人工通用智能(AGI)的重要一步。LM 智能体展示了自主性、具身性和连接性等关键特征,使其能够在物理、虚拟和混合现实环境中无缝与人类、其他智能体及周围环境互动。本文提供了对 LM 智能体最前沿技术的全面调查,重点讨论其架构、合作范式、安全性、隐私和未来前景。具体而言,我们首先探讨 LM 智能体的基础原则,包括一般架构、关键组件、使能技术和现代应用。随后,我们从数据、计算和知识的角度讨论 LM 智能体的实际合作范式,以促进其连接智能。此外,我们系统分析了与 LM 智能体相关的安全漏洞和隐私泄露,特别是在多智能体环境中。我们还探讨了其底层机制,并回顾现有和潜在的对策。最后,我们概述了构建稳健和安全的 LM 智能体生态系统的未来研究方向。 关键词—大型模型、人工智能智能体、具身智能、多智能体合作、安全、隐私。
I. 引言 A. 大型模型智能体的背景 在1950年代,艾伦·图灵提出了著名的图灵测试,以评估机器是否能够表现出与人类相当的智能,为人工智能(AI)的发展奠定了基础。这些被称为“智能体”的人工实体,是AI系统的核心组件。一般来说,AI智能体是能够理解并响应人类输入、感知环境、做出决策并在物理、虚拟或混合现实环境中采取行动以实现其目标的自主实体[1]。AI智能体的范围从遵循预定义规则的简单机器人到通过经验学习和适应的复杂自主实体[2]。它们可以是基于软件的或物理实体,能够独立运行或与人类或其他智能体合作。 自20世纪中叶以来,AI智能体的发展取得了显著进展[3]–[5],如深蓝、AlphaGo和AlphaZero,如图1所示。尽管取得了这些进展,之前的研究主要集中在精细化专业能力上,如符号推理或在特定任务(如围棋或国际象棋)中表现优异,往往忽视了在AI模型中培养通用能力,如长期规划、多任务泛化和知识保留。创造能够灵活适应广泛任务和复杂环境的AI智能体的挑战仍然在很大程度上未得到探索。为了进一步推动AI智能体的边界,开发强大的基础模型以整合这些关键属性是至关重要的,为下一代AI智能体提供多功能的基础。 随着大型模型(LMs)的兴起,也称为大型基础模型,如OpenAI的GPT-4、Google的PaLM 2和Microsoft的Copilot,LMs为全面增强AI智能体的内在能力开辟了新可能性[6][7]。如图2所示,一个LM智能体,无论是软件形式还是具身形式,通常由四个关键组件组成:规划、行动、记忆和互动。这些智能体能够在物理、虚拟或混合现实环境中无缝操作[1][8]–[10]。特别是,LMs作为AI智能体的“大脑”,赋予它们在人机互动(HMI)、复杂模式识别、知识保留、推理、长期规划、泛化和适应性方面强大的能力[9]。此外,通过先进的推理和少量/零样本规划技术,如思维链(CoT)[11]、思维树(ToT)[12]和反思[13],LM智能体能够形成复杂的逻辑连接,有效解决复杂的多面任务。例如,AutoGPT[14],一个有前途的LLM智能体原型,可以将复杂任务分解为几个可管理的子任务,从而促进结构化和高效的问题解决。将LM与检索增强生成(RAG)技术[15]结合,进一步使智能体能够访问外部知识源,并基于检索的信息提高其响应的准确性。此外,LM智能体可以灵活集成多种LM,包括大型语言模型(LLM)和大型视觉模型(LVM),以实现多方面的能力。 LM智能体被视为实现人工通用智能(AGI)的一重要步骤,并广泛应用于网络搜索[16]、推荐系统[17]、虚拟助手[18][19]、元宇宙游戏[20]、机器人技术[21]、自动驾驶汽车[22]和电子设计自动化(EDA)[23]等领域。据MarketsandMarkets[24]报告,2023年全球自主AI和自主智能体市场的估值为480亿美元,预计到2028年将以43%的年均增长率增长,达到285亿美元。LM智能体引起了全球关注,包括Google、OpenAI、Microsoft、IBM、AWS、Oracle、NVIDIA和百度等领先科技巨头正在进入LM智能体行业。
B. LM智能体的路线图和关键特征 图3描绘了LM智能体的未来愿景,其特征为三个关键属性:自主性、具身性和连接性,为实现AGI铺平道路。
C. 保障连接LM智能体的动机 尽管LM智能体的未来光明,但安全和隐私问题仍然是其广泛采用的重大障碍。在LM智能体的整个生命周期中,可能会出现多种漏洞,从对抗样本[31]、智能体中毒[32]、LM幻觉[33]到普遍的数据收集和记忆[34]。
D. 相关调查与贡献 近年来,LM智能体在学术界和工业界引起了广泛关注,导致多角度探索其潜力的各种研究。该领域的一些重要综述论文如下:Andreas等人[29]提出了AI智能体构建的玩具实验和关于建模交流意图、信念和愿望的案例研究。Wang等人[39]识别了基于LLM的自主智能体的关键组成部分(即,个人资料、记忆、规划和行动)以及主观和客观评估指标。此外,他们讨论了LLM智能体在工程、自然科学和社会科学中的应用。Xi等人[9]提出了一个LLM智能体的一般框架,包括大脑、行动和感知。此外,他们探讨了在单智能体、多智能体和人机协作以及智能体社会中的应用。Zhao等人[2]提供了LLM的系统综述,涵盖了预训练、适应调优、利用和能力评估。此外,介绍了背景信息、主流技术和LLM的关键应用。Xu等人[40]对移动网络中的边缘云AI生成内容(AIGC)服务的关键概念、架构和指标进行了教程,并识别了若干用例和实施挑战。Huang等人[1]提供了虚拟/物理环境中AI智能体的分类,讨论了AI智能体的认知方面,并调查了AI智能体在机器人、医疗保健和游戏中的应用。Cheng等人[10]回顾了LLM智能体的关键组成部分(包括规划、记忆、行动、环境和反思)及其潜在应用。还回顾了多智能体系统中的规划类型、多角色关系和沟通方法。Masterman等人[8]提供了工业项目中单智能体和多智能体架构的概述,并展示了现有研究的见解和局限性。Guo等人[41]讨论了基于LLM的多智能体系统的四个组成部分(即接口、建模、通信和能力获取),并在问题解决和世界模拟方面提出了两条应用线。Durante等人[42]介绍了多模态LM智能体及其训练框架,包括学习、行动、认知、记忆、行动和感知。他们还讨论了智能体的不同角色(例如,具身、模拟和知识推断),以及在游戏、机器人、医疗保健、多模态任务和自然语言处理(NLP)等不同应用中的潜力和实验结果。Hu等人[20]概述了基于LLM的游戏智能体的六个关键组成部分(即感知、思维、记忆、学习、行动和角色扮演),并回顾了六种类型游戏中现有的基于LLM的游戏智能体。Xu等人[43]提供了关于游戏中LM智能体的启用架构和挑战的全面综述。Qu等人[44]对将移动边缘智能(MEI)与LLM整合进行了全面综述,强调在网络边缘部署LLM的关键应用以及在边缘LLM缓存、传输、训练和推理中的最新技术。
E. 论文组织 本文其余部分组织如下。第二节讨论单个LM智能体的工作原理,第三节介绍连接LM智能体的合作范式。第四节和第五节分别介绍LM智能体的安全和隐私威胁的分类,以及最新的对策。第六节概述LM智能体领域的开放研究问题和未来方向。最后,第七节给出结论。图4描绘了本综述的组织结构。
II. 大型模型智能体:工作原理 在本节中,我们首先介绍现有的LM智能体标准。然后,讨论连接LM智能体的一般架构,包括关键组件、通信模式、主要特征和启用技术。接下来,介绍典型原型并讨论LM智能体的现代应用。
大型语言模型 (LLMs) 近期因其文本交互能力而受到广泛关注。然而,自然的人类互动通常依赖语音,这促使人们向语音模型转变。一种实现这一目标的直接方法是使用“自动语音识别 (ASR) + LLM + 语音合成 (TTS)”的流水线,即将输入语音转录为文本,经由 LLM 处理后再转换回语音。尽管此方法直观简单,但它存在固有的局限性,如在模式转换过程中信息丢失,以及在三个阶段中累积的误差。为了解决这些问题,语音语言模型 (SpeechLMs) 应运而生。这些端到端模型无需文本转换,直接生成语音,成为一种有前景的替代方案。本综述论文首次全面概述了构建 SpeechLMs 的最新方法,详细介绍了其架构的关键组成部分以及其开发中的各种训练方法。此外,我们系统地考察了 SpeechLMs 的多种能力,分类了对 SpeechLMs 的评估指标,并讨论了该快速发展的领域中的挑战与未来研究方向。
1 引言大型语言模型(LLMs)在文本生成和自然语言处理任务中展现出显著的能力,成为推动 AI 驱动语言理解和生成的强大基础模型 [Achiam 等, 2023; Dubey 等, 2024a; Zhang 等, 2022b]。它们的成功还推动了其他领域的众多应用,然而,仅依赖文本模式存在明显的局限性。这促使人们发展基于语音的生成模型,使人与模型之间的互动更加自然和直观。引入语音不仅有助于实现实时语音互动,还能通过结合文本和语音信息丰富交流内容 [Nguyen 等, 2023b; Nguyen 等, 2024]。鉴于文本与语音之间存在大量的互信息,对现有的 LLM 进行修改以支持语音互动功能是一项自然的选择。一种直接的方法是采用“自动语音识别(ASR)+ LLM + 语音合成(TTS)”框架(图1a)[Huang 等, 2024]。在该设置中,用户的语音输入首先由 ASR 模块处理,将其转换为文本。然后,LLM 基于该转录文本生成响应,最后由 TTS 模块将该文本响应转换回语音并播放给用户。然而,这种简单方案主要面临以下两个问题:1)信息丢失。语音信号不仅包含语义信息(即语音的意义),还包含副语言信息(例如音调、音色、语调等)。在处理中使用纯文本 LLM 会导致输入语音中的副语言信息完全丢失 [Zhang 等, 2023a]。2)累积误差。此种分阶段的方法容易在整个流程中产生累积误差,特别是在 ASR 到 LLM 阶段 [Fathullah 等, 2024]。特别是在 ASR 模块将语音转换为文本时发生的转录错误会对 LLM 的语言生成性能产生负面影响。由于 ASR + LLM + TTS 框架的局限性,语音语言模型(SpeechLMs,图1b)被开发出来。与简单的框架不同,SpeechLMs 直接将语音波形编码为离散的 token,从音频中捕获重要特征和信息(第 3.1 节)。尽管单个语音 token 可能不具备词汇层面的语义意义,但它们捕捉到语音话语的语义信息并保留宝贵的副语言信息,从而避免信息丢失。SpeechLMs 自回归地建模这些 token,无需完全依赖文本输入,使其能够利用附加的副语言信息生成更具表现力和细腻的语音(第 3.2 节)。最终,这些生成的 token 被合成回语音(第 3.3 节)。通过直接处理编码后的语音 token,SpeechLMs 有效地减轻了累积误差,因为其训练与语音编码一体化进行,而简单框架中 LLM 的语言建模训练则完全独立于 ASR(语音识别)模块。除基础对话能力外,SpeechLMs 还具备执行更复杂任务的潜力,如编码特定说话者信息和情感细微差别(图2)。这种能力使 SpeechLMs 能够在对话中区分不同说话者,并理解和生成带有特定情感语调的语音。这些进展对个性化助手、情感感知系统以及更细致的人机交互场景等领域尤为重要。此外,SpeechLMs 可以设计为支持实时语音互动,即模型可在用户讲话时被打断,或选择在用户尚未结束讲话时进行响应,更接近人类对话的模式。在本综述中,我们首次全面概述了构建 SpeechLMs 的最新研究成果。我们探讨了构成其架构的各种组件(第 3 节)及其开发中的训练方法(第 4 节),并从以上视角分析这些模型,旨在阐明该领域的当前状态。此外,我们考察了 SpeechLMs 的下游应用(第 5 节)、分类评估 SpeechLMs 的指标(第 6 节)、讨论了该领域快速发展中遇到的挑战,并提出了可能推动 SpeechLM 技术进一步发展的未来研究方向(第 7 节)。我们的贡献总结如下:
在此部分中,我们将正式定义语音语言模型(Speech Language Models,简称SpeechLMs)。语音语言模型是一种自回归基础模型,能够处理并生成语音数据,通过上下文理解生成连贯的语音序列。SpeechLMs 支持多种模式,包括语音到文本、文本到语音,甚至是语音到语音,具备上下文感知能力,从而能够执行广泛的任务。与传统的文本语言模型(如 LLM)不同,SpeechLMs 处理的是语音和文本两种模式。这使得 SpeechLMs 能够进行更自然的多模态交互,在同一模型框架内处理多种输入和输出模式,具有更高的应用潜力。
语音语言模型主要包括三个组件:语音分词器、语言模型和语音合成器(声码器),这种三阶段的设计模式的主要原因是使语言模型架构(如仅解码器的 transformer)能够以音频波形的形式自回归地建模语音。由于语言模型的输入和输出都是离散 tokens,因此需要附加模块来处理输入输出格式。下面将详细介绍各个组件:
语音分词器是 SpeechLM 的第一个组件,它将连续的音频信号(波形)编码为潜在表示,再将其转换为离散 tokens,使其能够被语言模型有效处理,用于诸如语音识别或合成等任务。语音分词器的核心目标是捕捉音频中的关键特征,同时降低其维度,便于后续对语音模式的建模和分析。 语义理解目标: 设计语义理解目标的语音分词器旨在将语音波形转化为能够准确捕捉语音内容和意义的 tokens。通常情况下,这些分词器包含一个语音编码器和一个量化器,语音编码器对波形的关键信息进行编码,而量化器则将连续表示离散化为离散 tokens。 声学生成目标: 具有声学生成目标的语音分词器注重捕捉生成高质量语音波形所需的声学特征,优先保留关键信号,而非语义内容。为生成高质量的语音波形,这些分词器通常采用包含编码器、量化器和解码器的架构,将原始波形转换为离散 tokens,再通过解码器将其重构回语音波形。 混合目标: 混合目标的语音分词器平衡语义理解和声学生成任务。大部分混合分词器采用声学生成分词器的架构,并侧重于将语义信息从语义分词器提取到声学分词器中。某些系统还利用单独的向量量化器来从语音模型(如 WavLM)提取信息,并结合声学特征模块以提升性能。
由于文本语言模型的成功,大部分 SpeechLMs 采用了类似的架构,主要使用 transformer 或仅解码器的架构进行自回归语音生成。为适应语音生成,原文本分词器被替换为语音分词器,使模型能够联合建模文本和语音两种模态。通常做法是扩展原文本模型的词汇量以容纳文本和语音 tokens,形成一个更大的嵌入矩阵,从而使模型在单一序列中生成文本和语音。
声码器在语言模型生成 tokens 后将其合成为语音波形,这一过程涉及将生成的语音 tokens 所代表的语言和副语言信息转换为音频波形。声码器通常包括直接合成和输入增强合成两种流程。直接合成方式较为简单,适用于包含足够声学信息的 tokens;输入增强合成则在 tokens 进入声码器之前将其转换为包含丰富声学特征的表示,以生成更高质量的语音波形。
SpeechLMs 的训练过程分为三个主要阶段:预训练、指令微调和对齐。这一节将主要回顾语言模型组件的主要训练技术。
预训练阶段对语言模型的影响至关重要,因为它能够帮助模型学习语音数据中的统计模式和依赖关系,以便在上下文中预测下一个 token。SpeechLMs 预训练通常使用大规模的开放语音数据集,包括用于 ASR、TTS 和多模态任务的数据集。为了增强语音和文本模态的对齐,部分模型从预训练的文本模型开始进行预训练,并调整以支持语音 tokens,从而加速收敛并提升语音理解性能。
指令微调通过特定的任务指令来提升模型的泛化能力,使其适应更多样的应用场景。常见的指令微调方法包括多模态指令微调和模态链微调。SpeechGPT 使用指令微调来处理 ASR、TTS 等任务,通过生成包括语音输入、文本输出在内的数据集,进一步提高模型的适用性。
对齐阶段指的是通过特定方法来增强文本与语音模态间的表示对齐。通过交替输入文本和语音 tokens 的方法,可以显著提高模型在语音理解和生成方面的性能。此外,通过将文本和语音版本的提示都用于训练,确保模型能够为两种输入模态生成一致的输出。这样,模型既可以在纯文本环境中运行,也可以在语音模式下自然地响应。
**
SpeechLMs 可处理多种下游任务,远超传统的ASR 和TTS系统,它们不仅支持文本与语音的多模态任务,还能处理复杂的语音和文本组合任务。下游应用可分为以下几类:
口语对话:SpeechLMs 可用于口语对话系统,使系统能够在上下文中理解用户意图并生成语音响应。 * 语音翻译:支持语音到文本或语音到语音的翻译任务,SpeechLMs 能够根据不同语言生成对应翻译。 * 自动语音识别:通过ASR将语音转换为文本,是SpeechLMs 最基本的功能之一。 * 关键字检测:用于语音激活的场景,SpeechLMs 可识别并提取特定关键字,从而触发特定操作。 * 文本到语音合成:与ASR相反,TTS从文本生成对应的语音输出,以实现从文本指令到语音的转换。
说话人识别:能够识别语音中的说话人身份,是一种多类分类任务。 * 说话人验证:判定两段语音是否来自同一说话人,为二分类任务。 * 说话人分离:将音频流分割为不同说话人片段,从而标识出谁在什么时间说话。
SpeechLMs 还可以处理语音中的副语言信息,如情感识别、语音分离等任务。通过捕捉音高、音色、说话速度等信息,SpeechLMs 能够识别语音中的情感和态度,使得语音系统能够生成更具情感化的响应。
本综述概述了语音语言模型的关键组成部分、训练方法、下游应用及其在语音生成中的不同表现。未来,SpeechLMs 的研究可以朝以下方向发展: * 增强多模态对齐:进一步提高语音与文本模式的对齐能力,使SpeechLMs 更加适应多种任务。 * 提高实时交互性能:开发具有更高响应速度的模型,支持用户打断等更自然的交互方式。 * 扩展评估指标:目前大多使用传统的语音合成和语音识别指标,对这些模型进行更全面的评估需要结合新指标。