构建具备自主性的人工智能系统——生成式人工智能基础

201 阅读37分钟

生成式人工智能已迅速成为人工智能(AI)和机器学习领域的一项变革性技术,正在彻底改变各行各业的创意流程和问题解决方式。它正在推动基于智能体的系统在自主性方面的边界。在本章中,我们将介绍生成式人工智能的基础知识。我们将探讨什么是生成式人工智能,并简要回顾其模型的发展历史。接着,我们将讨论几种不同类型的生成模型,包括变分自编码器(VAE)、生成对抗网络(GAN)、自回归模型以及Transformer模型。随后,我们将深入了解生成式人工智能的应用,并在章节末尾简要讨论其面临的一些局限性与挑战。

本章作为入门篇,将涵盖以下内容,为后续深入探索生成式AI赋能的自主智能体奠定基础:

  • 生成式人工智能简介
  • 生成式AI模型的类型
  • 生成式AI的应用
  • 生成式AI的挑战与局限性

通过本章的学习,你将全面了解生成式人工智能的基本概念、多样化应用及当前面临的挑战。同时,你也将认识到该技术的潜力与局限,特别是在推动智能体和具备自主能力系统发展方面所扮演的关键角色。

生成式人工智能简介

生成式人工智能(Generative AI)是指一类能够生成多种形式内容的人工智能技术,包括但不限于文本、图像、音频和视频。这些AI系统可基于其训练数据和输入参数(通常是文本提示,也可以是图像等其他形式的输入)生成全新的内容。近年来,生成式AI引发广泛关注,源于其强大的能力——通过新型用户界面,能够在几秒钟内生成高质量的文本、图像或视频内容。

用最简单的话说,生成式AI的核心是:生成看起来与训练数据类似的新数据。换句话说,它通过学习输入数据的底层模式、结构和分布,使模型内部形成一种机制,从而能够以相似方式创造新的数据。例如,如果模型在一个包含人脸的图像数据集上进行训练,它就能够生成一些现实中并不存在、但却极具真实感的新面孔。生成式AI模型的本质是学习数据集的概率分布,然后从中采样以生成新样本。这种方法与判别式模型不同,后者的目标是学会如何区分不同类别的数据。例如,一个判别式模型可以学会区分猫和狗的图片,而生成式模型则可以创作出全新的“猫”或“狗”的图片。

生成式AI的概念可以追溯到机器学习初期的发展阶段。尽管如此,这一领域直到最近几年,才因为神经网络的发展和计算能力的飞跃而成为热门研究方向。在早期的生成建模尝试中,常使用高斯混合模型(GMM)和隐马尔可夫模型(HMM)等较为简单的统计方法。尽管这些方法对建模复杂数据分布已有一定成效,但与当前深度学习方法相比,存在明显的局限。深度学习的出现标志着生成式AI领域的重大转折。2010年代初,变分自编码器(VAE)等模型开始出现,借助深度神经网络对更复杂的数据分布进行建模。同一时期,生成对抗网络(GAN)也被提出,首次利用博弈论思想,使两个神经网络协同工作来生成数据。这些突破大大推动了生成式AI在生成真实、高质量数据方面的能力。

生成式AI的应用有望在多个行业领域引发创新,如医疗、金融、教育、旅游与酒店业、制造业等。在创意产业中,它帮助艺术家与设计师突破思维局限,孕育出新颖且富有创意的内容。在医疗领域,它开辟了新药研发与个性化医疗的新路径。在商业领域,它通过个性化内容与用户体验,助力企业实现更高效的客户互动。与此同时,生成式AI也引发了人们对“创造力”与“原创性”的重新思考:当机器能生成与人类作品极为相似的内容时,我们不禁要质问:何为真正的创造力?谁才是真正的创作者?AI创作内容的伦理边界又应如何设定?

在理解了生成式AI的基本概念及其简史之后,接下来我们将探讨生成式AI模型的不同类型。

生成式AI模型的类型

生成式人工智能是一个令人振奋的AI分支领域,它通过学习已有数据集中的模式来生成新的合成数据,其目标是生成在统计特性和表现形式上与训练数据相似的输出。以下是几种最具代表性的生成模型的概述,包括:变分自编码器(VAE)、生成对抗网络(GAN)以及自回归模型。


变分自编码器(VAEs)

