用大模型优化大模型预训练数据,节省20倍计算量,实现显著性能提升!

生成式人工智能研究实验室(GAIR,主页:https://plms.ai/)是国内首个聚焦于生成式人工智能的高校研究组。汇聚了来自于 CMU、复旦、交大(ACM 班、IEEE 试点班等)等顶尖高校的年轻本硕博人才。实验室专注于三大核心领域:大模型基础研究、对齐系统和社会影响,致力于培养顶尖人工智能人才(具有原创、批判精神等)、开发尖端的生成式人工智能技术,赋能人类解决复杂问题,提升人类生活质量。

Program-Every-Example (ProX) 是上海交通大学生成式人工智能实验室 (GAIR Lab) 、上海人工智能实验室、新加坡 Sea AI Lab 联合研究的一个用于提升大规模预训练语料质量的数据优化框架。

1. 背景介绍

在大模型研发过程中,数据质量是决定模型成功与否的关键因素之一,而大规模预训练数据则是构建强大语言模型的基础。业界的实践通常是抓取互联网上的海量的网页数据,然后由人类专家设计专门的规则来进行数据清洗,这些规则虽然能够在处理数千亿甚至上万亿 token 级别的语料时保持较高的效率,但其局限性也逐渐显现。数据的清洗效果往往决于规则是否全面,然而这些规则并不能理解文档中的上下文语境,同时也很难为每一个文档去定制规则,故此面对多样化的样本需求,这些静态规则难以灵活应对,导致语料质量提升空间有限,制约了模型的进一步突破。

为此,上海交通大学生成式人工智能实验室 (GAIR Lab)、上海人工智能实验室以及新加坡 Sea AI Lab 联合提出了 Program-Every-Example (ProX) 框架。ProX 通过采用语言模型而非人类规则进行自动化的数据优化,灵活应对多样化的样本特征,显著提升了预训练语料的质量,为大规模预训练模型的性能突破提供了一种可能的数据优化思路

img

  • 论文: https://huggingface.co/papers/2409.17115

团队还以开源的方式为社区提供了:

  • 代码框架: https://github.com/GAIR-NLP/ProX
  • 预训练实验的全实验细节和模型: https://huggingface.co/gair-prox
  • 超过 100B 的高质量通用语料和 5B 的高质量数学语料: https://hf.co/collections/gair-prox/prox-dataset-66e81c9d560911b836bb3704

2. 用语言模型提升语言模型 「自己」 的数据质量

传统的预训练数据清洗和优化方法主要依赖人工设计的规则,虽然这些规则能够有效过滤低质量数据,但无法针对每个样本进行更细粒度的处理。这种方式难以处理复杂的多样化数据,最终可能导致模型性能的瓶颈。Program-Every-Example (ProX) 的出现旨在改变这一局面,它通过利用语言模型自动生成优化程序,能够对每个数据样本进行个性化处理,提升数据的整体质量。ProX 不仅可以识别低质量的文本,还能进行更精准的优化和清理,如字符串标准化、噪声行删除等操作,确保每个样本都能以最佳状态进入预训练过程。

img

图:ProX 总体框架,利用语言模型生成程序 + 执行,提升数据质量。

3. 如何兼顾效率和质量?Program-Every-Example!

在利用语言模型提升数据质量的同时,如何提高数据处理的成本和效率也是研究中的一大挑战,特别是考虑到预训练所需要的语料往往突破了数万亿级别 (TB) token。

近期,业界和各个研究团队(如 meta 的 llama 团队,阿里千问团队)也在积极研究直接利用大语言模型来选择和过滤语料,这些方法主要应用于文档级别的数据过滤和选择,能够有效识别低质量的文档并加以排除,提升整体数据集的质量。然而,这类方法潜在的局限性在于其精细化处理能力不足,通常只停留在文档的选择层面,可能没有进一步对文档内的细节进行更深入的优化和清理,例如字符级别的规范化处理、噪声行的删除等操作,从而限制了数据优化的效果。

同时,直接的数据合成方法正在成为另一个研究热点。该方法通过大语言模型(LLM)基于种子数据或特定话题,主动生成新的高质量数据。这种合成技术尽管展示了生成多样化、丰富语料的潜力,但其挑战在于需要极大的计算资源支持,特别是在大规模生成时,计算代价非常高。此外,LLM 生成的数据还面临幻觉问题,即生成内容与事实不符,无法保证训练数据的真实性和一致性。这些问题给直接数据合成方法的实际应用带来了很大挑战,特别是在需要高精度和高可信度的领域。

于是在 ProX 中,研究者们提出了 Program-Every-Example 的设计。 他们通过使用较小的语言模型(如 0.3B 的超小规模模型)来执行数据优化任务,并且将数据优化的过程转变为调用特定的 python 函数**,对每个文档都生成特定的函数调用**。ProX 框架会再通过执行这些程序,来对语料进行文档级别的过滤和噪声行、字符级别的处理。

这样简单的 Program 设计,大大节省了输出端的 token 数量,相比较于依赖于大语言模型数据合成方法(通常依赖于 7B 甚至 70B 规模的模型)显著减少了计算成本,同时又做到了简单过滤方法无法实现的精细化操作

img

图:ProX 设计的函数接口,覆盖了文档级别过滤、噪声行去除、字符串清洗等操作。

4. 如何构造数据优化模型?

如何构造这样的数据优化模型呢?是否要对不同 domain 都有不同的构造方法呢?在这里,ProX 采用了一种统一的构造思路,无需对特定领域进行额外设计就可以广泛适用。首先,针对数据优化的粒度,ProX 将优化分为两个阶段:文档级别和子文档 / 块级别 (将文档切分成更小的窗口),分别对应文档级别的过滤和更细粒度的块内优化如行级别和字符级别的优化。

由于直接让模型,尤其是较小的模型生成这样上述设计的函数调用是较为困难的,因此 ProX 合成了对应的微调数据,以便对基座模型进行微调以处理和优化真实的语料。在文档级别操作中,ProX 借鉴了近期纽约大学的 Self-Rewarding 以及 Hugginface 的 FineWeb-Edu 中所采用的评分机制,对数万个随机采样的种子文档进行了教育价值评分、文档格式评分,并构建出保留高分文档、去除低分文档的优化程序。在子文档 / 块级别级别的操作中,ProX 利用了 Llama-3 和少样本提示的方法,构造了对于多种噪声的函数调用,并对这些离散的函数调用进行语法检查和正确性分析,筛选然后合并为一个较为复杂的程序。

最终,ProX 对两个优化阶段,分别构建了适用于通用领域的约 50K 函数调用数据集,并以相同的方法针对数学领域生成了同等规模的数据集。ProX 随后通过 SFT(监督微调) 在一个小模型上进行训练,模型快速收敛,且成功应用于真实的大规模语料处理任务中,在后续的大量实验中展示了其高效的优化能力与广泛的适用性

img

图:ProX 构造 SFT 数据和数据优化模型的流程示意图。

5. 在广泛数据集上得以验证

那么 ProX 得到的数据效果到底如何?

超越人工规则,超越此前的基于语言模型的数据选择方法

初步实验发现,ProX 在小于 1B 规模的模型训练中超越了此前多个人工设计的规则过滤方法,并且在多数的标准化测试数据集中稳定达到更高的表现。

img

img

表:ProX 和人工规则的对比,表现出稳定且大幅度的增长。

ProX 还和此前利用语言模型选择预训练数据的方法进行了比较。团队仅采用了文档级别的优化,以保持和数据选择方法较为公平的优化粒度,仍然在 8 个下游数据集上,大幅度提升了之前的利用语言模型进行数据选择方法 ( > 2.0%)。

img

表:Prox 和现有的利用语言模型进行数据选择方法对比,超越了所有基准方法。

更大规模的实验:50B 语料训练媲美 3T 性能?

团队在 1.7B 模型上训练了 50B ProX 优化后的数据,发现其表现已经接近于甚至超越一些用超过数百 B 甚至 TB 级别语料训练的语言模型,例如 OLMo、Pythia、TinyLlama 等等。且训练后的模型和现有的利用超大模型直接数据合成语料上训练更充足的模型,表现也非常接近。这充分说明了 ProX 优化数据质量的有效性。

img

图:ProX 和原始数据、Tinyllama (3T token)、OLMo (2T token)、Pythia (300B token) 的训练代价及性能表现对比。

在这些对比的模型中,Inst-LM 实际采用了更大规模的经过重构的下游数据集 + 微调的 Mistral-7B 模型,合成了更多的 100B tokens;Cosmo 则采用了更大规模的 Mistral-8x7B 模型合成了 25B tokens,并重复训练了 180B 总 tokens;Sheared-Llama 则是通过模型剪枝算法,从 Llama-2-7B 中剪枝并且继续训练 50B tokens 得到。相比于 ProX 仅用了 0.3B 的优化模型和 50B tokens 的训练代价,这些模型的数据开发和训练成本都要大得多。而 ProX 取得了和他们十分接近的数据集表现,也进一步反应了 ProX 的高效和节省计算量。

img

图:ProX 和 LLama-2 模型剪枝方法、其他合成语料训练的模型之间的性能比较。

通过对 FLOPs 的定量分析,团队发现随着训练模型参数量的扩大,ProX 的数据优化的推理成本占训练成本的比例在不断下降,达到相同下游表现的总训练成本也在大幅下降。并且相比于利用大模型,直接进行大规模数据合成高质量语料所需要的代价要小得多。

img

图:达到相同性能,使用 / 不使用 ProX 所需的总计算量成本。

特定领域预训练 :无需额外设计,大幅提升数学性能

ProX 在数学语料上也有相似的提升。ProX 对现有最好的开源数学文本语料 Open-Web-Math 进行优化,得到了约 5B 高质量的数据。在对 7B 模型 (如,CodeLlama,Llama,Mistral)经过了 10B~15B 的预训练后,模型在 9 个数学相关榜单上最高提升 20% 的性能。注意到 ProX 仅用了约 1/20 的训练代价,就得到了效果堪比现有的使用开源数据训练 50B 甚至 200B 的专用数学大模型,再次证明了数据质量对于模型的重要性。

值得注意的是,ProX 并未对数学领域的数据优化模型、优化函数、数据收集进行额外的设计;他们直接使用了和通用领域相同的提示词、函数实现、构建策略,就得到了出色的效果;这也极大降低了定制化垂类大模型的开发成本。

img

图:ProX 在数学语料上的续训练以及在 9 个数学任务上的平均性能表现。

6. 未来展望

ProX 可以怎么样帮助社区做下一步的研究?他们在论文的最后还构想中了如下几点:

  • 设计出更灵活的接口,以覆盖多样化的数据优化需求,进一步提升数据质量。
  • 将 ProX 发展到更多专用 domain:例如代码领域、多语言语料上,促进领域大模型的发展。
  • 通过进一步减小模型尺寸、和其他加速手段,减小推理代价,使清洗 TB 级别文档不再遥远。

最后,随着近期 openai o1 模型的发布,test time scaling 成为研究者们和业界关心的话题。对此,ProX 团队也怀有相同的期待:在数据优化阶段投入更多的计算量来优化数据,或许同样能够成为模型突破瓶颈、迈向通用人工智能(AGI)的重要技术手段之一。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1547840.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

大数据-150 Apache Druid 安装部署 单机启动 系统架构

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

从‘盲管’到‘智网’,漫途精准构建排水管网监测方案

在城市错综复杂的基础设施网络中,排水管网作为城市的“血脉”,其高效、稳定运行直接关系到城市生活的安宁与财产的安全。面对日益频繁的雨季挑战与气候变化的不确定性,传统“盲管”管理模式已难以满足现代城市治理的需求。 漫途排水管网监测…

LED显示屏如何通过FMEA进行风险分析:打造无忧显示新境界

LED显示屏作为高科技产品,其性能受到多种因素的影响,包括但不限于设计缺陷、材料质量、制造工艺、使用环境等。任何环节的疏漏都可能导致显示屏出现亮度不均、色彩失真、故障频发等问题,进而影响用户体验和品牌形象。因此,通过FME…

Linux标准IO(四)-格式化I/O输入

C 库函数提供了 3 个格式化输入函数&#xff0c;包括&#xff1a;scanf()、fscanf()、sscanf()&#xff0c;其函数定义如下所示&#xff1a; #include <stdio.h> int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...); int sscanf(c…

Spring Web MVC课后作业

目录 1.加法计算器 2.⽤户登录 3.留⾔板 1.加法计算器 &#xff08;1&#xff09;需求分析 加法计算器功能, 对两个整数进⾏相加, 需要客⼾端提供参与计算的两个数, 服务端返回这两个整数计算 的结果。 &#xff08;2&#xff09;接⼝定义 请求路径&#xff1a; calc/sum 请…

爬取元气手机壁纸简单案例(仅用于教学,禁止任何非法获利)

爬虫常用的库 爬虫&#xff08;Web Scraping&#xff09;是一种从网页上提取数据的技术。在 Python 中&#xff0c;有许多库可以帮助实现这一目标。以下是一些常用的爬虫库&#xff0c;以及对 BeautifulSoup 的详细介绍。 常用爬虫库 1.Requests ​ a.功能&#xff1a;用于发…

spark计算引擎-架构和应用

一Spark 定义&#xff1a;Spark 是一个开源的分布式计算系统&#xff0c;它提供了一个快速且通用的集群计算平台。Spark 被设计用来处理大规模数据集&#xff0c;并且支持多种数据处理任务&#xff0c;包括批处理、交互式查询、机器学习、图形处理和流处理。 核心架构&#x…

ChatGPT Sidebar 浏览器插件配置指南

随着聊天机器人技术的不断进步&#xff0c;越来越多的人开始依赖这些强大的工具来提高工作效率、获取信息和解决问题。OpenAI 的 ChatGPT 是其中最受欢迎的聊天机器人之一。为了方便用户在浏览网页时随时与 ChatGPT 互动&#xff0c;开发者们设计了一款名为 ChatGPT Sidebar 的…

Latex——一行的划线 如何分开

代码&#xff1a; \cmidrule(r){3-4} \cmidrule(r){5-6} \cmidrule(r){7-8}效果&#xff1a; 参考文章&#xff1a; LaTeX技巧653&#xff1a;如何隔开LaTeX表格邻近\cline表格线&#xff1f;

四,MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用)

