Llama 3.1 如何革新 AI 合成数据生成技术
最近,Meta 公司发布了功能强大的开放型大型语言模型Llama 3.1 405B。该模型既适用于批量处理也适用于在线推理,并且可以作为特定领域预训练或微调的基础。考虑到模型的规模及其训练所使用的数据量,它非常适合用于合成数据的生成。本文将探讨合成数据生成的几个应用案例,并深入讨论其中之一。
合成数据技术概述
合成数据技术并不是创造全新的信息,而是通过转换现有信息来生成不同的变体。在过去的十多年里,合成数据技术已被广泛应用于提升各类模型的精确度——无论是通过变换图像来优化物体检测模型,还是加强信用卡欺诈检测,亦或是提升 BERT 模型在自动问答方面的表现。
随着大型语言模型(LLMs)的出现,生成合成数据的动力和技术都得到了极大的加强。各行各业的企业正在利用合成数据来微调基础 LLMs,以满足各种应用场景的需求,例如:
- 金融领域: 改善风险评估,模拟极端市场条件下的交易行为。
- 零售供应链: 优化库存预测,生成多样化的客户咨询记录。
- 电信领域: 提升客户服务自动化水平,模拟复杂的网络故障场景。
- 医疗保健: 提高病人护理水平,在保护隐私的前提下生成医疗对话数据。
利用 LLM 生成的合成数据来提升语言模型
在调整模型时,业界主要有两种广泛采用的方法——知识蒸馏和自我提升。
知识蒸馏 (Knowledge Distillation)
知识蒸馏是将一个大型模型的能力转移到一个小型模型的过程。这不仅仅是让两个模型在相同的数据集上训练,因为小型模型可能无法学习到底层数据最准确的表示。在这种情况下,我们可以使用大型模型来解决问题,然后用这些数据让小型模型模仿大型模型的行为。这种方法特别适用于将 Llama 3.1 405B 的推理能力迁移到资源受限的边缘设备上。
自我提升 (Self-Improvement)
自我提升则是利用同一个模型来评估和改进自己的推理过程,这种方法通常用于进一步提升模型的能力。这两种方法都可以利用 Llama 3.1 模型来优化更小型的 LLMs,从而在保持性能的同时降低计算成本。
接下来,让我们看看如何实现这一过程。训练一个 LLM 通常包括三个步骤:预训练、微调和校准。
1. 预训练 (Pre-training)
这一步骤涉及使用一个庞大的信息库来训练模型,使其了解语言的通用结构是如何组织的。对于通用的 LLM,这通常是通过互联网规模的数据来完成的;而对于特定领域的 LLM,我们需要将该领域的具体情况融入其中(例如,针对几何学、放射学或电信的 LLM)。这被称为领域自适应预训练(DAPT)。在预训练阶段应用合成数据的另一个例子是 Phi-1.5 模型,该模型使用大型模型来合成数据,以便在预训练阶段培养逻辑推理能力。
2. 微调 (Fine-tuning)
一旦模型经过通用语言结构的训练,下一步就是对其进行微调,使其能够遵循特定的指令。例如,提高模型在阅读理解型问题、逻辑推理、代码生成和函数调用方面的表现,都属于这一类。Self-Instruct、WizardCoder、Alpaca 等技术利用这些方法来创建特定任务的微调数据。通过合成数据,我们可以构建覆盖长尾分布的指令数据集,解决真实数据稀缺的问题。
3. 校准 (Calibration)
最后,我们需要确保 LLM 的响应风格和语调符合用户的期望,比如听起来更会话化,具有适当的详细程度、复杂性、连贯性和其他用户定义的属性。这可以通过使用一个包含指令模型和奖励模型的流程来实现。聊天模型会创建多个响应,然后奖励模型会就响应的质量给出反馈。这种技术属于人工智能反馈的强化学习(RLAIF)范畴。结合 Llama 3.1 和 NVIDIA Nemotron-4 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: Joan 是一位资深的金融分析师,擅长运用计量经济学来提出投资策略。他通常有一支分析师团队提供信息支持,因此可能对细节不太熟悉,可能会提出一些含糊的问题。但他对相关主题有深入的了解。
- 用户画像 2: Padma 是一位经验丰富的企业诉讼律师,擅长处理大型公司的复杂法律案件。她以直接、细致的方式处理问题,以敏锐的分析能力和对细节的关注而闻名。
- 用户画像 3: Aaron 是一位新闻专业的学生,对英语不够熟练,可能不会深入挖掘材料的深层含义。他有时会夸大事实以吸引注意。
在理解了文档内容后,大型语言模型(LLM)会根据每个用户画像从文本中提取关键点。不同的用户画像可能对相同的信息点感兴趣,因此我们使用嵌入模型进行语义去重,以找出文本中不同的有趣信息。
多样性的另一个方面是问题的类型。我们需要提出包括提取性、抽象性、比较性等不同类型的问题,而不仅仅是简单的'如何/什么'问题。为此,下一步是确定每种信息点适用的问题类型。
最后,基于文本块、兴趣点和问题类型,我们生成所有可能的问题。通过使用用户画像和问题类型来指导问题生成,开发人员可以引导生成的问题更贴近用户实际会问的问题。
示例兴趣点和问题类型:
- 反垄断法规审查:抽象性、诊断性问题
- 运营协同效应:提取性、抽象性问题
- 创新保护:提取性、抽象性、诊断性问题
- 欧盟并购法规:抽象性、诊断性、提取性、聚合性问题
示例问题:
- SolarPower 公司和 GreenTech 公司的合并可能带来哪些潜在风险,他们打算如何应对?
- 欧盟委员会审查合并时会关注哪些条款,两家公司可能需要做出哪些调整以获得批准?
- 通过合并,SolarPower 和 GreenTech 希望实现哪些战略目标,他们计划如何整合业务以实现这些目标?
- SolarPower 公司收购 GreenTech 公司的三大好处是什么,它们与公司的运营和财务有何关联?
- 目前有多少监管机构在审查这次合并,他们主要关注哪些问题?
- 为了获得欧盟委员会对合并的批准,SolarPower 公司和 GreenTech 公司可能需要做出哪些让步,这些让步会如何影响公司的运营和市场地位?
- FTC 对 SolarPower 公司收购 GreenTech 公司的主要担忧是什么,这可能对可再生能源存储市场产生什么影响?
第二步:问题筛选
生成问题后,我们需要筛选出最有价值的问题子集。首先是去重,因为不同的信息点可能会产生相似的问题。
然后,我们用 LLM 作为评判标准,确定问题与原文的相关性,确保问题可以根据文中信息得到完整回答。接下来,我们将所有相关的问题改写成对话式的语气。最后,我们还会筛选掉那些可能过于笼统的问题。

