百度是否先于 OpenAI 发现?
缩放定律(Scaling Law)为深度学习模型的设计和训练提供了理论指导,特别是在构建和训练大规模模型时,如何有效地分配有限的计算资源以获得最佳性能。这些规律也对硬件设计有重要影响,因为它们指导了如何构建能够支持大规模模型训练和推理的硬件系统。
近日人工智能界的一场辩论重燃。围绕人工智能模型的一个核心理论的起源引发了争议,一些人说中国科技巨头百度,先于 OpenAI 取得了大规模人工智能(AI)模型开发了关键理论基础——缩放定律 (Scaling Law)的突破。
基础模型的重要性与“缩放定律”(Scaling Law)
大型模型,即“基础模型”,处于人工智能发展的前沿,其快速迭代推动着前沿应用。虽然美国通常被视为引领先进人工智能模型创新,但一些人认为中国可能更早开始探索这些概念。
大型模型开发的核心是“缩放定律”(Scaling Law)——这一原则断言训练数据和模型参数越大,模型的智能越强。这一理念广泛归功于 OpenAI 2020 年的论文《神经语言模型的缩放定律》,此后成为人工智能研究的基石。
https://arxiv.org/pdf/2001.08361
OpenAI 论文与缩放定律的实证
OpenAI 的这篇论文表明,增加模型参数、训练数据和计算资源会按照幂律关系提升性能。
下面这张图是文章中的第一张图片,图中有三个子图,分别展示了计算量、数据集大小和模型参数对语言模型性能的影响。整体来看,增加这三个因素中的任何一个都能提升模型的性能,但要达到最佳效果,这三个因素需要同时增加。
综合来看,这三个因素——计算量、数据集大小和参数量——各自增加时,都能降低测试损失,提升模型性能。但图的标题提到,为了达到最佳性能,这三个因素需要同时增加。这意味着仅仅增加其中一个可能效果有限,需要三者同步扩展。
总的来说,该论文研究了神经语言模型在交叉熵损失上的性能如何随着模型大小、数据集大小和训练计算量的变化而变化。并试图理解这些因素如何通过幂律关系影响模型性能,并探索了在固定计算预算下如何最优地分配资源以获得最佳性能。重要见解如下:
- 性能与模型规模、数据集大小和计算量之间存在幂律关系。
- 在固定计算预算下,通过训练非常大的模型并在显著之前停止训练可以获得最佳性能。
- 大型模型相对于小型模型在样本效率上有显著提升。
- 模型性能的提高与训练集的性能强相关,而与测试集分布的差异只有常数偏移。
- 模型在不同数据分布上的泛化能力几乎完全取决于其在训练集上的性能。
下面这些公式是论文中发现的 scaling laws 的精确数学表达:
此外,这篇文章虽然对硬件设计没有直接的讨论,但通过间接如对计算效率的要求等,可以提炼出一些硬件设计观点:
- 模型和数据规模的增长,并行计算和模型并行性:为了获得最佳性能,模型大小(N)和数据集大小(D)需要同步增长。这意味着硬件设计需要能够支持大规模模型和处理大量数据的能力,涉及到更高性能的处理器、更大的内存和存储系统。能够支持模型并行处理的硬件架构,如多 GPU 训练或者分布式训练。
- 计算效率:大型模型在样本效率上更高,这意味着在固定计算预算下,大型模型可以更快地达到相同的性能水平。这暗示硬件设计应该考虑如何提高计算效率,以便更好地支持大型模型的训练和推理。
批处理大小和训练效率:批处理大小决定了每次迭代中用于更新模型参数的数据样本数量。较小的批处理大小可能会导致每个参数更新的噪声较大,从而影响模型的收敛速度和最终性能;而较大的批处理大小则会增加每次参数更新的计算成本,并且可能需要更多的内存。
并提出了临界批处理大小(Critical Batch Size)的概念。指在特定的模型和任务中,使得训练效率(例如,每次参数更新所需的时间)和计算效率(例如,每次参数更新所需的浮点运算次数)之间达到最优权衡的批处理大小。超过这个大小,增加批处理大小并不会显著提高计算效率,反而可能导致训练时间增加,因为更大的批处理大小需要更多的内存和计算资源。
硬件设计可以考虑如何优化批处理操作,以适应不同的批处理大小需求。
- 硬件资源的最优分配:文章关于如何在模型大小、数据集大小和计算预算之间进行最优分配的见解。硬件设计可以利用这些见解来优化资源分配,例如,通过动态调整内存和处理器资源来适应不同的训练需求。
- 能效比:由于大型模型和大量计算的需求,能效比成为一个重要考虑因素。硬件设计需要考虑如何在提供足够计算能力的同时,最小化能源消耗。
- 存储和 I/O 能力:处理大规模数据集需要高效的存储和 I/O 能力。硬件设计需要考虑如何提高数据传输速率和降低延迟,以支持大规模数据集的快速访问。
总的来说,虽然论文没有直接讨论硬件设计,但其发现可以为设计支持大规模神经网络模型的硬件系统提供指导。这些指导建议可以帮助硬件设计师更好地理解和预测未来硬件需求,以适应不断增长的模型规模和数据需求。
这些见解都指导了后续大规模人工智能模型的开发。
达里奥·阿莫迪与百度的早期观察
然而,OpenAI 论文的合著者、该公司前研究副总裁达里奥·阿莫迪(Dario Amodei)在 11 月的一次播客中分享说,他早在 2014 年在百度工作时就观察到了类似现象。
照片中笑得憨态可掬的这俩人是兄妹,哥哥叫达里奥·阿莫迪(Dario Amodei),妹妹叫丹尼拉·阿莫迪(Daniela Amodei)。他们就是 Anthropic 公司的创始人,哥哥达里奥任 CEO,妹妹丹尼拉是总裁。达里奥在百度工作不到一年,就跑到谷歌担任高级研究员。
“2014 年末我在百度与前百度首席科学家——吴恩达一起工作时,我们首先致力于语音识别系统,”
阿莫迪说。“我注意到,给模型更多数据、让它们更大并训练更长时间,模型就会改进。”
“那些日子里我没有精确测量,但和同事们一起,我们非常非正式地感觉到,在这些模型中投入的数据越多、计算越多、训练越多,它们的表现就越好。”
缩放定律的起源争议
Meta 研究员、康奈尔大学博士生杰克·莫里斯(Jack Morris)在 X(前身为推特)上发帖,进一步推动了讨论:“大多数人不知道缩放定律的最初研究来自 2017 年的百度,而不是 2020 年的 OpenAI。”
莫里斯引用了百度硅谷人工智能实验室 2017 年发表的一篇题为《深度学习缩放可预测性的实证研究》(Deep Learning Scaling is Predictable, Empirically)的论文。该论文广泛讨论了机器翻译和语言建模等领域的缩放现象。
https://arxiv.org/abs/1712.00409
百度 2017 年的这篇文章,谈到了深度学习中的泛化误差和模型大小增长与训练集大小之间存在幂律关系。这种关系可以通过实证研究来预测,并且对于不同的机器学习领域(如机器翻译、语言建模、图像处理和语音识别)都成立。论文还发现,模型改进主要影响误差的偏移,而不是幂律指数,即学习曲线的“陡度”。
这篇文章中,最具有代表性是下面这张概念图,展示了深度学习模型在不同训练数据集大小下的泛化误差(Generalization Error)变化,即所谓的幂律学习曲线。
这个图将学习曲线分为三个阶段:
- 小数据区域(Small Data Region):在这个区域,模型由于训练样本数量有限,学习效果不佳,无法有效地从数据中学习到有用的模式。因此,模型的泛化误差接近于“最佳猜测”或“随机猜测”的水平。在这个阶段,增加更多的训练数据对改善模型性能的帮助非常有限。
- 幂律区域(Power-law Region):随着训练数据集的增长,模型的泛化误差开始按照幂律关系下降。这意味着每增加一个训练样本,模型都能在一定程度上改善其对未见样本的预测能力。幂律区域的斜率(或称为“陡度”)是学习曲线的关键特征,它反映了模型学习数据生成函数的难易程度。不同的问题领域或数据分布可能会有不同的幂律指数。
- 不可减少误差区域(Irreducible Error Region):对于大多数现实世界的应用,存在一个非零的最低误差界限,模型无法超越这个界限继续改善。这个界限包括贝叶斯误差(基于数据生成函数的信息论下界)以及其他导致泛化不完美的因素,例如训练或验证数据集中的错误标签。这个区域被称为不可减少误差区域。虽然在这项研究中没有达到这个区域,但作者提到在玩具问题上测试了这个下限的存在。
百度的持续研究与国际认可
百度研究人员在 2019 年的论文《超越人类水平的准确性:深度学习中的计算挑战》(Beyond Human-Level Accuracy: Computational Challenges in Deep Learning)中再次探讨了这个话题。
有个值得注意的地方,这篇论文在 OpenAI 2020 年的缩放定律研究中被引用,该研究被广泛认为是这一主题的开创性工作。批评者声称 OpenAI 选择性地引用了百度 2019 年的论文,却忽略了更早的 2017 年的研究,一些人认为 2017 年的研究是缩放定律概念的最初来源。
这篇文章探讨了深度学习(DL)领域中,为了超越人类水平的准确性,需要在数据集规模和模型大小上实现显著增长所带来的计算挑战。
模型的准确性可以通过扩展数据集和模型规模来提高,并且这种扩展是可预测的。洞见在于 RNNs 相比于 CNNs 在大规模训练时对计算和内存资源有更高的需求。通过分析模型和数据集规模与准确性之间的关系来预测所需的资源。实现上,论文通过构建计算图,定义算法 FLOPs、内存访问和内存占用等指标,并通过实验和分析模型来预测不同模型架构的计算需求。
为了达到目标准确性,数据集和模型规模需要显著增长,特别是对于语言领域的 RNNs。结论是,为了有效地训练这些大规模模型,需要更大内存容量和片上缓存的硬件设计,这可能需要对当前硬件设计趋势进行调整。
文章中下面这张图展示了不同深度学习模型的每训练样本的浮点运算次数(FLOPs)随模型参数数量增长的变化情况。这张图对于理解模型复杂性与计算需求之间的关系非常重要。
这张图包含以下几个部分:
- 模型大小(参数数量):横轴表示模型中的参数数量,这可以视为模型复杂性的一个度量。
- 每训练样本的 FLOPs:纵轴表示每个训练样本所需的浮点运算次数,这是衡量模型计算需求的一个关键指标。
- 不同模型的 FLOPs 增长趋势:图中包含多条曲线,每条曲线代表一个不同的深度学习模型(如 Word LMs、Char LMs、NMT、Speech Attention、ResNet 等),展示了随着模型大小增加,这些模型的 FLOPs 如何增长。
- 线性增长趋势:曲线。图中的曲线通常显示出随着模型参数数量的增加,FLOPs 大致线性增长的趋势。这表明每个模型参数在训练过程中被使用的次数大致相同。
- 趋势线:直线。图中包含趋势线,以展示不同模型的 FLOPs 增长趋势。这些趋势线有助于预测在不同模型大小下的计算需求。
这张图揭示了不同类型模型在计算效率上的差异,这对于选择或设计适合特定任务的模型架构提供了洞见。
继而,这篇文章也提到对于硬件设计上的讨论:
- 由于深度学习模型架构的变化难以预测,这给硬件设计带来了挑战,因为硬件需要适应未来模型的需求。模型规模的显著增长,也对数据集有增长要求,这也直接关联到硬件的存储和计算能力需求。
- 由于 RNNs 在训练时的内存占用远超现有硬件的容量,文章建议硬件设计应具有更大的内存容量和片上缓存,以支持大规模 RNN 训练。
专家观点:百度与 OpenAI 的并行努力
抛开百度和 OpenAI 谁先谁后发现 Scaling Law 的争执,清华大学计算机科学与技术系副教授刘知远表示,双方都有贡献。
“百度和 OpenAI 的研究是并行的努力,两者都很重要,”他说。
“缩放定律是支撑涌现智能的基本原理,在自然、社会和人工系统中都能观察到。百度的工作属于深度学习时代,与 OpenAI 所涉及的大模型阶段不同。”
中国 AI 研究挑战、进展与成就
挑战与进展
刘知远强调了中国在大模型研究方面不断增强的实力,但也承认存在一些挑战。
“在过去十年里,中国在人工智能方面取得了重大进展。然而,计算能力资源的瓶颈使我们落后于像 OpenAI 这样的国际领先者。为了缩小这一差距,我们必须专注于开发国内人工智能芯片,培养顶尖人才和研究团队,以推动原始创新。”
认可与成就
中国在大模型方面的进展日益得到认可。在第二届人工智能数学奥林匹克竞赛中,数学家陶哲轩称赞了阿里云的 QwQ - 32B 推理模型,称其“在这类竞赛问题上似乎比以前的开源模型要好得多”。
在上海举行的 2024 百度世界大会上,百度宣布了减少图像生成中幻觉(即生成误导性或事实不一致的图片)的新技术。百度还透露,其文心大模型到 24 年 11 月每天处理 15 亿次 API(应用程序编程接口)调用,比去年的 5000 万次增加了 30 倍。
相关文章
- 腾讯 AI Lab 揭秘 LLM 量化真相:精确建模量化和精度退化关系,挑战传统观点!
- 端侧大模型比赛暨研讨会 | NeurIPS'24
- LLM 量化新篇章,4-bit 权重激活量化几乎无损!FlatQuant 的平坦之道
- 让量化大模型无损,IntactKV:保持关键词元无损,轻松提升量化精度!
- 走向 ARM CPU 1-bit 推理的极致道路
- MLCEngine: 全平台大语言模型推理引擎
- SIMD 指令集与数据并行程序
- 低比特离线量化 EasyQuant: 比 TensorFlow 更友好的离线量化方式
- IEEE 754 Floating NaN
- 爱奇艺在 DCN、EDVR 等 4K 超分模型上的 TensorRT 10 倍加速实践
- AI、ML 加速器发展趋势综述
- 一篇关于深度学习编译器架构的综述论文
END
作者:NeuralTalk
来源:NeuralTalk
推荐阅读
- 使用 torchtune 把 LLaMa-3.1 8B 蒸馏为 1B
- 突破无配对难题,N2D3 助力夜间图像日间化 !
- Triton Kernel 编译阶段
- CUDA-MODE 课程笔记 第17课 GPU 集合通信(NCCL)
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式 AI 专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。