四&#xff0c;MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用) 文章目录 四&#xff0c;MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用)1. 主键策略1.1 主键生成策略介绍 2. 准备工作&#xff1a;2.1 AUTO 策略2.2 INPUT 策略2.3 ASSIGN_ID 策略2.3.1 雪花算…

电动车、电单车入梯数据集电动车进电梯检测识别(代码+教程+数据集)

数据集介绍 共有 5347 张图像和一一对应的标注文件 标注文件格式提供了两种&#xff0c;包括VOC格式的xml文件和YOLO格式的txt文件。 标注的对象共有以下几种&#xff1a; [‘Electric-bicycle’] 标注框的数量信息如下&#xff1a;&#xff08;标注时一般是用英文标的&am…

AC-DC电源自动测试系统介绍

AC-DC电源模块测试系统是一种高度自动化的测试设备&#xff0c;能够模拟实际工作环境中的交流电输入&#xff0c;并测量电源模块的输出电压、电流、功率等关键参数&#xff0c;以及评估其电磁兼容性、效率、热特性等性能指标。 AC-DC电源模块测试系统的主要硬件组成包括&#…

TDEngine在煤矿综采管控平台中的应用

一、行业背景 智能综采管控平台&#xff0c;是将煤矿综采工作面传感器数据采集&#xff0c;通过可视化界面展示。实现综采工作面的透明化展示&#xff0c;并基于历史的传感器数据进行机器学习的训练&#xff0c;了解工作面周期来压&#xff0c;设备故障检测等数据应用。因此针…

