当老板问起LLM的落地,数据要花多少钱

1. 引言

随着大型语言模型(Large Language Models,LLMs)的迅速发展,越来越多的企业开始考虑将LLM应用于实际业务中。然而,在落地LLM的过程中,数据成本往往是一个不可忽视的重要因素。作为决策者,了解LLM训练各阶段的数据需求及其相关成本,对于项目的成功实施至关重要。

整数智能将带您深入探讨LLM训练的三个关键阶段:预训练(Pre-training)、监督微调(Supervised Fine-tuning,SFT)和基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF),分析每个阶段的数据需求特点及其对成本的影响。整数将从数据量、数据质量、数据多样性等多个维度,为您详细解读LLM数据成本的构成,以及如何在保证模型性能的同时优化数据投入。

无论您是刚开始探索LLM应用的企业高管,还是已经在AI领域有所建树的技术领导,我们都将为您提供一个全面而实用的LLM数据成本评估框架,助您在AI落地决策中游刃有余,用我们的过往经验帮您整理出一套计算成本的框架。

2. 预训练阶段

2.1. 数据集规模估算

在给定计算预算C的情况下,估算所需的预训练数据集大小是落地LLM项目的第一步。这个过程涉及到不同的Scaling Laws,其中最著名的是OpenAI的Scaling Law和DeepMind的Chinchilla Law。

OpenAI在2020年发布的研究提出了最初的Scaling Laws,表明模型性能与模型参数数量、数据集大小和计算量之间存在幂律关系。然而,2022年DeepMind提出的Chinchilla Law对此进行了修正,认为最优的数据量应与模型参数量相当。

OpenAI Scaling Law:

$L ( N, D )=\left[ \left( \frac{N_{c}} {N} \right)^{\frac{\alpha_{N}} {\alpha_{D}}}+\frac{D_{c}} {D} \right]^{\alpha_{D}}$

DeepMind Scaling Law:

$\hat{L} ( N, D ) \triangleq E+\frac{A} {N^{\alpha}}+\frac{B} {D^{\beta}}$

公式表示了模型性能($L$或$\hat{L}$)与模型参数数量($N$)和数据集大小($D$)之间的关系。

这两个公式代表了对LLM scaling behavior的不同理解和建模方法。在实际应用中,我们常常需要在模型大小和数据量之间进行权衡。例如,为了降低推理成本,可以考虑使用较小的模型配合更多的数据。Hoffmann等人[1]的研究表明,在固定的计算预算下,一个训练充分的小模型可能比训练不足的大模型表现更好。具体来说,如果我们原本计划训练一个8B参数的模型,但希望降低推理成本,可以考虑将其替换为一个参数更少的模型(如7B),同时增加训练数据量。这种做法不仅可能维持或甚至提高模型性能,还能显著降低部署和运行成本。

数据预算的第一步至关重要,要确定模型的大小和需要的pre-train数据集的大小,整数智能可以为您构建高质量的数据集,同时拥有跟多的存量数据,可以根据您的需求精准匹配更合适的数据。

整数智能数据抓取能力

整数智能数据抓取能力

2.2. 多领域数据配比

预训练语料库可包含各种类型的文本数据,如网页、学术资料、书籍,以及来自不同领域的相关文本,例如法律文件、年度财务报告、医学教科书等特定领域数据。在预训练阶段,LLM从海量未标记的文本数据中学习广泛知识,并将其存储在模型参数中,从而具备一定水平的语言理解和生成能力。

