跳转至相应部分

什么是 InstructLab?

复制 URL

InstructLab 是一个开源项目,用于增强生成式人工智能(gen AI)应用中使用的大型语言模型(LLM)。InstructLab 社区项目由 IBM 和红帽共同创建,它为改善 LLM 对齐度提供了一个经济高效的解决方案,并为那些只有极少机器学习经验的人员提供了参与贡献的机会。

加入 InstructLab 社区

LLM 可以为聊天机器人和编码助手等一系列实用的应用提供支持。这些 LLM 可以是专有的,如 OpenAI 的 GPT 模型和 Anthropic 的 Claude 模型;也可以在预训练数据和使用限制方面提供不同程度的开放性,如 Meta 的 Llama 模型、Mistral AI 的 Mistral 模型和 IBM 的 Granite 模型。

AI 从业者往往需要调整预训练的 LLM,以契合特定的业务目的。但是,修改 LLM 的方式有一定的限制:

  • 要对 LLM 进行微调以了解特定领域的知识或技能,通常需要为现有的开放模型添加分叉,然后进行成本高昂的资源密集型训练。
  • 我们无法将改进纳入上游项目,因此也就无法利用社区贡献不断改进模型。
  • LLM 的改进通常需要大量的人工生成数据,而获取这些数据可能耗时且成本高昂。

InstructLab 采用了一种能够突破这些限制的方法。与重新训练模型相比,它往往可以使用更少的人工生成信息和更少的计算资源来增强 LLM。此外,它还使得上游贡献能够持续用于改进模型。

InstructLab 以 IBM 研究院在 Large-scale Alignment for chatBots(简称 LAB)方面的研究成果命名,并以此为基础。MIT-IBM 沃森 AI 实验室和 IBM 研究院的成员在 2024 年的一篇研究论文中介绍了 LAB 方法。

InstructLab 并非针对特定模型。它可以为您选择的 LLM 提供补充技能和知识微调。这棵“技能和知识树”会在社区贡献的基础上不断改进,并且可用于支持定期构建增强型 LLM。InstructLab 维护着 IBM Granite 的增强版。IBM 发布的另外两个实验室增强版模型包括从 Llama 2 衍生而来的 Labradorite 和从 Mistral 衍生而来的 Merlinite。InstructLab 项目优先考虑快速迭代,并计划定期重新训练模型。各企业组织还可以使用 InstructLab 模型对齐工具,运用自己的专有技能和知识来训练他们自己的专用 LLM。

LAB 方法由 3 个部分组成:

  • 分类驱动的数据管理。 分类是指由人类整理的一组多样化训练数据,作为用于为模型训练新知识和技能的示例。
  • 大规模合成数据生成。 然后,模型会根据种子训练数据生成新的示例。考虑到合成数据的质量可能参差不齐,LAB 方法增加了一个自动步骤来完善示例答案,确保它们有根有据且安全可靠。
  • 迭代式大规模对齐调整。 最后,根据合成数据集重新训练模型。LAB 方法包括 2 个按顺序进行的调整阶段:知识调整和技能调整。

社区提供的数据可以定期迭代构建增强型 LLM,而基于社区贡献产生的技能树会使每个 LLM 更加完善。

我们将 InstructLab 与创建和改进 LLM 的其他步骤比较一下。

预训练

在预训练期间,会使用数万亿个未标记数据的令牌对 LLM 进行训练,以预测下一个令牌。这样做的成本非常高,有时甚至需要数千个 GPU 和数月的时间。只有拥有大量资源的企业组织才有可能预训练出一个高性能的 LLM。

对齐调整

预训练结束后,LLM 会进行对齐调整,使模型的答案尽可能准确和有用。对齐调整的第一步通常是指令调整,即直接就特定的相关任务对模型进行训练。接下来是偏好调整,其中可能包括基于人类反馈的强化学习(RLHF)。在这一步中,人类会对模型进行测试,并对其输出结果进行评分,指出模型的答案是首选还是不推荐。一个 RLHF 流程可能包括多轮反馈和改进,从而不断优化模型。

研究人员发现,该对齐调整阶段所需的反馈量可以远远小于初始训练数据集的规模,相比于预训练需要数万亿个数据令牌,该阶段可能只需要数万个人类注释,但仍然可以释放出模型的潜在能力。