VAE 是目前最常见的生成模型之一,其核心思想是学习数据与潜在空间之间的概率映射关系,并能在两者之间相互转换。这意味着模型学会如何将真实数据编码成简化(压缩)后的表示形式,再从中解码回逼真的数据。VAE 旨在在确保高数据重建可能性的同时,保持一个结构良好的潜在空间,以便生成与训练数据相似的新样本。

常见VAE变体包括:

  • VAE(基本模型) :它通过编码器将数据压缩,再通过解码器将其重建,同时学习潜在空间的概率分布。通俗地说,VAE就像一个聪明的画家,能将一幅复杂的画压缩成简洁的草图(编码),再从草图还原出完整的画作(解码)。VAE 的特别之处在于,它不仅复制数据,更掌握了数据的“精髓”,能够创作出风格一致的新内容。例如,在药物研发中,AstraZeneca 的研究人员曾利用VAE探索化学空间并生成具有目标性质的新型药物分子,从而加速药物开发过程。
  • Beta-VAE:VAE的扩展版本,通过引入超参数,控制重建质量与潜在空间解耦之间的权衡。简单来说,Beta-VAE 更像是灵活版的VAE,它能引导模型不仅重建细节,也关注对关键特征的理解与分离。例如在机器人领域,Beta-VAE 能帮助机器人区分物体的颜色、形状和位置,使它们在各种场景中更加适应和高效。
  • 条件变分自编码器(CVAE) :通过在生成过程中引入额外信息(如类别标签),使模型不仅生成类似训练集的数据,还能根据特定条件生成样本。比如,一位画家不仅能随意作画,还能按要求画“风景”或“肖像”。在游戏开发中,CVAE 可用于程序生成角色、关卡、音乐等内容,极大提高开发效率与游戏多样性。

生成对抗网络(GANs)

GAN由两个神经网络组成:生成器和判别器。生成器负责生成合成数据,而判别器试图区分真假样本。这两个网络通过对抗性训练:生成器试图“欺骗”判别器,判别器则努力识别真伪。这种博弈机制让生成器逐渐掌握生成逼真数据的能力。

常见的GAN类型包括:

  • GAN(基础模型) :这是最基本的模型,也是许多后续创新的基础。可以将其想象成一位“造假者”(生成器)与一位“鉴定师”(判别器)之间的博弈,随着竞争的升级,生成器生成的数据越来越像真的。
  • 深度卷积GAN(DCGAN) :在基础GAN模型上引入了深度卷积神经网络,显著提升图像生成质量。它就像是从手工素描升级到了数码画室,能够创作更复杂、精致的图像,广泛应用于图像合成任务。
  • Wasserstein GAN(WGAN) :引入了Wasserstein距离作为新的损失函数,使训练更加稳定、样本质量更高。可以理解为改进了生成器与判别器之间的“交流方式”,帮助生成更一致、更高质量的结果。实际中,WGAN被用于生成医学图像,扩展诊断AI系统的训练数据,提高疾病检测的准确性。
  • StyleGAN:可生成高质量、极为逼真的图像,擅长分离“风格”与“内容”。StyleGAN2 和 StyleGAN3进一步提升了图像的真实感。可以把它想象成一位能将梵高的绘画风格应用到现代都市风景中的画家,广泛应用于头像生成、艺术创作等领域。

自回归模型与Transformer架构

自回归模型按顺序逐个生成数据点,每个点依赖于前面的输出。这种方式在文本生成、图像生成等序列结构任务中非常有效。

Transformer 架构 是2017年《Attention Is All You Need》论文中提出的一种模型架构,它彻底改变了自然语言处理(NLP)等顺序数据任务。其关键特点在于通过“注意力机制”捕捉远距离的依赖关系,实现更高效的训练与推理性能,成为ChatGPT、BERT等模型的基础。

image.png

这些关键组件包括以下内容:

  • 自注意力机制:一种计算技术,允许模型在处理每个元素时动态地关注输入的不同部分
  • 多头注意力:多个注意力机制并行运行,允许模型同时关注输入的不同方面
  • 位置信息编码:添加关于序列中每个元素位置的信息
  • 前馈神经网络:处理注意力层的输出
  • 层归一化和残差连接:增强训练稳定性和信息流动

