大模型导论

978-7-115-63798-7
作者:
译者:
编辑: 秦健

图书目录:

详情

本书主要介绍了大模型的发展与演变、相关技术、应用场景、未来发展趋势和前景。本书首先回顾了大模型技术的起源和发展历程,然后介绍了数据预处理、Transformer、预训练与微调、模型推理和PyTorch框架等技术。此外,本书还通过具体的案例和实践展示了如何应用大模型技术来解决实际问题。本书旨在帮助读者全面了解大模型技术的发展与应用,并推动其在各个领域的应用和发展。 本书图文并茂,理论翔实,案例丰富,适合从事大模型开发的科研人员以及广大的开发者作为技术参考和培训资料,亦可作为高校本科生和研究生的教材。

图书摘要

版权信息

书名:大模型导论

ISBN:978-7-115-63798-7

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。


版  权

著    张成文

责任编辑 秦 健

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内 容 提 要

本书主要介绍了大模型的发展与演变、相关技术、应用场景、未来发展趋势和前景。本书首先回顾了大模型技术的起源和发展历程,然后介绍了数据预处理、Transformer、预训练与微调、模型推理和PyTorch框架等技术。此外,本书还通过具体的案例和实践展示了如何应用大模型技术来解决实际问题。本书旨在帮助读者全面了解大模型技术的发展与应用,并推动其在各个领域的应用和发展。

本书图文并茂,理论翔实,案例丰富,适合从事大模型开发的科研人员以及广大的开发者作为技术参考和培训资料,亦可作为高校本科生和研究生的教材。

推荐语(排名不分先后)

这本书从理论层面和技术层面对大模型进行了深入浅出的讲解,为读者清晰地展示了从基础到实践的学习路线,降低了学习并掌握大模型理论与技术的难度。书中的案例和项目实践在激发读者学习兴趣方面将发挥有效作用,能够培养读者的动手能力,进一步提高创新能力。同时这本书还介绍了大模型在工业界以及科研领域的进展,可以为读者提供更丰富的学习方向指导。这本书的出版将为培养大模型人才和繁荣大模型产学研生态发挥积极的推动作用。

——李伯虎,中国工程院院士

当前基于大模型的生成式人工智能正以前所未有的速度深刻地改变着人们的生产、生活、学习方式。面对这一趋势,人们迫切需要学习和了解大模型,以便更好地掌握大模型,使其有效地应用于各行各业。针对这种需求,这本书兼顾理论深度、技术广度和实践经验,为读者打开了通向大模型世界的大门。

——倪光南,中国工程院院士

这本书从大模型的理论、技术、工程实践3个方面为读者提供了全面且深入的学习体验。在理论方面,这本书系统地介绍了大模型的发展历程、基本原理以及相关领域的理论框架,可以帮助读者建立相关的理论基础;在技术方面,这本书详细讲解了大模型的常用框架、方法,可以为读者提供丰富的技术工具和解决问题的思路;在工程实践方面,这本书强调了大模型在实际项目中的应用,通过案例分析和实战经验分享,可以帮助读者更好地将理论知识转化为实际应用能力。这3方面的优势可以帮助读者在学习过程中既能够深入理解大模型的内在机制,又能够掌握实际应用的操作技能,从而提升大模型开发与应用水平。

——沈昌祥,中国工程院院士

这本书不仅是一本工具书,也是面向大模型前沿技术的较为全面的读物。它深入浅出地介绍了大模型的技术进展,让读者站在大模型发展的前沿。同时,它还提供了常用工具的详细介绍,可以帮助读者高效进行大模型的开发和应用。无论读者是研究人员、工程师还是初学者,这本书都将提供有力指导和帮助。通过学习这本书,读者不仅可以掌握大模型的理论与技术脉络,而且能够学会如何利用工具来解决实际问题。这本书不仅可以作为学习大模型的优秀资料,而且可以成为读者提升大模型开发与应用能力的参考书。

——张宏江,美国国家工程院外籍院士,北京智源人工智能研究院理事长

这本书以大模型开发流程为导引,以新技术为风向标,深入讲解了大模型开发过程中的数据准备、模型构建、训练与优化等环节。对于想要深入了解大模型技术的读者而言,这本书无疑是非常理想的学习资料。通过学习这本书,读者可以快速掌握大模型技术,并将其应用于实际场景,从而发挥大模型的强大生产力。随着大模型在各个垂直领域的结合力与影响力的加深,这本书对于培养各个垂直领域的大模型复合型人才将具有非常重要的现实意义。通过这本书的系统化学习,读者可以将大模型作为利器来挖掘新的应用场景,以及优化现有业务流程,从而推动创新发展。

——杨强,香港科技大学讲座教授,加拿大皇家科学院院士、加拿大工程院院士

这本书是一份由浅入深、由理论到实践的大模型学习资料,可以为读者提供理论与实践相结合的学习体验。在理论层面,这本书通过系统且丰富的内容,从基础概念到前沿进展,为读者提供了学习大模型理论的有效路径;在技术层面,这本书以清晰且详尽的语言展示了多种大模型应用的方法、技巧以及实践。通过学习丰富的案例,读者不仅能够理解复杂的名词概念,而且能够将大模型技术运用于实际项目。这种融合理论与实践的方式,使得技术学习难题由陡峭的山径变成步步可循的阶梯。这本书强调了大模型在实际工程应用中的价值,提供了开发经验和相关实践。通过学习这本书,读者不仅能够领略大模型在应用领域的无限潜力,而且能够学习将理论知识转化为实际解决方案的关键技能。

——孙茂松,欧洲人文和自然科学院外籍院士,清华大学人工智能研究院常务副院长

随着大模型技术及相关产品的快速更迭,大模型时代已然来临。对于想要开展大模型研发的读者来说,如何快速掌握这项复杂的技术并能够有效应用到实际场景中成为迫切的需求,而《大模型导论》一书能为读者提供从入门到精通的学习路径。这本书不仅介绍了大模型的原理、算法和技术框架,而且通过丰富的案例和实践项目帮助读者在实际操作中加深对知识的理解。这本书在理论与实践结合方面做得很好,使得读者的学习过程既不枯燥,又具有深度。这样的内容编排,既适合对大模型开发抱有强烈兴趣的初学者,也可以作为具有一定基础的技术人员的参考书。

——潘毅,美国医学与生物工程院院士、俄罗斯工程院外籍院士

在人工智能领域,大模型技术已经成为当今世界科技发展的重要推动力。从Google公司的Transformer到OpenAI公司的ChatGPT,大模型正在以前所未有的速度改变着我们的世界。然而,大模型技术的快速发展也带来了学习与应用的难度。为了帮助读者降低这一学习门槛,这本书应运而生。它以通俗易懂的语言解释了大模型的复杂概念,使得读者能够轻松理解大模型的工作机制和内在逻辑。同时,这本书还通过具体案例演示了如何应用大模型技术来解决实际问题,包括对话式检索问答、长短文本总结等任务。作为一本深度探讨大模型技术的专业图书,这本书阐述了从理论到实践的全流程,是一份极具参考价值的资料。无论你是对大模型技术一无所知的新手,还是已经在该领域有一定研究的专家,这本书都能为你带来丰富的知识和深刻的见解。

——唐杰,清华大学计算机系讲席教授,ACM Fellow、IEEE Fellow

这本书对大模型的理论与技术进行了系统解读。通过学习这本书,读者可以掌握从基础概念到前沿进展的广泛知识,为自己的大模型科研工作奠定基础。这本书理论与实践并重,通过多个实例帮助读者将学到的知识运用于实际项目。这种贴近实践的大模型人才培养方式,不仅可以提高读者的动手操作能力,而且能培养读者的创新思维和问题解决能力。总体而言,这本书不仅是一本大模型基础理论及技术开发的指南,更是一部为大模型人才培养提供支持和帮助的重要教材。这本书不仅能够激发读者的学术热情,而且可以培养读者的动手操作能力,为大模型在我国各垂直领域的应用创新发展提供支持。

