LLM学习之路-01-第一章-预训练/大模型分布式训练并行技术(一)概述

devtools/2025/3/18 14:32:04/

大模型分布式训练并行技术(一)综述

引言

为了训练最大的 Llama 3 模型,Meta 结合了三种并行化方式:数据并行化、模型并行化和管道并行化。当同时在 16K GPU 上进行训练时,他们最高效的实现实现了每 GPU 超过 400 TFLOPS 的计算利用率。他们在两个定制的 24K GPU 集群上进行了训练运行。为了最大限度地延长 GPU 的正常运行时间,他们开发了一种新的训练堆栈,可以自动检测、处理和维护错误。他们还大大改进了硬件可靠性和无声数据损坏检测机制,并开发了新的可扩展存储系统,减少了检查点和回滚的开销。这些改进使总体有效训练时间缩短了 95% 以上,与 Llama 2 相比,将 Llama 3 的训练效率提高了约三倍。

这边,meta使用了三种并行化方式:数据并行化、模型并行化和管道并行化。这三种并行化方式是大模型分布式训练的核心技术。在这个系列我将对这几种并行化方式进行详细介绍。

本系列旨在用最简单的方式介绍大模型分布式训练并行技术,不涉及太多细节和实现方式,只介绍最基本的概念。

并行化策略

1.数据并行 DataParallel (DP) - 相同的设置被复制多次,每次都输入一部分数据。处理是并行进行的,所有设置在每个训练步骤结束时同步。

 

2.张量并行 TensorParallel (TP) - 每个张量被分成多个块,因此不是将整个张量驻留在单个 gpu 上,而是将张量的每个分片驻留在其指定的 gpu 上。在处理过程中,每个分片在不同的 GPU 上单独并行处理,结果在步骤结束时同步。这就是所谓的水平并行,因为拆分发生在水平层面。

3.管道并行(流水线并行) PipelineParallel (PP) - 模型在多个 GPU 上垂直(层级)拆分,因此只有一层或几层模型放在单个 gpu 上。每个 gpu 并行处理管道的不同阶段并处理一小部分批次。

 

4.混合并行 MixedParallel (MP) - 混合并行是将数据并行、模型并行和管道并行结合在一起的一种方法。这种方法可以在多个 gpu 上同时进行数据并行和模型并行,同时在每个 gpu 上进行管道并行。

我打算分几篇文章来介绍这几种并行化方式,下一篇是数据并行。


http://www.ppmy.cn/devtools/168074.html

相关文章

ST的全新STM32U3微控制器(MCU)简析

一 概述 意法半导体在之前的STM32型号中引领了超低功耗(ULP)MCU的步伐,现在又推出了新的STM32U3系列,将ULP性能提升到一个新的水平。凭借先进的节能芯片设计,通过人工智能增强工具进行微调,以及运行频率高…

【为什么游戏能使人上瘾】

为什么游戏能使人上瘾,而工作不会?——从神经科学、心理学与行为设计学拆解 一、多巴胺回路的“即时收割” vs “延迟满足” 游戏的神经劫持机制 即时反馈闭环:游戏设计遵循“行为→奖励→强化”的秒级循环。例如: • 击杀小怪→金…

PyTorch使用-张量的创建

文章目录 张量的创建1. 安装 PyTorch2. 基本创建方式2.1 torch.tensor 根据指定数据创建张量2.2. torch.Tensor 根据形状创建张量, 其也可用来创建指定数据的张量2.3. 指定类型的张量创建2.3.1. torch.IntTensor:创建整数类型张量2.3.2. torch.FloatTensor&#xff…

Qt 通过MSVC编译运行项目

第一步下载Qt 把Qt能选的插件都选上,有的是连接数据库必须得插件,有的是做图表必须得插件,有的是运行MSVC必须得插件,能选尽量都选上。 第二步安装VS2017,当然我们安装2017的目的主要是用C的编译器,这里提…

【万字总结】构建现代Web应用的全方位性能优化体系学习指南(二)

前言 在Web性能优化中,图形资源占据了首屏加载的70%以上权重,其处理效能直接决定用户体验。本章以格式革新、渐进加载、解码加速为技术三角,深入解析如何通过AVIF/WebP智能适配降低50%带宽开销,借助四阶段渐进式加载实现“秒开感知”,并利用WASM突破JavaScript性能瓶颈,构…

《 C++ 点滴漫谈: 三十一 》函数重载不再复杂:C++ 高效调试与性能优化实战

摘要 本篇博客深入探讨了 C 中的函数重载及其调试技巧。首先,介绍了函数重载的基本概念及其在 C 编程中的应用,强调了如何通过函数重载提高代码的灵活性和可读性。接着,我们讨论了函数重载的常见问题,如二义性、隐式类型转换和重…

ai本地化 部署常用Ollama软件

现在用最简单的方式介绍一下 Ollama 的作用和用法: Ollama 是什么? Ollama 是一个让你能在自己电脑上免费运行大型语言模型(比如 Llama 3、Mistral 等)的工具。 相当于你本地电脑上有一个类似 ChatGPT 的 AI,但完全…

代码随想录算法训练营第34天 | 62.不同路径 63. 不同路径 II 整数拆分 不同的二叉搜索树 (跳过)

62.不同路径 62. 不同路径 - 力扣(LeetCode) 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_b…