变换器可以在自回归和非自回归配置中使用,使其在多种任务中具有灵活性。以下是一些示例:

  • PixelCNN:自回归地生成图像,逐像素生成,每个像素的生成都依赖于之前生成的像素。该模型在生成高质量图像时表现非常好,能够捕捉细节。
  • PixelSNAIL:在PixelCNN的基础上进行的改进,加入了注意力机制,能够捕捉像素之间的强依赖关系,从而生成更高质量的图像。
  • GPT:即生成预训练变换器,是一系列专注于文本生成的模型——即预测接下来应该出现的单词。包括GPT-2、GPT-3和GPT-4,这些模型在生成连贯且语境相关的文本方面取得了巨大的进步。
  • BERT:与GPT不同,BERT(双向编码器表示变换器)旨在理解文本中来自两个方向的上下文。它使用变换器的编码器部分,通常用于需要一次性理解整个输入的任务,而不是自回归地生成文本。
  • T5(文本到文本转移变换器):该模型将所有NLP任务框架化为文本到文本的格式。它使用完整的变换器架构(包括编码器和解码器),并能处理各种文本生成任务。

尽管任务的要求不同,这些模型展示了变换器架构如何适应自回归(如GPT)和非自回归(如BERT)任务,展现了其在处理序列数据方面的多功能性。生成模型在不同任务中具有不同的优势。此类模型能够从生成逼真的图像到生成连贯的文本,甚至创造全新的数据样本。

基于GPT等模型的成功,研究人员将这些架构扩展以创建大型语言模型(LLM)。这些模型通常在大量公开的网页文本和其他可 freely 获取的文本数据上进行训练,已经展示出在理解和生成类人文本方面的卓越能力,适用于各种应用,展现出它们的多功能性和先进的语言能力。LLM的例子包括GPT-3、GPT-4、PaLM和BERT-large。这些模型推动了NLP的边界,在从问答、摘要到创意写作和代码生成等任务中表现出色。以下是常见的LLM类型概述:

  • 自回归LLM:这些语言模型通常能够逐步生成文本,即一次生成一个标记。此类模型的常见任务包括文本生成、文本补全任务和创意写作。自回归LLM的流行示例包括GPT系列(GPT-3、GPT-4)和PaLM。
  • 仅编码器LLM:这些模型专注于自然语言理解(NLU)任务,即分析和理解输入文本,而不生成新文本。仅编码器LLM,如BERT及其变体(包括RoBERTa),专注于理解输入文本的上下文和含义。这些模型同时处理整个输入序列,从而能够捕捉上下文,帮助完成文本分类、命名实体识别(NER)和情感分析等任务。
  • 编码器-解码器LLM:这是编码器和解码器架构的组合,模型不仅能理解输入文本的上下文(NLU),还能够生成文本输出。T5模型就是一个非常流行的编码器-解码器LLM示例,此外还有BERT等模型。这些模型能够执行语言翻译、摘要生成和问答任务。
  • 多模态LLM:多模态是一个概念,意味着一个AI模型不仅能处理文本,还能处理图像、视频和音频等其他模态。多模态LLM可以处理和生成多种模态的内容,如文本、图像、音频、视频以及它们的任意组合。这些模型具有创新性,最近的计算技术进步使得训练多模态LLM成为可能。知名的多模态LLM有DALL-E、Stable Diffusion、Flamingo、GPT-4和LlaVa。
  • 指令调优LLM:LLM通常在大量公开的网页或其他文本上进行训练。因此,在某些情况下,这些模型可能无法有效地处理模型从未见过的数据,可能无法按照用户意图执行任务。例如,一本专有工具的制造手册可能包含领域特定的专有语言,而该模型在训练时可能没有接触过这些语言。在这种情况下,可以使用领域特定数据对LLM进行微调,以遵循特定的指令和提示。这种特殊的微调使模型能够在经过微调的特定任务上执行任务,除了它的其他能力外。InstructGPT就是这种类型模型的一个常见例子,研究人员在GPT-3模型上进行了特定指令的微调。这类模型广泛用于聊天机器人、虚拟助手和任务特定的应用程序。
  • 领域特定LLM:如前所述,尽管LLM通常在大量公开的通用网页数据上进行训练,但它们在领域特定的环境中可能表现不佳。虽然指令调优LLM是使这些通用模型适应领域特定任务的一种途径,但研究人员也创新性地从头开始训练领域特定LLM。这些模型在高度专业化的领域知识上进行预训练。例如,BioBERT模型是在超专业的医学数据上进行训练的,而LegalBERT是在法律文档上进行训练的。这些模型对于医学、法律、金融等特定领域中的专业任务非常有用。

LLM驱动的AI代理