通用预训练语料库是由来自不同领域和来源的大量文本组成的大规模数据集。Liu, Yang等人[2]的研究将通用数据划分为八个大类,分别为:网页、语言文本、书籍、学术材料、代码、平行语料库、社交媒体和百科全书,在模型的预训练过程中,数据的多样性和质量至关重要,所以在构建预训练数据集时,这些不同类别数据的配比需要精心设计。

  1. 网页数据:网页数据是最广泛使用的预训练数据来源之一。数据通常以超文本标记语言(HTML)格式存在,展现出一定的结构特征,且主题丰富,涵盖了来自不同领域和学科的内容。然而,网页数据也可能包含噪声和低质量内容,因此需要仔细筛选和清洗。

  2. 语言文本:语言文本数据主要由两部分组成。第一部分是基于广泛来源的书面和口头语言构建的电子文本数据,通常以特定语言的大型语料库形式呈现;第二部分是基于各个领域或主题的相关书面材料构建的电子文本数据。例如,FinGLM涵盖了2019年至2021年间部分上市公司的年度报告。该数据类型属于金融领域的语言文本材料。

  3. 书籍:书籍数据也是预训练语料库中常见的数据类型之一。与网页相比,书籍具有更长的文本内容和更高的数据质量,这两点都有助于提高大型语言模型的性能。书籍数据提供了深度和广度兼具的知识,让模型提高理解能力和知识储备的同时学习更深层次的上下文信息。

  4. 学术材料:学术资料数据指的是与学术领域相关的文本数据,包括但不限于学术论文、期刊文章、会议论文、研究报告、专利等。这些数据由学术界的专家学者撰写和发表,具有较高的专业性和学术严谨性,将其纳入预训练语料可以提供更准确和专业的信息,有助于模型理解学术领域内的术语和知识。学术文献、论文和教科书等学术材料为模型提供了专业和技术性的语言使用示例,以及最新的科研发现。这类数据对于提升模型在专业领域的表现尤为重要。

  5. 代码:代码数据类别指的是包含编程语言的文本信息,如Python、Java、C++和其他代码片段。其目的是帮助模型更好地理解编程语言和代码结构,代码数据集对于训练除了能提升编程方面的能力外,可能还能提高逻辑推理能力。这类数据使LLM能够理解和生成各种编程语言的代码,为软件开发和代码分析任务提供支持。

  6. 平行语料:平行语料库数据指的是不同语言的文本或句子对的集合。这些文本对是彼此的翻译,其中一个文本是源语言(例如英语),相应的文本是目标语言(例如中文)。平行语料库数据的引入对于提升大型语言模型的机器翻译能力和跨语言任务表现至关重要。

  7. 社交媒体:社交媒体数据指的是从各种媒体平台收集的文本内容,主要包括用户生成的帖子、评论和用户之间的对话数据,反映了非正式的、口语化的语言使用。它包含了大量的俚语、新词和多样的表达方式。尽管社交媒体数据中可能存在偏见、歧视和暴力等有害信息,但它仍然对大语言模型的预训练至关重要。这是因为社交媒体数据有利于模型学习对话交流中的表达能力,并捕捉社会趋势、用户行为模式等。

  8. 百科全书:百科全书数据指的是从百科全书、在线百科网站或其他知识数据库中提取的文本信息。在线百科网站的数据由专家、志愿者或社区贡献者编写和编辑,具有一定的权威性和可靠性。由于其易于获取的特点,它在预训练语料库中被更高频率地包含,成为增强大型语言模型知识库的基石。

合理配置这预训练数据,可以显著提升LLM的性能和适用性。数据的质量和多样性往往比单纯的数据量更重要。基于高质量、多领域数据配比的需求,整数智能在设计预训练数据集时,会仔细考虑每类数据的特点和价值,根据您的具体需求调整配比,助您实现高质精准的预训练数据集配比,降低模型训练成本。

不同模型在预训练过程中所使用的语料库的数据类型分布

这张图片展示了不同模型在预训练过程中所使用的语料库的数据类型分布,每个饼状图代表一个的模型,并标出了各类型数据所占的比例。不同的数据类型使用了不同的颜色进行区分,包括网页、代码、百科全书、书籍、学术材料、社交媒体、语言文本和多样数据。

2.3. 训练数据获取

虽然开源数据集为模型训练提供了基础,但许多真正珍贵和独特的数据往往不会出现在公开渠道中。因此,定向抓取特定领域或来源的数据成为了提升模型性能和竞争力的关键策略。这部分数据的获取是非常必要的。在高质量训练数据抓取方面,整数智能可以为您在定向获取的数据提供更深的insight、时效性更高,更独特的数据,帮助您提升模型在垂直领域的表现和准确性、增强模型对最新信息和趋势的理解。

定向获取数据的渠道通常包括数据爬取、商业数据库订阅、数据合作与交换等几个渠道,除了网络爬虫外其他渠道都过于定制化,故本章节只讨论数据爬取的相关内容,数据爬取对基础设施的要求并不高,所以下文的计算我们只考虑开发成本。

