14-40 剑和诗人14 - 为什么机器学习需要合成数据

news2024/9/20 18:37:24

​​​​​​

14-40 剑和诗人14 - 为什么机器学习需要合成数据

数据是人工智能的命脉。如果没有高质量、有代表性的训练数据,我们的机器学习模型将毫无用处。但随着神经网络规模越来越大、人工智能项目越来越雄心勃勃,人们对数据的需求也越来越大,我们面临着一场危机——现实世界的数据收集和标记根本无法扩展。

在这篇文章中,我将讨论现实世界数据面临的主要挑战,以及为什么合成数据对于开发高性能、稳健且符合道德规范的 AI 系统至关重要。

我还将分享一些生成和使用合成数据来训练大型语言模型 (LLM) 的最佳实践。

数据扩展问题

首先,让我们了解为什么现实世界的数据会遇到可扩展性问题。现代神经网络是数据饥渴的野兽——像 GPT-4 这样的大型语言模型是在数百万亿个文本参数上进行训练的。图像分类模型需要数百万个带标签的示例才能达到人类水平的性能。随着我们向多模式、多任务模型迈进,数据需求将继续激增。

然而,现实世界的数据并非随处可见。收集足够多的高质量、有代表性的数据集来满足这些模型的需求成本极高:

  • 数据收集是手动的,而且速度很慢——网页抓取、调查、传感器数据等需要大量的人力和基础设施。收集数据集可能需要数千小时,而 AI 模型在训练过程中只需几分钟就能处理完。
  • 数据标记需要大量人工审核——图像、文本、音频——几乎所有数据都需要某种形式的手动标记或注释,然后才能用于监督训练。例如,自动驾驶汽车可能需要数百万张具有精确像素级分割的图像——这几乎是不可能完成的人工工作。
  • 专业数据尤其稀缺——虽然像 ImageNet 这样的通用数据集存在,但大多数商业应用程序需要更难以大规模获取和标记的小众、专业数据。
  • 隐私和法律限制限制了访问——从 PII 到版权问题,由于隐私法或专有权限制,现实世界的数据通常无法在组织之间自由共享和重复使用。这极大地阻碍了人工智能领域的合作和创新机会。

显然,现有的获取训练数据的方法完全不适合大型神经网络和雄心勃勃的现实世界 AI 应用时代。运行更大的模型或解决更困难的问题需要的数据集比我们目前使用手动流程可以实际收集的任何数据集大几个数量级。

如果没有可扩展的数据问题解决方案,人工智能的发展将在许多重要的应用领域遭遇阻碍。幸运的是,合成数据和模拟提供了一条前进的道路。

合成数据(Synthetic Data)的前景和进展

合成数据是机器生成的数据,模仿真实世界数据的统计特性。其理念是通过编程自动生成模拟数据集,而不是手动收集和标记数据。

生成模型的最新进展使得合成越来越逼真的模拟数据(包括图像、文本、语音、视频和传感器数据)成为可能。论文和项目数量呈指数级增长,展示了这些生成合成数据技术不断扩展的功能。

是什么使得合成数据对于解决人工智能中的数据扩展问题如此有希望?

  • 它是自动化的——合成数据管道一旦配置完成,就可以自动生成任意大小的数据集,无需任何额外的人工干预。这使得数据实际上变得无限。
  • 它是可定制的——合成数据的每个方面都可以通过编程控制,从而可以轻松调整以匹配真实世界分布的统计数据。想要更多罕见极端情况的例子吗?这是对数据生成器的简单调整。
  • 可共享和重复使用——人工数据不受隐私限制,可以自由共享、重复使用和混合,以实现协作。这还允许创建基准数据集,整个社区可以围绕这些数据集进行整合并推动进步。
  • 它用途广泛——相同的合成数据生成管道通常可以创建针对不同下游问题量身定制的训练数据,而无需进行太多更改。这使得它很容易扩展到新的用例。
  • 它既快速又便宜——大多数合成数据技术可以比实时运行得更快,同时利用 GPU 等备用计算能力。生成更多数据的边际成本基本上为零。

合成数据的有效性已在医学成像、自动驾驶、药物研发、推荐系统、金融、机器人和自然语言处理等应用中得到证实。几乎每个面临数据匮乏困境的行业都将从中受益。