前面讨论的每种LLM类型都有其独特的优缺点,适用于不同的应用场景。然而,本书的重点将是深入探讨LLM代理的能力,并探索如何利用它们构建先进的系统。需要注意的是,LLM代理并不完全适用于单一类别,因为它们代表了LLM技术的高级应用,而非某种特定的模型架构类型。代理通常使用指令调优的LLM作为基础,并结合其他组件和能力,正如本书中将进一步讲解的那样。

让我们看一个简单的例子,展示由LLM驱动的代理系统的能力。我们的例子是一个旅游网站,里面有一个航班预订助手聊天机器人,这是一个由LLM构建的对话界面。它可以通过类人对话帮助客户预订机票。在后台,聊天机器人可以在对话进程中执行各种任务。以下是一个示例对话,客户希望预订机票:

航班预订助手

您好,我想预订一张机票。
🤖
你好!我很乐意帮助你预订机票。为了开始,能否告诉我您的出发城市和目的地?

我想从圣地亚哥飞往旧金山。
🤖
太好了,谢谢提供这些信息。您是想从圣地亚哥(SAN)飞往旧金山国际机场(SFO)。为了帮助您找到最合适的航班,我还需要一些其他信息。

  1. 您的首选旅行日期是什么时候?
  2. 是单程票还是往返票?
  3. 您有多少乘客?

我想下周五去,周日回来。只有我一个人。
🤖
感谢您提供的额外信息。让我总结一下到目前为止的信息:

  • 出发:圣地亚哥(SAN)到旧金山(SFO)
  • 出发日期:下周五 - 2024年08月23日
  • 返回日期:周日 - 2024年08月25日
  • 乘客:1名成人
    在我为您搜索航班之前,我还有几个问题:
  1. 您对航班的时间有偏好吗(早晨、下午或晚上)?
  2. 您有首选航空公司吗,还是愿意选择所有航空公司?
  3. 您偏好什么舱位(经济舱、优质经济舱、商务舱还是头等舱)?

我更喜欢早晨的航班。不指定航空公司,经济舱就可以。
🤖
感谢您提供的信息。我将为您的行程搜索所有航空公司提供的早晨航班,舱位为经济舱。请稍等片刻,让我为您找到最好的选择。
[正在搜索航班,请稍等....]
🤖
我找到了一些适合您的航班选项。以下是最佳的早晨航班:
出发(SAN到SFO) - 下周五:

  1. 联合航空UA1234:早上7:15起飞,早上8:45到达
  2. 阿拉斯加航空AS5678:早上8:30起飞,早上10:00到达
    返回(SFO到SAN) - 周日:
  3. 达美航空DL9876:早上9:00起飞,早上10:30到达
  4. 西南航空WN5432:早上10:15起飞,早上11:45到达
    往返票总价,包括税费为:
  • 选项1(联合/阿拉斯加):325美元
  • 选项2(达美/西南):310美元
    您偏好哪一个选项?还是希望我继续寻找其他航班?

第二个选项不错。可以帮我预订吗?
🤖
当然!我很高兴为您预订第二个选项。请确认一下,我将为您预订以下行程:
出发:阿拉斯加航空AS5678

  • 日期:2024年08月23日
  • 从圣地亚哥出发,8:30 AM起飞,10:00 AM到达SFO
    返回:西南航空WN5432
  • 日期:2024年08月25日
  • 从SFO出发,10:15 AM起飞,11:45 AM到达圣地亚哥
    总价:310美元
    为了继续预订,我还需要一些额外信息:
  1. 您的全名(与政府颁发的身份证上的姓名一致)
  2. 您的出生日期
  3. 您的电子邮件地址(用于发送确认邮件)
  4. 您的电话号码
  5. 任何特殊要求(例如餐食偏好、座位选择)
    另外,请注意,您需要提供支付方式才能完成预订。您准备好提供这些信息了吗?

是的,我准备好了。我的名字是John Smith,出生于1985年05月15日。我的电子邮件是john.smith@email.com,电话是555-123-4567。没有特殊要求。
🤖
感谢您提供这些信息,Smith先生。我已经将您的详细信息输入预订系统。以下是我所拥有的信息摘要:

  • 姓名:John Smith
  • 出生日期:1985年05月15日
  • 电子邮件:john.smith@email.com
  • 电话:555-123-4567
  • 特殊要求:无
    最后一步是处理310美元的航班费用。出于安全原因,我不能直接在这个聊天中接受信用卡信息。我将向您的电子邮件地址(john.smith@email.com)发送一个安全的支付链接。
    收到电子邮件后,请通过链接完成支付过程。支付成功后,您将收到另一封包含航班确认和电子机票的电子邮件。
    可以继续发送支付链接到您的电子邮件吗?

