InstructLab 是什么?

一名男子坐在多台电脑显示器前

作者

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

InstructLab 是什么?

InstructLab 是一种旨在显著改进生成式 AI 应用程序开发所用 LLM 的 AI 模型训练方法。

Instruct Lab 由 IBM Research 和 RedHat 共同开发,作为开源项目,其依托全球开发者社区(称为 InstructLab 社区)进行构建与维护。

InstructLab 项目旨在解决制约大型语言模型 (LLM) 开发的核心难题:训练与数据收集的成本及复杂性,以及技能与知识注入的困难。

《福布斯》报道,InstructLab 不仅提升了 LLM 性能,更解决了传统训练中的多项扩展性挑战,使企业无需再构建和维护多个 LLM。这一成果主要得益于 IBM 研发的 LAB LLM 训练法(全称为聊天机器人大规模对齐技术)。

什么是聊天机器人大规模对齐 (Lab)?

当今最强大的聊天机器人(如 Siri、Alexa 和 ChatGPT)都依赖于经过预训练的大语言模型,这使得它们能在 AI 对齐过程中快速学习任务。但让人工智能达到此水平可能成本高昂且耗时良久,且最终产生的模型往往缺乏应对复杂、微妙、类人情境所需的深度。根据 IBM 商业价值研究院的数据,企业高管预计计算成本平均将攀升近 90%,这主要源于为生成式 AI (gen AI) 应用程序构建大语言模型的需求。

聊天机器人大规模对齐 (LAB) 是一种为组织需要聊天机器人完成的特定任务合成生成数据的方法。与传统训练方法不同,它能使聊天机器人快速吸收新信息并学习新技能,且不会覆盖已掌握的内容。  

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

InstructLab 如何运作?

InstructLab 在大语言模型 (LLM) 开发和维护方面的方法与其他 模型不同,它将这一过程牢固交托于全球开发者社区手中,此过程被称为开源 AI。正如开源软件让开发人员能参与代码和功能开发,开源 AI 使他们能够添加新技能与功能,并在现有模型上快速迭代。

基于 LAB 方法支撑的 InstructLab,其构建 LLM 的路径在三个关键层面独具特色:

  • 分类法驱动的数据整理
  • 大规模合成数据生成
  • 大规模对齐调整

分类法驱动的数据整理

在 LLM 训练中,分类法是指一种层级化结构,用于对 LLM 目标应用程序所需的核心技能与知识领域进行系统归类。例如,应用于自动驾驶的 LLM 分类法,与用于医学研究的模型分类法存在显著差异,正如赛车手需掌握与医生截然不同的技能体系。

InstructLab 的数据经过结构化处理,使其易于被模型现有技能和知识库所理解。InstructLab 的简洁结构使开发者能直观识别知识缺漏,并针对性地补充技能。这种分类法驱动的数据整理机制,还支持为特定新用例(如科研或特定物联网 (IoT) 应用)定制模型,并赋予相应技能。

为此,InstructLab 方法高度依赖 YAML(“YAML 不是标记语言”或“另一种标记语言”),该标准化数据格式能实现人机皆易解析的数据呈现。YAML 方法为 InstructLab 流程中的下一个关键步骤——大规模合成数据生成——铺平了道路。

大规模合成数据生成

当特定模型所需的训练数据整理完成后,模型即可基于训练数据自行生成数据,此过程称为合成数据生成。InstructLab 在 LLM 训练中这一步骤的独特之处在于其执行规模及生成数据的精确性。InstructLab 的方法再次依托聊天机器人大规模对齐 (LAB) 技术,通过引入自动化步骤进一步优化 LLM 生成的答案,确保其准确性。

此步骤中生成的新数据对所有 LLM(不仅限于 InstructLab 的 LLM)的训练至关重要,其依赖于所谓的“教师”模型——这种更庞大的模型可为更精简高效的“学生”模型生成用于学习的标签与数据。

采用 LAB 方法的 InstructLab LLM,实际并不使用教师模型存储的数据,而是通过特定提示词在指数级扩充数据集的同时,确保“学生”模型生成的示例始终与 LLM 的预设目标保持一致。

IBM Research 称,该方法“系统化生成对应聊天机器人目标任务的合成数据,使基础模型在吸收新知识与能力时,不会覆盖已掌握的内容”。

大规模对齐调整

在 InstructLab/LAB 流程的最后阶段,LLM 将基于其持续学习的合成数据进行再训练,以此精炼技能并提升回答准确度。该最终步骤分为两个阶段:

  • 知识调整:知识调优是通过引入需要简短与详尽回答的新事实,并评估这些回答的准确性,来提升 LLM 基础知识能力的训练。
  • 技能调整:完成知识训练后,模型将进行技能调整,作为部署前的最终准备环节。在技能调整阶段,模型会针对其所需特定技能(取决于预设用途)相关的数据样本进行训练。例如,在此训练阶段,客服聊天机器人可能需基于数千小时的客户咨询记录文本进行训练。
Red Hat

使用 Red Hat Openshift on IBM® Cloud 启用 AI 能力

了解如何使用 Red Hat OpenShift on IBM® Cloud 来实现灵活、可扩展的机器学习运营平台,并获得用于构建、部署和管理支持 AI 的应用程序的工具。

InstructLab 与传统 RAG 的差异

采用传统方法训练的大语言模型通常使用检索增强生成 (RAG) 技术,通过更具针对性的领域专项训练来补充知识。对于需要在保留专有数据控制权的前提下,为特定目的向基础模型添加专有数据的企业而言,RAG 是实用工具。