随着人工智能整体发展速度的不断加快,生成模型的创新可以迅速转化为更强大、更经济的合成数据。这是一个正反馈循环,最终只受计算能力的限制。

因此,合成数据将在未来几年成为许多 AI 系统的主要训练数据来源。但这还不像启动生成器并获得完美的训练集那么简单。仍然需要最佳实践……

14-40 剑和诗人14 - 为什么机器学习需要合成数据

使用 LLM 合成数据的最佳实践

大型语言模型 (LLM)(如 GPT-4/LLaMA-2/Gemini 1.5)在训练期间会摄取无限量的文本流。在如此规模下,跨不同领域收集和标记足够的真实世界训练数据是完全不可行的。因此,合成文本数据至关重要,但仍需要勤奋才能有效。

以下是训练大型自然语言模型时针对合成数据的一些核心最佳实践:

根据真实数据进行基准测试

合成数据面临的根本挑战是确保其保留了真实数据的统计本质。如果无法准确模拟诸如长距离依赖关系之类的复杂情况,则在部署到实际任务中时,模型性能可能会严重下降。

因此,我们必须通过在合成数据集上训练模型并与现实世界的数据进行交叉验证来对合成数据集进行广泛的基准测试。如果我们能够达到甚至超过仅使用真实数据训练的模型所达到的指标,我们就可以验证质量。然后,数据生成器的改进可以专注于提高这些基准的性能。

与真实数据混合

大多数语言数据管道仍然至少包含一部分真实示例。虽然比例各不相同,但根据目前发布的基准,20-30% 往往是一个有用的范围。这个想法是,真实示例提供了稳定训练的锚点。

这种混合可以在多个层面上发生,从将真实示例明确混合到最终数据集中,到在进行大规模合成生成之前使用较小的真实数据集来启动数据生成器参数。

按元数据分层

现代 LLM 在具有大量元数据(作者、主题、日期、标题、网址等)的数据集上进行训练。这些补充数据编码了对许多下游应用至关重要的统计关系。

因此,元数据分层对于高质量的合成文本数据至关重要。应尽可能对元数据属性的分布进行基准测试和匹配。生成没有上下文的独立段落会限制模型能力。

至少,新闻文章和科学论文的时间框架等元数据往往是通过合成生成管道进行编码的重要分层变量。

模型迭代细化

数据生成器应根据基准性能反馈和模型训练期间观察到的错误进行迭代更新。当尝试捕捉复杂的长距离属性时,生成器架构很重要。

如果我们发现语言模型在处理人类可以干净处理的某些类型的段落结构时反复遇到困难,那么更新生成器以更好地在合成分布中展示这些结构将提高下游模型的质量。

这种以编程方式优化数据本身以指导模型功能的能力是合成数据所独有的,而且非常强大。它创建了一个反馈循环,可以引导达到原本无法达到的性能水平。

扩大多样性

人们一直担心合成文本数据缺乏多样性,从而导致偏差放大等问题。复杂的生成模型旨在捕捉分布,但可能会错过长尾细微差别。

通过词汇、语义和句法多样性指标积极分析合成数据管道,然后进行迭代调整,有助于避免这些陷阱。我们还可以通过直接调节敏感元数据的生成来程序化地促进多样性,以更好地反映现实世界的异质性。

这些最佳实践共同有助于确保合成文本数据大规模改善而不是损害语言模型质量,同时避免常见的陷阱,例如过度拟合生成器的统计怪癖。

通过合成数据释放创新

高质量的合成数据为人工智能的发展打开了无限可能,而此前,数据稀缺是阻碍人工智能发展的关键因素。几乎每个现代深度神经网络都渴望获得更多数据——合成数据为这些“野兽”提供了无限的资源。

除了可以实现更大更好的模型之外,随时可用的可定制训练数据还可以通过更快速地进行原型设计来加速研究和应用。可以快速测试和迭代创意,而不必等待数月来收集和标记真实世界的数据。

合成数据使开放、协作的数据集能够促进更广泛的参与。具有可免费使用的培训资源的公共基准比封闭在组织内部的孤立真实世界数据集更能促进创新和多样性。

