LLMs 缩放法则和计算最优模型Scaling laws and compute-optimal models

在上一个视频中,您探讨了训练大型语言模型的计算挑战。在这里,您将了解关于模型大小、训练、配置和性能之间关系的研究,以确定模型需要多大。请记住,预训练期间的目标是最大化模型的学习目标性能,即在预测令牌时最小化损失。您有两种选择来实现更好的性能:增加您训练模型的数据集大小和增加模型中的参数数量。理论上,您可以扩展这两个数量中的任何一个来提高性能。

但是,还需要考虑的另一个问题是您的计算预算,其中包括您可以访问的GPU数量和用于训练模型的可用时间等因素。
在这里插入图片描述

为了帮助您理解接下来的讨论,让我们首先定义一个计算单位,用于量化所需的资源。每秒petaFLOP每天是测量浮点操作的数量,以每秒一个petaFLOP的速度执行,持续一整天。请注意,一个petaFLOP对应于每秒一千万亿次浮点运算。当特别考虑训练变压器时,每秒每天一个petaFLOP大约相当于八个NVIDIA V100 GPU,全天全效率运行。
在这里插入图片描述

如果您有一个更强大的处理器,可以一次执行更多的操作,那么每秒每天一个petaFLOP需要的芯片更少。例如,两个NVIDIA A100 GPU提供与八个V100芯片相当的计算能力。
在这里插入图片描述

为了给您一个这些计算预算规模的概念,这个图表显示了预训练Bert和Roberta的不同变体所需的每秒每天的petaFLOP的比较,这两者都是仅编码器模型。T5和编码器-解码器模型,以及GPT-3,这是一个仅解码器模型。

每个家族中的模型之间的区别是被训练的参数数量,从Bert基础的几亿到最大的GPT-3变体的1750亿。请注意,y轴是对数的。每个垂直增量是10的幂。在这里,我们看到T5 XL有30亿参数,需要接近100每秒每天的petaFLOP。而更大的GPT-3 1750亿参数模型需要大约3700每秒每天的petaFLOP。
在这里插入图片描述

这个图表清楚地表明,训练最大的模型需要大量的计算机。您可以看到,更大的模型需要更多的计算资源来训练,并且通常还需要更多的数据来实现良好的性能。

事实证明,这三种扩展选择之间实际上存在明确定义的关系。研究人员已经探讨了训练数据集大小、模型大小和计算预算之间的权衡。这是OpenAI的研究人员在一篇论文中探讨计算预算对模型性能影响的图表。y轴是测试损失,您可以将其视为模型性能的代理,其中较小的值更好。
在这里插入图片描述

x轴是以每秒每天的petaFLOP为单位的计算预算。如您所见,更大的数字可以通过使用更多的计算能力或训练更长时间或两者兼而有之来实现。
在这里插入图片描述

这里的每条薄蓝线都显示了单次训练运行的模型损失。查看每次运行的损失开始更慢地下降的位置,揭示了计算预算与模型性能之间的明确关系。这可以通过幂律关系来近似,由这条粉红线表示。幂律是两个变量之间的数学关系,其中一个与另一个的某个幂成正比。当在两个轴都是对数的图上绘制时,幂律关系显示为直线。
在这里插入图片描述

只要模型大小和训练数据集大小不妨碍训练过程,这里的关系就会保持。

从字面上看,这似乎表明您可以增加计算预算以实现更好的模型性能。
在这里插入图片描述

然而,实际上,您用于训练的计算资源通常是由

  1. 您可以访问的硬件、
  2. 训练的可用时间
  3. 项目的财务预算等因素设定的硬约束。

如果您将计算预算固定,那么您可以改进模型性能的两个杠杆是训练数据集的大小和模型中的参数数量。

OpenAI的研究人员发现,当其他两个变量保持固定时,这两个数量也与测试损失显示幂律关系。
在这里插入图片描述

这是另一张从论文中探讨训练数据集大小对模型性能影响的图表。在这里,计算预算和模型大小保持不变,训练数据集的大小是变化的。图表显示,随着训练数据量的增加,模型的性能继续提高。
在这里插入图片描述

在第二张图中,计算预算和训练数据集大小保持恒定。训练了不同数量参数的模型。随着模型大小的增加,测试损失减少,表示性能更好。
在这里插入图片描述

此时,您可能会问,这三个数量之间的理想平衡是什么?事实证明,很多人对这个问题感兴趣。

