第 1 部分:关键概念和工作流程
常见的 AI/ML 生命周期包括数据收集、准备、训练、评估、部署和监控,所有这些都包含在 MLOps 管道中。
生成式人工智能 (GenAI) 是一项变革性技术,将在未来几个月和几年内继续对重大行业变革产生影响。目前,在其早期阶段,它已经引起了很多炒作;干扰了其承诺背后的根本性转变。
在企业中以可重复、可扩展和负责任的方式使用生成式人工智能,最大限度地降低人工智能安全、误用缓解和模型稳健性的风险,需要增强通用机器学习生命周期。
在本文中,我们将探讨在企业中采用生成式人工智能所需的初始细微差别和增强功能。
让我们首先对比人工智能/机器学习频谱中的几个术语。
预测人工智能和生成人工智能
生成式人工智能和预测式人工智能是两种不同类型的人工智能 (AI),用于不同的目的。生成式人工智能用于创建新内容,例如音乐、图像和文本,而预测式人工智能用于聚类、分类和回归,这些聚类、分类和回归通常依赖于监督学习和历史训练集,这些训练集创建用于预测未来状态或事件的模型。例如,在股票市场历史数据集上训练的预测人工智能模型可能能够预测股票的未来价格。
生成式 AI 模型是通过对一般示例的大型数据集(例如维基百科、commoncrawl 等)进行训练来构建的,然后使用该知识生成与训练数据类似的新示例。所以我们的想法是生成新数据。在猫图像数据集上训练的生成式人工智能模型可能能够生成与训练数据相似的新猫图像。
生成式人工智能模型通常用于创意应用,例如创作新的艺术作品或音乐作品。预测人工智能模型通常用于业务应用程序,例如预测客户行为或制定财务决策。
生成式人工智能和预测式人工智能模型都有可能在很多方面改善我们的生活。生成式人工智能模型可用于创建新产品和服务、自动执行任务并提高企业效率。预测人工智能模型可用于做出更好的决策、改善客户服务和预防犯罪。
然而,生成式人工智能和预测式人工智能模型也有可能被用于有害目的。生成式人工智能模型可用于制造假新闻或传播错误信息。预测人工智能模型可用于歧视人们或侵犯他们的隐私。
让我们强调一下生成式人工智能和预测式人工智能之间的对比:
生成式人工智能:
- 专注于使用深度学习算法(通常通过大型语言模型 (LLM) 的涌现行为)创建新内容,例如音乐、图像和文本。
- 涉及对一般示例的大型数据集(例如 Wikipedia、CommonCrawl 等)进行训练,并使用该知识生成与训练数据类似的新示例。
- 用于创意应用,例如创作新的艺术或音乐作品。
- 需要一种可重复、可扩展且负责任的方法,最大限度地降低人工智能安全、误用缓解和模型稳健性的风险。
- 需要数据收集、准备、培训、评估、部署和监控,所有这些都包含在 MLOps 管道中,但需要在企业中采用生成式 AI 所需的特定细微差别和增强。
预测人工智能:
- 专注于对未来状态或事件进行预测,通常依赖于监督学习和历史训练集来创建聚类、分类和回归模型。
- 涉及对历史数据集进行训练并根据该数据进行预测。
- 用于商业应用程序,例如预测客户行为或制定财务决策。
- 需要一种可重复、可扩展且负责任的方法,最大限度地降低人工智能安全、误用缓解和模型稳健性的风险。
- 需要数据收集、准备、培训、评估、部署和监控,所有这些都包含在 MLOps 管道中,但需要在企业中采用预测 AI 所需的特定细微差别和增强。
负责任的人工智能
无论我们是在做预测人工智能还是生成人工智能,我们都需要结合负责任人工智能的原则。负责任地使用人工智能模型并了解潜在风险以及如何检查和减轻风险非常重要。我们需要纳入和制定道德准则,以最大限度地减少人工智能安全问题,阻止人工智能模型的滥用/误用,并监控和保护这些技术的开发和使用的模型稳健性。
作为人工智能的一个子领域,生成式人工智能专注于使用深度学习算法,通常通过大型[语言]模型的涌现行为来创建新内容,例如音乐、图像和文本。 (法学硕士)。这是一个快速发展的领域,应用范围从艺术和娱乐到科学发现和营销内容生成。
作为一个快速发展的领域,有可能彻底改变许多行业,我们不仅需要认识到前景,还需要认识到需要解决的挑战,并在生成式人工智能被广泛采用之前权衡妥协,这将成为广泛采用的闸门采用已经开放,并且炒作大量。在狂热和喧嚣中,继续开发公平、准确、安全的生成式人工智能模型仍然很重要。同样重要的是关注并倡导制定有助于确保负责任地使用生成式人工智能的法规。
生成式人工智能生命周期
下面的图 1 描述了整个 GenAI 生命周期。
图 1:生成式 AI 生命周期
现在,让我们深入了解生命周期中的每个主要阶段,并了解该阶段、其任务以及可能或多或少特定于 GenAI 的潜在细微差别和注意事项。
数据收集和准备
- 数据收集:从各种来源收集数据,包括互联网、社交媒体、传感器以及 Google BigQuery 或 Google Cloud Storage 等最佳数据仓库。在收集数据来训练生成式 AI 模型时,请确保数据集代表不同的观点、背景和来源。请谨慎仅依赖单一来源或域的数据,因为这可能会引入偏差。
- 数据创建:可选择生成/使用合成数据来扩充现有数据集,以在经过训练的模型上实现更好的性能指标。
- 数据管理:通过过滤、转换、集成和标记数据来清理和组织数据,以进行监督学习。程序化标签可能是我们加速训练和微调不可或缺的一部分。
- 功能存储:存储经过精心策划和准备的功能的黄金标准。我们这样做主要是为了整个企业以及与之相关的可能项目的人工智能治理和一致性;我们需要存储和管理训练和推理中使用的特征;通常区分静态和动态或训练时间和运行时间特征存储功能。希望为开发团队提出的问题提供答案:“我们从哪里获取数据?谁接触了数据?他们在管理/标签过程中是否对数据产生了偏见?”例如,您可以使用Vertex AI Feature Store来支持此任务。
- 数据偏差检查。这是机器学习生命周期中的重要步骤,特别是对于生成式人工智能模型而言,以确保训练数据和生成的内容公平、无偏见并代表底层数据分布。生成式人工智能模型中的偏见可能会导致生成的输出强化刻板印象、歧视某些群体或歪曲现实。在收集和整理数据后,我们可以立即解决预测和生成人工智能中的数据偏差。通过将数据偏差检查纳入生成人工智能的机器学习生命周期中,我们可以努力创建能够生成公平、公正和代表性内容的模型,最终确保我们开发的人工智能系统符合道德准则和社会价值观。
数据检查:检查收集的数据以识别潜在的偏差或不平衡。这可以通过探索性数据分析、可视化或统计测试来完成。分析数据中的潜在问题,例如某些群体的代表性不足、特定主题的代表性过高或情绪分布不均。
偏差缓解技术:应用各种技术来减轻数据中已识别的偏差。这些技术可能包括重新采样、重新加权或生成合成示例以平衡数据集。此外,请考虑在模型训练过程中使用去偏差算法,以尽量减少偏差对模型输出的影响。
模型评估:开发专门评估模型的公平性和偏差的评估指标和技术。这些可能包括测量模型在不同人口群体中的表现,评估生成样本的多样性,或者在给出容易产生偏差输出的提示时分析模型的行为。
持续监控:部署生成式人工智能模型后,监控其性能和输出,以确保不会随着时间的推移出现偏差。设置反馈循环来收集用户反馈和输入,这可用于识别和解决任何新发现的偏见。
透明度和问责制:记录并分享为解决生成人工智能模型中的数据偏差而采取的步骤。向最终用户和利益相关者传达模型的局限性和潜在偏差,培养信任并为模型的性能设定切合实际的期望。
模型训练与实验
- 实验:这是机器学习的游戏名称。
- 预训练模型训练:使用预训练模型作为起点训练模型
- 微调模型:使用新数据或新任务更新现有模型
- 模型注册:这是模型治理和模型风险管理的手段和机制。要使用模型注册表,我们将存储和管理模型以进行版本控制、重用和审核,标记模型的元数据以查看数据的来源(数据来源、沿袭)、模型的训练方式等。
分布式训练
- 数据并行性:将数据分割到多个设备上并同时训练它们以加快训练速度
- 模型并行性:将模型拆分到多个设备上并同时训练它们以将更大的模型装入内存
- 联合学习:跨多个设备或组织协作训练模型,同时保护隐私和安全。
模型适配
迁移学习
使预训练模型适应新领域或任务
微调模型
使用新数据或新任务更新现有模型
人工智能安全缓解
通过减少误用、提高稳健性并确保隐私和安全,确保模型安全、符合道德且值得信赖。
蒸馏
通过使用学生/教师的几次学习方法来训练更小的模型,或者修剪模型以获得更小占用空间的可部署模型,来训练或创建具有类似性能和下游任务功能的更小的模型。
有多种方法可以提取大型语言模型 (LLM),以获得具有可比较性能的小得多的模型。让我们探讨一些常见的方法。
- 修剪:这涉及从 LLM 中删除不重要的权重或神经元,同时保持其准确性。可以使用各种技术来完成剪枝,例如基于幅度的剪枝、基于灵敏度的剪枝和权重倒带。
- 量化:这涉及降低 LLM 权重和激活的精度。例如,最初表示为 32 位浮点数的权重可以量化为 8 位整数。这减少了模型的内存占用,而不会显着影响其性能。
- 知识蒸馏:这涉及训练一个较小的模型来模仿法学硕士在一组训练示例上的输出。这个想法是将知识从较大的模型转移到较小的模型。这种方法可用于训练比原始模型小几个数量级的模型,而精度仅略有下降。
- 低秩分解:这涉及将 LLM 的权重矩阵分解为低秩矩阵。这减少了模型中的参数数量,同时保持了其准确性。
- 紧凑嵌入:这涉及减少 LLM 输入和输出嵌入的维数。这减少了模型中的参数数量并加快了推理速度。
- 架构变更:这涉及更改法学硕士的架构以使其更加高效。例如,可以修改变压器架构以减少其内存占用,或者可以减少注意力头的数量。
- 参数共享:这涉及在模型的不同部分之间共享参数。例如,相同的权重矩阵可以用于神经网络中的多个层,从而减少参数数量并提高模型的效率。
根据具体的使用案例,可以结合使用这些技术来实现所需的性能和效率水平。
另一种方法是师生几次拍摄方法来生成较小的模型。这种方法实际上是知识蒸馏的一种变体,但它特别关注小样本学习——从少量示例中学习的能力。
在教师-学生 [1] 少样本方法中,大型 LLM(教师模型)用于生成合成示例,这些示例用于训练较小的 LLM(学生模型)。这个想法是使用教师模型来生成代表自然语言基本分布的示例,即使学生模型仅接受少量示例的训练。
师生过程包括以下步骤:
- 在大型文本语料库上训练大型 LLM(教师模型)。
- 通过从模型的分布中采样或使用特定提示,使用教师模型生成综合示例。
- 在少量标记示例以及教师模型生成的合成示例上训练较小的 LLM(学生模型)。
- 在小型验证集上微调学生模型以优化其性能。
师生少样本方法可以显着减少训练高质量法学硕士所需的示例数量。这在标记示例稀缺或需要对特定领域或任务进行微调的情况下特别有用。然而,应该注意的是,教师模型生成的合成示例的质量会影响学生模型的性能。因此,在使用合成示例来训练学生模型之前,仔细评估合成示例的质量非常重要。
模型部署
让我们讨论如何使用Google Cloud 的 Vertex AI端点为模型提供服务。在 Vertex AI 端点上提供模型涉及将模型打包到容器映像中、将映像上传到容器注册表、在 Vertex AI 控制台中创建模型资源和端点、将模型部署到端点、测试端点以及监控它的性能。
- 准备模型。首先,您需要准备经过训练的模型以进行部署。这通常涉及将模型和任何所需的依赖项打包到容器映像中,例如 Docker 映像。
- 上传容器镜像。接下来,您需要将容器映像上传到容器注册表,例如 Google Container Registry。这将使您能够轻松地将映像部署到 Vertex AI 端点。
- 创建模型资源。在 Vertex AI 控制台中,创建一个代表您部署的模型的模型资源。这涉及指定模型的名称、描述以及可能需要的任何其他元数据。
- 创建一个端点。创建 Vertex AI 端点来为您的模型提供服务。这涉及指定端点的名称、描述以及将部署该端点的区域。
- 部署模型。创建端点后,您可以将模型部署到端点。这涉及指定要使用的容器映像以及任何所需的设置,例如要部署的副本数量。
- 边缘计算。在边缘设备上部署模型,以实现低延迟、隐私保护和实时推理。用于边缘计算的提炼模型(如法学硕士或基础模型)通常非常庞大,不适合小型设备的占用空间。
- 云部署。在云平台上部署模型,以实现可扩展性、可访问性和成本效益
5.1 测试端点。部署模型后,您可以通过向端点发送示例请求来测试端点。这将允许您验证端点是否正确为模型提供服务以及模型是否正在生成准确的预测。
5.2 监控端点。部署端点后,您应该监控其性能以确保其满足所需的服务级别协议 (SLA)。这可能涉及监控延迟、吞吐量和错误率,并根据需要进行调整。
监测和治理。监控模型性能、检测问题并强制遵守法规和政策。
6. 服务
以下是服务模型或运行推理/生成内容的一些注意事项:
- 准备输入数据。加载模型后,下一步是准备将输入模型的输入数据。这可能涉及对输入数据进行预处理,例如将文本转换为数字嵌入或调整图像大小。
- 将输入提供给模型。输入数据准备好后,可以将其输入到加载的模型中进行推理。这通常涉及调用模型
predict
或generate
方法并传入输入数据。 - 生成输出。然后模型将根据输入数据生成输出。根据具体任务和模型架构,输出可以采用多种形式。例如,生成文本模型可以生成单词或句子的序列,而生成图像模型可以生成图像或图像序列。
- 对输出进行后处理。生成输出后,可能需要进行后处理以使其可用于下游任务。这可能涉及将数字嵌入的输出转换为文本、调整图像大小或应用其他转换。
模型维护
- 数据和模型漂移。监控和管理数据分布和模型性能随时间的变化
- 模型版本控制。管理模型的不同版本以实现可追溯性、可重复性和比较
- 提示调整、提示设计:优化语言生成模型中使用的提示,以提高质量、连贯性和相关性。
性能优化
- 硬件加速。针对特定硬件加速器优化模型,提高推理速度和效率
- 量化。通过将模型转换为较低精度的数据类型来减少模型大小和计算要求
- 修剪。通过删除不重要的权重和神经元来减少模型大小和计算要求。
即时调整、即时设计、指令调整
比较和对比我们调整或定制模型的各种方法非常重要。
及时设计。在此阶段,您设计将用于从语言模型生成响应的初始提示。应精心设计提示,以引发所需类型的响应,并为模型提供足够的上下文以生成连贯且相关的输出。
及时调音。有了草稿提示后,您需要对其进行微调,以提高语言模型生成的响应的质量。这可能涉及调整提示的措辞、调整提供的详细程度,或添加额外的上下文或约束来指导模型的输出。
指令调优。除了调整提示本身之外,您可能还需要向模型提供其他说明或指导,以帮助它生成您正在寻找的输出类型。这可能涉及指定输出的某些标准、提供示例输出以用作参考,或者对生成的文本的内容或样式设置约束。
微调。一旦您为模型提供了精心设计的提示和清晰的说明,您就需要微调模型本身以优化其在特定任务上的性能。这涉及在示例数据集上训练模型并调整其参数以最小化损失函数并提高生成文本的质量。微调的目标是创建一个模型,该模型可以持续生成满足提示和说明中指定的标准的高质量响应。
变体 1:先行 GenAI
通过基于提示的人机交互大幅缩短应用程序开发时间
生成式人工智能高效的方式之一是我们可以在软件开发生命周期的早期阶段使用它。通过快速将合成数据集原型化为代码生成片段,我们可以通过使用提示设计来加快流程,以产生更快的周转并突破最初的疑虑障碍,以达到明确的解决方案路径:我将使用这种类型的数据和这种类型的算法来完成这个特定的任务。
因此,您几乎可以将生成式 AI 生命周期视为从即时设计或调整开始,并并行或在确定初始原型可行之后收集数据。
快速设计和调整可以纳入 GenAI 生命周期的早期阶段,甚至在数据准备阶段之前就可以优化 AI 模型的性能和有效性。这有助于确保人工智能模型更好地符合项目目标,并为后续输入、提示和推理提供一组更准确、更相关的响应。早期阶段的相关任务包括以下内容。
当您在 GenAI 生命周期的早期阶段开始快速设计和调整时,您可以为下一阶段和任务奠定经过验证的坚实基础;甚至通过关注您需要的数据以及如何利用生成的数据来指导数据准备来进行数据准备。这也适用于模型训练、调整和部署阶段。基于 GenAI 生命周期提示的变体为我们提供了一种主动的提示优化方法,可以实现更高效的 AI 开发生命周期和生成的模型。通过这种方式,我们可以更好地实现预期目标,并在特定生命周期任务或行业领域提供改进的性能。
问题制定和规划
在开始数据准备之前,必须定义您希望人工智能模型解决的问题。在此阶段,您可以确定模型应能够处理的特定任务或指令。这有助于为稍后设计适当的提示和规划潜在的调整策略奠定基础。
初步研究与探索
在此阶段,您可以探索现有的人工智能模型和解决方案,以了解它们的优点、缺点和局限性。这可以让您深入了解哪些即时设计策略或调整技术可能对您的特定问题有效。此外,您还可以收集有关在即时设计或调整期间可能需要解决的潜在陷阱和挑战的信息。
设计和原型制作提示
您可以在此过程的早期开始对潜在提示进行原型设计,而不是等到数据准备阶段。这使您能够尝试不同的措辞、上下文和格式来测试 AI 模型的响应能力和有效性。在此阶段,迭代和完善提示设计以优化 AI 模型的性能至关重要。
反馈与协作
在 ML 生命周期的早期阶段与领域专家或目标用户合作可以帮助您深入了解 AI 模型的特定需求和要求。这种反馈对于塑造您的即时设计或调整策略以及确保人工智能模型在其预期领域的相关性和有效性来说非常宝贵。
结论
人工智能是一个压倒性的加速领域,有可能彻底改变许多行业和我们的工作方式,并使生产力提高 10 倍,但如果没有 Responsible AI,可能的风险也会降低 -10 倍。
人工智能的两种主要类型是生成式人工智能和预测式人工智能,它们用于不同的目的。了解这两种类型的人工智能之间的差异对于该领域的任何人来说都至关重要。
生成式人工智能和预测式人工智能都有可能在很多方面改善我们的生活,但它们也有可能被用于有害目的。因此,纳入和制定道德准则,最大限度地减少人工智能安全问题,阻止滥用/误用人工智能模型,并监控和保护这些技术的开发和使用模型的稳健性至关重要。由于采用的闸门已经打开,重要的是继续开发公平、准确、安全的生成式人工智能和预测式人工智能模型,并倡导制定有助于确保人工智能应用的法规。被负责任地使用。
以下是采用生成式人工智能时对传统人工智能生命周期的关键补充:
- [基于提示的原型设计]。在这个起始阶段的变体中,在 GenAI 生命周期中的数据准备之前,我们主动专注于设计和测试 AI 语言模型的候选提示。该方法允许对数据集、格式、各种输入短语、上下文和格式进行实验,以评估模型在解决所需任务或目标方面的性能。根据性能迭代和细化提示有助于识别和解决模型理解和输出中的潜在问题。通过尽早实施基于提示的原型设计,您可以更好地将 AI 模型与其预期目的结合起来,最终实现更有效的数据准备策略。
- 数据生成和程序化数据标记:除了数据收集和准备之外,生成式人工智能还需要使用或创建大型数据集来训练生成模型。这涉及生成合成数据或使用无监督学习技术从现有的未标记数据中学习模式。
- 提示、指导和微调。使用 GenAI 作为人类增强机制,这对模型使用和人机交互以提高效率和生产力具有巨大影响。
- 模型选择:多个模型花园和中心的模型如此之多,哪些可供选择?
- 模型评估:传统的模型评估技术,如准确率、精确度和召回率,可能不适合评估生成模型。需要制定新的评估指标,例如样本多样性、质量和一致性。
- 可解释性:生成模型可能难以解释,了解它们如何生成输出对于确保负责任地使用它们非常重要。可视化、归因和反事实分析等技术可用于提高可解释性。
- 负责任的人工智能和道德考虑:生成式人工智能可能会引发与偏见、公平、隐私和安全相关的道德问题。这些问题需要通过制定道德准则、透明度和问责机制来解决。
- 蒸馏:针对成本和边缘计算限制创建更小的可部署模型。
- 部署:生成式人工智能模型可能具有与传统预测模型不同的部署要求。它们可能需要专门的硬件、更长的推理时间和不同的部署架构。
- 调整:即使在部署之后,也可以调整已部署的模型以构建所需的响应类型。
- 监控:随着时间的推移,生成模型可能会产生意想不到的输出,监控其性能对于确保其持续的可靠性和安全性至关重要。漂移检测和反馈循环等技术可用于监控和改进模型性能。