可以,请发送支付链接。
🤖
很好,Smith先生。我已启动向您的电子邮件地址(john.smith@email.com)发送安全支付链接的过程。您应当在接下来的几分钟内收到它。如果没有立刻看到,请检查您的收件箱和垃圾邮件文件夹。
支付完成后,系统将自动处理您的预订,并向您发送确认邮件和电子机票。该邮件将包括以下重要信息:

  1. 预订确认号码
  2. 详细的航班行程
  3. 办理登机手续的说明
  4. 行李配额信息
  5. 航空公司联系方式
    收到确认邮件后,请核对所有详细信息,确保一切无误。如果有任何问题或需要帮助,随时联系我们。
    还有其他问题或需要帮助的地方吗?

没有了,谢谢你的帮助!
🤖
不客气,Smith先生!很高兴能帮助您预订从圣地亚哥到旧金山的航班。如果您在此预订过程中或旅行中有任何问题,随时联系我。我们24/7提供服务。祝您下周的旧金山之行愉快!

表面上看,这个例子似乎非常直接。然而,背后实际上发生了许多事情。首先,客户从一个模糊的请求开始,要求预订航班。AI助手理解到,为了继续处理该请求,它需要更多的信息来查找可用的航班,比如出发/到达城市、旅行日期等。

随着对话的进行,AI助手请求进一步的信息,以便成功完成预订。它在每个步骤中收集的信息会作为参数值来调用后台的航班预订相关API。例如,城市/旅行日期/乘客数量是使用名为flightLookup的(虚构)API来查找可用航班信息所必需的,而客户的姓名/电话/电子邮件则是使用名为bookFlight的API来实际进行预订时所需的,等等。图1.2概述了模型所做的决策、交互流程以及它调用的工具(API函数)来完成每个步骤:

image.png

除了仅仅调用工具之外,您还会注意到模型在对话开始时进行了一些自我反思,这也被称为思维链(CoT)。这意味着后台的模型在执行任务时会制定一个逐步的方法,并识别出一些缺失的信息。接着,模型会回应客户,要求提供所需的信息。随后,根据客户的输入,模型会自主做出一些决策,通过代理调用特定工具并完成任务。

除了外部工具和API,在设计这样的系统时,还有许多其他因素需要考虑。我们将在后续章节中详细介绍这些组件的基础知识。目前,了解代理是LLM(例如这个旅行预订AI助手)的高级应用,并代表了一个新兴领域,结合了不同LLM类型的各个方面以及其他AI技术,如强化学习、规划和工具使用。随着您在后续章节中进一步学习,您会发现代理被设计得更加互动、适应性强,并能够完成复杂的多步骤任务,相较于标准的LLM,这使得代理适用于各种复杂任务和工作流。

但在我们深入探讨代理系统的细节之前,让我们回顾一下生成式AI的一些应用。

生成式AI的应用

生成式AI具备跨越多个领域的创新能力。如前所述,医疗、金融、教育、媒体娱乐、营销、制造业、零售等行业都具有从生成式AI能力中受益的潜力。以下是生成式AI的几个主要应用:

图像和视频生成:多模态生成模型(即能够处理图像、文本、音频和视频的LLM)使得通过各种平台和工具生成逼真的音频/视觉内容成为可能。例如,在媒体和娱乐领域,生成式AI可以帮助生成视觉效果、设计头像以及开发虚拟现实内容。在时尚和设计行业,它被用于构思新服装设计、准备虚拟时装秀以及做出时尚趋势预测。在广告和推广领域,生成式AI被用于生成定制的广告、活动、营销沟通以及其他营销创意材料,如图像和标志。

文本和内容生成:生成式AI在文本相关任务上取得了显著进展。例如,内容写作(如快速无忧地生成文章、博客帖子、营销和产品文案)已经成为最常见的应用场景之一。聊天机器人和虚拟助手以非常类似人类的方式提供客户支持,处理信息相关的查询。生成式AI还在文本翻译、文档摘要和内容本地化方面提供帮助,从而提高平台(如在线学习和专门搜索引擎)内容的可访问性。