在开发之前,更重要的是选择合适的合适的数据来源,合适的数据来源抓取的能够显著提升模型在特定领域的表现,在确定数据来源后,开发与抓取的成本主要来自以下几个方面:

  1. 开发成本

$Budget_{dev} = (S_{dev} × D_{initial}) + (S_{dev} × D_{update})$

其中,$D_{initial}$与$D_{update}$分别是初次开发的时间和网站更新后抓取代码更新的时间。网站的复杂度、验证机制、请求复杂度等都会影响开发的时间。

  1. 运维成本

$Budget_{ ops} = S_{ops} × D_{crawl} × α$

运维成本可能不是全时间的,可以引入一个系数$α (0 < α ≤ 1)$来表示实际需要的运维时间比。如果数据需要持续更新或爬取周期很长,那么就需要考虑运维人员介入,用于保持爬虫的正常运行和应对网站变化,如果爬虫系统使用了分布式策略,则可能需要运维更多的支持。

  1. IP代理池

$Budget_{ip} = (\frac{N_{req}}{N_{req_per_ip}}) × C_{ip}$

其中,$N_{req}$是总请求数,$N_{req_per_ip}$是每个IP能处理的请求数,$C_{ip}$是每个IP的单价。网站的IP限制策略、总的数据量、IP质量、IP地理位置要求、代理类型等因素会影响到价格。

  1. 爬取物料成本

$Budget_{mat} = C_{mem} × N_{mem} × (D_{crawl} / D_{mem_validity})$

其中,$C_{mem}$与$N_{mem}$是所需的会员数量和会员个数$D_{mem_validity}$是会员有效期(天数)。会员等级、并发策略等因素会影响最终预算。如果目标网站需要注册账号或会员才能下载,那么就需要考虑这项成本。

所以总的来说:

$Budget_{total} = S_{dev} × (D_{initial} + D_{update}) + S_{ops} × D_{crawl} × α + (N_{req} / N_{req_per_ip}) × C_{ip} + (C_{mem} × N_{mem} × D_{crawl}) / D_{MemValidity}$

一般来说,一个垂域网站按照困难程度需要1-10万元不等,大型社交网站成本更高。整数智能可以为您提供更深的insight,更高的时效性,更独特,更高质量的数据,并将获取总成本降低70%,在各个维度帮助您训练优秀的大语言模型。

整数智能数据抓取能力

整数智能数据抓取能力

2.4. 文档信息抽取

大量高质量的LLM预训练数据以PDF或扫描图像的形式存在。由于排版和格式的多样性与扫描图像的质量参差不齐,利用这些数据构建数据集是一个充满挑战的任务,需要将这些内容转换为markdown这样的数据才可以使用。核心问题主要集中在两个方面:提取内容信息和版面信息(包括正文、标题、图注、图片、表格、公式)以及处理版面元素之间的相互关系。

整数智能在处理多个开源数据集时,观察到多个出色的开源解决方案,如PP-StructureV2、Marker、Vary和Nougat,但它们各有不足。PP-StructureV2不能识别LaTeX格式内容,且缺乏必要的后处理环节;Marker覆盖的语言较少,figure没有很好的进行处理;Nougat对多栏数据的支持比较有限,能识别的语言有限,Vary / Vary-toy的计算资源消耗较大。

基于这些情况,整数智能作为Multimodal Art Projection(M-A-P)团队的一员,全程参与构建的完全开源的大语言模型MAP-Neo也开源了Document Covert Pipeline,能比较好的平衡性能和计算开销,同时各个模块之间解耦带来了更好的可解释性且能更容易升级、添加和替换各个不同的模块,提供了一条个更灵活、高效、CPU友善的方案。

除了使用模型进行Convert的方案之外,还有很多的厂家提供了类似的服务,例如mathpix、Doc2x、庖丁PDFlux、pix2text、X信息、X讯云大模型知识引擎文档解析等,所以下文我们提供了两种方式计算成本:

  1. 自建转换服务成本

$Budget_{convert} = (\frac{N_{pages}}{R_{process}}) × C_{node} × (1 + F_{complexity}) + C_{integration}$