研究和行业社区都发布了大量预训练计算最佳模型的实证数据。在2022年发表的一篇论文中,由Jordan Hoffmann、Sebastian Borgeaud和Arthur Mensch领导的研究小组对各种大小和训练数据量的语言模型的性能进行了详细研究。目标是找到给定计算预算的参数数量和训练数据量的最佳值。作者的名字,得出的计算最佳模型是Chinchilla。
在这里插入图片描述

这篇论文通常被称为Chinchilla论文。

让我们看看他们的一些发现。Chinchilla论文暗示,许多1000亿参数的大型语言模型,如GPT-3,实际上可能是过度参数化的,这意味着它们的参数比实现良好的语言理解所需的更多,
在这里插入图片描述

并且训练不足,因此它们将受益于查看更多的训练数据。
在这里插入图片描述

作者假设,如果在更大的数据集上训练,较小的模型可能能够实现与更大的模型相同的性能。

在这个表格中,您可以看到一些模型以及它们的大小和它们被训练的数据集的信息。
在这里插入图片描述

Chinchilla论文的一个重要结论是,对于给定模型的理想训练数据集大小大约是模型中参数数量的20倍。
在这里插入图片描述

对于一个700亿参数的模型,理想的训练数据集包含1.4万亿令牌,或参数数量的20倍。
在这里插入图片描述

表中的最后三个模型是在小于Chinchilla最佳大小的数据集上训练的。这些模型实际上可能是训练不足的。
在这里插入图片描述

相比之下,LLaMA是在1.4万亿令牌的数据集大小上训练的,这接近于Chinchilla推荐的数字。
在这里插入图片描述

论文的另一个重要结果是,计算最佳的Chinchilla模型在大范围的下游评估任务上胜过非计算最佳的模型,如GPT-3。

有了Chinchilla论文的结果,团队最近开始开发较小的模型,这些模型实现了与以非最佳方式训练的较大模型相似,如果不是更好的结果。
在这里插入图片描述

展望未来,随着更多的团队或开发者像您这样开始优化模型设计,您可能会期望看到与过去几年的“更大总是更好”的趋势有所偏离。

这张幻灯片上显示的最后一个模型,Bloomberg GPT,是一个非常有趣的模型。它是以计算最佳的方式训练的,遵循Chinchilla的损失,因此以500亿参数的大小实现了良好的性能。
在这里插入图片描述

这也是一个情况的有趣例子,从头开始预训练模型是实现良好任务性能所必需的。让我们继续观看本周的最后一个视频,讨论为什么。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/SmRNp/scaling-laws-and-compute-optimal-models

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode--HOT100题(38)

目录 题目描述:226. 翻转二叉树(简单)题目接口解题思路代码 PS: 题目描述:226. 翻转二叉树(简单) 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 LeetCode做题链…

pytorch 入门1-tensor 广播 view reshape

tensor 的四则运算broadcast import torch import numpy as np # 张量tensor 随机初始化 x torch.rand(4,3) print(x) y torch.randn(4,3) print(y)# 初始化全零 张量 a torch.zeros((4,4),dtypetorch.long) print(a) #初始化全一 张量 b torch.ones(4,4) print(b) c tor…

多客户企业选择拥有哪些功能的CRM系统?

管理海量客户信息对于每一家企业都是巨大的挑战。粗放式的管理客户资料是对资源的一种浪费,让很多有意向的高价值客户流失。客户比较多,有什么CRM系统推荐吗?帮助企业轻松地跟进客户,提高销售效率? 1.易于使用 首先是…

macOS Ventura 13.5.1(22G90)发布(附黑/白苹果系统镜像地址)

系统镜像下载:百度:黑果魏叔 系统介绍 黑果魏叔 8 月 18 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5.1 更新(内部版本号:22G90),本次更新距离上次发布隔了 24 天。 本次更新重点修复了…

Docker部署MongoDB 5.0.5

1、查看目录 rootwielun:~# tree mongo mongo ├── conf │ └── mongod.conf ├── data ├── docker-compose.yml └── logrootwielun:~# cd mongo rootwielun:~/mongo# chmod 777 log2、配置docker-compose.yml rootwielun:~/mongo# cat docker-compose.yml ve…

【ES6】—【必备知识】—扩展运算符与rest参数