我们正处于合成数据革命的边缘——预计未来十年,语言、视觉、机器人、医疗保健等领域将由模拟数据推动爆炸式增长。可扩展性瓶颈正在消失,人工智能能力将大幅扩展,从而释放出新的可能性。

伟大的综合意味着伟大的责任。虽然合成数据为人工智能的发展提供了巨大的潜力,但它并没有消除道德、隐私、问责等方面的考虑,我在这里没有讨论这些,但值得在其他地方进行广泛的分析。我们必须负责任地追求进步。

尽管如此,人工智能在数据基础上正达到一个转折点。我们必须大力投资合成能力,以实现机器智能的下一个层次。构建这些无限数据引擎将在未来几年推动各行各业的突破。现在就是开始的时候了。

14-40 剑和诗人14 - 为什么机器学习需要合成数据

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

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

相关文章

STM32-ADC+DMA

本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. ADC模拟-数字转换器1.1 ADC模拟-数字转换器1.2 逐次逼近型ADC1.3 ADC框图1.4 ADC基本结构1.5 输入通道1.6 规则组的转换模式1.6.1 单次转换,非扫描模式1.6.2 连续转换,非扫描模式1.6.3 单次…

C语言中32位浮点数的格式

以 GNU C为例,它遵循 IEEE 754-2008标准中制定的浮点表示规范。在该规范中定义了 5种不同大小的基础二进制浮点格式,包括:16位,32位,64位,128位,256位。其中,32位的格式被用作标准 C…

基于PSOGWO-CNN-BiLSTM数据回归预测(多输入单输出)-粒子群结合灰狼算法优化-CNN-BiLSTM

基于PSOGWO-CNN-BiLSTM数据回归预测(多输入单输出)-粒子群结合灰狼算法优化-CNN-BiLSTM 1.数据均为Excel数据,直接替换数据就可以运行程序。 2.所有程序都经过验证,保证程序可以运行。 3.具有良好的编程习惯,程序均包含简要注释。 获取方式…

恢复出厂设置后如何从 iPhone 恢复数据

在 iPhone 恢复出厂设置后,所有数据都会被删除,并且 iPhone 将恢复到原始出厂设置,这意味着您的所有 iPhone 数据,包括照片、视频、联系人和应用程序都将消失。 幸运的是,如果您有备份可以恢复,这并不一定…

JavaSe系列二十七: Java正则表达式

正则表达式 为什么要学习正则表达式再提几个问题解决之道-正则表达式正则表达式基本介绍介绍 正则表达式底层实现实例分析 正则表达式语法基本介绍元字符-转义号 \\\\元字符-字符匹配符元字符-选择匹配符元字符-限定符元字符-定位符分组非贪婪匹配 应用实例对字符串进行如下验证…

cloudflare tunnels tcp

这里是官网的说明Cloudflare Tunnel Cloudflare Zero Trust docs 根据实际情况安装环境 tunnels除了http,https协议是直接暴露公网,tcp是类似ssh端口转发。 在需要内网穿透的局域网找一条机子部署代理 我这边是window cloudflared tunnel login #生成一个身份校…

【论文阅读】-- Visual Analytics for Model Selection in Time Series Analysis

时间序列分析中模型选择的可视化分析 摘要1 引言2 相关工作3 问题表征3.1 Box-Jenkins 方法论3.2 ARIMA 和季节性 ARIMA 模型3.3 模型规范3.4 模型拟合3.5 模型诊断 4 需求分析5 VA 用于时间序列分析中的模型选择5.1 VA选型流程说明5.2 TiMoVA 原型5.2.1 实施选择5.2.2 图形用户…

(详细版)学生管理系统(姓名、成绩、学号)---顺序表

//1:创建顺序表 //2:判满 //3:判空 //4:插入学生信息 //5:输出学生信息 //6:按位置插入学生信息 //7:按位置删除学生信息 //8:按位置修改学生信息 //9:按学号查找学生信息 //10:顺序表去重 //11:销毁顺序表 main.c: int main(int argc, const char *argv[]) {seq_p…

第一周周日总结

题目总结 1.给你一个整数数组 hours&#xff0c;表示以 小时 为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如&#xff0c;1 天是 24 小时…

DHCP的原理及配置