其中,$N_{pages}$总文档数,$R_{process}$单节点每天处理的文档量,$C_{node}$每天节点价格,$F_{complexity}$文档复杂度因子($0 ≤ F_{complexity} ≤ 1$),通常来说,杂志和报纸的排版与字体会更复杂,而文献、专利的图片和表格会更丰富,在指定预算需要考虑相关因素,$C_{integration}$是部署、更新策略/模型与维护的成本,根据任务的不同这部分成本会差别非常大。

  1. 第三方服务成本

$Budget_{convert} = \sum_{i=1}^{n} C_{tier,i} \times N_{pages,i} + C_{integration}$

其中,$n$是价格阶梯的数量,$C_{tier,i}$是第i个阶梯的单页价格,$N_{pages,i}$是在第i个阶梯中的页数,$C_{integration}$是API集成和维护成本。
选择哪种方法取决于多个因素,包括文档的数量和类型、所需的转换质量、内部资源的可用性、以及预算限制等,事实上大多数情况是容易的数据使用自己的服务器做convert,难的使用商业级服务。

2.5. 训练数据清洗

虽然通过爬虫、文档转换和开源数据集获取的原始数据为模型训练提供了基础,但这些数据通常包含噪声、错误、偏见和虚假信息,会降低模型的训练效果。因此,数据清洗成为了提升模型性能和可靠性的关键环节。为获取高质量的数据,整数智能可以为您提供更干净、更精细的数据清洗,显著提高数据的质量,从而提升模型在特定任务上的表现,增强模型对复杂模式的理解能力,并减少因数据问题导致的误导性学习。

Fineweb数据清洗的pipeline

Fineweb数据清洗的pipeline

在开始清洗之前,更重要的是制定合适的清洗策略。这需要充分了解数据的特性、模型的需求以及潜在的数据质量问题。清洗策略的制定应考虑数据的规模、复杂度、领域特性等因素。在成本估算方面,以整数智能共同参与的和Ge Zhang等人[3]的MAP-Neo大模型的Matrix数据集为例,Matrix数据集Release了4.7T tokens的数据,可以说是质量最好、规模最大的双语数据集之一。Matrix数据集的数据清洗的一般思路遵循"由粗到细"、"由简单到复杂"的原则,我们可以将清洗步骤分为以下几个主要阶段:

  1. 启发式过滤:启发式规则过滤是第一道防线,旨在快速识别和删除质量较差的数据。这一步骤计算成本低,但能显著减少后续处理的数据量。过滤标准包括:URL;黑名单词表;乱码文本过滤器;文档长度;特殊符号比例;短小、连续或不完整行的比例;重复单词;n-gram或段落,过滤阈值基于对大型文档样本的统计分析。启发式规则能够有效识别和删除低质量数据,防止低质量预训练语料库影响模型性能表现。由于团队采用了多种来源的复合数据,基于数据多元性,团队专门设计了清理方法,并为每种方法量身制定规则,以保持数据质量的一致性。

  2. 数据去重:许多研究表明重复性文本可能导致模型性能下降,这使得去重成为语料处理中的一个关键步骤(当然这点稍有争议,重复越多的数据可能恰恰说明这部分数据质量是高的,这是一个重要的Feature,例如Fineweb的观点是并不是去重越多性能越好,如果在跨dumps进行去重处理,性能反而不好)。

    a. 完全重复:精确文档去重是一种用于评估整个文本是否与另一个文本完全相同的方法。如果发现完全相同,则会删除重复项。由于数据量庞大,必须使用集群来处理,还可能会出现内存不足的问题。实践中我们将文本数据分批存储到不同的存储桶中。然后依次处理每个存储桶的数据以删除重复项。

    b. 近似重复:对于近似重复,我们使用MinHash LSH去重方法尽可能地移除它们,特别适用于网页数据,在大型数据集的相似性搜索和重复检测中被广泛使用,它可以处理非常常见的场景,即文本内容基本相同,但网页的分散模板块不同。MinHash的原理是用较小的哈希值表示一个集合,然后可以用这些哈希值来估计两个集合之间的Jaccard相似度。这一步的计算成本还是相当高昂的。

    c.Similar Line:为了解决文本中相同内容多次出现的情况,一种直接的方法是使用特定的分隔符将文本分 成多行,然后比较每行之间的相似度。如果它们相似,则删除后续行。

    d. 此外还做了段落去重和子字符串去重,以达到更好的效果

  3. 质量筛选:Fineweb-edu在清洗数据之后利用LLama3-70B-Instruct模型对数据进行评分并训练了一个Bert-like的分类模型,使用分类模型筛选数据,这个步骤极大的提高了数据的质量。除了使用模型筛选数据质量外,很多开发者在清洗CC数据集的时候会使用fasttext模型进行语言识别。