音乐和音频生成:创作原创音乐、音效和语音合成是生成式AI驱动的多媒体内容生成的另一种范式。实际上,这些内容在游戏和娱乐行业中被广泛应用,用于创建音频辅助的培训材料、自动化呼叫中心助手以及像Amazon Alexa或Google Nest这样的物联网设备,它们可以接收音频命令并使用语音响应完成自动化任务。

医疗和药物发现:生成式AI在医疗领域找到了一席之地。例如,设计新药物并预测其治疗疾病或其他疾病的能力;个性化医疗,依据每个患者的具体情况量身定制治疗方案;以及医学影像,通过提升影像质量和生成合成图像为研究提供帮助。

代码生成:代码生成是LLM的一个新兴特性,正在帮助开发人员进行软件开发。这些模型通常能够基于文本提示生成准确的代码片段,甚至有时可以生成完整的函数。生成式AI在代码生成中的高级应用包括为各种集成开发环境(IDE)创建的插件,如Visual Studio Code(VS Code),这些插件能够理解整个代码库的上下文,识别错误,生成代码文档并生成单元测试脚本。代码生成的另一种应用是文本到查询的用例,将自然语言提示转换为SQL查询,然后可以在数据库中执行,以获取所需结果。然而,这是一个需要特别谨慎对待的领域,特别是在执行LLM生成的代码之前,必须防止恶意代码执行的风险。在这些情况下,LLM生成的代码通常会在沙盒环境中执行并经过清理,以检查代码是否安全并适合在自动化环境中执行。

自主工作流和机器人技术:如我们之前简要讨论的,LLM驱动的AI代理是生成式AI的高级实现,LLM作为其基础。这些代理可以在各种应用场景中执行多个任务。例如,带有虚拟助手聊天机器人的旅行预订网站可以实现代理来自动化客户的旅行和酒店预订过程。在这些情况下,基于代理的系统可以通过理解客户与聊天机器人对话的上下文,使用工具(如调用航班预订API)来执行特定任务。更先进的基于代理的系统通常出现在机器人技术中,机器人主要由代理控制。机器人代理根据其环境或特定任务来决定采取哪些行动。它使用代理来执行LLM无法执行的动作;例如,代理可以控制机器人的肢体驱动器。机器人技术中的AI是一个新兴且开放的研究领域,尤其在制造业应用中涌现出许多创新。

这些只是生成式AI与LLM结合使用的一些常见应用示例。其他具体应用还包括时尚与设计、合成数据生成、个性化教育内容、金融建模与预测以及预测性维护等。以下是使用生成式AI的商业工具和开源工具的简要列表,涵盖了我们讨论的多个应用场景:

用例商业工具开源工具
视觉效果和头像设计Unreal Engine的MetaHuman Creator:用于创建高度逼真的数字人类,适用于游戏和电影NVIDIA Omniverse:用于3D设计协作和仿真,适合创建视觉效果
DeepFaceLab:用于换脸和创建数字头像StyleGAN:能够生成高度逼真的面孔,并可用于头像创建
虚拟现实内容开发Unity:虽然不完全是为VR设计,但具有强大的VR开发能力A-Frame:用于构建虚拟现实体验的Web框架
Adobe Aero:允许创建增强现实体验Godot:开源游戏引擎,支持VR
服装设计和虚拟时装秀CLO3D:用于创建虚拟时装秀的3D服装设计软件Browzwear:提供时尚行业的3D设计解决方案
Blender:主要是3D建模工具,但可用于时尚设计和虚拟秀
时尚趋势预测WGSN:用于时尚趋势预测的AI工具Heuritech:提供AI驱动的趋势预测
营销 – 广告生成和活动创建Jasper:AI写作助手,帮助创建营销文案Midjourney:AI图像生成工具,适用于创建营销视觉
GPT-J:开源语言模型,可为营销内容生成提供微调Stable Diffusion:开源图像生成模型,用于创建营销视觉
标志和图像创建DALL-E 2:可以根据文本描述生成独特的图像和标志Canva:虽然不完全是AI驱动,但集成了AI设计辅助功能
Stable Diffusion:可用于生成标志和图像
Craiyon(前身为DALL-E mini):DALL-E的开源替代品
文本和内容生成OpenAI的ChatGPTAnthropic的Claude AI
JasperCopy.ai
Anyword
Writer
WriteSonic
还有更多…
Mistral 7B:高效、精确的文本生成开源LLMLLaMA:一组开源预训练和微调生成文本模型,提供不同参数版本
BLOOM语言模型:一个由1000多名AI研究人员开发的大型开放访问AI模型,以其在文本生成中的鲁棒性和多功能性著称
还有更多…
代码生成GitHub CopilotAmazon Q for Developers
TabnineOpenAI Codex
还有更多…
Code T5:开源AI模型,专门为代码相关任务训练,可以生成代码片段、完整代码,甚至在编程语言之间进行转换
Polycoder:开源替代商业代码生成器,训练于大量跨多个编程语言的代码库,能够生成各种任务的代码
自主工作流和机器人技术UiPath:将生成式AI集成到其机器人过程自动化(RPA)平台中,利用AI发现自动化机会并增强文档理解和通信挖掘等任务Hugging Face:提供开源库,可用于在机器人和自主工作流应用中实现LLM
Automation Anywhere:将生成式AI集成到其自动化平台中,提供“自动化助理”功能,使用生成式AI加速开发人员生产力LangChain:开源Python库,用于开发基于LLM的应用,可用于创建更智能的自主工作流和机器人系统
NVIDIA:提供利用其AI框架(包括生成式AI能力)开发创新解决方案的AI工作流
OpenAI Gym:提供开发和比较强化学习算法的工具包,可以与LLM结合用于更先进的机器人应用