——何桂立,中国信息通信研究院原副院长,中国互联网协会副理事长,工信部信息通信科技委常委

大模型时代AI原生应用成为行业共识,但什么才是真正的AI原生应用呢?AI原生应用有4个基本标志:将开源大模型在本行业落地,通过矢量数据库抓取本行业的默会知识,通过本行业专属大模型的预测和决策带来新的价值,通过精心设计的Prompt解决本行业的问题。掌握这4个方面技能的人才就是AI原生人才,大有可为。通过对这本书的学习,读者可以掌握这4个方面的知识,成为AI原生人才。

——吕本富,中国科学院大学教授,中国国家创新与发展战略研究会副会长

这本书是大模型技术领域的精粹。它深入浅出地介绍了大模型技术从理论基础到实际应用的全过程。无论是初学者还是经验丰富的专业人士,都能从中获得宝贵的知识和灵感。对于追求人工智能前沿知识的读者来说,这本书是掌握和应用大模型技术的理想指南。

——颜水成,新加坡工程院院士,昆仑万维天工智能联席CEO

大模型是人工智能2.0时代的标志。人才培养是大模型在我国生根发芽、结出硕果的根基。厘清概念,方便教师和学习者在相对简易的条件下进行有效的教学实践,是人才培养、教育和科普领域的基础性工作。《大模型导论》一书恰好是人工智能 2.0 时代的一本不错的教科书、科普书,对初学者和关心大模型技术的公众来说都具有很大的参考价值。希望这本书可以为全社会学习、了解、实践大模型提供支持,成为推动我国人工智能科普、教学和人才培养工作再进一步的重要力量。

——王钧,中关村人才协会发起人、执行副理事长

这本书不仅对大模型的原理、算法和技术进行了深入浅出的阐述,而且通过丰富的案例和实际应用,让读者真正理解和掌握大模型开发的核心技术和应用技巧。对于广大的人工智能从业者、研究者以及爱好者来说,这本书无疑是一份宝贵的参考资料。它可以帮助你系统地了解大模型的开发过程和应用场景,为大模型的研发和应用提供强有力的支撑。

值得一提的是,这本书还特别强调了大模型人才培养和产学研融合的重要性。在当前这个知识更新迅速的时代,人才培养是推动技术进步和社会发展的关键,而产学研的深度融合则有助于加速科技成果的转化和应用,推动产业的升级和创新。

——朱兆颖,AIII人工智能产业研究院院长

这是一本有利于培养我国大模型技术人才的图书。这本书不仅比较全面地介绍了与大模型相关的技术知识与工程实践,而且在课程思政方面有许多非常好的见解与观点创新。

这本书非常适合作为教育和培训机构以及用人单位的大模型人才培养与培训的教材或参考资料。

——中关村人才协会大模型人才专委会

在大模型时代,掌握大模型技术的赋能方要有业务场景意识,而掌握know-how的大模型应用的业务方要有大模型理念,只有双方交叉融合,才能讲好大模型的故事、做好大模型的事情。

这本书在推动技术与业务跨界融合方面做了很好的尝试,深刻阐述了只有基于应用场景的资源限制且与业务场景相结合的大模型才是合适的大模型的理念。

这不仅是一本很好的大模型技术图书,也是一本适用于大模型应用产业的参考资料。

推荐负责研发或应用大模型相关技术,以及生产或使用大模型相关产品的单位或个人阅读。

——中国电子商会大模型应用产业专委会

前  言

作为一种深度学习模型,大模型具有庞大的参数规模,并通过大量算力资源在大规模数据集上进行预训练,所产生的模型可以适配广泛的下游任务。作为演进式人工智能的杰出代表,大模型的发展历程充满了里程碑式的成果。2006年,加拿大多伦多大学的Hinton教授发表在Science上的论文首次提出DBN(Deep Belief Network,深度信念网络),该模型首先以无监督预训练方式逐层训练模型,然后进行有监督微调,为后续的深度学习研究奠定基础;2017年,Google公司在论文“Attention Is All You Need”中提出Transformer深度学习架构;2021年,斯坦福大学李飞飞与众多学者联名发表的研究报告On the Opportunities and Risk of Foundation Models中将预训练模型定义为Foundation Model(基础模型);2022年,OpenAI公司推出大模型产品——ChatGPT。从此,人工智能正式迈入以大模型为代表的人工智能2.0时代。

自ChatGPT问世以来,大模型技术以前所未有的速度改变了世界,浸润到各个行业,推动生产力的跨越式发展,深刻地改变了人们的生产、生活方式。

当前,大模型已经进入应用落地、产业孵化阶段。谁掌握了大模型技术,将大模型技术有效应用于业务,他将具有更强的创新力、竞争力。这已经成为不争的事实。

但是在大模型技术高速发展的过程中,出现了不同的大模型版本、丰富的大模型技术以及大模型生态工具,这些都增加了人们学习以及采用大模型技术来解决实际问题的难度。为了降低大模型学习以及应用的门槛,本书进行了专门编排。

本书分为理论和实践两大部分,全面涵盖从数据预处理、模型预训练到模型微调、模型推理、模型应用的全流程,旨在帮助读者建立完整的大模型知识体系。其中,理论部分详细介绍了大模型的原理,以及多种训练、微调、推理效率提升技术和框架,从而帮助读者深入理解大模型的工作机制和内在逻辑。尽管大模型相关技术仍在快速迭代之中,更加优秀的训练、微调技术相继提出,但本书所介绍的相关技术依然有效,技术的核心思想在未来仍具有极高的价值。实践部分聚焦于模型训练和各项技术的使用方法,以及使用LangChain框架构建应用程序的方法,并且通过讲解PEFT(Parameter Efficient Fine-tuning,参数高效微调)技术的使用方法,帮助读者以较低的计算资源成本、以开源模型为基座训练应用于垂直领域的大模型,并且通过具体案例演示如何将大模型应用于解决实际问题,包括对话式检索问答、长短文本总结等任务。

通过对本书的学习与工程实践,读者不仅可以学习大模型理念,而且能够掌握大模型技术范式。要将大模型变为可以提高各个领域生产力的智能技术,大模型技术的赋能方与大模型应用的业务方除了了解、学习大模型应用领域的业务知识以外,还应一起思考、一起计划、一起实施,只有这样,才能真正推动新质生产力的发展。关于大模型技术的赋能方与大模型应用的业务方的融合方面的知识与资源,读者可以关注微信公众号“智源齐说”,该公众号分享了关于大模型人才培养、大模型应用产业融合等方面的内容。

本书主要内容

本书共12章,其中,第1章~第7章为理论介绍部分。这部分内容阐释了大模型的基础知识,并加入了相关开源库的介绍与使用方法。第1章帮助读者对大模型的发展、术语、开发流程有基本了解。第2章介绍了文本数据、图像数据、图文对数据的预处理方法,并介绍了Datasets库,读者可以通过该库快速加载各类数据集。第3章对Transformer进行讲解。由于多模态大模型发展迅速,该章也加入了ViT、Q-Former的相关内容。第4章~第6章关注模型的预训练与微调技术。由于大模型对硬件资源有一定要求,因此本书加入了对训练优化、高效微调技术的讲解。第7章介绍了模型推理的常用压缩技术和推理服务提升技术。

第8章~第12章为开发实践部分。这部分内容将基础知识与开源工具、具体项目相结合,以提升大模型开发能力。第8章介绍了PyTorch框架,第12章的微调训练主要依赖该章介绍的内容。通过学习第9章~第11章的内容,读者可以掌握“向量数据库+大模型+LangChain”这一重要开发范式的使用方法。这一开发范式属于检索增强生成(Retrieval-Augmented Generation,RAG)技术,通过外置知识库来缓解大模型知识滞后,减少大模型幻觉,为隐私数据提供安全访问方式,并能提供个性化解决方案。第12章介绍了 3个开源模型的微调实战,向读者阐述以较低成本微调模型的具体操作过程。

读者在阅读本书时,可以同时实践书中的案例,完成课后习题,通过理论与实践相结合的方式来掌握基本的大模型开发能力。