左图是处理英文数据的保留率  右侧是中文的保留率

左图是处理英文数据的保留率 右侧是中文的保留率

去重操作在这一实验中并未表现出预期的性能提升

去重操作在这一实验中并未表现出预期的性能提升

基于以上步骤我们可以计算数据清洗步骤的成本:

  1. 工程师调试和规则确定成本

$Budget_{engineer} = S_{eng} \times (T_{rules} + T_{debug})$

其中,$S_{eng}$为开发者的日薪,$T_{rules}$与$T_{debug}$分别为制定和优化规则所需的时间(天)和调试和测试清洗流程所需的时间(天)。

  1. 存储开销

$Budget_{storage} = C_{storage} \times V_{data} \times T_{retention}$

其中,$C_{storage}$为每TB每月的存储成本,$V_{data}$是数据总量(TB),$T_{retention}$数据保留时间(月)。

  1. 计算开销

$Budget_{compute} = \sum_{i=1}^{n} [C_i \times \frac{V_{data,i}}{R_i} \times (1 + \beta_i \times (F_{comm} + F_{ops}))]$

其中,$i$指表示处理阶段(1 到 n),$C_i$为第i个阶段的计算资源单位成本(元/天),$V_{data,i}$为第i个阶段的数据量(TB),$R_i$为第i个阶段的处理速率(TB/天),$\beta_i$是二元指标,表示第i个阶段是否使用集群处理(0表示单节点处理,1表示集群处理),$F_{comm}$与$F_{ops}$是使用集群的通信与运维开销。使用集群很麻烦且成本高,所以我们把启发性过滤作为第一步。

  1. 质量筛选

$Budget_{quality} = C_{train} \times T_{training} + C_{data_annotation} + C_{inference} \times \frac{V_{data}}{R_{inference}}$

其中,$C_{train}$与$C_{inference}$是训练与推理的计算成本,通常两者价格差异还是比较大的,$T_{training}$为训练时间(天),$C_{data_annotation}$为标注成本,$\frac{V_{data}}{R_{inference}}$指表示的是完成所有数据推理所需的时间。

2.6. 数据成本计算

高质量的数据处理并非没有代价。从数据获取到最终的清洗过程,每一个步骤都涉及到复杂的计算和人力资源投入,这些都转化为实际的成本。本章我们会结合整数的往期内容与整数的丰富经验为您提供一些可行性想法,希望对您在构建LLM落地时,对数据成本的计算有帮助。

基于前文所述的数据处理流程,我们可以将数据成本大致分为以下几个主要类别:存储成本、数据获取成本、数据转换成本和数据清洗成本,希望通过整数智能的过往的丰富经验帮助大家建立直观的预算体系:

  1. 存储成本:在本领域中,数据规模要远远大于一般的项目,预训练的pre-train dataset规模更是PB级,单机无法满足如此大规模数据的存储需求,同时项目对带宽还有很大的需求,所以一般都会使用分布式存储,分布式存储便于横向扩展,能满足不断增长的存储需求,且具有数据备份和容错机制,数据可靠性高,多节点并行读写也能提高I/O性能。一般来说分布式存储的容量价格在600元/T左右(NVME + HDD),可算得1PB的可用存储空间需要60多万元,再加上安全冗余和网络设备、安全设备,成本会接近70万元/PB。
  2. 数据获取:一个知名的大型网站所有的历史数据可以往30-50万左右估,需要增量更新每年可能10万左右;如果是垂域网站那么大概3-10万都有可能;视频网站会比普通的网站贵三到五倍(带宽、存储)、海外网站贵两到三倍(海外代理、海外服务器、合规)。假设需要爬8个主流的社交媒体和新闻网站 + 15个垂域网站(如代码、数学、金融),那么预算定为500万比较合适。
  3. 文档信息抽取:以整数智能的经验为例,使用整数智能研发的pipeline跑document covert成本更低,灵活度更高。如果使用消费级GPU做convert那么每页的成本约为0.00025元,远低于mathpix的每页0.025 / 0.01美元,当然我们现在也看到很多很好的国产厂商在做这方面的尝试,期待国产服务商带来更好的模型、更便宜的价格。总之算上做Gap的时间和调试的时间,每10,000,000页文档估10万左右即可(80%使用自己的模型 + 20%使用第三方服务)。
  4. 数据清洗:这一步的成本主要取决于数据来源有多少以及数据来源的领域,整数在处理很脏的数据的时候使用了超过1,000颗核心清洗了约一个月时间,为了得到更高质量的数据添加了很多特殊的规则,数据保留率不足1%。因此,这部分的数据可以这样算:

