极客时间已完结课程限时免费阅读

18|策略建模:取众家所长的工业级的AIGC系统

18|策略建模:取众家所长的工业级的AIGC系统-AI大模型系统实战-极客时间
下载APP

18|策略建模:取众家所长的工业级的AIGC系统

讲述:Tyler

时长14:15大小13.01M

你好,我是 Tyler。
从今天开始,我们进入一个新的章节——架构实战篇。
AIGC 系统正在不断走入我们的日常生活,其中最有名的大语言模型对话系统当属 ChatGPT、Bard、文心一言和通义千问等。现在我们已经逐渐在工作生活中,对这类 AIGC 应用产生了依赖。
不过,大部分同学对 AIGC 系统背后有什么,仍然是一头雾水。还记得第五节课里,我曾经说过大多数人对 AIRC 系统的认识,充其量是借助 Netflix 的架构图了解过一些“外貌特征”。对于 AIGC 这类正在飞速商业发展的系统,我们也鲜有机会一窥究竟。
当然,作为身处一线的人,我有信心帮你拨开迷雾,直击 AIGC 系统的本质。我们还是会延续之前的风格,这节课为你串联整个 AIGC 系统策略建模的流程,帮助你快速地建立整体认识。在后面几节课里,我还会进一步详细展开各个模块的具体细节。

策略建模

在第二章中,我们学习了 AI 系统的策略建模。策略建模是将业务的玄学问题转化为数学问题,进而把数学问题建模为工程问题的过程。那么,对于 ChatGPT 来说,它需要关注的业务建模重点是什么呢?
其实,我们只要仔细思考就会发现,ChatGPT 所追求的业务目标和搜索引擎是最像的。它们都需要以最高的效率找到用户期望得到的“正确答案”。
你是否还记得,早在 2009 年,如日中天的百度就提出了“框计算”的概念。当时,百度希望创造一个超级应用,在搜索框内能够解决所有的用户问题。
经过十多年的发展,ChatGPT 终于实现了这一愿景。因此,从这个角度来讲,搜索引擎曾经遇到的问题,大模型系统也会经历一遍。
在第二章的末尾,我们也提到过,AIGC 和 AIRC 系统都是在交付“内容”,只是将内容检索变成了内容“生成”。那么内容检索和内容生成究竟有什么区别?
唯一的区别是,搜索引擎需要将用户最需要得到的内容排在前列,呈现给用户;而 AIGC 系统则可以结合自己的庞大知识储备,整合用户可能会感兴趣的信息,并进行创造性的结合,返回给用户。
所以,AIGC 系统在内容质量上,需要做更多的工作,付出更多的努力。
还有一点需要特别注意的是,搜索引擎作为服务提供者,一定程度上是适用于“避风港原则”的,也就是只需要配合审查,履行删除的义务即可。但是 AIGC 系统就不一样了,它返回给用户的内容,会被看成服务提供者“生成”的内容。
这意味着 AIGC 系统在回答的可信度和合规性上一定要慎之又慎
因此,AIGC 系统在策略建模上也有非常明显的区别。搜索引擎的系统建模方式是通过用户请求,检索海量内容,之后呈现内容。
而 AIGC 系统则是会先根据用户请求生成推理计划,之后,再通过检索海量内容为生成模型提供实时的外部记忆,随后再由模型生成内容,最后,再通过搜索引擎验证内容的可信性,呈现给用户。其中和搜索引擎相同的部分可以继续沿用 AIRC 系统的评价标准。
这节课我将重点强调 AIGC 系统独有的部分,先从提示语工程开始。

提示语工程