衷心希望读者能够将本书的内容应用于各种垂直领域的具体场景,提出各种应用创新想法或思路,充分发挥本书的作用,取得更好的学习效果与应用实践效果。

本书的内容主要来自北京邮电大学MAIR团队的科研实践以及我在人工智能产学研交流与合作中的思考。面对发展迅猛的大模型技术,我们希望通过本书可以培养更多的大模型人才,促进围绕大模型的技术创新与发展,让大模型在人们的生产、生活、学习中发挥更大、更广泛的作用。

同时,MAIR团队为本书开发了配套的大模型实训平台,方便读者进行练习。

在编写过程当中,难免出现纰漏,还请读者批评指正。

张成文

资源与支持

资源获取

本书提供如下资源:

教学大纲;

程序源码与相关资源包;

教学课件;

微视频;

习题答案;

书中图片文件;

参考文献电子版;

本书思维导图;

异步社区7天VIP会员。

要获得以上资源,您可以扫描下方二维码,根据指引领取。

提交勘误信息

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区(https://www.epubit.com),按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见下页图)。本书的作者和编辑会对您提交的勘误信息进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

异步社区”是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域四十余年的发展与积淀。异步图书面向IT行业以及各行业使用信息技术的用户。

第1章 大模型概述

随着2022年年底OpenAI公司推出ChatGPT(Chat Generative Pre-trained Transformer,基于生成式预训练Transformer模型的聊天机器人)产品,围绕大模型(Large Language Model,大语言模型,简称大模型)的人工智能商业化进程进入快车道,蓬勃发展的大模型时代来临。

当前的大模型发展具有两大“快速”特征:一个是大模型技术快速迭代;另一个是大模型应用生态快速丰富。

从全球范围来看,中美在大模型领域呈现领跑趋势。中国方面,百度公司的文心大模型、华为公司的盘古大模型、科大讯飞公司的星火认知大模型、京东集团的言犀大模型、阿里巴巴公司的通义大模型、腾讯公司的混元大模型等加速引爆中国大模型研究热潮;美国方面,OpenAI公司推出GPT-4多模态大模型,Google公司推出RT-X通用机器人模型与Gemini多模态大模型,Meta公司推出AnyMAL多模态大模型。另外,开源大模型在推动大模型技术发展以及大模型应用落地等方面发挥了非常重要的作用。比如,清华大学唐杰教授团队与智谱AI推出的ChatGLM3、BAAI(北京智源人工智能研究院)推出的悟道3.0大模型、百川智能公司推出的Baichuan2、Meta公司推出的LLaMA2、Google公司推出的Gemma等,极大地降低了大模型的开发门槛。开发者能够基于开源模型训练出功能多样的新模型,促进大模型快速发展。

大模型应用得好,不仅需要海量的基础数据、大规模算力、综合人工智能发展成果的技术,还需要政产学研用各方的共同推进。

大模型不仅能生成结果、生成数据,更能传递价值观。应用于我国的大模型需要懂中文、懂中国文化、懂中国国情。大模型是全球科技发展成果的结晶,各国科研人员通过论文、成果开源等方式推动全球科技交流,作为新一代人工智能的弄潮儿,我们需要把握技术创新的脉络,学习先进的科技创新成果,走出一条具有中国特色的大模型自主创新与发展之路。

多模态、具身化都是大模型未来的发展方向。这也从侧面告诉我们,通过在工作、学习过程中聚合更多模态的信息,我们可以获得更好的效果,进而触发创新意识。

通过应用更多的优化方法与工具,大模型的应用效果将会更好。这个道理也可以扩展到我们的学习中。在当前的新一代信息技术大发展过程中,我们不仅要给他人创造智能工具,也要善于让工具服务于我们的工作、生活和学习,实现智能泛在。

为了加快大模型推理速度并减少推理时的资源需求,需要采用量化、剪枝等方法来降本增效。我们在学习以及工作中,也可以根据实际情况采用类似的方法来提效增速。

综上,可以发现,大模型就像是人类的大脑,大模型的训练、微调与推理类似于我们学习知识、应用知识的过程,大模型的具身化类似于我们不仅要学习理论知识,还要进行实践,手眼脑协调。这些都为我们学好大模型、用好大模型、做好应用创新提供了非常好的方法论。

1.1 大模型介绍

大模型属于Foundation Model(基础模型)[1],是一种神经网络模型,具有参数量大、训练数据量大、计算能力要求高、泛化能力强、应用广泛等特点。与传统人工智能模型相比,大模型在参数规模上涵盖十亿级、百亿级、千亿级等,远远超过传统模型百万级、千万级的参数规模。不同于传统人工智能模型通过一定量的标注数据进行训练,一个性能良好的大模型通过海量数据及设计良好、内容多样的高质量标注语料库进行训练。同时,大模型也很难在单个GPU(Graphics Processing Unit,图形处理器)上进行预训练,需要使用DeepSpeed、Megatron-LM等训练优化技术在集群中进行分布式训练。

大模型技术过程如图1-1所示。在大模型技术发展初期,人们在解决具有序列特性的数据(指具有先后顺序的数据)的领域的问题时,主要依赖RNN(Recurrent Neural Network,循环神经网络)[2]和LSTM(Long Short-Term Memory,长短期记忆网络)[3]等序列模型,但这些模型都包含不可并行计算的缺点。

图1-1 大模型技术演进过程

Word2Vec是Google公司于2013年提出的一种高效训练词向量的模型[4],基本出发点是上下文相似的词的词向量也应该相似。它在2018年之前非常流行,但随着2018年Google公司推出预训练语言表征模型BERT(Bidirectional Encoder Representation from Transformers,基于Transformer的双向编码器表示)[5]以及其他模型的出现,Word2Vec被这些新模型超越。

2017年Google公司提出的Transformer架构[6]引入了自注意力机制和位置编码,改进了RNN和LSTM不可并行计算的缺陷。Google公司发布的模型还包括2018年用来解决NLP(Natural Language Processing,自然语言处理)中的多义词问题的双向LSTM语言模型ELMo[7]以及2018年基于Transformer架构的具有3.4亿个参数的BERT模型。OpenAI公司推出的生成式预训练语言模型包括2018年的具有1.1亿个参数的GPT[8]、2019年的具有15亿个参数的GPT-2[9]、2020年的具有1750亿个参数的GPT-3[10],以及2022年的ChatGPT。这些模型或产品将大模型的发展推向高潮。2023年,越来越多的开源模型如LLaMA[11]、ChatGLM[12]等相继发布。

另外,AutoGPT等自主人工智能实现了大模型与各类工具的有效结合,使AI智能体(AI Agent)成为行业研究热点。2023年GPT-4[13]、GPT-4V、AnyMAL、文心大模型4.0等的出现更是将大模型的发展方向由语言模型引向通用性更强的多模态/跨模态模型。2023年11月,OpenAI公司发布处理速度更快、费用更低的GPT-4 Turbo模型,并宣布用户无需任何代码即可构建属于自己的GPT,并将其发布至GPT Store,这一动作促进了GPT生态系统的进一步完善。2024年,OpenAI公司发布文生视频大模型Sora。该模型能够准确理解用户指令中所表达的需求,并以视频的形式进行展示。由Sora模型创作的视频不仅包含复杂的场景和多个角色,而且对角色的动作、瞳孔、睫毛、皮肤纹理进行了细节刻画。

大模型同样革新了传统的PGC(Professional Generated Content,专业生成内容)和UGC(User Generated Content,用户生成内容),引领了AIGC(Artificial Intelligence Generated Content,人工智能生成内容)的新浪潮。用户可以使用人工智能技术生成具有一定创意和质量的作品。经过短暂的发展,大模型已经将AIGC提升到新的高度,借助先进的大模型技术,用户能够以前所未有的速度、质量和规模生成丰富多样的内容,涵盖文字、图像、音频、视频等多个领域。这一飞跃式的进步不仅极大地提升了内容生产的效率,而且降低了创作的门槛,使得更多人能够参与内容创造。

1.1.1 生成原理

大模型基于Transformer架构进行构建,由多层神经网络架构叠加而成,能够根据输入内容预测输出内容。

大模型的核心生成原理是将输入的语句以词向量的表征形式传递给神经网络,通过编码器/解码器(Encoder/Decoder,详见第3章)、位置编码和自注意力机制建立单词(或字)之间的联系。从宏观的视角来看,输入的每个单词(或字)首先会与已经编码在模型中的单词(或字)进行相关性计算,然后把这种相关性以编码的形式叠加在每个单词(或字)中。如图1-2所示,经过计算后,“it”与输入句子中的其他单词的相关性权重将会增加,颜色越深代表相关性越高。

The animal didn’t cross the street because it was too tired.

图1-2 相关性权重可视化示例

在获得各个单词间的相关性之后,模型以概率分数标记序列中下一个输出的单词的可能性(也称概率),并选择最佳选项。如图1-3所示,由于“movie”的概率最大,因此模型的最终输出结果为“movie”。

图1-3 不同单词的输出概率

虽然模型会选择下一个最合适的单词,但是由多个最佳单词组成的句子可以并不通顺。为了解决这个问题,Transformer使用了Beam Search(束搜索)[1]等方法以提高生成质量。这些方法不是只关注序列中的下一个单词,而是将更大的一组单词作为一个整体来考虑,同时考虑多个序列上的联合概率。如图1-4所示,我们同时考量4个序列上的联合概率(为了方便理解,此处以一组单词的颜色深浅来表示输出概率,单词的颜色越深,代表其被选择并输出的概率越大),将一组单词作为整体进行评估,可以有效提高模型的生成质量。

[1] 束搜索是处理文本生成任务时常用的解码策略。

图1-4 通过束搜索方法生成最佳输出

综上所述,可以将大模型看作概率模型。不同于通过数据库对数据进行检索,大模型通过大量学习世界知识,依据概率生成足够准确的回答。

1.1.2 关键技术 

大模型(如GPT-4、LLaMA2等)的优异性能离不开多种技术的支持。本节将介绍大模型的常用技术,这些技术在大模型的研究过程中提供了重要的理论支撑。

1.迁移学习

迁移学习(Transfer Learning)最早于2005年由加拿大工程院和皇家科学院院士杨强教授提出[14]。作为机器学习的重要分支,迁移学习是指利用在源领域中训练好的模型,将其知识和能力迁移到新的目标领域,以解决该领域的问题。通常,我们会首先在数据量大的领域训练模型,然后将其应用于数据量较小的领域。

换言之,迁移学习通过将模型已学习的知识迁移到新的任务上,以提高模型在新任务上的性能。在大模型的开发过程中,开发者常常将在大型文本数据集上训练好的模型作为基座,通过微调等手段让模型适应新的下游任务。这一应用的核心是运用已有的基础知识来学习更专业的知识。

2.零样本学习

2009年,Lampert等人发布Animals with Attributes数据集(该数据集已在由Lampert领导的奥地利科技学院机器学习与计算机视觉小组网站开源),并提出一种基于属性的类间迁移学习机制。该机制对于零样本学习(Zero-shot Learning)的发展起到重要的奠基作用[15]。零样本学习的核心在于使模型能够识别那些从未在训练集中出现过的数据类别,从而扩展模型的应用范围并增强其泛化能力。

在大模型研究中,模型的零样本学习能力已成为评估模型性能的重要指标之一。与此同时,提示词(Prompt)作为大模型的一种关键输入形式,经常与零样本学习协同使用,以优化模型的性能。提示词可以被视作用户向大模型发送的指令。通过精心设计提示词,用户可以引导大模型生成符合期望的内容。例如下面的示例。

模型输入:你现在需要从这句话中抽取出城市名称和目的地信息。我想去上海的外滩,那里有壮观的夜景。

模型输出:上海,外滩

零样本学习存在使用限制,只有当用户的目标任务与模型已具备的能力相匹配时才能获得最优的零样本学习效果。

用户在实际使用大模型时,通常会根据任务的复杂性选择不同的提示词策略。提示词策略主要包含3种:零样本提示(Zero-shot Prompting)适用于简单任务,无须向大模型提供任何示例,直接下达指令即可;在面对较为复杂的任务时,小样本提示(Few-shot Prompting)更为有效,它通过提供少量示例来帮助大模型更好地理解并执行任务;当面临复杂的推理任务(如算术推理、常识推理和符号推理等)时,思维链提示(Chain-of-Thought Prompting)则成为首选,它通过向大模型提供带有中间推理步骤的示例来引导大模型逐步完成推理。

3.小样本学习

小样本学习(Few-shot Learning)是指大模型通过使用很少的样本来进行学习。与零样本学习相似,小样本学习也经常与提示词配合使用。如果大模型无法理解用户提出的问题,或者用户需要大模型按照特定的格式进行输出时,用户可以使用小样本学习方法,在提示词中加入引导信息并给出一定的样例,指导大模型生成满足业务要求的输出结果。

接下来对比小样本学习和零样本学习在构造提示词时的异同。在下面的示例中,我们使用零样本学习方法构造提示词,要求模型对句子进行分词。从下面的示例可以看到,模型的输出结果并不正确。

模型输入:请对这句话进行分词。我一把把车把把住了

模型输出:我/一把把/车把/把/住/了

如果在提示词中给出部分示例,模型将可以生成更好的输出结果。在下面的示例中,我们使用小样本学习来构造提示词。

模型输入:请参照下面的示例,对给定语句进行分词,示例数据如下:

我想过过儿过过的生活

对上述示例进行解析,“我”是主语,“想过”是指想要尝试,“过儿”指的是《神雕侠侣》中的杨过,“过过的生活”指的是曾经生活过的生活。因此,最终的分词结果应该是:我/想过/过儿/过过的/生活。

向模型输入由小样本学习构造的提示词后,对于相同的分词任务,模型可以生成更好的结果。

模型输入:我一把把车把把住了

模型输出:我/一把/把/车把/把住了

4.持续学习

在一般情况下,当开发者的需求或所在的应用场景发生变化时,往往需要重新训练模型。作为一种增量学习,持续学习(Continual Learning)的核心思想是在一系列任务上训练模型,模型保留在旧任务上学习的知识并继续在新任务上进行训练。该方法在深度神经网络时代被赋予了更大的实用价值[16]。以百度公司在2019年7月推出的ERNIE 2.0模型[17]为例,研究者使用持续学习方法来训练模型,引入了大量的预训练任务。ERNIE 2.0模型在学习新任务的同时保留对旧任务的记忆,渐进式地学习词语、句法和语义表征知识。在多项自然语言处理任务上,它都取得了超过BERT模型与XLNet模型的表现。

5.多任务学习

传统的机器学习主要基于单任务的模式进行学习。对于复杂的任务,首先将其分解为多个独立的单任务并进行处理,然后对学习的结果进行组合。多任务学习(Multi-Task Learning)是一种联合学习方法[18]。在这种方法中,模型通过对多个任务进行并行学习,共享表征信息,可以取得比训练单任务更好的表现。此时模型具有更好的泛化能力。

多任务学习的关键在于寻找任务之间的关系。如果多个任务之间的关系搭配恰当,那么不同任务能够提供额外的有用信息,进而可以训练出表现更好、更鲁棒的模型。例如,GPT-2模型采用多任务学习,通过在WebText数据集(40GB大规模数据集)上进行自监督预训练,在多项任务上取得SOTA(State-Of-The-Art,在指定领域最高水平的技术)结果。

6.RLHF

强化学习(Reinforcement Learning,RL)是指通过不断与环境交互、试错,最终完成特定目的或者使得整体行动收益最大化的技术。强化学习不需要标注数据集,但是需要在每一步行动后得到环境给予的反馈,基于反馈不断调整训练对象的行为。

2017 年,OpenAI公司和DeepMind公司的研究人员在论文“Deep Reinforcement Learning from Human Preference”中提出基于人类偏好的强化学习概念。研究人员通过实验证明,将非专家标注的少量数据作为反馈,可以提高模型在雅达利游戏中的性能[19]

2022年,OpenAI公司在InstructGPT模型的训练过程中引入RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)。该技术在大模型训练中发挥了巨大作用,有效减少了模型输出中的有害内容,力图实现模型与人类的价值观对齐[20]。RLHF是涉及多个模型和不同训练阶段的复杂技术,这里将其分成3个阶段进行讲解。

