AGI 远不止 ChatGPT!一文入门 AGI 通识及应用开发
![AGI远不止ChatGPT!一文入门AGI通识及应用开发](https://static001.geekbang.org/infoq/03/036a3f9dae8d28533aa729f6f284254e.jpeg)
AI 大语言模型进入爆发阶段
2022 年 12 月 ChatGPT 突然爆火,原因是其表现出来的智能化已经远远突破了我们的常规认知。虽然其呈现在使用者面前仅仅只是一个简单的对话问答形式,但是它的内容化水平非常强大,甚至在某些方面已经超过人类了,这是人工智能板块的重大突破。
近半年来,整个行业都在致力于研发和应用大型模型。这涉及到算力的提升、大型模型算法的优化以及相关语料和数据的准备。行业对此非常关注,各个参与者都铆足干劲,特别是一些大型企业纷纷下水,担心被 AI 浪潮拍在沙滩上。
在这张图中,我们可以看到一些主要的玩家,比如 Meta(即 Facebook)、OpenAI 和谷歌,以及国内的华为、阿里巴巴和百度。尤其是在大型模型领域,它们都在做相应的投入和研发。最近,有一个名为 Stable Diffusion 的技术非常令人震撼。它可以让你无限地放大和缩小一张图片,甚至将其放大到地球的大小,这对整个行业都是一个巨大的挑战。
![](https://static001.geekbang.org/infoq/22/225c13df2b2593213de94d356abca38a.png)
另外值得一提的是 Meta,两年前,Facebook 将其名称改为 Meta,并宣布将全力发展元宇宙。但是为什么元宇宙还没有崛起呢?因为元宇宙需要人们用工具去创造其中的 3D 内容。但是现在,如果将 Stable Diffusion 技术与元宇宙技术结合起来,所有的场景都不需要手动创造了。这是非常令人震撼的,也可能会推动元宇宙的爆发。因为在这之前,元宇宙最大的瓶颈就是内容。如果人工智能能够与之很好地结合并生成内容,对元宇宙的推动将是非常巨大的。所以,我们可以无限地想象这个技术将如何改变我们的生活。
什么是大语言模型?
大语言模型是 AI 中的一个重要组成部分,它主要用于生成内容。我们可以通过这个模型给定一段文字,然后生成相应的文字、图片或图生图,以及将文字转换为声音或视频等等。这个模型的架构被称为 Transformer,它是一种深层次的生成式模型。在卷积神经网络中,有许多层和参数,通过降维计算和权重来生成每个节点的可能性。虽然理解这个模型可能对于数学不太好的人来说有些复杂,但我们可以大致了解它的工作原理、功能和优势,以便在后续的应用开发中打下基础。
总结下来大模型其实就是三块大的能力:自然语言理解与生成,推理能力以及通识能力。*
首先最重要的是自然语言的理解能力。在过去,我们经常进行各种搜索,包括在电商网站上进行搜索。当你在输入框中输入想要购买的物品,比如电脑,系统会给你返回一大堆相关的结果。这种搜索的本质是什么呢?其实它是通过给每个商品打上标签的方式进行的,比如只要是电脑,系统就会给它打上电脑的标签。当你输入电脑时,系统会命中所有带有电脑标签的商品,然后给你返回搜索结果。所以从本质上说,这种搜索是基于你的输入进行分词和命中,而没有理解你的意图。
但现在,自然语言理解的技术已经得到了很大的进步,在搜索层面上可以实现更多的功能。我们可能都尝试过 ChatGPT、文心一言等等,当你输入一段话时,它会给你返回一系列相关的信息。这是因为它真正地理解了你的语言含义,理解了你的意图,然后才进行相应的操作。所以在搜索方面,实现这种真正的理解并提供相关结果是可能的。
比如你要去购买电脑,你可以对着 AI 输入“我是一个程序员,平时主要用来写 Python 程序,现在要购买一台 1 万元左右的电脑”,这是会自动给你推荐符合的商品,这就是体验方式的不一样。这个模型他理解了你的需求,然后再去完成特定的任务。
第二个很重要的是推理能力。同样是上文买电脑的例子,我只是描述了我的职业属性以及使用需求,而大语言模型会根据我提供的信息来推理出我需要购买电脑或者电脑的配件。这是它在基于我的语言理解去做的推理。
很典型的一个例子是 ChatGPT-4 发布时的一个举例,将一个有气球的图片传给 ChatGPT,这时候你问 ChatGPT
“如果我把气球的绳子剪断会怎样?”
“气球会飞走”
![](https://static001.geekbang.org/infoq/a6/a68951c30c08c5bdb4c7a7ef9c3e5f0b.png)
对于人类来说,这些回答很正常,但对于机器来说却是令人震撼的,这意味着 AI 已经能够理解物理世界的一些现象。
例如,当给 AI 展示一张烧红的铁的图片,并问它如果用手去碰会怎样,它能回答“你要当心受伤”。这个回答展示了 AI 的通识能力,它知道烧红的铁温度很高,然后进行推理得出碰到它会受伤的结论,并知道人的手不能碰高温物体。这些都属于通识知识,对我们来说很基本。但在这个大型模型出现之前,这个问题一直困扰着科学界很长时间,即使像 AlphaGo 这样的强大 AI 也不知道烧红的铁不能用手碰。
但现在这个问题已经得到解决。
大语言模型的核心要素
算法和模型是区分大语言模型研发的核心要素。算法和模型影响的模型丰富度、模型准确性、能力涌现等都成为评价大语言模型优劣的核心指标。
目前 LLM 市场有三大方向,分别是 OpenAI、Google 和 Meta。
ChatGPT 的回答更注重模拟人类表达,因此在准确性方面可能会有一定欠缺,有时会出现所谓的“一本正经的胡说八道”,这在专业术语中称为“幻觉”。相比之下,Google 追求 100%的准确性,所以它的训练更加困难。这也解释了为什么 OpenAI 先出现并且更快流行,因为它的回答相对更巧妙,难度没有那么大。
而 Meta 的 LLaMA 则是另一条完全不同的路线,它是完全开源并且可以商用的,因此围绕这一个模型会出现成百上千的模型,很多个人或者大厂都会基于这个模型进行一定的改进,比如 ChatGLM 等等。
![](https://static001.geekbang.org/infoq/4b/4bca4b8d91d9128b589ba7f283511e24.png)
如何构建大语言模型
大模型的本质除了是 Transformer 算法,它还需要进行数据训练。这与人类类似,孩子出生后就自然拥有了算力,而随着大脑中的神经元不断增长,算力也会增强。
无论是对于人类还是对于大模型来说,学习都是一个过程。实质上,对于大模型来说,学习的过程就是消耗数据和语料的过程。在训练中,所有的数据都被称为语量。
将大语言模型从一个 Transformer 算法训练成一个类似 ChatGPT 的模型需要经过三步:预训练、指令微调和 RLHF。
预训练是指进行大量的无监督学习,这个概念可以用一个例子来解释。就像训练一个鹦鹉一样,你给它一个开着的电视,让它去看,不管电视上放什么内容,只要鹦鹉看着就好。经过一段时间,鹦鹉就会学会很多话。当然,这种训练资料不是完全随机,还是会进行一定的选择。
指令微调是一种技术,通过向模型提供特定的指令或约束来进一步调整模型的行为和生成结果。通常用于去除预训练过程中不安全数据,这些数据包括但不限于黄赌毒等等违法内容。AI 在面对关于违法行为的问题时,会避免回答。同时,指令微调还涉及一些伦理问题,它会尽量排除对人类有害的内容。
然而,传统数据库中可以查找到有害数据的位置,但在大模型中,由于存储的内容太多,不知道具体位置。因此,无法通过穷举的方式检查出所有有害内容,特别是在开源大模型中,隐藏的有害内容更难察觉,需要更加小心谨慎。
RLHF 是 Reinforcement Learning From Human Feedback 的缩写,意为从人类反馈中进行强化学习。这是整个过程的最后一步,引入专家或其他人在不同时间点问同样的问题,观察回答的差异,尽管可能有些微差别,但意思可能是一样的。然后需要评估回答,选择最好的回答,并给予相应的权重。这实际上是一个强化学习的过程。
![](https://static001.geekbang.org/infoq/3e/3e099f69e0c2f1de959a2aa49eca804a.png)
大模型时代下企业应用痛点
随着进入大模型时代,越来越多的企业将加入这一浪潮,现有的几家独大的局面必将很快被打破。在这个时代,企业应用发展同样面临着众多挑战。
例如 ChatGPT 在通识领域表现出很强的能力,这是因为 ChatGPT 的语料来源于公开网络,所以它会成长为通识领域的领先选手。
然而,每个行业最专业的资料都是在企业或行业协会的私域中,不对外公开的。所以 ChatGPT 在回复中经常会存在事实性错误,部分原因就是这些特定的行业机密是无法在公有网络中获取的。这些行业协会或企业可以使用自己的数据来训练模型,从而成为该领域的专家,专注解决特定问题。可以预见的是,未来将会有各种大模型涌现,如医生模型、投资模型、生产制造模型等。我们可以想象将各种大模型与各个行业结合,从而对传统应用进行重构和升级,实现更好的效果。
另一方面是企业应用面临着数据和信息泄露的风险。由于 AI 大模型的应用无法签订保密协议,无法保证企业数据的安全性,也无法保证内容不会外流。这给企业带来了一定的安全隐患和控制风险。
![](https://static001.geekbang.org/infoq/8f/8f3d67d9ffbe24d5456e89ef991b80c0.png)
大模型究竟能做什么
![](https://static001.geekbang.org/infoq/ae/ae8eb21059b8c9be30c55f56176e94d9.png)
大模型应用可以轻松生成文字,比如广告文案、客服等。虽然目前大多数应用将其用于客服问答,但它的能力远不止于此,特别是在企业场景中,它具有强大的推理和分析能力。例如在自动驾驶领域,人工智能也发挥了重要作用,但目前仍存在 100%正确性的问题,因此智能驾驶还不能完全取代人类控制。然而,一旦突破了这一问题,将对整个行业产生颠覆性的影响,释放出与蒸汽机一样重要的生产力,实现机器设备的无人驾驶和操控。
我们现在才刚进入大模型时代,更多的应用可能其实还需要不断地去尝试挖掘。
AI 企业应用开发
一、开发工具及资源
目前我们已经拥有了很多模型,回到我们的本质,我们要开发一些应用,更重要的是如何去运用它们。现在业界有一些框架、思路和工具来开发这些 AI 应用。在这个过程中,我们可以看到有一些层次顺序。最底层是模型的能力,它是不可或缺的,而它的算力则是由 CPU 支撑,在这之上还有一些框架。
![](https://static001.geekbang.org/infoq/49/4936ee7da556c8905d43afcb1247264d.png)
脚手架
AI 应用脚手架软件是一种用于构建和部署 AI 应用的工具。它提供了一个基本框架,帮助开发者快速搭建 AI 应用的基础结构。
很火的脚手架如 AutoGPT 和 LangChain 其实都采用了同一种代理思路,即基于"思维链"的循环往复过程。当面对复杂任务时,大模型具备拆解能力,将任务拆解为小任务,并提前包装好 API 工具,让模型知道每个 API 的功能。整个过程相当于自动化的步骤,模型会根据任务的拆解和工具的匹配来完成相应的任务。
向量数据库
在传统的应用中,我们使用了 Claude 框架和 Java 语言。然而,这些还不够,我们还需要记忆体,也就是关系型数据库。在 AI 应用中,它也有相应的记忆体,即向量。在大型模型中,它通过计算来存储自然的向量,并通过向量来表示各个节点之间的关系。向量数据库并不是现在才出现的,它的优势在于处理非结构化的数据,因为我们知道结构化数据对机器来说更友好。非结构化数据是指文档、文字、声音、视频等无固定格式的数据。与之相对的是结构化数据,例如表格或数据库中的数据。在过去,我们能够录制和存储视频、音频等非结构化数据,但一直没有一种基于这些数据进行计算的方式。
为了解决这个问题,我们引入了向量数据。向量数据库将现实中的非结构化数据转化为向量形式,每个数据都成为一个向量。当进行计算时,将数据转化为向量的原因是它已经变成了数值,可以进行计算。可以计算两个向量之间的距离,这个距离在向量化过程中具有实际意义,它表示相似度。
例如,如果将两句话“今天天晴”和“今天天气很好”存储在向量数据库中,它们将成为两个不同的向量。但是,这两个向量之间的距离非常接近,通过使用向量引擎将它们向量化,可以得到非常接近的距离。这具有实际意义,可以对非结构化的数据进行大量计算。
大模型运行环境
大模型通常需要大量的计算资源来进行训练和推理。强大的硬件算力,如高性能的 CPU、GPU 或 TPU,可以提供更快速和高效的计算能力,加速大模型的运行。较低的算力可能会导致运行速度变慢或无法完成任务。
目前市场上提供的算力服务包括 Google Colab、Hugging Face 以及国内公有云等等,可为学习和开发提供长期算力支持。
业界中有很多大厂正在努力降低 AI 和大模型对算力的要求,有人表示这一趋势符合摩尔定律,将会迅速下降。同时,还有各种算法优化和并行处理的可能性。虽然这些可能超出了我们目前个人的能力范围,但我们可以关注未来的发展,说不定哪一天在笔记本上都能够运行。
大模型获取方式
获取想要的大模型非常简单。像 Hugging Face 提到的类似于 GitHub 的开源模型库,提供了大量的开源数据集和预训练的大模型。开发者可以直接在这些库中搜索并下载所需的大模型,然后在本地环境中进行使用和运行。
二、AI 应用架构
![](https://static001.geekbang.org/infoq/87/879d3aca6709413037c75410387ccdda.png)
AI 应用的基本框架是用户输入在左边完成后,下方可以连接外部数据库和向量数据库。在中间是一个大模型,我们可以通过 API 的形式调用 AI 或者国内的文心一言等等来完成任务。另外,我们也可以选择自己部署一个开源的大模型,例如 ChatGPT 来进行基础的开发工作,这已经足够使用了。
模型层的代理层其实就是一个脚手架,通过代理机制利用大模型理解用户的需求,并将其切分为多个小任务,然后调用各种已知的工具来完成任务,当然这些工具需要事先告知给代理层。如何告诉工具需要做什么呢?一种常见的方式是通过查询和调用搜索引擎的 API。在这个 API 中,你只需要用自然语言写一段话,告诉它你想搜索人、事、物等方面的信息。当大模型在分解任务时,如果某个步骤需要查询某个人的信息,它会自主地调用这个工具。
注册过程实际上是将每个现有应用或外部系统的 API 进行简单的自然语言包装,以便在任何时候调用底层机制。它会观察结果,并根据满足要求与否来判断是否继续执行任务,直到任务完成。
整个机制还配合着向量数据库,该数据库专门为个人或特定场景提供服务。在企业场景中,大量的数据都是私有的,无论是结构化还是非结构化的,例如企业文档、规章制度、报告等都可以存储在向量数据库中。这样这个系统就能够成为企业私有的定制 AI 系统,用于回答内部问题。
说在最后
在 AGI(通用人工智能)时代的到来之际,大模型成为了推动 AI 技术发展和应用的关键驱动力。通过大模型,我们可以探索和实现更加复杂、智能的任务和应用,为人类社会带来巨大的变革。
正如我们在上文所说,获取想要的大语言模型已经变得非常简单。开源模型库、数据科学平台、云计算服务以及自行训练等方式,都为我们提供了丰富的资源和工具,让我们能够轻松地学习和探索大模型的世界。
通过学习大语言模型的原理、应用和开发技术,我们能够更好地理解和应用这一强大的工具。不论是从事研究、开发还是应用,学习和掌握 AGI 的知识和技能都将为我们的职业发展和个人成长带来巨大的机会和潜力。
版权声明: 本文为 InfoQ 作者【神州数码】的原创文章。
原文链接:【http://xie.infoq.cn/article/2ce8e692291b36f29cab01454】。文章转载请联系作者。
评论