“提示语引擎”是专门服务于生成式 AI 模型的系统模块。它不仅涵盖了 AIRC 系统中的各类知识表达和知识检索能力,还具备一些独有的、针对大语言模型的特点而设计的策略。
不知道你是否还记得,我们让 LLM 思考的方法类似于“产婆术”,所以我们唯一能和 LLM 进行互动的方式就是通过“提示语  Prompt”。所以在实践中,提示语引擎在一定程度上就是智能体的本体。
提示语引擎的任务是针对用户的问题,对智能体的外部记忆进行排序,再将排名靠前的内容返回给大语言模型。这就是你在各类大语言模型对话系统上,都能发现类似“搜索增强”能力的原因。后面这张图里展示的就是通义千问的搜索增强功能。
因为大语言模型训练数据的时效性,以及模型对训练数据的记忆能力的局限性,它很难得到你想要的全部结果。所以在这个过程中,我们需要重度依赖 AIRC 系统提供的检索能力。
作为服务于生成模型的检索系统,这里还需要考虑一个重要的问题——如何在有限的提示语中,高效地传递近乎无限的外部记忆。这里需要提示语引擎具备后面这三种能力。
识别用户的意图,这需要对你的提示语工程和指令微调进行联合设计。
识别和选择检索结果的能力,这个能力早在 WebGPT 时 OpenAI 就已开始探索了。
有效压缩有价值信息的能力,因为提示语长度的限制,我们需要用最少的 Token 保留最多的信息。
解决了前面这几个问题,我们就能获得所有用于问题回答的原材料了。
在进入下一步之前,我们先来想清楚一个问题:在生成回答内容的过程中,各个模块似乎都需要使用 LLM 的能力。那么,这些模块使用的 LLM 是否是同一个模型呢?
这里的答案是否定的。如果你认真学习了前面的课程,就一定会意识到这里使用的是不同的专家模型。GPT-4 使用了十多个不同的专家模型来处理各类问题。这样做可以大幅降低单个模型的参数规模和推理成本。
其实在一些相关度不高的任务上,很难增加“涌现”的效果。因此,对于这些隔离度较高的任务,我们可以使用不同的领域模型来完成工作。
比如,将文生图、内容理解和内容摘要的模型做成同一个模型,当然是可以的。但是,如果想让这个统一的模型达到生产级的效果,它的参数规模至少要达到 100B 以上。其实这三个任务,也可以分别使用三个 80B 的模型来完成,这可以节省大量的推理成本。
所以你要理解,大模型系统的发展是一个螺旋向上的过程,正所谓天下大势,合久必分,分久必合,AI 系统也不例外。
因此,在真实的工程实践中,在提示语工程模块负责生成计划和获得外部记忆的 LLM 是其中的一个领域专家模型。而在后续的生成模块中,用来生成具体回答的模型则是另一个(或几个)模型。

生成模块

当然,所有这些领域模型中最重要的、或者说我们最关注的就是负责生成回答的 LLM 了,因为这个能力是用户心智中 AIGC 系统最本质的特征。我们这就来学习一下生成模块的主要工作有哪些。
生成模块的 LLM 需要四个方面的能力。
第一,它需要准确地理解提示语引擎给它的指令。这里要注意的是,它的目标不是理解用户的指令,而是提示语引擎加工后的指令,这里会有一个重要的细节,那就是该模型的数据分布和用户输入(也就是提示语引擎输入)的数据分布是不一样的,你在后面模型的训练过程中一定要注意这一点。
第二,它需要根据用户的指令为生成任务做具体分类,选择合适的专家模型做处理。这里举一个例子方便你的理解,比如用户的输入是让你根据提示语帮他画一幅画,那生成模块则需要辨别出,这个任务应该交给文生图的专家模型,并使用合适的输入方式,把提示语引擎检索到的与提示词相关的图像信息交给这个文生图模型作为参考。
第三,它需要拥有强大的涌现能力,将提示语的内容以及辅助外部信息有机地结合起来。这个能力是区分你的系统与其他系统能力的最主要指标,它负责产生符合用户需求的内容。如果它生成的内容出现偏差,无论其他地方做得再好,你的系统也会被贴上“人工智障”的标签。
最后,它还需要拥有基础的内容安全能力。比如对 NSFW 的模型数据进行过滤,防止你的生成模型被用于生产具有内容安全风险的信息。当然,这只是你的第一道防线,一会儿我们聊到风控模块我再详细展开这部分内容。

控制模块

刚才说模型能力的区别本质上是数据质量的区别,但是除了数据质量之外,我们还有其他提升模型能力的方法吗?当然有,那就是提高你的系统对数据的使用效率,这时控制模块就派上用场了。
为了赶上 ChatGPT 的数据收集和标注的速度,目前主流的在线大模型系统都采用了基于强化学习的增量模型训练方法。
这两个概念你在前面的课程中都已经学习过了。在“三级火箭”中,你学习了在线增量模型的训练方法;在“三大门派”和“GPT 系列”中,你学习了强化学习的概念和方法。
控制模块不仅可以用于高效地标注用户反馈,还可以用于自动设置大模型在线服务的升降级策略,控制商业成本(即总体算力开销)。这样,就可以在有限的算力下,最大化客户体验。
为了让你的大模型系统具备强化学习的能力,我们需要从一开始就对你的 AI 系统框架进行针对性地设计。这部分内容将在后几节课中具体展开。

风控模块

接下来,我们再来学习一下风控模块。AIGC 系统的风控模块与 AIRC 系统有相同也有不同,但它所面临的挑战比 AIRC 系统要多得多。
相同之处是,我们同样需要考虑内容安全的问题,使用专有服务对模型生成内容的合规性和品牌安全性进行综合评估,在第一时间过滤掉有风险的内容,并交由人工审核。此外,我们还需要考虑反馈数据的“反作弊”,确保服务所回收数据的安全性。
不同之处是,随着大语言模型的走红,针对大模型系统的攻击手段层出不穷。攻击者可以对训练数据进行“投毒”影响你的模型训练效果,或者是使用对抗样本对你的模型进行越狱,突破安全屏障,甚至还会诱导你的模型生成注入指令,进而入侵你的系统。
而且还有很多你意识不到的“轻微”攻击行为,比如各家公司已经明确声明了自己在用 GPT-4 来标注自己的数据,这其实是一种盗窃模型参数的攻击方法,只不过大家的手段和力度比较轻微,很难定量和定性。