第一阶段,OpenAI公司将GPT-3模型作为InstructGPT模型的预训练模型,借助数十名人工标注师为训练数据集中的问题编写预期输出结果(人工编写每个问题的答案),利用标注数据对GPT-3模型进行监督训练。模型首先通过前向推理生成多个输出结果,然后通过人工对模型的输出结果进行打分和排序,并将打分和排序数据用于训练奖励模型(Reward Model)。

第二阶段,目标是训练奖励模型。奖励模型应能评判InstructGPT模型的输出结果是否符合人类偏好。如图1-5所示,奖励模型接收一系列输入并返回标量奖励,标量奖励与人类的反馈数据共同参与损失函数的计算。在模型的选择上,奖励模型可以是经过微调或根据偏好数据重新训练的语言模型。

图1-5 RLHF训练过程[20]

第三阶段,采样新的输入句子,首先利用PPO(Proximal Policy Optimization,近端策略优化)网络生成输出结果,然后奖励模型计算反馈,并将结果作用于PPO网络,以此反复,最终训练出与人类价值观对齐的模型。

PPO算法由OpenAI公司于2017年提出,它是一种基于策略的强化学习算法[21]。它将智能体(Agent)当前的状态输入神经网络,可以得到相应的下一步行动(Action)和奖励(Reward),并更新智能体的状态。OpenAI公司的John Schulman等人在一系列基准任务上对PPO算法进行测试,发现该算法比其他算法在样本复杂性、简单性和运行时间上具有更好的平衡性。

