最近,Meta公司发布了功能强大的开放型大型语言模型Llama 3.1 405B,它既适用于批量处理也适用于在线推理,并且可以作为特定领域预训练或微调的基础。考虑到模型的规模及其训练所使用的数据量,它非常适合用于合成数据的生成。在本博客文章中,我们将探讨合成数据生成的几个应用案例,并深入讨论其中之一。本系列合集,点击链接查看
合成数据技术并不是创造全新的信息,而是通过转换现有信息来生成不同的变体。在过去的十多年里,合成数据技术已被广泛应用于提升各类模型的精确度——无论是通过变换图像来优化物体检测模型,还是加强信用卡欺诈检测,亦或是提升BERT模型在自动问答方面的表现。
随着大型语言模型(LLMs)的出现,生成合成数据的动力和技术都得到了极大的加强。各行各业的企业正在利用合成数据来微调基础LLMs,以满足各种应用场景的需求,比如:
- 金融领域改善风险评估
- 优化零售供应链
- 在电信领域提升客户服务
- 在医疗保健领域提高病人护理水平。
编辑注:本文经翻译并二次整理自Creating Synthetic Data Using Llama 3.1 405B一文。
利用LLM生成的合成数据来提升语言模型
在调整模型时,业界主要有两种广泛采用的方法——知识蒸馏和自我提升。
-
知识蒸馏是将一个大型模型的能力转移到一个小型模型的过程。这不仅仅是让两个模型在相同的数据集上训练,因为小型模型可能无法学习到底层数据最准确的表示。在这种情况下,我们可以使用大型模型来解决问题,然后用这些数据让小型模型模仿大型模型的行为。
-
自我提升则是利用同一个模型来评估和改进自己的推理过程,这种方法通常用于进一步提升模型的能力。这两种方法都可以利用Llama 405B模型来优化更小型的LLMs。
接下来,让我们看看如何实现这一过程。训练一个LLM通常包括三个步骤:预训练、微调和校准。
-
预训练:这一步骤涉及使用一个庞大的信息库来训练模型,使其了解语言的通用结构是如何组织的。对于通用的LLM,这通常是通过互联网规模的数据来完成的;而对于特定领域的LLM,我们需要将该领域的具体情况融入其中(例如,针对几何学、放射学或电信的LLM)。这被称为领域自适应预训练(DAPT)。在预训练阶段应用合成数据的另一个例子是Phi-1.5模型,该模型使用大型模型来合成数据,以便在预训练阶段培养逻辑推理能力。
-
微调:一旦模型经过通用语言结构的训练,下一步就是对其进行微调,使其能够遵循特定的指令。例如,提高模型在阅读理解型问题、逻辑推理、代码生成和函数调用方面的表现,都属于这一类。Self-Instruct、WizardCoder、Alpaca等技术利用这些方法来创建特定任务的微调数据。你可以通过这个示例来了解更多关于策划特定领域数据的信息。
-
校准:最后,我们需要确保LLM的响应风格和语调符合用户的期望,比如听起来更会话化,具有适当的详细程度、复杂性、连贯性和其他用户定义的属性。这可以通过使用一个包含指令模型和奖励模型的流程来实现。聊天模型会创建多个响应,然后奖励模型会就响应的质量给出反馈。这种技术属于人工智能反馈的强化学习(RLAIF)范畴。这个笔记本将指导你如何使用新的Llama 405B模型和NVIDIA 340B奖励模型生成模型校准的合成数据。
合成数据评估RAG
由于合成数据的应用范围非常广泛,本文将以合成RAG检索生成评估数据进行具体的案例说明。
检索增强生成(RAG)结合了嵌入模型来检索相关信息和LLM来生成答案。嵌入模型为文本的语义生成数学表示。我们可以使用LLMs来分析底层文档并合成数据,用于评估和微调嵌入模型。
与RAG类似,任何代理流程都可以被评估,其组件模型也可以被微调。这可以通过构建LLM驱动的代理来进行模拟来实现。这些模拟还可以用来研究行为模式。此外,可以将角色引入LLMs以大规模生成特定任务的数据。
为了具体化上述讨论,让我们思考一下上述用例之一的基本流程——为检索生成评估数据。跟随这个笔记本。
策划评估检索流程的数据的主要挑战包括:
- 多样性:问题不应只关注信息的单一方面,或者只有提取性问题。
- 复杂性:生成的问题应该需要一些推理或多个证据片段来回答。
我们将专注于多样性,但要探索复杂性——关键是找到有重叠信息的信息块。找到重叠信息的几种方法是计算句子级语义的Jaccard相似度和利用长上下文模型在来自同一文档的块之间绘制相关性。
多样性来自于不同的观点。例如,考虑以下段落:
GreenTech Inc.被SolarPower Corporation提议收购,是今年可再生能源领域最引人注目的交易之一。交易价值高达30亿美元,旨在将GreenTech的尖端电池技术与SolarPower广泛的太阳能电池板制造和分销网络相结合。预计的运营协同效应将在未来两年内使生产成本降低20%,收入增加15%。然而,这笔交易因潜在的反垄断问题而受到监管机构的严格审查。联邦贸易委员会(FTC)已表示,这一合并可能会在可再生能源存储市场形成垄断,可能会抑制竞争和创新。
SolarPower已承诺保持GreenTech的研发中心作为一个独立实体,以维护其创新文化,该中心拥有超过500名科学家和工程师。此外,所有现有雇佣合同都将得到尊重,从而缓解了潜在裁员的担忧。合并协议还包括一项1.5亿美元的分手费,如果SolarPower未能获得必要的监管批准,将支付给GreenTech,从而减轻了交易失败时GreenTech的财务风险。
协议还包括了详细的陈述和保证,确保了财务报表的准确性、未披露负债的缺失以及遵守适用法律。它还包括一个全面的赔偿流程,以保护双方免受这些陈述和保证的潜在违反。SolarPower和GreenTech已同意在交易关闭前,未经SolarPower同意,GreenTech不得产生新债务、发行额外股份或大幅改变业务运营。这些承诺旨在保护GreenTech的价值,并确保交易完成后的平稳过渡。协议还概述了一个全面的尽职调查流程,包括对GreenTech知识产权组合的环境评估和审计,以确保在交易最终确定之前所有资产和负债都被准确核算。
欧盟委员会也在审查这一合并,以评估其对欧盟市场的影响,特别是关于竞争和市场主导地位。这一评估包括提交详细的文件,包括市场分析、竞争影响评估和合并的经济理由。审查过程要求两家公司迅速回应询问并提供全面文件。此外,为获得批准,SolarPower和GreenTech可能需要做出让步,例如剥离某些业务单位或资产,以减轻对竞争减少的担忧。确保遵守欧盟合并法规不仅涉及解决竞争问题,还要确保合并符合欧盟关于市场公平和消费者保护的更广泛政策。
一个金融分析师可能对这两家公司合并前后的财务表现感兴趣。法律专家可能对公司面临FTC、欧盟和其他方面的法律审查感兴趣。而记者可能想要理解主要的观点。
所有这些都是有效的视角和用户角色,由于他们用不同的观点来处理相同的信息,评估流程也需要适应这些不同的观点。因此,让我们设计一个流程,它接受文档和角色,然后以角色会问的语调输出问题。
生成合成数据图1. 一个高层次的三步流程,用于为检索评估生成合成数据的概述
从概念上讲,这个流程包含三个主要步骤,如图1所示。
- 第一步:为角色生成所有可能感兴趣的问题。
- 第二步:过滤所有生成的问题。
- 第三步:引入角色的写作风格。
第一步:问题生成
在深入探讨问题生成之前,我们首先要阅读文档并从中提炼出关键信息。在接下来的讨论中,我们将以图1作为参考文本。
探讨生成问题第一步的深入分析用户画像是对可能提出问题的用户特征的描述。以下是一些示例:
-
用户画像1Joan是一位资深的金融分析师,擅长运用计量经济学来提出投资策略。他通常有一支分析师团队提供信息支持,因此可能对细节不太熟悉,可能会提出一些含糊的问题。但他对相关主题有深入的了解。
-
用户画像2Padma是一位经验丰富的企业诉讼律师,擅长处理大型公司的复杂法律案件。她以直接、细致的方式处理问题,以敏锐的分析能力和对细节的关注而闻名。
-
用户画像3Aaron是一位新闻专业的学生,对英语不够熟练,可能不会深入挖掘材料的深层含义。他有时会夸大事实以吸引注意。
在理解了文档内容后,大型语言模型(LLM)会根据每个用户画像从文本中提取关键点。不同的用户画像可能对相同的信息点感兴趣,因此我们使用嵌入模型进行语义去重,以找出文本中不同的有趣信息。
多样性的另一个方面是问题的类型。我们需要提出包括提取性、抽象性、比较性等不同类型的问题,而不仅仅是简单的“如何/什么”问题。为此,下一步是确定每种信息点适用的问题类型。
最后,基于文本块、兴趣点和问题类型,我们生成所有可能的问题。通过使用用户画像和问题类型来指导问题生成,开发人员可以引导生成的问题更贴近用户实际会问的问题。
示例兴趣点和问题类型:
- 反垄断法规审查:抽象性、诊断性问题
- 运营协同效应:提取性、抽象性问题
- 创新保护:提取性、抽象性、诊断性问题
- 欧盟并购法规:抽象性、诊断性、提取性、聚合性问题
示例问题:
- SolarPower公司和GreenTech公司的合并可能带来哪些潜在风险,他们打算如何应对?
- 欧盟委员会审查合并时会关注哪些条款,两家公司可能需要做出哪些调整以获得批准?
- 通过合并,SolarPower和GreenTech希望实现哪些战略目标,他们计划如何整合业务以实现这些目标?
- SolarPower公司收购GreenTech公司的三大好处是什么,它们与公司的运营和财务有何关联?
- 目前有多少监管机构在审查这次合并,他们主要关注哪些问题?
- 为了获得欧盟委员会对合并的批准,SolarPower公司和GreenTech公司可能需要做出哪些让步,这些让步会如何影响公司的运营和市场地位?
- FTC对SolarPower公司收购GreenTech公司的主要担忧是什么,这可能对可再生能源存储市场产生什么影响?
第二步:问题筛选
生成问题后,我们需要筛选出最有价值的问题子集。首先是去重,因为不同的信息点可能会产生相似的问题。
然后,我们用LLM作为评判标准,确定问题与原文的相关性,确保问题可以根据文中信息得到完整回答。接下来,我们将所有相关的问题改写成对话式的语气。最后,我们还会筛选掉那些可能过于笼统的问题。
深入分析第二步:问题筛选第三步:赋予用户画像风格
在前两步中,我们已经创建并筛选了多样化的问题。最后一步是将问题改写成符合各个用户画像的风格。
深入分析第二步的一部分:生成句法变体使用LLM,我们首先根据用户画像描述确定他们的写作风格。然后,根据这些风格,对问题进行重写。
写作风格示例:
Padma的风格清晰、精确,正式而直接。她用简单明了的语言传达复杂概念,句子结构严谨,逻辑清晰,反映出她细致的分析能力和对细节的关注。她避免使用情感化的语言、个人意见或修辞手法,专注于以清晰客观的方式呈现事实和论据。她的文字明确无误,每个论点都有充分的证据和逻辑支持。整体语调专业权威,能够赢得读者的尊重和注意。虽然她的写作可能不具备创意上的吸引力或说服力,但在企业诉讼领域传达信息和实现目标方面非常有效。
Aaron的风格通常较为肤浅,缺乏深度和分析,句子简短,反映出他对英语的掌握有限。尽管他努力避免错误,但语法、句法和词汇选择上的错误仍然常见。为了弥补自信不足,Aaron经常夸大事实,以吸引注意。他的语调犹豫不决,给人一种不确定的感觉。总的来说,Aaron的写作风格更像是小报记者,而不是严肃的新闻记者。
通过这个三步流程,我们得到了如下问题:
- 在当前的监管框架下,提议的合并可能需要遵循哪些额外的政策指令以获得相关当局的批准?
- 目前,SolarPower和GreenTech的合并有哪些具体方面正在接受监管当局的审查?
- 如果研发中心在大型收购后保持独立,GreenTech的专家们是否会被解雇?
这些问题都有针对其特定文本块的隐含真实标签,因此可以用于评估各种检索管道。如果您对细节感兴趣或想了解如何改进和定制此管道以适应您的用例,请参阅这个Jupyter Notebook。
要点
合成数据生成是企业为其特定领域的生成性AI应用程序提供动力的关键工作流程。新的Llama 3.1 405B模型与NVIDIA Nemotron-4 340B奖励模型结合使用,生成合成数据,帮助企业构建更准确、特定领域的定制模型。
RAG管道对于LLM生成基于最新信息的有根据的响应至关重要,这些响应的准确性取决于管道的质量。上述描述的合成数据生成工作流程可以帮助企业评估RAG。