纷享销客生态伙伴大会西安站圆满落幕,共话CRM新纪元

9月19日&#xff0c;以“智享未来&#xff0c;领创CRM新纪元”为主题的纷享销客生态伙伴大会在西安成功举办。本次会议汇聚了SaaS领域、软件行业以及TOB市场的杰出代表、行业领袖以及技术前沿专家&#xff0c;共同探讨SaaS CRM行业的当前发展趋势&#xff0c;并就AI在CRM领域的…

如何使用ssm实现基于web的山东红色旅游信息管理系统的设计与实现

TOC ssm716基于web的山东红色旅游信息管理系统的设计与实现jsp 绪论 1.1研究背景 从古到今&#xff0c;信息的录入&#xff0c;存储&#xff0c;检索都受制于社会生产力的发展&#xff0c;不仅仅浪费大量的人力资源还需要浪费大量的社会物资&#xff0c;并且不能长时间的保…

c++----继承(初阶)

大家好呀&#xff0c;今天我们也是多久没有更新博客了&#xff0c;今天来讲讲我们c加加中的一个比较重要的知识点继承。首先关于继承呢&#xff0c;大家从字面意思看&#xff0c;是不是像我们平常日常生活中很容易出现的&#xff0c;比如说电视剧里面什么富豪啊&#xff0c;去了…