$S_{\text{eng}} + \frac{V_{\text{data}}}{100\text{T}} \times C_{\text{base}}$

即,每个领域的数据清洗的成本组成为算法工程师两周的薪资 + 每100T的清洗需要花2万元,在集群搭建好的情况下,假设数据清洗的成本随数据量线性增加。例如像fineweb-edu使用了llama3-70B与Bert-like的模型价格也比较实惠,把每100T的成本稍微提高一些即可。

总的来说,LLM预训练数据的准备是一个复杂且成本高昂的过程。它涉及多个环节,包括数据获取、存储、文档信息抽取和数据清洗,每个环节都需要精心规划和substantial的投入。数据的质量和多样性对模型的最终性能至关重要,因此在预算允许的情况下,应该尽可能地优化每个环节。同时我们发现经验丰富的算法工程师的价值不容忽视,他们的经验和专业知识能够帮助团队避免许多潜在的陷阱和弯路。在LLM项目中,由于人力问题而走弯路的成本往往高得惊人,可能导致大量时间和资源的浪费。

3. SFT & RLHF阶段

在大型语言模型(LLM)的训练过程中,监督微调(Supervised Fine-tuning,SFT)和基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)是两个紧密相连的关键阶段。尽管这两个阶段在技术实现和具体目标上有所不同,但从数据需求和成本构成的角度来看,它们有着显著的相似性。在本章我们将这两个阶段合并讨论,主要原因在于它们的核心成本都集中在数据标注和需求定义上,这一特点使得它们在数据准备和成本估算方面有许多共通之处。

3.1. SFT数据集的特点

SFT数据集由一系列文本对组成,包括“指令输入”和”答案输出”。 “指令输入”代表人类向模型提出的请求,涵盖各种类型,如分类、总结、改写等。“答案输出”是模型根据指令生成的响应,符合人类的期望。构建指令微调数据集有四种方法:人工创建;模型生成,例如使用Self-Instruct方法;收集和改进现有的开源数据集;以及结合上述三种方法。

不同的构建SFT数据集的方法

不同的构建SFT数据集的方法

通常有两种方式构建人工生成的数据集。第一种方式涉及由公司员工、志愿者、标注平台人员等按照给定要求和规则直接创建指令文本集。无论是设计指令集、编写标注指南,还是进行实际的数据标注和质量控制,都需要大量的人力时间投入。例如,Databricks-dolly-15k数据集的创建就涉及了数千名Databricks员工,他们在多个指令类别中生成了超过15,000条记录。第二种方式涉及从网页抓取人工生成的真实问答数据,并将其标准化为指令格式。例如InstructionWild / v2LCCC / Zhihu-KOL等数据集,通过聚合、整理社交聊天、代码相关问答等内容来构建数据集。

在整数智能过往的实践中,更多的是使用第一种方式构建数据集。同时,Liu, Yang等人[2]认为这样构建的数据集这些数据集经过专业注释员的处理和审核,因此质量更高、更加干净;经过人工处理后,这些数据集变得更容易解释,并且与人类理解更加一致,可解释性更强;研究人员对训练样本具有灵活的控制,可以根据不同任务进行调整,更灵活。

整数智能多领域的高质量成品数据集

整数智能多领域的高质量成品数据集