InstructLab

LAB 方法的设计初衷,是希望通过一个更小的人工生成数据集来实现模型对齐的优势。一个 AI 模型可以利用少量的人类示例生成大量的合成数据,然后对其进行质量筛选,并使用那些高质量的合成数据集进行进一步的调整和训练。与通常需要数千个人类反馈示例的指令调整相比,LAB 只需使用人类提供的相对较少的示例,就能显著改善模型。

InstructLab 与检索增强生成(RAG)有何不同?

简而言之,InstructLab 和 RAG 解决的是不同的问题。

RAG 是一种经济高效的方法,可为 LLM 补充预训练中未包含的特定领域知识。RAG 可使聊天机器人准确回答与特定领域或业务相关的问题,而无需重新训练模型。知识文档存储在矢量数据库中,然后分块检索,作为用户查询的一部分发送给模型。如果想要向 LLM 添加专有数据而又不想失去对信息的控制,或需要通过 LLM 来及时获取信息,这种方法将非常有帮助。

这与 InstructLab 方法截然不同,后者利用最终用户的贡献来支持定期构建 LLM 增强版。InstructLab 有助于 LLM 掌握新知识及解锁新技能。

通过在经过 InstructLab 调整的模型上使用 RAG 技术,可以极大的增强RAG 流程。
 

InstructLab 由多个项目组成。

分类

InstructLab 由分类驱动,而这些分类主要是以手动方式精心创建的。InstructLab 包含一棵分类树,用户可借此创建模型并使用人类提供的数据进行调整,然后通过合成数据生成来实现增强。

命令行界面(CLI)

利用 InstructLab CLI,贡献者可以使用他们的笔记本电脑或工作站测试自己的贡献。社区成员可以使用 InstructLab 技术生成低保真度的合成数据生成和模型指令调整,而无需使用专用硬件。

模型训练基础架构

最后,是创建增强型 LLM 的过程。这需要 GPU 密集型基础架构,以便定期根据社区的新贡献重新训练模型。IBM 会捐赠并维护必要的基础架构,从而经常对 InstructLab 项目的增强型模型进行再训练。
 

如果您准备将 AI 引入企业,红帽® 企业 Linux® AI 也许能助您一臂之力,它全面结合了 Granite 系列开源许可 LLM、InstructLab 模型对齐工具、红帽企业 Linux 的可启动镜像、企业级技术支持以及模型知识产权保障。

红帽企业 Linux 是世界领先的企业级 Linux 平台,已在数百个云平台上获得认证,并且与数千家硬件和软件供应商建立了合作。凭借 Linux、容器和自动化方面的技术基础,红帽的开放混合云战略可让您根据需要随时随地灵活运行 AI 应用。

红帽企业 Linux AI 和 InstructLab 项目可进一步推动实现这一愿景,打破试验和构建 AI 模型的成本与资源障碍,同时提供促进新一轮智能工作负载所需的工具、数据和概念。

扩展阅读

文章

什么是生成式 AI?

生成式 AI 依赖基于大型数据集训练的深度学习模型来创建新内容。

文章

什么是机器学习?

机器学习是一项训练计算机找到模式、做出预测并从经验中学习且无需明确编程的技术。

文章

什么是基础模型?

基础模型是一种经过预训练的机器学习(ML)模型,能够执行一系列的任务。 

AI/ML 的更多信息

产品

新增文章

可无缝开发、测试和运行适用于企业级应用的 Granite 系列大型语言模型的基础模型平台。

围绕 AI 打造的产品组合可提供工具来训练、调优、提供、监控和管理红帽 OpenShift 上的 AI/ML 实验和模型。

一个企业级应用平台,包含一系列统一经过测试的服务,可基于您选择的基础架构将应用推向市场。 

搭载 IBM watsonx Code Assistant 的红帽 Ansible Lightspeed 是一项生成式 AI 服务,由 Ansible 自动化构工作者、运维人员和开发人员专为自动化同行们设计而成。 

资源

电子书

构建生产就绪型 AI/ML 环境的首要考虑因素

分析师资料

适用于 MLOps 的红帽混合云平台的总体经济影响™

网络培训课堂

借助开源和 Kubernetes 充分挖掘 AI 的价值