目录 一、了解DHCP服务 1.什么是DHCP 1.1DHCP广播 2.使用DHCP的好处 2.1为什么使用DHCP 3.DHCP的模式与分配方式 3.1分配方式 3.2模式 二、DHCP工作原理 1.四次回话 2.重新登录 3.更新租约 4.扩展 三、安装DHCP服务 四、DHCP局部配置并且测试 五、使用…

PyQt5中如何实现指示灯点亮和指示灯熄灭功能

一般上位机界面都会涉及指示灯点亮和指示灯熄灭功能&#xff0c;从网上下载该功能的上位机界面&#xff0c;学习如何使用PyQt5搭建具备指示灯点亮和指示灯熄灭效果的界面。 1. 上位机界面的效果展示 使用PyQt5实现以下界面&#xff0c;界面效果如下&#xff0c;界面图片是从网…

【CUDA】

笔者在学习Softmax实现时遇到了一个问题&#xff0c;很多文章直接将softmax的计算分成了五个过程&#xff0c;而没有解释每个过程的含义&#xff0c;尤其是在阅读这篇文章时&#xff0c;作者想计算最基本的softmax的效率&#xff0c;以展示可行的优化空间&#xff1a; 贴一个g…

相见恨晚的《新程序员》 AI 专辑

声明&#xff1a;本文并不什么“软文”&#xff0c;是我的真实感受分享。本人和《新程序员》无任何利益关系&#xff0c;读者购买专栏我不会获得任何分成。 一、前言 前不久有位朋友送我一本 CSDN 出品的 《新程序员 006&#xff1a;人工智能新十年》 的杂志。 说实话&#x…

昇思25天学习打卡营第12天|FCN图像语义分割

文章目录 昇思MindSpore应用实践基于MindSpore的FCN图像语义分割1、FCN 图像分割简介2、构建 FCN 模型3、数据预处理4、模型训练自定义评价指标 Metrics 5、模型推理结果 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 基于MindSpo…

谷粒商城学习笔记-16-人人开源搭建后台管理系统

文章目录 一&#xff0c;克隆前/后端代码1&#xff0c;克隆前端工程renren-fast-value2&#xff0c;克隆后端工程renren-fast 二&#xff0c;集成后台管理系统的后端代码三&#xff0c;启动后台管理系统四&#xff0c;前端系统的安装和运行1&#xff0c;下载安装VSCode2&#x…

【TB作品】51单片机 Proteus仿真 超声波LCD1602ADC0832 身高体重测量仪

00024 超声波LCD1602ADC0832 实验报告&#xff1a;基于51单片机的身高体重测量仪设计 背景介绍 本实验设计并实现了一个基于51单片机的身高体重测量仪。该系统利用超声波传感器测量高度&#xff0c;通过ADC0832模数转换芯片获取重量数据&#xff0c;并使用LCD1602显示屏显示…

26_嵌入式系统网络接口

以太网接口基本原理 IEEE802标准 局域网标准协议工作在物理层和数据链路层&#xff0c;其将数据链路层又划分为两层&#xff0c;从下到上分别为介质访问控制子层(不同的MAC子层&#xff0c;与具体接入的传输介质相关),逻辑链路控制子层(统一的LLC子层&#xff0c;为上层提供统…

【JavaSE复习】数据结构、集合

JavaSE 复习 1.数据结构1.1 查找1.1.1 基本查找1.1.2 二分查找1.1.3 插值查找1.1.4 斐波那契查找1.1.5 分块查找1.1.6 分块查找的扩展&#xff08;无规律数据&#xff09; 1.2 排序1.2.1 冒泡排序1.2.2 选择排序1.2.3 插入排序1.2.4 快速排序 2. 集合2.1 基础集合2.1.1 集合和数…

MATLAB制作一个简单的函数绘制APP

制作一个函数绘制APP&#xff0c;输入函数以及左右端点&#xff0c;绘制出函数图像。 编写回调函数&#xff1a; 结果&#xff1a;

D1.排序

1.快速排序 双指针 采用分治的思想&#xff0c;基于一个数作为标准&#xff0c;进行分治 步骤&#xff1a; 确定分界点的值。x q[l]、q[(lr)/2]、q[r]、随机 都可以&#xff1b;划分区间&#xff1a;使得小于等于x的数放在数组的左边&#xff1b;大于等于x的数放在数组的右边…