2023年,Google公司提出RLAIF(Reinforcement Learning from AI Feedback,基于AI反馈的强化学习)。该技术使用人工智能模型来取代RLHF中的人工标注师。与RLHF相比,模型经过RLAIF训练后,可以在无害内容生成、文本总结等任务上达到与RLHF相近的水平[22]

7.上下文学习

2020年6月,OpenAI公司在发布GPT-3模型的同时提出上下文学习(In Context Learning)[2]概念。基于上下文学习,模型不根据下游任务来调整参数,而是连接下游任务的输入输出,以此作为提示词引导模型根据测试集的输入生成预测结果。该方法的实际效果大幅超越无监督学习。

[2] 上下文学习又称情境学习。

8.思维链

思维链(Chain of Thought)最早由Google公司的高级研究员Json Wei等人于2022年提出。思维链是一种离散式的提示学习方法,可以提高模型在复杂任务上的性能[23]。如图1-6所示,为了指导大模型进行数学运算,研究人员给出少量人工编写的推理示例,并将步骤解释清晰,引导大模型对相似问题进行推理。此处将包含人工编写的详细推理过程的提示词称为思维链提示。思维链可以激发大模型的多步推理能力。这个过程类似于人类通过学习他人的思维方式来进行深度思考以解决复杂任务。

图1-6 以思维链方法指导模型生成正确答案

9.提示工程

在人工智能领域,尤其是大模型中,提示词对于模型的生成结果和质量具有重要影响。一个好的提示词可以帮助模型更好地理解用户的意图和需求,并生成更加准确、有针对性的回复。所以,也可以将提示工程看作一种优化和改进人工智能模型性能的方法。前面提到的零样本提示和小样本提示都属于提示工程的范畴。这类方法并不涉及对模型参数的修改或重新训练,而是通过特殊设计的提示词引导模型生成更好的结果。

在实际使用中,如果我们需要使模型快速实现特定的任务目标,或者需要以一定的格式生成内容,则可以使用提示工程方法,通过少量样例或具有一定格式的样例引导模型生成内容。与微调相比,提示工程不需要用户拥有大量的人工智能领域专业知识,只需要对特定任务有一定的了解,设计合适的提示文本即可。

1.1.3 关键术语

本节将详细介绍与大模型相关的3个关键术语——Token、Prompt和Embedding。这些术语在自然语言处理和机器学习领域中扮演着重要的角色,对于理解和应用大模型至关重要。

1.Token

在大模型中,Token(词元)是文本中的最小单位,可以代表一个单词、一个标点符号、一个数字等。Tokenization(分词)是将一个句子或文本分成多个Token的过程。常用的分词方法包括BPE(Byte-Pair Encoding,字节对编码)算法、WordPiece算法和ULM(Uni-gram Language Model,一元语言模型)算法。在第12章中进行开源模型的微调实践时,在训练模型前,不仅需要加载模型的权重参数,还需要导入对应的Tokenizer(分词器)。

在大模型的训练和应用中,模型将接收的大量Token作为输入,并对下一个最有可能出现的Token进行预测。如今,很多模型会将Token处理为词向量(Embedding,也称为词嵌入)的形式,这种形式的数据便于在神经网络中处理。

2.Prompt

这里讲解的Prompt偏向于模型的训练过程,另外,Prompt的形式不拘泥于自然语言,也可以是向量,不同于用户与模型沟通交互时传递的提示词。此处的Prompt将会给模型提供输入的上下文信息。在有监督或无监督训练过程中,Prompt可以帮助模型更好地理解输入内容并响应。

具体而言,针对情感分类任务,可以在输入“I love this song”句子后增加提示词“This song is ___”,将情感分类任务转变为完形填空任务。模型将输出“Wonderful”“Moving”等具有情感偏好的形容词。这种方式可以引导模型输出更加正确的分类标签。将上述问题转化为更一般的形式,对于输入文本x,通常有专用的函数fforward(x),可以将x转换为所需的形式。应用模板如下。

[X] This is a [Z] song.

其中,[X]指代输入文本x的位置,[Z]指代生成文本的位置。

在研究过程中,一般会留下空位置以便模型填充答案。如果空位置在句子中间,一般称此类提示词为Cloze Prompt;如果空位置在句末,则称为Prefix Prompt。总之,通过设计合理的Prompt,经过无监督预训练的模型也可以处理多种下游任务。

Prompt主要有两种设计方法——手工设计模板和自动学习模板。

在Prompt发展初期,一般将其称为一种输入形式或模板。手工设计模板一般基于自然语言而设计,例如经典的LAMA数据集中包含的Cloze Templates[24]。手工设计模板的优势是直观、简单,但缺点是需要设计人员拥有大量的相关知识和经验,并且构造速度较慢。

为了解决手工设计模板的缺点,研究人员提出了自动学习模板。自动学习模板可细分为离散提示词(Discrete Prompt)和连续提示词(Continuous Prompt)两类。离散提示词是指自动生成由自然语言组成的提示词,因其搜索空间是离散的而得名,常用方法包括Prompt Mining、Prompt Paraphrasing、Gradient-based Search等。而连续提示词则不把提示词的形式拘泥于自然语言,向量也可以作为提示词(通常是可训练的),因为自然语言并不是模型或机器能直接理解的语言。第6章将要介绍的Prefix tuning方法就属于连续提示词类的经典方法。

3.Embedding

在机器学习和自然语言处理领域中,Embedding(词嵌入,也称词向量)是一种将高维度离散数据(如单词、短语或整个句子等文本数据)映射到低维度连续向量空间的技术。这种映射的目的是捕捉和表征数据的语义与句法特征,使得原本在高维度空间中表示的数据在低维度空间中能够更加有效地进行处理和分析。

随着机器学习和自然语言处理技术的快速发展,Embedding得到进一步改进。例如,BERT、ELMo和GPT等模型可以生成上下文相关的向量表示。这些向量不仅捕获单词的语义信息,而且融入了上下文信息,可以提高模型对语言的理解能力。