3.2. RLHF数据集的特点

RLHF数据集是提供对同一指令输入的多个响应进行偏好评估的指令集合。通常,它们由具有不同响应的指令对组成,同时包含来自人类或其他模型的反馈。这种设置反映了人类或模型在给定任务或上下文中对不同响应的相对偏好。偏好数据集中的反馈信息通常通过投票、排序、评分或其他形式的比较来体现。
偏好数据集主要用于大型模型的对齐阶段,旨在帮助模型的输出更紧密地与人类偏好和期望保持一致。与人类偏好的对齐主要体现在三个方面:实用性(具备遵循指令的能力)、诚实性(避免编造信息)和安全性(避免生成非法或有害信息)。

不同的构建RLHF数据集的方法

不同的构建RLHF数据集的方法

RLHF(基于人类反馈的强化学习)和RLAIF(基于AI反馈的强化学习)都使用强化学习方法来利用反馈信号优化模型。除了使用指令数据集进行微调外,还可以使用偏好数据集训练奖励模型。随后,可以应用近端策略优化(PPO)算法,基于奖励模型的反馈进行进一步微调。

3.3. 数据成本计算

在SFT和RLHF阶段,数据成本主要来自以下几个方面:

  1. 规则设计成本

$Budget_{analysis} = T_{total} \times (R_{expert} \times S_{expert} + R_{engineer} \times S_{engineer} + R_{user} \times S_{user})$

其中$R_{x} (0 < R_{x} ≤ 1)$表示参与比例,算法工程师$S_{expert}$了解模型的能力边界,领域专家$S_{expert}$提供专业知识和洞见,$S_{user}$提供一线的使用场景和需求反馈,这个环节是必要且重要的,精心设计的规则能显著提高数据质量,直接影响模型性能,且好的规则设计可以提高标注效率,降低返工率。虽然详细的规则设计过程可能增加了初始成本,但它的价值远超过这些成本。它不仅能提高数据和模型质量,还能为整个项目和组织带来长期收益。

  1. 指令数据集构建成本

$Budget_{instruction} = \frac{N_{instructions}}{R_{creation_speed}} \times S_{annotator} + \frac{N_{instructions} \times R_{review}}{R_{review_speed}} \times S_{reviewer}$

其中: $N_{instructions}$为总指令数量,$R_{creation_speed}$为标注员每小时能生产的指令数量,$S_{annotator}$为标注人员平均时薪,$R_{review}$是审核抽检率,$S_{reviewer}$和$R_{review_speed}$分别是审核人员平均时薪与审核员每小时能审核的指令数量。

  1. RLHF数据集构建成本

$Budget_{RLHF} = T_{generation} \times C_{GPU_cluster} + \frac{N_{instructions} \times \alpha}{R_{ranking_speed}} \times S_{annotator} + Budget_{review}$

其中第一部分为生成response的推理成本,第二部分为人工标注的成本,选择标注方式和策略会极大影响$\alpha$。例如,如果有$N$个response,需要两两对比,那么人工标注的成本:

$\frac{N_{instructions} \times C(N_{responses}, 2)}{R_{rank_speed}} \times S_{annotator}$

如果是评分那$R_{rank_speed}$会明显提高,所以选择合适的评估方式是RLHF数据集构建中的关键因素,它不仅影响数据质量,还直接决定了成本结构。审核策略的选择和取向同样会显著影响成本,考虑到这些因素的复杂性和相互影响,给出一个通用的成本公式确实具有挑战性,所以我们没有给出一个具体的公式。

在实践中,通常需要通过小规模试点来验证和优化评估和审核策略,然后再扩展到全量数据。这种迭代approach不仅有助于优化成本,还能在过程中不断完善数据质量和标注指南。

根据整数智能过往的经验,假设收集1000道IMO级的数学题,考虑到需求已经非常成熟,主要成本将集中在标注和审核上。标注员的成本为每小时150元,预计每小时做一题,加上其他成本,预算预估在20万。但是,如果采用整数智能所搭建的RLHF数据的数据集构造,那么借助LEAN等现代的证明工具,每小时的处理效率会远高于response的构造,每小时约能处理4-6个pair。