mybatis-puls快速入门

1.概述 在真实项目开发中我们的服务模块&#xff0c;一般都要进行数据库操作&#xff0c;并且每个domain都有crud&#xff0c;需多次写重复代码。我们使用MybatisPlus&#xff0c;就不用写重复代码&#xff0c;并且还有模板的功能&#xff0c;可以一键生成daomin,query,mapper…

如何在 Windows PC 或笔记本电脑上恢复未保存的 Word 文档

辛苦工作成果消失得无影无踪可能是任何人最可怕的噩梦&#xff0c;尤其是如果这是一篇长篇论文或项目报告。此问题可能是由于 Windows PC 或笔记本电脑上未保存的 Word 文档造成的。不过&#xff0c;不要惊慌&#xff1b;您仍然有机会在 Windows 机器上恢复未保存的 Word 文档。…

AI驱动的Java开发框架:Spring AI Alibaba实战部署教程

前言 随着生成式 AI 的快速发展&#xff0c;基于 AI 开发框架构建 AI 应用的诉求迅速增长&#xff0c;涌现出了包括 LangChain、LlamaIndex 等开发框架&#xff0c;但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言&a…

51 驱动 ADS1115 AD采集

文章目录 一、ADS1115简介二、引脚功能三、功能介绍1.MULTIPLEXER2.量程3.数字比较器4.寄存器写入或读取时序5.数据格式 四、寄存器介绍1.地址指针寄存器2.转化数据存放寄存器3.配置寄存器4.比较器高低阈值寄存器 五、程序六、实验现象 一、ADS1115简介 ADS1115是高精度模数转…