此外,Embedding与向量数据库的结合使用为大模型的知识检索和知识补充提供了强大支持。Embedding可以将用户提问转化为向量表示,并在向量数据库(已存入大量知识)中进行相似度计算,取出相似度最高的知识并将其作为提示词输入模型中,以实现对模型输入的有益补充。这种技术在信息检索、问答系统等方面具有广泛的应用前景。在11.3.3节中,我们将详细介绍这一技术的原理及应用案例。

在实际开发过程中,比较常用的生成词向量的方法包括Word2Vec、GloVe[25]以及OpenAI公司提供的Embedding工具等。

1.2 大模型分类

本节将按照模型结构、模态、微调方式对大模型进行分类,读者通过对本节的学习,可以整体把握大模型的类型与发展现状。

1.2.1 按模型结构划分

根据模型采用的Transformer架构中模块的不同(Transformer架构主要由Encoder模块和Decoder模块组成),可以分为Decoder-Only、Encoder-Only和Decoder-Encoder[26]3种类型。每种类型的模型适合于不同的下游任务。

早期的大模型以开源模型居多,如BERT、ERNIE[27]、T5[28]、BART[29]等。这些模型以Encoder模块或Encoder-Decoder模块作为主体结构,具备较好的编码能力。

近些年,GPT-3、ChatGPT、GPT-4等模型应用Decoder-Only结构。这类模型具有优秀的生成能力,这使得 Decoder-Only 成为非常流行的大模型结构。由于大模型的研究与成本较高,大多数Decoder-Only结构的大模型并不开源。部分国内外大模型如表1-1所示。

表1-1 部分国内外大模型

模型结构

发布机构

模型名称

Encoder-Only

Google公司

BERT、ALBERT[30]

百度公司

ERNIE[31]、ERNIE 2.0

Meta公司

RoBERTa[32]

Microsoft公司

DeBERTa[33]

Encoder-Decoder

Google公司

T5、Flan-T5[34]

清华大学

GLM、GLM-130B[35]

Decoder-Only

OpenAI公司

GPT、GPT-2、GPT-3、InstructGPT、ChatGPT、GPT-4

Google公司

XLNet[36]、LaMDA[37]、Gemini、PaLM[38]

Meta公司

LLaMA、Galactica[39]、LLaMA2[40]

1.2.2 按模态划分

按模态划分,大模型可以分为单模态、多模态(或称为跨模态)两类。

单模态模型只能处理单一模态的任务,如纯语言、纯视觉或纯音频任务。这类模型包括Alpaca、BLOOM[41]、ChatGLM、GPT-2等。其中,语言模型又可按生成内容或能够处理的语言种类进行细分,例如代码生成类的StarCoder模型[42]、中文对话类的Chinese-Vicuna模型、多语言对话类的ChatGLM-6B模型、医疗建议生成类的MedicalGPT-zh模型和Chat- Doctor[43]模型等。

多模态/跨模态大模型是指能够执行一种或多种跨模态/多模态任务(如文本、图像、视频、语音等),具有很强大的跨模态理解和生成能力的模型。

按模态转化方式,可以将大模型分为文生图类(如CogView[44]、Consistency Models[45])、图文互生类(如UniDiffuser[46])、图文匹配类(如BriVL[47])、文生音类(如Massively Multilingual Speech[48])、音生文类(如Whisper[49])和文音互生类(如AudioGPT[50])等。

能够同时处理多种模态数据的大模型有OpenAI公司的GPT-4多模态大模型、Google公司的Gemini多模态大模型、清华大学与智谱AI联合发布的CogVLM多模态大模型、Meta公司的AnyMAL多模态大模型[51]等。Meta公司推出的涵盖多种跨模态任务的ImageBind模型可以实现文本、视觉、声音、3D、红外辐射等6种模态之间的任意理解和转换[52]

1.2.3 按微调方式划分

按微调方式不同,可以将大模型划分为未经过微调的Transformer大模型(如LLaMA)、经过指令微调的大模型(如WizardLM[53]、Dolly2.0、Chinese-LLaMA-Alpaca)和基于人类反馈的强化学习训练的大模型(如StableVicuna、ChatYuan-large-v2、OpenAssistant[54])等。

1.2.4 带插件系统的大模型

带插件系统的大模型是指通过设计特殊的API(Application Program Interface,应用程序接口),赋予大模型原本未装配的功能。用户可以按需选取自己需要的插件以完成特定任务。

2023年3月,OpenAI公司正式发布OpenAI Plugins功能。该功能可以将第三方应用程序纳入GPT模型中,以便为用户提供服务,例如连接浏览器、进行数学运算等。

复旦大学自然语言处理实验室于2023年4月开源的MOSS模型可以使用搜索引擎、计算器等插件完成特定任务。

插件系统使模型更具灵活性,增强专业知识,提高可解释性和鲁棒性。

1.3 大模型的开发流程

本节主要介绍大模型的开发流程,如图1-7所示。

图1-7 大模型的开发流程

在大模型开发初期,首先,明确项目目标并构建系统框架。这涉及选择合适的模型架构、算法、数据集等。其次,根据任务的类型,对数据集进行收集和预处理。随着任务类型的多样化,数据集的收集和预处理变得尤为关键,它们直接影响大模型的性能和准确性。

业界提供的丰富的开源模型资源可以大大减轻开发者在模型设计方面的工作负担。开发者可以在模型组合、参数调优、损失函数设计等方面集中更多精力,以进行与项目契合的改进与优化。

模型训练是一个复杂而精细的过程,可分为分词器训练、预训练和微调3个步骤。以BERT模型为例,在预训练阶段注重让模型学习广泛的基础知识,以便为其后续的任务打下坚实的基础,而在微调阶段则更加专注于提升模型在特定任务上的专项能力。这种“预训练+微调”的模式已经成为大模型开发中经典、有效的范式之一。通过这种方式,我们可以更加高效地利用模型的学习能力,使其在各类任务中展示最佳的性能。

模型部署涉及将预训练的模型应用到相关场景,需要考虑模型提供的推理服务能否满足用户的实际需求。

1.3.1 确定项目目标

对于大模型的开发,确定项目目标至关重要。它不仅是整个开发流程的起点,而且为后续的数据准备、模型设计、模型训练等提供了明确的方向。在开发大模型前,应先明确模型需要解决的具体问题,只有这样,才能选择合适的模型和训练数据,进而设计出高效且符合需求的系统框架。

以金融任务为例,假设项目目标为在有限的硬件资源下构建财务问答系统。由于这项任务主要涉及文字处理与生成,因此可以选用参数规模适中的开源大模型,如ChatGLM3-6B、LLaMA2-7B、Baichuan2-13B等。这些模型在保持较高性能的同时,对硬件资源的需求相对较低,更适合目标场景。

在数据准备方面,我们可以使用人工标注的公司年报和金融知识等数据。这些数据与项目目标高度相关,可以提升模型的训练效果。为了进一步提高数据标注的效率,可以将大模型作为数据集构造器,通过让其学习少量标注数据的内容和形式自动扩充数据集,从而为该项目提供更多的训练样本。

在模型训练方面,以P-tuning v2、QLoRA等高效微调技术对模型进行训练。这些技术能够在有限的训练数据下实现快速且有效的模型微调。

对上述构思进行归纳与整理,便可以得到完整的财务问答系统的框架,如图1-8所示。需要说明的是,这里使用了少量标准格式的数据来引导模型的输出格式。这种方式可以确保模型在生成回答时能够遵循一定的结构和规范,从而提升生成内容的可读性和准确性。这也体现了提示工程在大模型开发中的重要作用。

图1-8给出了简单的系统框架,其中涉及的各项技术会在后续章节中介绍。以项目目标为核心,设计行之有效、结构合理的系统框架是大模型获得成功的关键。

图1-8 财务问答系统的框架

1.3.2 数据准备

大模型常用的数据类型包括监督数据、指令数据、对话数据、人类反馈数据等。

监督数据是指通过人工标注、众包(通过将数据分配给大量人员来完成标注的外包模式)标注等方式获得的数据。这类数据包含输入和对应的标签或监督信号,用于指导模型学习正确的输出。