至此,我们已经建立了一个比较全面的评估体系,可以根据需求评估数据价格了。

例如,老板希望模型拥有某个领域的知识,甚至成为某领域的SOTA,那么要添加知识,可以选择CPT,根据D-CPT Law[4]和REGMIX[5]算出可能需要100B的domain data,有12个目标网站可以做爬取,能cover住70B的数据,剩下30B从公开数据集里洗一下,CPT后再整几千条SFT的数据。那么数据部分可能要花30万元,包括:数据抓取12个网站约需要20万元 + 几十TB的数据下载下来用deepseek math的方法洗一下约2万元 + 构造一条SFT数据可能大概40元,2000条一共8万元。

费用项目 费用
从0开始预训练 100万-5000万
CPT 50万-800万
SFT 每个领域4万-100万
RLHF数据 每个领域1万-40万

上述估算基于当前市场数据与整数智能多年行业经验,提供目前最常见的预算框架区间,帮助您更加直观地进行总体数据费用成本估算。
整数智能可以为您在各阶段成本可以在上面的基础上,降低40%-60%的费用。整数智能在搭建高质量的训练数据集的过程中,基于丰富的数据处理经验,为数据集搭建提供专业性方案;整数智能的智能数据工程平台 MooreData Platform 和高度专业化、标准化的数据处理服务为训练数据的搭建提供力量,帮助您采用高质量数据集训练LLM,有助于您更好地了解项目所需资源和投入。

4. Reference

  1. Hoffmann, Jordan, Sebastian Borgeaud, Arthur Mensch, Elena Buchatskaya, Trevor Cai, Eliza Rutherford, Diego de Las Casas, 等. 《Training Compute-Optimal Large Language Models》. arXiv, 2022年3月29日. http://arxiv.org/abs/2203.15556.
  2. Liu, Yang, Jiahuan Cao, Chongyu Liu, Kai Ding和Lianwen Jin. 《Datasets for Large Language Models: A Comprehensive Survey》. arXiv, 2024年2月27日. http://arxiv.org/abs/2402.18041.
  3. Ge Zhang, Scott Qu, Jiaheng Liu, Chenchen Zhang, Chenghua Lin, Chou Leuang Yu, Danny Pan, 等. 《MAP-Neo: Highly Capable and Transparent Bilingual Large Language Model Series》. arXiv, 2024年6月2日. http://arxiv.org/abs/2405.19327.
  4. Que, Haoran, Jiaheng Liu, Ge Zhang, Chenchen Zhang, Xingwei Qu, Yinghao Ma, Feiyu Duan, 等. 《D-CPT Law: Domain-Specific Continual Pre-Training Scaling Law for Large Language Models》. arXiv, 2024年6月3日. http://arxiv.org/abs/2406.01375.
  5. Liu, Qian, Xiaosen Zheng, Niklas Muennighoff, Guangtao Zeng, Longxu Dou, Tianyu Pang, Jing Jiang和Min Lin. 《RegMix: Data Mixture as Regression for Language Model Pre-Training》. arXiv, 2024年7月1日. http://arxiv.org/abs/2407.01492.

Abaka AI Co., Ltd., originated from the Institute of Computing Technology Innovation at Zhejiang University, is committed to becoming the data partner in the AI industry. Abaka AI is also a member of the China Artificial Intelligence Industry Development Alliance, the ASAM Association, and the Zhejiang Province Artificial Intelligence Industry Technology Alliance. The company provides the MooreData Platform and ACE Service, which meet the needs for advanced intelligent annotation tools and high-quality data across numerous AI application scenarios such as autonomous driving and AIGC.

Smart Data Engineering Platform

MooreData Platform

SaaSOn-Premise Deployment

Dataset Construction Service

ACE Service

(ACcurate & Efficient)

Data CollectionData CleaningData Annotation

To date, the company has partnered with over 1,000 top tech companies and research institutions worldwide. It holds dozens of intellectual property rights and has obtained international certifications such as ISO9001 and ISO27001. Abaka AI has also frequently contributed to the development of standards and white papers in the AI field, and has been featured in media outlets including CCTV Finance Channel, Xinyue Hangzhou Business, Zhejiang TV, and Suzhou TV.

Your Data Partner In The AI Industry
ABAKA©2024