Llama 3 大型语言模型到底是如何炼成的?

Meta 在今年 4 月开源了 Llama 3 大型语言模型,这是 Meta,也是整个行业迄今为止功能最强大的开源 LLM。

那么 Meta 是如何训练 Llama 3 大型语言模型的,又在训练过程中遇到了什么问题,提出了什么新的解决方案呢?近日,Meta 在官网放出了一篇名为「How Meta trains large language models at scale」的文章,详细介绍了其中的重点和难点,让我们一起来看看,Llama 3 到底是如何炼成的。

图片图源:Meta

Meta 此前曾为 Facebook 和 Instagram 的推荐系统训练过各种 AI 模型,虽然这些模型会摄取大量信息以做出准确的推荐,但这些模型规模仍然较小,需要的 GPU 数量相对较少,而不像 Llama 系列等需要大量数据和 GPU 的大规模语言模型。

图片图源:Meta

随着生成式 AI(GenAI)的出现,Meta 发现他们日常的工作任务还是那些,但工作量却出现了陡然增大。大规模的 GenAI 意味着他们需要重新思考软件、硬件和网络基础设施,才能更好地将他们结合在一起。

大规模模型训练的挑战

图片

图源:Meta

为了训练大规模语言模型,Meta 日常作业中 GPU 的数量出现大幅增长,但这同样也让硬件出现故障的可能性一同增加了。此外,所有这些 GPU 仍然需要在同一高速网络上进行通信才能实现最佳的性能。为此 Meta 需要克服四个挑战:

    • 硬件可靠性:确保硬件可靠性非常重要,Meta 需要尽量减少硬件故障中断训练任务的可能性。这涉及严格的测试和质量控制措施,以及检测和解决问题的自动化流程。
    • 快速故障恢复:尽管 Meta 尽了最大努力,但硬件故障仍然会时不时发生。当故障发生时,Meta 制定了能够快速恢复的流程,这涉及减少重新调度开销和快速重新初始化。
    • 高效保存训练状态:在发生故障时,Meta 已经能够实现从中断的地方继续进行训练的一套方法。其中涉及需要定期检查训练状态,并高效地存储和检索训练数据。
    • GPU 之间的连接最优化:大规模模型训练涉及在 GPU 之间同步传输大量数据。GPU 子集之间的数据交换缓慢会累积并拖慢整个任务。解决这个问题需要一个强大且高速的网络基础设施以及高效的数据传输协议和算法。

在基础设施堆栈中进行创新

由于大规模生成式 AI(GenAI)的需求日益增长,为了将训练效果最大化,Meta 还需要改进其基础设施堆栈中的每一层。

训练软件

Meta 允许研究人员使用 PyTorch 和其他新的开源开发工具,让技术能够快速从研究进入到生产环境中。这包括开发用于高效大规模训练的新算法和技术,并将新的软件工具和框架集成到 Meta 的基础设施中。

调度

高效的调度有助于确保资源得到最佳利用,Meta 开发了一套极其复杂的算法,可以根据不同任务的需求分配资源,并进行动态调度以适应不断变化的工作负载。

硬件

训练大型语言模型需要高性能硬件来处理其中的计算需求。除了大小和规模之外,许多硬件配置和属性需要为生成式人工智能进行最佳优化。鉴于硬件开发时间通常较长,Meta 不得不自行改造现有硬件,为此他们探索了包括功率、HBM 容量和速度以及 I/O 在内的各种维度。

Meta 还通过修改使用 NVIDIA H100 GPU 开发的 Grand Teton 平台,将 GPU 的 TDP 增加到 700W,并将 GPU 移至 HBM3。

所有这些与硬件相关的更改都很具有挑战性,因为 Meta 必须在现有资源限制内找到一个解决方案,改变的自由度非常小,并且要满足紧迫的时间表。

数据中心部署

一旦 Meta 选择好了对应的 GPU 和系统,将它们放置在数据中心以优化资源使用(电力、冷却、网络等)时,他们还需要权衡其他类型的工作负载。数据中心的电力和冷却基础设施不能快速(或轻松)更改,他们必须找到一种最佳布局,使数据中心内的计算能力最大化。这需要将支持服务移出数据中心,并尽可能多地放置 GPU 机架,以最大化电力和网络能力,从而实现最高的计算密度和最大的网络集群。

可靠性

为了在发生硬件故障时最大限度地减少停机时间,Meta 需要提前规划如何检测和修复问题。故障数量会随着集群规模的扩大而增加,在运行跨集群的作业时,应保留充足的备用容量,以便尽快重新启动作业。此外,还引入了更先进的故障检测,通过提前预防来减少停机时间。

