新发布的由 8B、70B 和 405B 大型语言模型 (LLM) 组成的 Llama 3.1 集合正在缩小专有模型和开源模型之间的差距。由于其开放性,更多开发者和企业被吸引将这些模型集成到其 AI 应用中。
这些模型擅长处理各种任务,包括内容生成、编码和深度推理,并可用于为聊天机器人、自然语言处理和语言翻译等用例的企业应用提供支持。
由于 Llama 3.1 405B 模型的训练数据量庞大,因此非常适合生成合成数据来调整其他语言模型。这在医疗健康、金融和零售等行业尤其有用,因为这些行业由于合规性要求而无法获得真实数据。
此外,Llama 3.1 405B 还可以使用特定领域的数据进行调整,以服务于企业用例。
一旦企业定制语言模型(LLM)以适应其组织要求(包括领域知识和技能、公司词汇和其他文化差异),其准确性会得到提升。
使用 NVIDIA AI Foundry 构建自定义生成式 AI 模型
NVIDIA AI Foundry 是一个平台和服务,用于使用企业数据和特定领域的知识构建自定义生成式 AI 模型。与台积电制造其他公司设计的芯片类似,NVIDIA AI Foundry 使组织能够开发自己的 AI 模型。
芯片代工厂提供先进的晶体管技术、制造流程、大型芯片晶圆厂、专业知识以及由第三方工具和库提供商组成的丰富生态系统。同样,NVIDIA AI Foundry 包括 NVIDIA 创建的 AI 模型(如 Nemotron 和 Edify)、热门的开放 foundation models, NVIDIA NeMo 软件用于自定义模型,以及由 NVIDIA AI 专家构建和支持的 NVIDIA DGX Cloud—built 和 backed 由 NVIDIA AI 专家。
该 Foundry 输出打包为 NVIDIA NIM 推理微服务的性能优化自定义模型,以便在任何加速云、数据中心和工作站上轻松部署。
在此博客中,我们将深入探讨如何创建自定义语言模型(LLM)。您可以将其用作参考,以创建其他自定义生成式 AI 模型,例如多模态语言模型、视觉语言模型或文本转图像模型。
使用 Llama 3.1 生成专有的合成域数据
由于合规性和安全性要求,企业通常需要克服由于数据缺乏或数据不可访问性带来的问题。
Llama 3.1 405B 模型由于具有增强的能力,能够识别复杂模式、生成高质量数据、良好泛化、高效扩展、减少偏差并保护隐私,因此非常适合用于合成数据生成。
Nemotron-4 340B Reward 模型会判断 Llama 3.1 405B 模型生成的数据,并对不同类别的数据进行评分,从而过滤掉评分较低的数据,并提供符合人类偏好的高质量数据集(图 2).
该奖励模型以总分 92.0 实现了一流的性能,在RewardBench 排行榜上名列前茅。它在“聊天困难”子集方面表现出色,该子集测试模型处理技巧问题和指令响应中细微差别的能力。
此外,这些模型还为企业提供了在商业应用中自由使用生成的数据集的许可证。
数据集准备就绪后,它可以使用 GitHub 上的 NeMo Aligner 库微调其他基础模型。
使用 NVIDIA NeMo 筛选、定制和评估模型
NVIDIA NeMo 是一个端到端平台,可随时随地开发自定义生成式 AI。它包括用于训练、自定义和检索增强生成(RAG)的工具、护栏和工具包、数据管护工具以及模型预训练,为企业提供了一种简单、经济高效且快速的采用生成式 AI 的方法。
在本文中,我们将向您展示如何使用 AI Foundry 创建自定义 Llama 3.1 模型。关键步骤包括特定领域的数据准备、LLM 自定义和评估。
特定领域的数据准备
生成合成数据后,您可以迭代地使用 NeMo Curator 来整理高质量数据并提高自定义模型的性能。例如,如果一家公司想构建一个擅长回答法律问题的模型,它可以使用 Llama 3.1 405B 模型的合成数据生成流程来创建逼真的问答对。
问答对示例如下所示:
{
"question": "Which government department is responsible for setting design and signage standards for federally funded highways in the US?",
"answer": "The U.S. Department of Transportation sets uniform design and signage standards for federally funded highways, which most states adopt for all roads."
}
查看此 NeMo Curator notebook,详细了解如何生成合成数据并使用质量过滤、语义去重和 HTML 标签剥离等过滤技术。
NeMo Curator 可以跨数千个计算核心无缝扩展,并使用高度优化的 CUDA 内核轻松执行各种数据采集、预处理和清理任务,使企业开发者能够节省时间并更快地创建高质量数据。
NeMo Curator 提供各种开箱即用的功能,例如文本清洁、语言识别、质量过滤、隐私过滤、域和毒性分类、去重和简化的可扩展性。这些功能使开发者能够创建用于自定义的高质量数据。
自定义和评估
准备好数据后,开发者可以使用 NeMo 轻松自定义和评估模型,以获得满足其特定需求的最佳模型。NeMo 利用先进的并行技术最大限度地提高 NVIDIA GPU 性能,帮助企业快速开发解决方案。它可以跨多个节点有效管理 GPU 资源和内存,从而提高性能。通过将模型和数据分割,NeMo 实现了流畅的多节点和多 GPU 训练,减少训练时间并提高工作效率。
下表显示了在 NVIDIA H100 GPU 上使用 NeMo 的 Llama 3.1 405B 模型的预训练性能。为实现此性能,我们使用了以下参数:微批量大小为 1,全局批量大小为 253,张量并行为 8,管线并行为 9,虚拟并行为 7,上下文并行为 2。
在预训练方面,与 BF16 相比,使用 FP8 可以实现约 56.5% 的吞吐量(每秒令牌数)提升。
模式 | 精度 | *GPU | 测序 | 令牌/秒/GPU | TFLOP/秒/GPU | 在 1000 个 GPU 上训练 10T 令牌所需时间 (天) |
预训练 | BF16 | 576 | 8192 | 192 | 512 | 600 |
预训练 | FP8 | 576 | 8192 | 802 | 802 | 369 |
同样,对于 LoRA 微调,与 BF16 相比,FP8 可以实现约 55% 的性能提升。
为实现此性能,我们使用了以下参数:微批量大小为 1,全局批量大小为 24,张量并行为 4,管线并行为 6,虚拟并行为 7,上下文并行为 1。为实现上述性能,请参阅我们文档中的预训练或微调 LLaMA 3.1 指南。
模式 | 精度 | *GPU | 测序 | 令牌/秒/GPU | TFLOP/秒/GPU | 只需几分钟即可完成训练 (1000 万个令牌) |
LoRA | BF16 | 24 | 2048 | 376 | 621 | 18.5 |
LoRA | FP8 | 24 | 2048 | 583 | 962 | 11.9 |
NeMo 支持多种参数高效的微调技术,例如 p-tuning、低秩适应(LoRA)及其量化版本(QLoRA)。这些技术有助于创建自定义模型,而无需大量计算能力。
除了这些参数高效的微调技术之外,NeMo 还支持监督式微调(SFT)和比对技术,例如从人类反馈中进行强化学习(RLHF)、直接偏好优化(DPO)和 NeMo SteerLM。这些技术能够指导模型响应并使其与人类偏好保持一致,从而使大语言模型(LLMs)随时可以集成到面向客户的应用中。
为了简化生成式 AI 自定义,NVIDIA NeMo 团队宣布了 NVIDIA NeMo Customizer 微服务的抢先体验计划。这项高性能、可扩展的服务简化了针对特定领域用例的大语言模型微调和对齐。使用知名微服务和 API 架构,帮助企业更快地将解决方案推向市场。
使用 LLM 的企业应定期针对新旧任务对其进行测试。自定义这些模型可能会导致它们忘记先前的知识,这个问题被称为“灾难性遗忘”。为了保持模型良好运行并改善用户体验,公司必须不断优化模型,对其进行基本技能的重新测试,确保与公司目标保持一致,并检查是否有任何先前的能力损失。
为简化 LLM 评估,NVIDIA 提供对 NeMo Evaluator 微服务 的早期访问,该服务支持:
- 自动评估基于一套精心策划的学术基准。
- 使用用户提供的评估数据集进行自动评估。
- 使用 LLM 作为判断对模型响应执行整体评估,这对于可能未定义真值的生成任务非常相关。
要开始使用,请申请NeMo Evaluator 抢先体验。 在此期间,您可以使用 NeMo 框架对 Exact Match、F1 和 ROUGE 等指标执行评估。
为了针对法律领域定制模型,开发者首先整理数据。然后,他们使用 NeMo 应用 LoRA 技术。这增强了 Llama 3.1 8B 模型更有效地响应法律问题的能力。查看此 notebook,了解如何使用 LoRA 微调 Llama 3.1 模型的详细说明。
连接企业数据以获取见解
NVIDIA NeMo Retriever 是一组生成式 AI 微服务,使组织能够将自定义模型无缝连接到多样化的业务数据,并提供高度准确的响应。NeMo Retriever 提供世界级的信息检索,具有高准确性的检索流程和最大的数据隐私,使组织能够更好地利用其数据并实时生成业务见解。
NeMo Retriever 利用企业级 RAG 功能改进生成式 AI 应用,无论业务数据位于何处,都可将其连接到该数据。NeMo Retriever 提供先进的开放和商业检索流程,可将企业文本 QA 评估的错误答案减少 30%。了解如何使用 NeMo Retriever 构建 RAG 驱动的应用构建 RAG 驱动的应用。
保护 LLM 响应
借助 NVIDIA NeMo Guardrails,开发者可以向基于语言模型(LLM)的对话式应用添加可编程护栏,确保对话的可靠性、安全性和可控性,同时抵御常见的语言模型漏洞。
NeMo Guardrails 是一个可扩展的工具包,旨在与第三方和社区护栏以及安全模型(例如 Meta 的最新 Llama Guard)集成。它还可以与热门的 LLM 应用开发框架(例如 LangChain 和 LlamaIndex)一起使用。了解如何开始使用 NeMo Guardrails。
借助 NVIDIA NIM 实现高性能推理
AI Foundry 的自定义模型可以打包为 NVIDIA NIM 推理微服务(NVIDIA AI Enterprise 的一部分),以便在云、数据中心和工作站中安全、可靠地部署高性能推理。它支持各种 AI 模型(包括开放式基础模型),并使用行业标准 API 确保无缝、可扩展的 AI 推理。
随时随地使用 NIM 在 NVIDIA 加速基础设施上通过单个命令或 Kubernetes 上的自动扩展进行本地部署。从 NIM 部署的简单指南 开始。此外,NIM 还支持使用 LoRA 自定义模型的部署。
开始构建自定义模型
根据您在人工智能旅程中所处的位置,您可以通过不同的方式开始。
- 要为您的企业构建自定义 Llama NIM,请查看Llama 3.1 NIM 自定义笔记本。
- 在 ai.nvidia.com 上体验新的 Llama 3.1 NIM 和其他热门基础模型。你可以直接访问模型端点,也可以下载 NIM 并在本地运行。
- 获取帮助访问和设置云端基础设施,以运行 Llama 3.1 NIM 或其他用于评估和原型设计的模型。
- 详细了解 NVIDIA AI Foundry单击此处。