第三步:赋予用户画像风格
在前两步中,我们已经创建并筛选了多样化的问题。最后一步是将问题改写成符合各个用户画像的风格。

使用 LLM,我们首先根据用户画像描述确定他们的写作风格。然后,根据这些风格,对问题进行重写。
写作风格示例:
- Padma 的风格: 清晰、精确,正式而直接。她用简单明了的语言传达复杂概念,句子结构严谨,逻辑清晰,反映出她细致的分析能力和对细节的关注。她避免使用情感化的语言、个人意见或修辞手法,专注于以清晰客观的方式呈现事实和论据。她的文字明确无误,每个论点都有充分的证据和逻辑支持。整体语调专业权威,能够赢得读者的尊重和注意。
- Aaron 的风格: 通常较为肤浅,缺乏深度和分析,句子简短,反映出他对英语的掌握有限。尽管他努力避免错误,但语法、句法和词汇选择上的错误仍然常见。为了弥补自信不足,Aaron 经常夸大事实,以吸引注意。他的语调犹豫不决,给人一种不确定的感觉。总的来说,Aaron 的写作风格更像是小报记者,而不是严肃的新闻记者。
通过这个三步流程,我们得到了如下问题:
- 在当前的监管框架下,提议的合并可能需要遵循哪些额外的政策指令以获得相关当局的批准?
- 目前,SolarPower 和 GreenTech 的合并有哪些具体方面正在接受监管当局的审查?
- 如果研发中心在大型收购后保持独立,GreenTech 的专家们是否会被解雇?
这些问题都有针对其特定文本块的隐含真实标签,因此可以用于评估各种检索管道。
关键技术细节补充
为了确保合成数据生成的有效性和可扩展性,在实际工程落地中需要注意以下几个技术细节:
1. 提示词工程 (Prompt Engineering)
在生成合成数据时,提示词的质量直接决定了数据的可用性。建议采用结构化提示词模板,明确指定输入文档、目标角色、问题类型以及输出格式。例如,可以使用 Few-Shot Prompting 技术,在提示词中包含几个高质量的示例,引导模型生成符合预期的数据。
2. 向量数据库集成
为了高效管理生成的合成数据,建议将其存储在向量数据库中。这样不仅可以快速检索相似的问题,还可以利用向量相似度来衡量数据的多样性。常用的向量数据库包括 Milvus、Pinecone 或 Chroma。
3. 自动化评估指标
除了人工审核外,应建立自动化的评估指标体系。包括 BLEU、ROUGE 等文本相似度指标,以及基于 LLM 的语义一致性评分。通过这些指标,可以量化合成数据的质量,并持续优化生成流程。
4. 隐私与安全
在生成合成数据时,必须确保不包含任何真实的个人隐私信息。建议使用差分隐私技术或数据脱敏工具对源数据进行预处理。同时,要防止模型在生成过程中泄露训练数据中的敏感信息。
总结
合成数据生成是企业为其特定领域的生成性 AI 应用程序提供动力的关键工作流程。新的 Llama 3.1 405B 模型与 NVIDIA Nemotron-4 340B 奖励模型结合使用,生成合成数据,帮助企业构建更准确、特定领域的定制模型。
RAG 管道对于 LLM 生成基于最新信息的有根据的响应至关重要,这些响应的准确性取决于管道的质量。上述描述的合成数据生成工作流程可以帮助企业评估 RAG,提升系统的整体鲁棒性和可靠性。
通过合理设计用户画像、优化问题生成策略以及精细化的风格控制,企业可以利用合成数据解决数据稀缺、隐私保护和成本高昂等问题,加速 AI 技术的落地应用。