图片

图源:Meta

Meta 观察到的三个最常见的故障是:

    • GPU 掉线:在这种情况下,主机无法在 PCIe 上检测到 GPU。导致这种故障的原因有很多,但这种故障模式在早期更常见,随着服务器的老化会逐渐减少。
    • DRAM 和 SRAM UCE:不可纠正的错误在内存中很常见,我们监控并识别重复出错的内存,跟踪阈值,并在错误率超过供应商阈值时启动 RMA。
    • HW 网络电缆:无法连接上服务器的情况,这种问题通常会出现在服务器刚开始使用不久的时候。

网络

大规模模型训练涉及在 GPU 之间快速传输大量数据。这需要强大的高速网络基础设施以及高效的数据传输协议和算法。

在行业中有两个符合这些要求的领先选择:RoCE 和 InfiniBand 结构。这两种选择都各有利弊。一方面,Meta 在过去四年中构建了 RoCE 集群,但这些集群中最大的仅支持 4K GPU,因此他们需要显著更大的 RoCE 集群。但另一方面,Meta 构建了多达 16K GPU 的 InfiniBand 研究集群。然而,这些集群并未紧密集成到他们的生产环境中,也不是为最新一代的 GPU 和网络构建的。这使得选择构建哪种结构变得困难。

综合考虑之后,Meta 决定构建两个 24k 集群,一个使用 RoCE,另一个使用 InfiniBand。Meta 优化了 RoCE 集群以缩短构建时间,并优化了 InfiniBand 集群以实现全双工带宽,而且 Llama 3 就是使用 InfiniBand 和 RoCE 集群完成训练的。尽管这些集群之间的底层网络技术存在差异,但能够调整它们以为这些大型 GenAI 工作负载提供等效的性能。

图片

图源:Meta

Meta 优化了整体堆栈的三个方面,使 GenAI 模型在两个集群上的网络通信性能更好:

    • 将由不同模型、数据和管线并行性产生的通信模式分配到网络拓扑的不同层,以便有效利用网络能力。
    • 实现了具有网络拓扑感知的集体通信模式,使其对延迟的敏感度降低。通过使用递归加倍或减半等自定义算法来更改集体通信的默认实现,而不是使用传统的环形算法。
    • GenAI 作业会产生额外的 fat flows(胖流),使得很难在所有可能的网络路径上分配流量。这要求 Meta 进一步投资于网络负载均衡和路由,以实现流量在网络资源上的最佳分配。

图片

图源:Meta

存储

这一环节,Meta 提供的信息相对较少,仅表示他们需要高效的数据存储解决方案来存储用于模型训练的大量数据,其中涉及投资于大容量和高速存储技术,并为特定的工作负载开发新的数据存储解决方案。

展望未来

Meta 表示:

在接下来的几年里,我们将使用成千上万的 GPU,处理更大规模的数据,并应对更长的距离和延迟。我们将采用新的硬件技术 —— 包括更新的 GPU 架构 —— 并改进我们的基础设施。这些挑战将推动我们以无法完全预测的方式进行创新和适应。但有一件事是确定的:这只是这段旅程的开始。随着我们继续在不断发展的 AI 领域中前行,我们将继续致力于突破可能性的界限。

如何学习大模型

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

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

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

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

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

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

五、结束语

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

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

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

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

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

相关文章

计算机行业的现状与未来之2024

年年都说编程好,编程工资涨不了。 人家骑车送外卖,月入两万好不好。 一、计算机专业的背景与现状 在过去几十年里,计算机科学相关专业一直是高考考生的热门选择。无论是计算机科学与技术、软件工程,还是人工智能与大数据&#xff…

防止员工离职导致数据泄露,员工离职后把文件带出公司

中科数安的电脑文件资料透明加密防泄密系统确实能够在一定程度上防止员工离职导致的数据泄露。以下是具体的分析: www.weaem.com 访问控制与权限管理:系统实施了严格的权限管理制度,对核心文件和数据资源进行细致的访问权限划分。这意味着&am…

《无与伦比》Centos7 扩容到已有逻辑卷

命令可以查找硬盘和分区情况 fdisk -l lsblk

掌握市场脉动,Anzo Capital深度解析随机指标的超买超卖秘密

随机指标,作为市场分析的利器,主要用于判断资产价格的相对位置,是揭示市场超买与超卖状态的关键工具,也是大多数交易平台的标准配置。它以独特的视角,帮助交易者捕捉市场的微妙变化。下面跟随Anzo Capital视角&#xf…