指令数据包含指令与对应的回答。这类数据可指导模型学习相关知识,主要用于训练模型并调整其参数。

对话数据一般用于训练模型与人类交流沟通的能力,可分为单轮对话数据与多轮对话数据。

人类反馈数据是指在模型开发和训练过程中加入的人类标注、审查、验证或修正的数据。例如,Anthropic提供的RLHF数据集在每个数据项中包含人类接受和人类拒绝两种形式[55],而北京大学开源的PKU-SafeRLHF数据集(如图1-9所示,对同一个问题给出两种回复,两种回复有可能都是正向的、负向的,抑或一正一负两种倾向的)则调整了数据项的搭配,增加了数据集的多样性。开发者可以使用RLHF在RLHF数据集上训练出与人类价值观对齐的模型。

图1-9 北京大学开源的PKU-SafeRLHF数据集

数据处理涵盖数据收集和数据预处理过程。按照训练所需,开发者可以从网络、公开数据集、用户生成数据、公司内部数据等途径获取数据。数据类型涵盖图片、文字、音频等。本书所用到的数据集均已在对应位置标注下载方式指引,读者可以自行下载。

数据预处理是提高模型性能和减少可能错误的重要步骤。第2章将重点介绍文本数据、图像数据和图文对数据的预处理方法。如图 1-10 所示,以文本数据为例,开发者需要对原始数据包含的缺失值、重复值、异常值等进行处理,并使用分词器将文本数据转化为模型可以接收的数据类型。针对图像数据,一般采用图像去噪、图像重采样和图像增强等技术,以提升图像数据质量。

图1-10 文本数据预处理流程

1.3.3 模型设计

模型设计是大模型开发的关键步骤,需要结合项目目标、数据特征以选择合适的模型。Transformer架构是大模型开发的基石(见第3章)。而对于多模态任务,Visual Transformer是模型开发常用的视觉模块。这部分内容将在第3章中详细说明。

如图1-11所示,模型设计过程一般包含 5 个步骤。在充分理解问题后,开发者需要选择合适的模型结构,设置学习率(学习率决定了模型在每次迭代时,根据损失函数的梯度对权重进行更新的幅度)、批次大小和迭代次数等超参数,通过正则化(如 L1/L2正则化、Dropout等,正则化用来降低模型的复杂度,防止过拟合)提高模型的泛化能力,并通过优化算法(如SGD优化器、Adam优化器等)调整学习率。对于模型效果的优劣,可以通过定义合理的评估指标来确定。常用的评估指标包括Accuracy(精度)、Precision(查准率)、Recall(查全率)、F1分数、均方误差等。

图1-11 模型设计过程

小型开发团队或个人开发者在完成大多数的人工智能业务时已经无须从头构建模型,可以根据任务所需选择开源大模型如LLaMA、ChatGLM、Alpaca等。这种方式可以节省大量的模型设计时间,提升开发效率。

1.3.4 模型训练

大模型的训练过程一般包含分词器训练、预训练和微调3个基本步骤。如果需要使模型的输出更加无害,可以借助RLHF、RLAIF等技术使模型与人类的价值观对齐。

在进行预训练前,我们通常会选择开源模型作为基座。但大多数性能较强的国外开源大模型对中文的支持较差,相关工作如Chinese-LLaMA-Alpaca项目则尝试对在英文任务中表现优秀的Alpaca模型用中文语料进行二次预训练,希望实现由英文任务向中文任务的知识迁移。完成这项工作,需要在项目伊始进行分词器的词表扩充,将常见的汉字Token手动添加到原分词器中,重新对模型的Embedding层和lm_head层(预测下一个Token的输出层)的维度进行调整,并重新预训练。第2章介绍的SentencePiece是非常优秀的词表扩充工具。基于该工具,开发者可以按照不同的需求自行训练分词器,实现词表扩充。

预训练是指模型在大量的无标签数据上进行训练,以学习数据中的潜在规律和特征。为了方便进行预训练和微调,开发者可以选择PyTorch框架。另外,第5章详细介绍了数据并行、模型并行等训练优化技术及DeepSpeed等训练加速工具。

微调是将大模型应用于下游任务的主流技术。受限于高昂的训练成本,读者可酌情选用第6章介绍的多种高效微调技术。

1.3.5 模型部署

模型部署是指将大模型部署到实际应用场景的过程。在模型部署中,一般需要进行模型量化、知识蒸馏、模型剪枝等操作,以实现模型压缩,最大限度地减少模型依赖的硬件资源。

当将模型部署于真实业务场景时,需要考虑模型所提供的推理服务能否满足用户的实际需求,如吞吐量和时延等。第7章介绍了推理服务提升技术,并列举了vLLM、Hugging Face TGI(Hugging Face网站支持的推理部署工具)等实用工具。

1.3.6 模型应用

模型应用是大模型开发流程中的最后一步。在这一步中,由于将会直接面对用户,因此选择合适的开发框架和前端工具,使人工智能应用具有良好的易用性、美观性十分重要。

第10章介绍了两款主流的前端可视化工具——Gradio和Streamlit。这两款工具均可快速构建简洁、美观的Web应用,方便用户使用。第11章介绍的LangChain是常用的大模型开发框架之一。这一章以LangChain为核心,通过不同的预训练语言模型,完成对话式检索问答、长短文本总结等应用的开发。由于大模型普遍存在知识滞后的缺陷,因此在11.4节中,我们将结合以上所介绍的知识,使用LLaMA-7B模型,以外置知识库的形式,通过向量数据库向模型补充额外的知识,并通过Streamlit构建简单易用的用户可视化界面,实现基于私域数据的问答系统。

1.4 应用场景

自发布以来,ChatGPT在两个月的时间内成为用户增长速度最快的应用产品。自此生成式人工智能成为社会最为关注的话题之一。2023 年 7 月,我国发布的《生成式人工智能服务管理暂行办法》立足于促进生成式人工智能的健康发展和规范应用,明确表示鼓励各行业与生成式人工智能进行深度融合,实现产品创新。

生成式人工智能的应用场景丰富,可以与各个行业深度结合,助力各行业实现智能化变革。本节将对ChatGPT类大模型产品的应用场景进行总结。具体介绍如下。

1.金融场景

生成式人工智能或大模型在金融行业的应用场景可以归纳为两类:其一,发挥生成式人工智能的强大生成能力,代替人类完成大量重复性高、基础的任务,如文本摘要、基础数据分析、标准化金融报表生成等,以有效释放人力资源,实现降本增效;其二,生成式人工智能作为智能助手,辅助客户经理、产品经理进行各项专业性较强的管理、内容生产任务。

2.政府场景

生成式人工智能或大模型产品可以帮助政府部门管理和处理海量的数据资源,提升数据质量和提高数据的价值。例如借助大模型进行数据分类、标记、关键字提取等工作,为政府分析决策提供有力支撑。

同时,政府部门也可以利用大模型产品实现数字人客服,有效缓解人力资源不足的问题,并提供更加高效和友好的服务。例如借助大模型处理政务咨询、政策解读等任务,为公众提供及时、准确的回复。

由于政府文件的规范性较强,可以通过大模型产品进行写作辅导,辅助公务人员撰写政策文件、通知公告、新闻稿等文本。

3.医疗场景

在医疗场景中,大模型产品可以作为智能问答系统,通过与患者进行多轮对话,收集患者的基本信息,根据患者的症状和体征给出具体的诊断结果和疗养建议。同时,大模型产品也可以作为智能信息抽取系统,对医学文本进行分析,抽取其中的关键实体信息,将其转换为知识图谱。大模型产品也可以作为病例审查系统,通过比对病例内容和有关标准,检查病例是否存在错误、遗漏和不一致等问题,并给出针对性的修改意见。

4.教育场景

在教育场景中,大模型产品可以对学生的作业进行批改与分析,而且结合历史错题,总结学生的薄弱项并制订具有针对性的学习计划。同时,大模型还可以作为口语练习助手,通过与学生进行多轮口语对话,实时检测并纠正学生的发音和语法。大模型也可以作为在线辅导老师,根据学生的学习进度和水平,制订个性化的学习计划。