总结

学到这里,我们来做个总结吧。这节课我们学习了 AIGC 系统在策略建模时需要重点关注的两个问题。
提高内容的质量:这是 AI 系统的核心竞争力,也是用户最为关心的问题。
确保模型生成内容的安全:这关系到用户的隐私和安全,是 AI 系统必须遵守的底线。
为了完成这两个目标,我们需要使用提示语引擎、生成模块、控制模块和风控模块共同协作完成这个任务。
在学习的过程中,你会发现这些模块的工程组件,很多都来自于你所学习的 AIRC 系统,相信你也会感受到如果没有之前课程的学习,在这里的学习也只能流于表面,最多不过能学到一些 AIGC 系统的架构理念。而学过之前课程的你,则能一眼万年,对即将面临的工作胸有成竹。
当然,在其中还穿插了一个重要的信息:AIGC 系统中各个模块使用的大模型其实是一个个领域专家,而不是统一的一个模型。这是为了提高模型的性能和效率,降低模型的复杂度和成本。
因此,在这一章中,我将带你重点学习以下两个知识。
这些模块是如何在分别完成自己任务的同时,更好地协作完成你的 AIGC 任务的。
这些领域专家模型是如何被制备和训练出来的,它们是如何通力配合完成你的各项任务的。
下节课我们会开始提示语工程的学习,敬请期待!

思考题

不知道你是否已经关注到 GPT-4 再一次着重宣传了它的“微调”能力,首先我曾经说过,这个所谓的微调只是一个浅层的补丁,所以这里你一定要学会独立思考,理解 OpenAI 宣传这个能力背后的想法是什么。
如果各个领域的微调数据都汇聚到 OpenAI 是不是会形成强大的虹吸效应,让他们拥有众多的私域数据?
刚才我也提到了,各个系统之间最大的区别也就是生成模型能力的区别,更进一步说其实是数据质量的区别,希望你可以沿着这个方向做一些课后思考,在评论区说出你的看法
恭喜完成我们第 18 次打卡学习,期待你在留言区和我交流互动。如果你觉得有收获,也欢迎你分享给你身边的朋友,邀 TA 一起讨论。

本文介绍了AIGC系统的策略建模和其核心模块的工程实践。文章首先强调了AIGC系统与搜索引擎的相似性,以及其在内容生成和可信度上的区别。接着重点介绍了AIGC系统中的提示语工程模块,强调了其在识别用户意图、选择检索结果和压缩信息方面的重要性。另外,文章还指出了AIGC系统中不同领域模型的使用,以及在生成模块中的关键能力。文章还提到了控制模块和风控模块的重要性,以及它们在提高系统对数据的使用效率和确保内容安全方面的作用。总的来说,本文通过深入浅出的方式,帮助读者快速了解AIGC系统的策略建模和关键模块的工程实践。文章内容涉及到了系统的工程实践和模块的协作,以及对数据质量和内容安全的重视,对于技术人员和研究人员来说具有一定的参考价值。

分享给需要的人,Ta购买本课程,你将得18
生成海报并分享
2023-09-20

赞 10

提建议

上一篇
17|LLM展望:死神永生,LLM会带人们驶向何处?
下一篇
19|提示语工程(一):为什么说提示语引擎是“智能体本体”?
unpreview
 写留言

全部留言(2)

  • 最新
  • 精选
  • 周晓英
    2023-10-02 来自美国
    GPT-4 再一次着重宣传了它的“微调”能力,个人猜测有以下几个目的:第一是将各行各业的数据和训练过程和结果,汇聚到自身,进一步增强自身能力,第二在“微调”过程中,为了达到好的效果,也会消耗大量的token,可以增加商业收入,第三是防御,如果迟迟不推出“微调”功能,大家就会各出奇招来实现私有知识库和增强检索,有可能对他的行业领先地位有影响?
    10
  • 顾琪瑶
    2023-09-20 来自上海
    如果从科研角度来考虑open ai宣传的"微调"目的的话, 我认为是通过更多不同领域的数据, 来训练模型, 观察模型的"性能"和表现, 之前曾在一些文章中看过, 大模型的"涌现"能力是出现在代码数据训练后, 那么如果使用更多不同纬度和领域的数据训练, 会不会就像之前说的出现"奇迹"呢? 但是从非科研角度来说, 每个行业中不同企业的数据都集中到一块, 那最先想到的是安全性问题. 毕竟老美的惯用做法就是控制所有东西, 对于自主主权国家发展自有技术道路都是不利的
    展开
    3