leetcode (top100)接雨水

题目: 题解: 可以把每个宽度看作一个桶,每个桶能接的水等于这个桶左右两个方向最高桶的最小高度再减去这个桶本身的高度。把每个桶能接的水相加即可。 难点在于如何快速找到当前桶的左右两个方向的最高桶的高度,可以先遍历一遍…

数据库物理计划执行指南

一、背景介绍 伴随信息技术地迅猛发展和应用范围地逐步扩大,数据库已成为企业存储与管理数据的重要工具。但数据量激增以及用户访问需求的与日剧增,数据库性能也将面临巨大挑战。 好在数据库物理计划执行是解决数据库性能问题的重要手段之一&#xff0…

【技巧】Leetcode 201. 数字范围按位与【中等】

数字范围按位与 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。 示例 1: 输入:left 5, right 7 输出:4 解题思路 …

服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?

服务器数据恢复环境&故障: 1台服务器,Linux操作系统EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。 工作人员操作失误删除了3台服务器上的KVM虚拟机&#xf…

13.4 内存管理

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【课程系列04】某客时间AI大模型应用开发实战营

网盘链接 https://pan.baidu.com/s/1blR1eIMDIIp6AbxU4YaK9w 课程收获 "AI大模型应用开发实战营"是一个为期八周的在线课程,旨在教授学员如何开发和应用AI大模型。课程内容从基础理论到实际应用,逐步深入,覆盖了以下要点&#x…

python发邮件给多人的注意事项?如何群发?

python发邮件给多人的效率如何?python发邮件的方法? 在利用Python编程语言实现邮件群发功能时,需要注意许多细节,以确保邮件能有效送达且用户体验良好。AokSend将详细探讨python发邮件给多人时需要注意的各个方面,以帮…

Python邮件加密传输如何实现?有哪些技巧?

Python邮件怎么设置服务器?如何使用Python发送邮件? 为了确保邮件内容在传输过程中不被窃听或篡改,使用加密传输是必不可少的。在使用Python邮件传输时,加密传输是保障信息安全的关键手段。AokSend将详细探讨Python邮件加密传输的…

【C++提高编程-10】----C++ STL常用拷贝和替换算法

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

【Python】类和对象的深入解析

目录 前言 什么是类? 定义一个类 创建对象 访问和修改属性 方法 类的继承 多态 封装 特殊方法 属性装饰器 总结 前言 Python 是一种面向对象的编程语言,它允许程序员通过类和对象来组织和管理代码。面向对象编程(OOP&#xff09…

智慧校园的构建要素是什么

在当今数字时代,智慧校园的构建已成为教育界的热门话题。随着技术的不断进步,学校不再只是传统的教学场所,而是一个充满智能化和创新的环境。那么,智慧校园的构建要素究竟是什么呢? 基础设施建设 高速、稳定的网络覆…

pygame游戏开发

Pygame游戏开发 pygame简介 模块库请参考:pygame官方文档 pygame可以用作游戏开发,但在商业游戏中真正的开发工具却不是pygame。使用pygame开发游戏周期长。 安装pygame 在pycharm中安装第三方库pygame: 在计算机中安装pygame&#xf…

ElasticSearch学习篇13_《检索技术核心20讲》进阶篇之LSM树

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243,文档形式记录笔记。 内容 磁盘和内存数据读取特点 工业界中数据量往往很庞大,比如数据无法全部加载进内存,无法支持索引的高效实时更新&…

Nature Electronics|微器件在柔性基底上的高密度集成(可穿戴电子/界面调控/电子皮肤/柔性电子)

2024年4月22日,韩国首尔大学Yongtaek Hong和美国斯坦福大学Byeongmoon Lee团队,在《Nature Electronics》上发布了一篇题为“A site-selective integration strategy for microdevices on conformable substrates”的论文。论文内容如下: 一、 摘要 微器件可以被集成在柔性…

【GD32F303红枫派使用手册】第十九节

19.1 实验内容 通过本实验主要学习以下内容: SPI简介 GD32F303 SPI简介 SPI NOR FLASH——GD25Q32ESIGR简介 使用GD32F303 SPI接口实现对GD25Q32ESIGR的读写操作 19.2 实验原理 19.2.1 SPI简介 SPI(Serial Peripheral interface)&…

Django期末重点

思维导图 一、Djanog框架基础 MVT设计模式(model模型【操作数据库】、template模板【页面展示】、view视图【处理请求和调用模型模板】) 二、Django项目框架搭建 创建项目骨架 django-admin startproject 项目名启动服务 (1)p…