一、扩展运算符 1. 定义:把数组或类数组展开成用逗号隔开的值 function foo(a,b,c) {console.log(a,b,c) } let arr [1,2,3] foo(...arr)2. 把两个数组合并 2-1. ES5 实现 let arr1 [1,2,3] let arr2 [4,5,6] Array.prototype.push.apply(arr1, arr2) consol…

多线程+隧道代理:提升爬虫速度

在进行大规模数据爬取时,爬虫速度往往是一个关键问题。本文将介绍一个提升爬虫速度的秘密武器:多线程隧道代理。通过合理地利用多线程技术和使用隧道代理,我们可以显著提高爬虫的效率和稳定性。本文将为你提供详细的解决方案和实际操作价值&a…

文心一言 VS 讯飞星火 VS chatgpt (80)-- 算法导论7.4 5题

五、如果用go语言,当输入数据已经“几乎有序”时,插入排序速度很快。在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于 k 的子数组调用快速排序时,让它不做任何排序就返回。当上层的快速排序调用返回后&…

国产精品:讯飞星火最新大模型V2.0

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

ethers.js2:provider提供商

1、Provider类 Provider类是对以太坊网络连接的抽象,为标准以太坊节点功能提供简洁、一致的接口。在ethers中,Provider不接触用户私钥,只能读取链上信息,不能写入,这一点比web3.js要安全。 除了之前介绍的默认提供者d…

VMware 使用U盘进入PE系统,下划线光标闪烁

一、前言 vmware虚拟机各种原因崩溃,然后又没有快照,怎么办? 或者 密码忘记了无法开机,这时候就想到使用PE了。 二、分析 但是使用U盘进入PE的时候,遇到了各种问题: 加载U盘修改启动顺序启动后出现下划线…

介绍Server-Sent Events,以及使用,超级简单!

一、SSE 的本质 严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。 也就是说,发送的不是一次性的数据包&…

[四次挥手]TCP四次挥手握手由入门到精通(知识精讲)

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

【Python教程】3道循环结构练习题,都会了吗?

嗨喽~大家好呀,这里是魔王呐 ❤ ~! 练习1:输入一个数判断是不是素数。 from math import sqrtnum int(input(请输入一个正整数: )) end int(sqrt(num)) is_prime True for x in range(2, end 1):if num % x 0:is_prime Falsebreak if is_prime an…

Spring Cloud Alibaba笔记

😀😀😀创作不易,各位看官点赞收藏. 文章目录 Spring Cloud Alibaba 笔记1、Nacos 服务注册和配置中心1.1、Nacos 之下载启动1.2、Nacos 之注册中心1.3、Nacos 之服务发现1.4、Nacos 之配置中心1.5、Nacos 之分类配置1.6、Nacos 之…

Vue Cli 脚手架安装

Vue Cli 脚手架安装 首先,改一下仓库地址,使用下面的命令cnpm淘宝镜像加速 npm install cnpm -g --registryhttps://registry.npm.taobao.org下载安装 vue 脚手架 npm install -g vue/cli查看 vue cli 脚手架是否安装成功,如果输入命令出现…

联想小新Pro 16笔记本键盘失灵处理方法

问题描述: 联想小新Pro 16新笔记本开机准备激活,到连接网络的时候就开始触控板、键盘失灵,但是有意思的是键盘的背光灯是可以调节关闭的;外接鼠标是正常可以移动的,但是只要拔掉外接鼠标再插回去的时候就不能用了&…

python自动化入门之Python编写脚本实现自动化爬虫详解

想知道如何使用Python轻松高效地获取网络上的信息? 本篇文章将探索Python自动化爬虫,并展示如何编写实用的脚本。 1. 什么是Python爬虫? 爬虫顾名思义,就是像蜘蛛一样在网络上爬行,抓取各种有用信息的一种程序。而Pyt…

【Win】Dell Command PowerShell Provider 一款强大的IT工具

Dell Command | PowerShell Provider 是一款强大的IT工具,它允许用户通过 Windows PowerShell 界面轻松管理 Dell 硬件平台的 BIOS 配置。它提供了一系列的 PowerShell cmdlets命令,这些命令可以帮助 IT 管理员对 Dell 硬件平台进行 BIOS 配置的控制和管…

jmeter进行业务接口并发测试,但登录接口只执行一次

业务接口性能测试,往往都是需要登录,才能请求成功,通常只需要登录一次,再对业务接口多次并发测试。 在测试计划中,添加setUp线程组 把登录请求放入到该线程组中,设置HTTP信息头,JSON提取(提取登…