InstructLab/LAB 方法可与传统 RAG 流程实现相同目标,但其并非简单添加现有特定知识,而是更侧重于通过社区终端用户的贡献来构建相关知识体系与技能。企业为特定目标微调 LLM 时,可协同运用 RAG 与 InstructLab/LAB 以获得理想效果。

InstructLab 的模型训练基础设施

随着 AI 应用需求日益增长,支撑它们的 LLM 正变得更大更复杂,进而对底层 AI 基础设施提出更严苛的要求。与其他先进模型训练方法相同,InstructLab/LAB 依赖于 GPU 密集型基础设施,该设施需满足性能基准要求,以便根据全球开源社区在 github.com/instructlab 的贡献持续对 AI 模型进行再训练。

值得庆幸的是,IBM 致力于提供所有必要的数据存储、管理、工作流及实践方案,以确保 LLM 项目取得成功。

为什么 InstructLab 很重要?

当今,从生成式 AI 聊天机器人、编程助手到边缘计算、物联网 (IoT) 应用等领域,最令人瞩目的 AI 用例都由 LLM 支撑。这些模型既可以是 OpenAIClaude 等专有模型,也可以是如 MistralLlama-2IBM 的 Granite 模型那样在预训练数据层面遵循开源原则的模型。

InstructLab 的卓越之处在于它能使用公开模型达到甚至超越专有模型的性能。专为企业规模化加速 AI 影响力设计的 IBM watsonx AI 与数据平台就广泛采用了该技术。例如,根据 IBM Research 论文显示,近期通过 LAB 训练的 Merlinite-7B 模型在关键指标上超越了多个专有模型

修改现有 LLM 的局限性

为满足先进生成式 AI 应用程序的需求,开发人员常基于现有 LLM 进行适配以实现特定业务需求。以保险公司为例:若其欲构建生成式 AI 应用程序来帮助员工从专有客户数据中获取洞察,当前普遍做法是购买现有聊天机器人专用 LLM 并按需修改。但这种方法存在若干重要的局限性:

  • 对现有 LLM 进行调优以理解组织特定专业领域,可能成本高昂且资源密集。
  • 模型经调整适配特定需求后难以持续改进,意味着无法随企业需求进行迭代演进。
  • 为特定商业用途优化 LLM 需要大量人工生成数据供模型训练,这些数据的获取既耗时又昂贵。

InstructLab 以更少人工输入和资源消耗改进 LLM

InstructLab 方法能够使用较少人工生成输入和远低计算资源来训练 LLM。现代 LLM(尤其是支撑强大聊天机器人的模型)的训练方法基础,在于对海量非结构化文本数据集进行广泛预训练。虽然这种训练方式使 LLM 能在对齐阶段较快掌握新技能,但其成本高昂且需要大量人工介入。

IBM Research 开发的 LAB 方法采用分类法引导的合成数据生成技术,以降低成本和人工输入需求。结合 InstructLab 开源、社区驱动的开发模式,该方法有效实现了生成式 AI 应用程序所需 LLM 开发的民主化。

InstructLab 的命令行界面 (CLI)(即开发人员用于管理该工具的指令集)甚至可运行于个人笔记本电脑等广泛使用的设备上,并鼓励开发者通过 Hugging FaceAI 社区贡献新知识与技能。

InstructLab 用例

InstructLab 采用开源、社区驱动的方法为广泛用例微调 LLM。以下是部分最常见的用例。

医疗保健

采用 InstructLab 方法开发的 LLM,可针对医疗行业的多种应用场景训练新技能与知识——从筛查海量临床数据助力科学家取得医学研究突破,到根据病史评估患者风险等。

银行业

在银行业,InstructLab 方法可构建侧重贸易分析与模型预测的 LLM,帮助识别趋势并预测交易策略相关风险。它也可用于训练面向个人理财场景的生成式 AI 模型,例如退休规划、预算制定等。

客户服务

采用 InstructLab 方法训练的 LLM,可驱动精通特定客服领域的智能聊天机器人,例如处理商品退货或产品咨询。此外,LAB 方法能通过微调使 LLM 成为具备综合技能的虚拟助理,如安排会晤、预订行程、税务申报等。

市场营销

InstructLab 方法可微调支撑营销领域生成式 AI 应用程序的 LLM,实现多元目标。它们能学会分析客户数据以洞察消费行为、产品偏好乃至未来产品设计方向。也能掌握提供个性化产品建议的必要技能,例如鞋服尺码推荐、颜色偏好匹配等。

DevOps 开发运维(DevOps)

运用 InstructLab 方法训练 LLM 以改进开发运维生命周期,可通过以下重要方式为开发人员创造价值。采用 InstructLab 方法训练的 LLM 能够生成代码、创建脚本、实现基础设施自动配置(基础设施即代码 (IaC) 应用程序),并优化常规问题解决、故障排除乃至代码分析与评审的流程。  

相关解决方案
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud 是一个完全托管的 OpenShift 容器平台 (OCP)。

深入了解 IBM Red Hat OpenShift
Red Hat 解决方案

在 IBM® Cloud 上解锁 Red Hat AI 和 InstructLab 即服务。

深入了解 Red Hat AI 解决方案
Red Hat 咨询服务

借助 Red Hat 技术和 IBM Consulting 转变您的业务,实现成本节约并加速混合云之旅。

深入了解 Red Hat 服务
采取后续步骤

在 IBM® Cloud 上解锁 Red Hat AI 和 InstructLab 即服务。

深入了解 Red Hat AI 解决方案 获取更多信息