为企业量身定制生成式AI模型 - AI Foundry
摘录:我们正处于AI革命的时代。这是历史上第二次我们能够通过安装一台机器来自动为社会创造价值,就像工业革命时期我们所做的那样。现在,我们用AI来实现这一点。我们如何为社会提供这种价值?通过生成token。我们都在成为token的制造者。
Adriana Flores Miranda, Senior Manager, AI Enterprise Solution Architecture, NVIDIA Sophie Watson, Technical Marketing Engineer, NVIDIA
-----[以下为正文]-----
Sophie Watson(NVIDIA)
首先,我将简要探讨一下AI革命及其在AI Foundry中的核心地位。接下来,我们将深入解析AI Foundry的含义,并详细探讨如何为企业量身定制生成式AI模型。然后,Adriana将分享有关这一定制过程的独到见解,展示NVIDIA提供的一站式解决方案。最后,我们会谈到DGX Cloud,这是NVIDIA AI计划和AI Foundry背后的强大计算引擎。
让我们先谈谈生成式AI。生成式AI的发展势头迅猛,特别是自GPT问世以来。2022年,ChatGPT的推出不仅让我们见证了一项新技术的诞生,更引发了一场技术革新。突然间,许多曾经遥不可及的AI能力变得触手可及,无论你是否具备专业的技术知识。短短两个月内,ChatGPT就吸引了超过一亿用户,并融入了日常工作流程,协助完成电子邮件撰写、文档摘要等任务。
然而,技术的演进并未止步。整个2023年,我们见证了生成式AI应用场景的进一步拓展。企业开始根据自身需求定制模型,整合专属数据集和知识库,以此提升业务价值。如今,到了2024年,我们更是看到了从实验到生产的转变。企业正积极投资基础设施,以支持可扩展的生成式AI应用,并在各个行业中为AI创新和增长分配预算。
这一切使得生成式AI技术得以广泛融入各种业务场景中。它能够处理多种数据类型,生成图像、人脸、模拟人类语音,甚至创建逼真的3D对象。实际上,今天我甚至不需要亲自到场;我们可以利用我的AI版本来实现这一切。生成式AI的核心要素,或者说最引人注目的部分,无疑是模型本身。
这些模型广为人知,深受认可。需要明确的是,这些基础模型本身并不能直接为企业提供完整的解决方案。为了让这些模型真正理解企业数据,并利用企业自身专属知识解决具体的业务问题,对它们进行定制是至关重要的。
在本次演讲中,我们将重点关注LLM。但请注意,我们所讨论的内容同样适用于其它生成式AI应用。我们的讨论内容并不局限于某一特定领域。
既然我们在讨论LLM,我想强调一点,那就是我们观察到众多企业、客户和合作伙伴在LLM领域处理文本数据的场景。这些创新主要受到三种应用场景的驱动。首先是作为网站一部分的聊天机器人,用于回答用户问题。其次是知识库助手,能够协助查找和返回特定信息。最后是代码生成工具,在代码创建和改进方面表现出色。这些都是很好的起点,但要让这些应用更加贴合企业需求,从而帮助企业更好地了解客户或熟悉产品目录,需要对现成的生成式AI模型进行定制。
那么,定制这些模型需要哪些投入呢?首先,需要提供训练数据,帮助模型理解企业、应用场景和业务。这意味着需要准备相关、多样且高质量的数据集,这在数据收集、创建、存储和管理方面都是一项挑战。此外,可扩展的计算基础设施也至关重要,因为定制过程中所需的计算量可能差异很大。拥有适当的基础设施,无论是应对大规模需求还是进行小规模的微调,都是不可或缺的。
此外,还需要整合合适的软件工具来进行训练、推理和算法开发。许多数据科学家并不喜欢仅在命令行上工作;我们可能需要图形用户界面或是支持我们已习惯使用的工具。最后,需要深厚的技术专长。不仅仅是数据科学家或机器学习工程师,而是一个具备广泛技能的团队共同努力,才能使这些解决方案真正发挥作用。
即使拥有了所有这些要素——训练数据、加速工具、框架和智力资源——也不代表已经拥有了完整的解决方案。所有这些要求需要在一个平台上协同工作。企业需要一个统一的服务,以便无缝地从基础模型过渡到定制的企业模型。这正是AI Foundry所扮演的角色。AI Foundry是一种服务,它将先进的基础模型与工具相结合,轻松地将企业和专有数据整合到模型中,并提供支持模型定制所需的加速云原生基础设施。AI Foundry提供集成的模型、基础设施和工具服务,意味着可以在AI Foundry中完成端到端的AI工作。这一切都可以借助NVIDIA的工具、基础设施和专业知识来实现。
为什么选择AI Foundry而不是从头开始构建自己的解决方案?市面上确实有许多现成的零散组件。通过AI Foundry,获得的是高性能、稳定性和安全性。它提供保护业务数据所需的产权保护,确保网络安全措施到位,降低数据暴露或被盗的风险。此外,如果希望根据品牌规格定制解决方案,并代表公司的价值观,可能需要一个比现成组件更灵活的解决方案。AI Foundry能在需求范围内提供这种灵活性,这对于数据隐私和安全至关重要。此外,需要对所有AI操作进行控制,无论是在云端还是本地,自托管AI开发和部署的工具让你能在所选环境中掌控AI。
最后,需要为生产环境做好准备。当我们谈论AI Foundry时,我们指的是一个已经具备生产就绪的解决方案,包含了所有关键的维护、安全补丁、功能分支等。
所有这些都由NVIDIA AI Enterprise软件套件提供和支持,这是一款端到端的云原生软件平台。它提供高性能、稳定性和安全保障,使企业能够在任何地点利用这项技术,确保AI计划始终符合企业级期望。
Adriana Flores Miranda(NVIDIA)
我要首先强调的是,我们正处于AI革命的时代。这是历史上第二次我们能够通过安装一台机器来自动为社会创造价值,就像工业革命时期我们所做的那样。现在,我们用AI来实现这一点。我们如何为社会提供这种价值?通过生成token。我们都在成为token的制造者。为什么这些token有价值?因为在准备的数据中隐藏着许多深刻的见解,无论这些数据来自企业自身、不同的公司,还是日常生活。企业可以创建自己的AI Foundry,从这些准备的数据中提取价值和见解。
传统的方法是使用开源、API和一般知识模型,这些对于像总结电子邮件或从阅读笔记中创建行动项目这样的任务非常有效。然而,对于特定领域的任务,当企业试图为自身创建主题专家以加速流程时,需要领域特定的模型,这正是AI Foundry真正发挥作用的地方。
AI Foundry的输入是那些你不想让云API触及的独特数据,这些数据可能是你公司的核心竞争力。Foundry的输出则是一系列服务于你特定领域的专有模型,正如你公司中有不同的部门和组织各司其职一样。要实现这一点,就需要强大的机器,这正是DGX Cloud和DGX On-Prem的用武之地。它们为训练大规模模型和进行大规模推理提供了强大的能力,因为token代表着价值。你希望以尽可能快、尽可能经济的方式生成这些token。这是AI Foundry的第一个组件——计算。
第二个组成部分是生成这些模型的流程和工具,例如,NIM和Nvidia NeMo平台。
有了机器、流程和工具,但真正的挑战在于如何运用专业知识来构建这些模型。领域特定模型的构建需要不同的具体方法,接下来我会深入探讨这些方法。
总体来说,你可以看到Foundry如何接收输入数据,通过其组件,最终输出领域特定的模型。你可能已经拥有了一两个非常庞大的基础模型,以及像Mistral或Llama这样的通用知识模型。但除此之外,你还会有许多小模型作为这些大模型的适配器或增强器。不要把Foundry仅仅看作一个庞大的模型,它其实是由几个基础模型和数百个小型适配器或增强器组成的完整体系。
接下来,让我们聊聊这段发展历程。在2023年,生成式AI在日常任务中的应用和探索非常广泛,例如总结电子邮件或规划活动。然而,当涉及到更具体领域的任务,如使用专有语言编写代码时,很明显这些通用模型并不足够。于是,我们开始探索定制模型以满足这些具体需求。
RAG开始流行起来,因为它们让我们能够利用现有的知识,而无需进行大量的训练。但依赖多个API和模型的成本高昂,这促使我们寻找更具成本效益的解决方案。
社区模型如Llama和Falcon应运而生,它们提供了预训练模型,既节省了成本又加速了开发。尤其是Llama,自2023年2月发布以来,短短数周内就被社区广泛采用,产生了数百个版本。这标志着社区模型的快速发展和广泛采用的新时代,新模型几乎每个月都会出现。
每天都有新模型涌现,这让人感到有些应接不暇。如何跟上这些更新的步伐?这确实很有趣,因为我们看到数据科学家们实际上正在变成管道工程师。这让人不禁怀疑,这是否是我们时间的最优利用,毕竟我们可能正将精力过多地投入到DevOps等领域。虽然这很重要,但我们宝贵的数据科学家却被困在构建最佳管道和启动过程中,而无法专注于创建更好的模型或进行训练。
而这时,NIM的出现拯救了局面。它通过简单地提供API来消除这种困境。让我解释一下这是什么意思。通过NIM,你可以轻松访问到最先进的模型,而无需担心基础设施的构建或一切连接问题。它只是一个API而已。
你可能已经听过Jensen或其它人讨论过NIM。它到底是什么呢?简单来说,NIM就是NVIDIA Inference Microservices的简写。它提供了一组预训练模型,涵盖从语言到生物学的各种领域,并且这些模型都经过优化,可以在不同的云安装环境如AWS上高效运行。这就像一个模型库。
那么,为什么NIM如此重要呢?想象一下,你可以在任何你想要的地方部署它,无论是本地、混合环境还是纯云端。这种灵活性带来了无限的可能性。你不希望数据科学家把所有时间都花在基础设施和抽象问题上,NIM正是为此而生。
另一个令人赞叹的方面就是它的灵活性。以往,当你希望使用API发送数据并调用你喜欢的模型时,无法在几分钟内轻松下载并部署它。但现在,有了NIM,可以轻松实现这一点。这不仅大大缩短了从数据处理到获取洞察的时间,还涉及许多细节值得我们深入探讨。
NIM是一个黑箱还是一个更为开放、允许我们窥见其内部运作的工具呢?
让我为你详细解释。NIM实际上是对模型本身进行打包的模板。特别是针对LLM,它集成了Triton和TensorRT-LLM,以及所有与你基础设施连接的API层,比如使用OpenAI API标准进行启动和实现。关于更新,你可以将NIM想象成一个容器。它包含了模型的权重和模板,本质上就是一款软件。每当新模型发布,例如Llama-3,我们都能提供即时的支持。你只需下载NIM的更新,你的应用程序就会自动切换到最新的先进模型。在更新方面,NIM被视为一个推理软件包。关于更新的细节。
RAG固然出色,但在处理更多独特的企业案例时,我们还需要进一步定制。特别是,我们发现在某些情况下,准确率只有大约30%。这意味着当你尝试检索信息时,就像抛硬币一样,只有大约一半的成功率。这表示,即使你所需的洞察在向量数据库中,也可能无法可靠地被检索到。
如果你在企业中工作,可能已经注意到了这一点。去年我们推出了一些出色的检索模型,但它们都是基于非商业化的数据集进行训练的。因此,你不能将一个在“MS MARCO”上训练的模型直接投入生产。许多公司在这方面遇到了困难。他们渴望本地解决方案,希望使用自己的数据,但却无法可靠地检索到生产所需的数据。
为了解决这个问题,我们决定自己训练嵌入模型,努力打造可以部署在任何地方且保持前沿的模型。这催生了NeMo Reranker、NeMo Retriever和我们特定的NeMo Text Q&A嵌入的推出,所有这些模型都是在商业可用的数据集上进行训练的。
当你开始使用NeMo系统时,你会发现其性能逐渐提升。让我为你解释一下NeMo Reranker和NeMo Retriever如何共同提升系统的准确性。你的向量数据库中存储了公司数据的片段。当有查询进来时,NeMo Retriever会提取出相关的数据片段。由于我们采用了性能更佳的嵌入模型,这些数据片段更有可能包含用户需要的信息。随后,NeMo Reranker会对这些数据片段进行优先级排序,将最相关的答案置于最前面。这大大提高了从数据中检索正确答案或信息的概率,从而提升了系统的整体性能。
在取得这一进步后,我们注意到了另一个有趣的现象。为了处理更复杂的问题,我们需要更深入地探索深度学习的领域。
最初,我们的流程相当简单,只包含一个NeMo Retriever和一个生成模型。但随后我们意识到,可以通过Transformer来增强我们的提示,使其更加智能化。因此,我们开始在流程中添加各种功能的模型,确保系统始终保持在正确的主题上,并使提示更加智能。在问答互动过程中,我们实际上会调用七到十个模型。这已经不再是一个单一的模型,而是一个复杂的系统。这种复杂性突显了像NeMo这样的工具的价值,它降低了成本并简化了整个流程。
随着我们的流程变得更加复杂和智能,我们开始从问答互动中积累宝贵的领域特定数据。这些数据有助于我们持续改进模型。因此,我们引入了更多的微服务来帮助进行定制。
具体来说,有三个组件可以帮助你进行定制:NeMo Evaluator、NeMo Curator和NeMo Customizer。
让我们通过一个实例来进行说明。这是我们在NVIDIA内部进行的一个名为ChipNeMo的项目。有一篇详尽的论文详细描述了该项目所采用的方法。在这个例子中,我们讨论的是VIVID,这是一种用于EDA设计,特别是芯片设计的预备编码语言。VIVID本质上融合了多种语言的特性。假设我们请求像ChatGPT这样的模型,或者使用最先进的模型如GPT-4,用VIVID编写代码。而VIVID实际上是一种特殊的编程语言。
如果我不提及我的实验,可能会有人认为“哦,这看起来挺对的。”但这更像是C++的代码风格对吧?也许你是对的。谁知道呢?我并不是这方面的专家。这也凸显了在构建领域特定应用时,拥有领域专家进行评估的重要性。如果你不是该领域的专家,可能会觉得“哦,这似乎是正确的代码。”但实际上,正确的评价应该是它看起来很不一样,这更像是Python的风格而非C++。
我们最终在这个项目中取得了显著成果,并撰写了一篇详尽的论文,值得一读。我们训练了一系列开源模型,例如Llama 7B,并通过微调,我们实际上使其性能与我们特定的领域需求相匹配。即便我们使用更大的模型Llama 70B,我们也能够取得更好的表现。这展示了在训练语言模型系统时,进行领域特定定制的重要性。这同样涉及到了RAG。
你已经看到了一个实例,现在让我们来探讨如何实现这一点。
第一步,也是最为关键的一步,我总会反复向每一位客户强调,那就是评估、评估、再评估。如果你不清楚目标是什么,就无法进行改进。
虽然有很多优秀的学术基准测试可用,这些测试对于评估一般知识、数学以及各种领域都非常有帮助,但它们可能并不完全反映模型在现实世界中的表现,比如在编码或特定的人力资源、账单使用案例中的表现。这些领域的测试标准非常不同。因此,拥有适当的评估工具至关重要。
NeMo Evaluator是一个微服务,它可以自动评估基础模型和微调后的模型。它确保在训练过程中不会忽视一般知识的积累,因为在微调过程中,很容易因为过于专注而无意中失去对常见英语等语言特性的掌握。因此,在定制模型的同时,继续参照学术基准进行评估是很重要的。我们还提供了创建自定义基准的能力。此外,还有多种使用LLM作为基准的技术和评估方法,可以帮助你实时评估系统性能。
Evaluator提供了一个评分平台,确保由你的系统生成的答案能够被领域专家准确评估。所有这些评估都在NeMo平台上进行,构成了整个流程的第一个环节。
一旦你评估了模型并识别出需要改进的领域,比如需要添加更多领域数据的地方,
NeMo Curator就能派上用场。如果你拥有大量可能有用的非结构化数据,NeMo Curator允许你利用专门针对你模型缺陷的精心策划的数据集。它提供了一个多阶段的数据策划流程,用于构建高质量的数据集,以支持训练和微调工作流。这个过程包括数据清理、去除有害内容、过滤和去重等各个方面,这些都是至关重要的,因为正如俗话说:“垃圾进,垃圾出。”如果输入的是劣质数据,得到的模型也会是劣质的。
在这两个步骤上投入大量时间非常重要。你的训练评估情况如何?这有助于你了解需要在哪些方面进行训练,并为其创建合适的数据。
现在你已经有了数据,并且明确了需求,可以识别出自己的不足之处。你已经开始创建模型,接下来就准备定制并实际训练模型了。
在我们的NeMo Customizer中,我们提供了高级定制和对齐技术。这使得你能够轻松地运行这些过程。所有这些都基于NeMo框架运行。我们所有软件的一个亮点在于,如果你在使用大量数据进行训练并进行监督微调时,你无需担心数据关联的处理方式、数据格式转换,或者模型如何在多个GPU和节点上进行并行化和分布。这些都是由工具完成的。
工具流程是怎样的呢?首先,你拥有基础模型。我们还有数据。你会使用Data Creator这个工具,它有助于在创建数据时过滤掉领域的复杂性。例如,如果你从互联网上收集数据,重要的是识别出属于你领域的数据。而在公司内部创建数据时,数据缩减则显得尤为关键。因此,真正重要的是你如何策划这些数据,以及你想从Data Creator中利用哪些不同的特性。总的来说,始终要注意去除偏见和减少有害内容等问题。所有这些工具都是现成的。一旦你有了数据,就可以开始定制了。
在微服务中,你可以进行微调。我们可以进行提示调优(prompt tuning)、LoRA调优和SFT(监督微调)。通过对齐,你可以进行早期调整、基于信息学习和人类反馈的训练,以及NVIDIA研究中引入的SteerLM技术来辅助对齐。此外,你还可以使用Evaluator微服务进行评分评估。我们如何始终评估自己生成的内容呢?Guardrails系统有助于确保你的系统是准确无误的。
接下来,我们来谈谈实际的训练技术。这里从右到左,首先满足微调所需的计算和数据需求。
对于某些提示工程(prompt engineering),这仅仅需要修改简短的提示,添加一些示例来引导链式思维,这是最近的一种轻量级学习方法。你在提示中给出一些示例。如何做到这一点呢?你可能会修改提示模板。这些都不需要复杂的计算资源,只需要知道如何提出正确的问题,如何提出更好的问题。目的是以更好的方式呈现这些问题。挑战在于你不能真正修改模型本身,所以定制化的程度有限。
从这里开始,你可以进入提示学习和提示调优阶段。提示调优是一组不需要大量数据的操作,在这里你可以使用几百个标签数据样本来学习新技能。通常,这涉及调整一个小的伴随模型,通常是LSTM,但也可以是其它类型。基本思想是添加上下文以帮助模型理解。这允许在保持基础模型稳定的同时对模型进行微调。
接下来,你可以进行参数高效微调(PEFT)。这里需要中等量的计算和数据支持。通过向大型语言模型中添加自定义层,你可以为模型添加增量知识。大多数人在这个领域取得了成功,通过添加这些内容来进行适应。如果你有更多的计算资源和数据,这里可能需要几十或几百个样本用于更大的数据集。总是样本越多越好。这需要更多的计算和数据,但实际上你是在向模型中添加了特定领域的知识。你需要解冻权重并进行修改。
在这里你可能面临的挑战包括模型遗忘了所有以前的技能。这就像一种投资。例如,当你使用SFT或SteerLM时的最佳实践是始终在你的训练数据集中包含通用领域知识。不要只专注于你的特定领域数据,因为解冻权重会改变学习过程。
问题:这两个过程都很重要。通常,手动过程,在一定程度上,基于你的经验,可以被认为是半自动化的。知道该问什么问题是非常困难的,对吧?你总是需要有很多人提出很多问题。我预计这将是一个以手动为主的过程。但我也预计这将在未来实现自动化,因为这种方式并不易于扩展。
你不需要一直训练你的模型。你可以构建一个流程,当收集到足够多的样本后,你可以启动自动调优。这是你可以在流程中自动化的部分。我并不认为需要每天进行训练或SFT。这取决于你的模型漂移的程度。我猜想,推理见解,比如漂移程度,可以自动化处理。手动操作,是的,特别是在定制阶段,特别是如果你需要构建一个大数据集。这时你需要确保在人工和自动化系统上都进行投资。
总结一下我向你展示的所有内容,这些工具和技术使得定制和优化变得非常容易。它们让我们从管道工程师转变为办公工程师。NeMo Retriever和Reranker等工具帮助你获得一个更高性能的Retriever系统。我们还有工具来帮助你进一步优化。好了,这就是整个流程。
Sophie Watson(NVIDIA)
NVIDIA DGX Cloud是一个AI开发平台,为企业开发者提供无服务器体验。它针对生成式AI进行了优化,全面支持NVIDIA AI技术。
我们拥有基础设施层,包括新发布的GB200。紧接着,我们进入工作负载和基础设施管理层。NVIDIA AI Enterprise则位于其上,它将所有的工具和实施专业知识带到了Foundry中。DGX Cloud覆盖了所有四大主要的云服务商。
很多人可能认为我们试图与CSP竞争,但事实恰恰相反。我们与他们紧密合作,将我们最擅长的技术与他们最擅长的服务相结合,共同打造出DGX Cloud这一卓越产品。这种最佳实践体现在每一层,从顶尖的GPU到NVIDIA的支持工具和安全性,我们提供了你所关心的所有内容。这不是一个僵化的解决方案,也不是“一刀切”的。我们提供的是灵活的软件学习解决方案。我们始终致力于满足客户的需求。我们与各种客户合作。
我想进一步强调GPU的重要性。通过DGX Cloud,你将首先接触到NVIDIA AI技术的精髓。我们已经集成了100个H100 GPU,并且随着GB 200的激动发布,这些GPU将很快在AWS和OCI上线,DGX Cloud是我们展示最佳产品的平台,并且我们总是优先推荐它。但DGX Cloud不仅仅是GPU,它是一个完整的AI模型开发平台,提供端到端的用户体验。你可以进行训练、微调和推理。如果你有自己的推理基础设施,你还可以将模型部署到其它平台和命名空间。我们深知没有一个工作流程是适合所有人的。但DGX Cloud的基石是AI专业知识。任何DGX Cloud的客户都可以充分利用NVIDIA的专家团队,帮助你优化代码,更快地获得结果,从而为企业带来业务价值。
首先要了解AI Foundry的组成部分。首先是你的专有数据,这些数据对你的业务具有重要价值。如今我们都是某种程度上的数据“制造商”,这些数据是宝贵的token。这些数据需要被输入到AI Foundry中。想象一下这些组件,包括NIM、NeMo微服务、DGX Cloud Compute、Expertise,它们共同构建这些模型。最终的输出是那些将为你的客户和你自己创造价值的领域特定模型。
--【本文完】---
近期受欢迎的文章:
更多交流,可添加本人微信
(请附姓名/单位/关注领域)