5.电商场景

传统的推荐系统通常依赖规则、统计方法或小型机器学习模型。这种传统做法难以处理大规模、高维度的数据,也无法有效捕捉用户的复杂行为和兴趣。

首先,大模型具有强大的特征学习和处理能力。通过对用户的兴趣、行为和需求等特征的分析,大模型能够生成精细的用户画像,从而更好地理解用户的需求和行为,提高推荐商品或服务的精准度和用户满意度。

其次,借助大模型对大量数据进行特征提取,可以发现更复杂的特征和模式,提高推荐的准确性。

最后,大模型可以通过分析用户的历史行为和兴趣,以及当前的环境和上下文信息,实现个性化推荐。例如根据用户的浏览历史、购买记录等信息,推荐用户可能感兴趣的商品或内容。

6.自动驾驶场景

大模型在自动驾驶领域的应用前景非常广泛。自动驾驶技术需要处理复杂的感知、决策、控制和导航等任务。大模型具有强大的特征学习和处理能力,可以提供更精准的决策和控制策略。

自动驾驶系统需要具有高效的路径规划和决策能力,以避免碰撞和交通事故。开发者可以利用强化学习等技术来提高模型的高效决策能力。例如,大模型通过学习大量的驾驶数据,掌握驾驶行为和交通规则,并通过人类反馈数据优化自身决策,从而在行驶中做出判断和发出控制指令。

尽管大模型在金融、医疗、教育等领域的应用前景非常广阔,但也面临多项挑战。

首先,大模型的训练需要大量的数据和算力,而且依赖高效的算法和计算框架,医院、高校等单位很难提供昂贵的算力去训练和部署模型。

其次,大模型的适应性和鲁棒性(大模型对输入数据的变化或噪声的抵抗能力)也需要不断提高,以应对复杂的不确定因素的影响。

最后,将大模型落地于医疗领域,需要面对社会舆论与伦理安全方面的挑战。例如手术失败责任的认定、民众能否接受由大模型主导整个治疗过程等。

为了应对这些挑战,需要开展深入的研究和探索,包括发展更高效的算法和计算框架、优化模型训练和部署流程、加强数据隐私和安全保护、提高模型的鲁棒性和自适应能力等。同时,也需要推进相关法律的制定,解决大众关注的伦理和社会问题,推动大模型技术的广泛应用和发展。

1.5 未来发展方向

目前,由ChatGPT所引发的大模型研究热潮已经从语言模型向能够感知环境、独立进行决策的通用人工智能方向发展,本节将介绍AI智能体(AI Agent)和具身智能(Embodied Intelligence)两个研究方向。

1.5.1 AI智能体

AI智能体是指由大模型驱动,能够独立进行决策,不需要人为干预,自动调用工具以完成给定目标的智能程序。AI智能体降低了大模型的使用门槛。用户无须掌握一定的提示词设计方法,直接向AI智能体下达指令,由AI智能体自行规划解决方案并完成任务。

AI智能体的核心架构如图1-12所示,其中展现了AI智能体应具备的三大关键能力:第一个能力是AI智能体应具备规划与决策能力(Planning),能够将一项复杂任务分解为多个子目标与多项小任务;第二个能力是AI智能体需要具备记忆能力(Memory),能够对任务、对话中的上下文进行保存,以确保信息的连贯性和准确性;第三个能力是AI智能体需要具备工具使用能力(Tool),能够根据各类工具扩展自身功能,以应用于更广泛的场景。第11章将会介绍如何通过LangChain构建AI智能体,帮助读者从理论走向实践,深入了解AI智能体的构建过程和实现原理。

图1-12 AI智能体的核心架构

目前,大量的自主人工智能产品已经面世,如哥伦比亚大学推出的面向科学研究的GPT Researcher、具备联网搜索功能的AutoGPT等。

这类产品通常以大模型为核心,基于模型进行思考规划,并获取信息[56]。以AutoGPT为例,在接收到用户输入的信息时,它会自动将用户需求分解为多项子任务,逐一完成每项子任务并输出结果。在这种处理方式中,用户无须输入更多、更复杂的提示词,而是让大模型通过“主观能动性”解决问题,进而有效降低大模型产品的使用门槛。此外,AutoGPT的联网搜索功能也能有效弥补大模型知识滞后的不足。AI智能体通过互联网实时获取最新信息,以便为用户提供更加准确和全面的信息服务。

1.5.2 具身智能

具身智能的概念最早由Alan Turing于1950年提出。他认为像人一样能够和环境交互感知,具备自主决策和行动能力的机器人是人工智能的终极形态[57]

当下,具身智能已经成为各国的研究重点。它可以将人工智能所能执行的任务扩展到更多领域。例如使机器人智能地执行无人驾驶、家政服务(一个理想状态是机器人通过观看人类扫地、擦地的视频就能学会做家务)等任务。

由于具身智能涉及多种跨模态/多模态任务,因此很多研究人员都在尝试将大模型作为机器人的大脑,以完成更多的任务。

2023 年 3 月,Google 公司和柏林工业大学的研究团队推出5400亿参数规模的视觉语言模型 PaLM-E。该模型具备理解图像、生成文本的能力,并且无须重新训练即可执行复杂的机器人指令。该研究团队希望PaLM-E在工业机器人、家居机器人等更多现实场景中得到应用[58]

在另一项研究中,微软公司的研究团队也在探索如何将 ChatGPT 与机器人融合,通过ChatGPT指导机器人完成复杂操作[59]

如图1-13所示,斯坦福大学的李飞飞团队发布的VoxPoser系统将大模型接入机器人,并将人类指令转化为对机器人具体的行动规划,获得了优异的零样本学习能力,能够实现生活场景的避障操作[60]

图1-13 VoxPoser系统实现避障操作

2023 年 10 月,Google公司发布了通用大模型RT-X,并开放了训练数据集Open X-Embodiment(已在GitHub网站上开源)。RT-X模型由控制模型RT-1-X和视觉模型RT-2-X组成。RT-X模型在特定任务(如搬运东西等)上的工作效率是同类机器人的3倍,并且可以执行未训练的动作[61]

在政策端,2023 年北京市正式发布《北京市促进通用人工智能创新发展的若干措施》,其中明确指出应全力探索具身智能这一通用人工智能的新路径的研究与应用,突破机器人在复杂任务下的行动效果。

虽然人类目前的科技水平与完美实现具身智能的要求仍有较大差距,但具身智能仍然是极具实用价值和科研前景的研究方向。

1.6 小结

随着大模型技术的不断发展,目前越来越多的大模型产品问世。例如,GPT-4模型已经具备超强的多模态能力,能够根据用户的指令理解、修改图像内容。大模型在金融、医疗、教育等领域拥有广泛的应用前景。目前微软公司已经把大模型与办公软件、搜索引擎、集成开发环境相结合,以提高用户的信息处理效率。

同时,读者也需要把握人工智能的未来发展方向——更通用、自主能力更强的人工智能,认真思考AI智能体和具身智能对未来人类生活所能产生的价值和影响。

在后续内容中,本书将继续介绍大模型相关知识,并通过实战项目加深读者对大模型技术的理解与应用能力。

1.7 课后习题

(1)简述零样本学习的定义。

(2)持续学习是不是一种增量学习方法?它的优势是什么?

(3)RLAIF与RLHF的区别是什么?

(4)常用的分词算法有哪些?

(5)Prompt主要包含哪几种设计手段?

(6)简述Embedding的具体含义。

(7)AI智能体是什么?

相关图书

大模型应用开发 动手做AI Agent
大模型应用开发 动手做AI Agent
GPT图解 大模型是怎样构建的
GPT图解 大模型是怎样构建的
大语言模型:基础与前沿
大语言模型:基础与前沿
生成式AI入门与AWS实战
生成式AI入门与AWS实战
ChatGPT原理与应用开发
ChatGPT原理与应用开发
人工智能和深度学习导论
人工智能和深度学习导论

相关文章

相关课程