开始使用
RHEL AI 与产品架构简介
摘要
第 1 章 Red Hat Enterprise Linux AI 概述 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux AI 是一个允许您在开源大语言模型(LLM)上开发企业应用程序的平台。RHEL AI 从 Red Hat InstructLab 开源项目构建。有关 InstructLab 的详情,请查看"InstructLab 和 RHEL AI"部分。
Red Hat Enterprise Linux AI 允许您执行以下操作:
- 托管 LLM,并与 Large Language Models (LLMs)的开源 Granite 系列交互。
- 使用 LAB 方法,在 Git 存储库中创建并添加您自己的知识或技能数据。然后,通过最少的机器学习背景对数据微调模型。
- 与与您的数据进行微调的模型交互。
Red Hat Enterprise Linux AI 允许您直接贡献大语言模型(LLM)。这可让您轻松有效地构建基于 AI 的应用程序,包括 chatbots。
1.1. Red Hat Enterprise Linux AI 的常见术语 复制链接链接已复制到粘贴板!
该术语表定义了 Red Hat Enterprise Linux AI 的常见术语:
- InstructLab
-
InstructLab 是一个开源项目,提供使用
ilab命令行界面(CLI)工具轻松参与 AI Large Language Models (LLM)的平台。 - 大型语言模型
- 称为 LLMs,是一种人工智能,能够处理语言生成或任务。
- 合成数据生成(SDG)
- 使用大型语言模型(大型语言模型)和人工生成的样本一起使用大型 LLMs 的流程来生成人工数据,然后可用于培训其他 LLM。
- 微调
- 培训 LLM 以满足特定目标的技术:了解特定信息或执行特定任务。
- LAB
- "arge-Scale Alignment for ChatBot 的缩写"。由 IBM Research 发明,Plabs 是一家基于数据的技术能力和多阶段培训微调方法,用于 LLM。InstructLab 在复合生成和培训过程中实施 LAB 方法。
- 多阶段培训
- LAB 方法实施的微调策略。在此过程中,模型会在独立阶段对多个数据集进行微调。模型以多个阶段培训,称为 epoch,它保存为检查点。然后,在以下阶段中使用最佳执行检查点用于培训。完全调优的模型是最终阶段最佳执行检查点。
- Serving
- 通常被称为"保留模型",是对服务器部署 LLM 或受培训模型。这个过程可让您以 chatbot 与模型交互。
- inference
- 使用模型提供和聊天时,推断是模型可以处理、重复数据删除并根据输入数据生成输出。
- taxonomy
- LAB 方法由 Information classification 方法(一个信息分类方法)驱动。在 RHEL AI 上,您可以自定义一个税务树,它可让您使用您自己的数据创建模型微调。
- Granite
- IBM 培训的开源(Apache 2.0)大型语言模型。在 RHEL AI 上,您可以下载 Granite 系列模型作为基础 LLM 进行自定义。
- PyTorch
- 经过优化的十个库,用于深入学习 GPU 和 CPU。
- vLLM
- 用于 LLMs 的内存效率推测和服务引擎库。
- FSDP
- Fully Shared Data Parallels 的缩写。Pytorch 工具 FSDP 可以在硬件上的多个设备之间分配计算能力。这会优化培训流程,提高内存的调优速度和效率。此工具共享 DeepSpeed 的功能。
- DeepSpeed
- Python 库可通过在多个设备上分发计算资源来优化 LLM 培训和调优。此工具共享 FSDP 的功能。目前,为 NVIDIA 机器推荐的硬件退出加载程序是 Deepspeed。
1.2. InstructLab 和 RHEL AI 复制链接链接已复制到粘贴板!
InstructLab 是一个开源 AI 项目,有助于为大型语言模型做出贡献。RHEL AI 采用 InstructLab 项目的基础,并在应用程序上构建用于 LLM 集成的企业级平台。Red Hat Enterprise Linux AI 使用专用图形处理单元(GPU)执行高性能服务器平台。InstructLab 适用于小型平台,包括笔记本电脑和个人计算机。
InstructLab 使用基于 LLM 的基于 LLM 的基于 LLM 的调优方法,实施 LAB (用于 chatBots)技术的 LAB (Large-scale alignments)技术。LAB 进程由多个组件组成:
- 分类数据生成过程
- 多阶段培训流程
- 微调框架
RHEL AI 和 InstructLab 允许您根据不同的用例自定义具有特定域知识的 LLM。
1.2.1. 知识与知识简介 复制链接链接已复制到粘贴板!
技术和知识是您可以添加到税务树中的数据类型。然后,您可以使用这些类型创建自定义 LLM 模型对您自己的数据进行微调。
1.2.1.1. 知识 复制链接链接已复制到粘贴板!
AI 模型知识由数据和事实组成。在为模型创建知识集时,您要为其提供额外的数据和信息,以便模型可以更精确地回答问题。其中,技能是培训有关如何执行内容的 AI 模型的信息,它基于模型可以回答涉及事实、数据或参考的问题的能力。例如,您可以创建一个包含产品文档的数据集,模型可以了解该文档中提供的信息。
1.2.1.2. 技能 复制链接链接已复制到粘贴板!
技能是旨在针对已提交信息培训 AI 模型的功能域。当您进行技术时,您要教授如何执行任务的模型。RHEL AI 的技术被分成几个类别:
组成技能:组成技能允许 AI 模型执行特定任务或功能。有两种类型的组成技能:
- 自由组成技能:这些都是执行不需要额外上下文或信息才能正常工作的。
- 现场组成技能:这些都是需要额外上下文的执行技能。例如,您可以省略模型来读取表,其中附加上下文是表的示例布局。
- 基础技能:基础技能是涉及数学、原因和编码等技能。
第 2 章 Red Hat Enterprise Linux AI 产品架构 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux AI 包含各种不同的功能,它由以下组件组成:
2.1. 使用 InstructLab 启动 Red Hat Enterprise Linux 复制链接链接已复制到粘贴板!
您可以使用红帽提供的可引导 RHEL 容器镜像,安装 RHEL AI 并部署 InstructLab 工具。
此 RHEL AI 镜像包括 InstructLab、RHEL 9.4 以及各种推测和培训软件,包括 vLLM 和 DeepSpeed。引导此镜像后,您可以下载各种红帽和 IBM 开发的 Granite 模型来提供或培训。镜像及其所有工具都编译到特定的独立软件供应商(ISV)硬件。有关镜像架构的更多信息,请参阅安装 概述。
2.1.1. InstructLab 模型对齐 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux AI bootable 镜像包含 InstructLab 及其工具。InstructLab 使用 novel 方法对名为 LAB 的 LLM 微调(针对 ChatBots)进行 LLM 微调。LAB 方法使用基于纳税务数据生成(SDG)和多阶段培训的系统。
使用从 InstructLab CLI 构建的 RHEL AI 命令行界面(CLI),您可以通过针对您自己的域特定知识调整 Granite 基本模型来创建自己的自定义 LLM。
为了正式发布,RHEL AI LLMs 自定义工作流由以下步骤组成:
- 在首选平台上安装并初始化 RHEL AI。
- 使用 CLI 和 Git 工作流为税务树增加知识和知识。
-
使用
mixtral-8x7B-Instructteacher 模型运行合成数据生成(SDG)。SDG 可以生成数百个或数千个复合问题,并根据用户提供的特定示例进行模型调整。 -
使用 InstructLab 使用新复合生成的数据为基础模型提供培训。
prometheus-8x7B-V2.0judge 模型评估新培训模型的性能。 - 将 InstructLab 与 vLLM 搭配使用,为推断提供新的自定义模型。
2.1.2. 开源许可 Granite 模型 复制链接链接已复制到粘贴板!
使用 RHEL AI,您可以下载开源许可 IBM Granite 系列 LLMs。
使用初学者 Granite 模型作为基础,您可以使用知识或技能数据创建模型。您可以保持这些自定义 LLMs 私有,也可以与 AI 社区共享它们。
Red Hat Enterprise Linux AI 还允许您服务并聊天 Granite 模型,由红帽和 IBM 创建并调优。