这绝不是目前市场上可用的商业和开源工具的完整列表,且这一领域的格局每天都在变化。我们正目睹大量新兴初创公司提供创新的生成式AI解决方案,同时也见证了新的模型提供商开发出比之前更强大、更便宜的LLM,这显示出生成式AI领域的动态和激动人心的前景。

生成式AI的挑战和局限性

尽管生成式AI具有巨大的好处,但它也面临着一系列挑战和局限性。在考虑将生成式AI技术应用于任何特定的用例时,必须非常小心地考虑这些挑战和局限性。以下是关于LLM的一些常见警告,以及应对这些挑战的一些方法的简要讨论。

数据质量与偏见

生成模型在很大程度上依赖于训练数据集的质量和多样性。任何使用偏见或不具代表性数据训练的模型都会产生带有相同偏见的输出,从而加剧现有的偏见,或者在训练数据中存在偏见时,可能导致某些群体的边缘化。

解决这一挑战的一种方法是确保数据集本身具有广泛的多样性和良好的数据质量,以涵盖多种视角。如同其他机器学习问题一样,数据分析和了解特征间的数据分布通常是有帮助的。数据分析可以揭示可能引入模型偏见的不平衡现象。有几种算法方法可以缓解训练数据中的偏见(例如,使用过采样或欠采样),但每种方法都有其优缺点。例如,假设在一个训练数据集中,Class 0数据的实例比Class 1数据的实例更多,从而导致数据集中的自然不平衡。当模型使用这样的数据集进行训练时,模型可能会在Class 0类型的数据上“过拟合”,并且对Class 0的数据变得更加熟练,甚至记住这些数据,而可能无法很好地处理属于Class 1的数据。这本质上会导致模型表现不佳,并展示出较大的偏见。以下图示展示了过采样和欠采样在这种数据集中的应用,旨在减轻偏见:

image.png

数据隐私

多项实验和研究证明,LLM(大语言模型)有泄露训练数据的倾向。如果模型在大量私人或专有信息上进行训练,这尤其成问题。特殊的提示技术和风格已经表明,仅仅通过诱导模型生成包括其训练数据集中的逐字文本就足够了。这些提示技术并不复杂,通常使得攻击者能够以非常简单且低成本的方式使模型泄露信息。例如,正如《从(生产)语言模型中可扩展地提取训练数据》一文所讨论的,研究人员仅花费200美元的API调用费用,使用提示注入技术迫使OpenAI的GPT-3.5模型泄露私人信息。泄露的信息包括人们的姓名、电子邮件和住址、电话等,这些信息无意中出现在模型的训练数据集中。尽管一些问题正在由模型提供商如OpenAI积极解决,但对于那些选择在内部训练自己模型的组织来说,这依然是个问题。

常见的缓解方法之一是对训练数据进行数据匿名化或伪匿名化,以在训练模型之前去除或模糊个人、私人或专有信息。这两种技术都涉及使用更小、更便宜且更快速的AI模型来执行分类和实体检测,从而识别训练数据集中是否存在个人或私人数据。一旦识别出私人信息,就可以将其模糊处理、遮掩或完全移除。需要注意的是,采取这些措施可能会对模型的表现产生不同的影响,因此必须进行特别分析,以确保这不会影响模型的性能。

