什么是 InstructLab?

复制 URL

InstructLab 简化了使用私有数据自定义大语言模型(LLM)的流程。 

LLM 是诸如聊天机器人和编程助手等生成式人工智能(Gen AI)的基础。这些 LLM 可以是专有的,如 OpenAI 的 GPT 模型和 Anthropic 的 Claude 模型;也可以在预训练数据和使用限制方面提供不同程度的开放性,如 Meta 的 Llama 模型、Mistral AI 的 Mistral 模型和 IBM 的 Granite 模型

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

  • 要对 LLM 进行微调以了解特定领域的知识或技能,通常需要进行成本高昂的资源密集型训练。
  • 我们无法将改进反馈至 LLM,因此也就无法通过用户贡献不断改进模型。
  • LLM 的改进通常需要大量的人工生成数据,而获取这些数据可能耗时且成本高昂。

InstructLab 采用了一种能够突破这些限制的方法。与重新训练模型相比,它往往可以使用更少的人工生成信息和更少的计算资源来增强 LLM。

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

InstructLab 并非针对特定模型。它可以为您选择的 LLM 提供补充技能和知识微调。这棵“技能和知识树”会在各方贡献的基础上不断改进,并且可用于支持定期构建增强型 LLM。 

InstructLab 项目优先考虑快速迭代,并计划定期重新训练模型。各企业组织还可以使用 InstructLab 模型对齐工具,运用自己的专有技能和知识来训练他们自己的专用 LLM。

如何在企业中采用 AI 技术

LAB 方法由 3 个部分组成:

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

数据集通过持续汇集技能与知识贡献,不断扩展壮大,每项新增内容都推动着模型调优质量的提升。 

红帽资源

我们将 InstructLab 与其他定制 LLM 的方式进行比较,以评估它们在满足特定领域用例时的适用性。

预训练

预训练作为模型定制的最深层级,让企业组织能够通过筛选训练数据来塑造模型的基础认知框架。 

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

对齐调整

预训练结束后,LLM 会进行对齐调整,使模型的答案尽可能准确和有用。对齐调整的第一步通常是指令调整,即直接就特定的相关任务对模型进行训练。 

接下来是偏好调整,其中可能包括基于人类反馈的强化学习(RLHF)。在这一步中,人类会对模型进行测试,并对其输出结果进行评分,指出模型的答案是首选还是不推荐。一个 RLHF 流程可能包括多轮反馈和改进,从而不断优化模型。

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

InstructLab

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

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

简而言之,InstructLab 与检索增强生成(RAG)解决的是不同的问题。

RAG 是一种经济高效的方法,可为 LLM 补充预训练中未包含的特定领域知识。RAG 可使聊天机器人准确回答与特定领域或业务相关的问题,而无需重新训练模型。 

对于 RAG,知识文档存储在矢量数据库中,然后分块检索,作为用户查询的一部分发送给模型。如果想要向 LLM 添加专有数据而又不想失去对信息的控制,或需要通过 LLM 来及时获取信息,这种方法将非常有帮助。 

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

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

了解有关 RAG 的更多信息

借助 IBM Cloud 上的红帽 AI InstructLab,您无需自备并运维硬件基础架构即可参与 LLM 的优化工作。

红帽 InstructLab 本身就是一个旨在简化 LLM 开发的开源项目,可通过经济高效的方式,以更少的数据和资源实现模型对齐。

IBM Cloud 是一个专为监管严格的行业而设计的企业云平台,提供高弹性、高性能、安全且合规的云服务。

IBM Cloud 上的红帽 AI InstructLab 结合了两者优势,助力企业组织以可扩展、低成本的方式,轻松优化 LLM,快速适配企业组织独特的应用场景,进行扩展,同时确保安全可靠。

进一步了解 IBM Cloud 上的红帽 InstructLab

资源

开启企业 AI 之旅:新手指南

此新手指南介绍了红帽 OpenShift AI 和红帽企业 Linux AI 如何加快您的 AI 采用之旅。

所有红帽产品试用

我们的免费试用服务可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业组织。

扩展阅读

什么是 Podman Desktop?

Podman Desktop 是一款免费的开源工具,可简化在本地开发人员环境中使用容器的过程。

一文带你看懂 Helm 是什么?K8s 和 Helm 的关系

Helm 是一款用于 Kubernetes 的软件包管理器,内含将应用部署到集群所需的各种代码和资源。Helm 可通过 Helm 图表这种打包格式来实现应用的自动分发,从而简化这一过程。

什么是 Argo CD?

Argo CD 是 Kubernetes 的一个声明式持续交付工具。它既可将其作为独立的工具使用,也可将其作为 CI/CD 工作流的一部分向集群提供所需的资源。

开源 相关资源

相关文章