计算资源

训练复杂的生成模型需要大量的计算资源,并且需要高计算能力;这通常使得训练大型语言模型在经济上变得非常昂贵且能耗高。尽管已经有几项硬件突破,使得训练此类模型成为可能,但访问这些硬件资源仍然非常昂贵、特权且有限。例如,最初为渲染高保真图形设计的图形处理单元(GPU)已经成为AI模型训练、微调和计算的关键。NVIDIA于2006年推出的CUDA架构使得GPU可以用于通用计算,现代GPU如NVIDIA的A100和H100已经专门针对AI工作负载进行了优化。然而,这些高端GPU的价格往往高达每单元数万美元。

训练像GPT-3这样的巨大模型估计仅计算资源就需要数百万美元。具体成本取决于模型大小、训练时长和硬件效率等因素。例如,训练GPT-3的计算资源费用估计约为400万到500万美元,而更近期的模型如GPT-4和PaLM的训练成本可能更高。除了硬件本身,基础设施成本,如电力消耗、冷却和数据中心空间,也非常高。由于这些高昂的成本,大型语言模型的训练主要由大型科技公司或资金充裕的研究机构进行。如今,云服务提供商提供了预训练模型和微调能力,使一些规模较小的组织和公众能够更便捷地进行LLM工作。克服这一挑战的一种方式是在小型语言模型(SLM)中寻找创新,这些模型更小,可以训练以完成特定任务。尽管这些模型的应用领域非常有限,但由于它们需要的计算资源远少于大型模型,因此训练这些模型的经济成本更低。

伦理和社会影响

生成式AI技术的进展暴露出一系列伦理和社会问题,以下是一些典型问题,但并非详尽无遗:

  • 深度伪造和虚假信息:生成式AI能够产生非常逼真的合成内容。如果发生这种情况,就可能产生深度伪造或虚假信息,这可能对隐私、安全甚至公众信任构成威胁。
  • 知识产权:开发与现有内容相当的内容过程引发了版权和知识产权问题。创作的原创性和正确的所有权所附带的法律复杂性可能令人困惑。
  • 工作岗位替代:经济学家通常淡化了关于内容生成和其他自动化任务领域的工作岗位流失的担忧。值得关注的是,随之而来的影响预计与关于重新技能培训和调整策略的研究相伴而来,这些策略可以帮助受影响的工人,同时为他们提供创业机会。

当谈到缓解社会和伦理影响时,问题更多的是哲学性而非技术性。尽管一些措施如深度伪造AI图像检测和私人数据检测方法是常见的策略,但社会影响在AI对社会的贡献以及现有或即将出台的政府监管框架的背景下是一个更大的问题。

泛化能力和创造力

这些生成式AI模型的一个大问题是它们的泛化能力非常差。更具体地说,它们很少生成与训练数据显著不同的内容。换句话说,它们在复制重复模式方面表现出色,但未能真正创造出原创或新颖的内容。因此,它们在资本“C”创造力方面的潜力仍然非常有限。

随着生成式AI的不断发展,它必定会引入新的挑战,正如我们正在见证的新研究和努力,旨在确保这一技术的合理和负责任的使用。

总结

生成式AI是一个快速发展的领域,具有巨大的颠覆潜力,能够改变各个行业和我们生活的各个方面。生成式AI的应用包括非常逼真的图像生成、文本生成、加速药物发现和丰富的创意表达等。

其中一个关键点是理解不同的生成模型,如变分自编码器(VAEs)、生成对抗网络(GANs)和自回归模型,这些模型能帮助我们了解技术是如何工作的以及它们可以应用的领域。然而,重要的是要说明生成式AI面临的许多问题和局限性,包括数据质量、计算资源、伦理问题,甚至是创造力。

在下一章中,我们将学习代理系统的原理,这包括代理性和自主性的概念、智能代理的特征、智能系统的各种架构以及多代理系统。

进一步阅读

  • 《Mastering Machine Learning Algorithms – 第二版》 by Giuseppe Bonaccorso
  • 《Machine Learning for Imbalanced Data》 by Kumar Abhishek and Dr. Mounir Abdelaziz
  • 《Generative AI with Python and TensorFlow 2》 by Joseph Babcock and Raghav Bali

参考文献