大模型训练和部署的关键技术

news2024/11/27 14:38:32

自2016年至今,模型大小每18个月增长40倍,自2019年到现在,更是每18个月增长340倍。

然而相比之下,硬件增长速度较慢,自2016年至今,GPU的性能增长每18个月1.7倍,模型大小和硬件增长的差距逐渐扩大。显存占用大、算力消费大、成本高昂等瓶颈严重阻碍AIGC行业的快速发展。在此背景下,潞晨科技创始人尤洋认为,分布式训练势在必行。

图:潞晨科技创始人尤洋演讲

基础大模型结构为模型训练提供了基础架构

其一、Google首创的Transformer大模型,是现在所有大模型最基础的架构。现在Transformer已经成为除了MLP、CNN、RNN以外第四种最重要的深度学习算法架构。

其二、Google发布的首个预大模型BERT,从而引爆了预练大横型的潮流和的势,BERT强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言横型进行浅层拼接的方法进行预认训练,而是采用新的masked language model(MLM),以致能生成深度的双向语言表征。

其三、ViT Google提出的首个使用Transformert的视觉大模型,ViT作为视觉转换器的使用,而不是CNN威混合方法来执行图像任务,作者假设进一步的预认训练可以提高性能,因为与其他现有技术模型相比,ViT具有相对可扩展性。

其四、Google将Transformer中的Feedforward Network(FFN)层替换成了MoE层,并且将MoE层和数据并行巧妙地结合起来,在数据并行训练时,模型在训练集群中已经被复制了若干份,通过在多路数据并行中引入Al-to-Al通信来实现MoE的功能。

在这些基础大模型结构之上,过去这些年,在大模型的发展历程中,出现了几个具有里程碑意义性的大模型包括GPT-3、T5、Swin Transformer、Switch Transformer。

GPT-3:OpenAI发布的首个百亿规模的大模型,应该非常具有开创性意义,现在的大模型都是对标GPT-3,GPT-3依旧延续自己的单向语言模型认训练方式,只不过这次把模型尺寸增大到了1750亿,并且使用45TB数据进行训练。

T5(Text-To-Text Transfer Transformer):Google T5将所有NLP任务都转化成Text-to-Text(文本到文本)任务。它最重要作用给整个NLP预训型领城提供了一个通用框架,把所有任务都转化成一种形式。

Swin Transformer:微软亚研提出的Swin Transformer的新型视觉Transformer,它可以用作计算机视的通用backbone。在个领域之同的差异,例如视觉实体尺度的巨大差异以及与文字中的单词相比,图像中像素的高分率,带来了使Transformer从语言适应视觉方面的挑战。

超过万亿规模的稀疏大模型Switch Transformer:能够训练包含超过一万亿个参数的语言模型的技术,直接将参数量从GPT-3的1750亿拉高到1.6万亿,其速度是Google以前开发的语言模型T5-XXL的4倍。

另外,更具里程碑意义的大模型,在Pathways上实现的大预言模型PaLM。

分布式框架Pathways:Pathways的很多重要思想来源于现有系统,包括用于表达和执行TPU计算的XLA、用于表征和执行分布式CPU计算的TensorFlow图和执行器、基于Python编程框架的JAX以及TensorFlow APL,通过有效地使用这些模块,Pathways不需要对现有横型进行很多改动就能运行。

PaLM模型:PaLM吸引人眼球的是该模型具有5400亿参数以及果用新一代AI框架Pathways训练。模型结构也给出了很多方面优化,这些技术优化工作汲取了现有突出的研究成果,具体包括SwiGLU激活函数代替ReLU、层并行技术(Parallel Layers)、多查询注意力(Multi-Query Attention),旋转位置编码(RoPE)、共享输入和输出词嵌入、去掉偏置参数(No Biases)等。

PaLM模型也是通过堆叠Transformer中的Decoder部分而成,该模型具有5400亿参数以及采用新一代AI框架Pathways训练。

大规模分布式训练当前主要技术路线

大规模分布式训练当前主要技术路线——并行训练技术。分布式训练并行技术即通过在训练过程中使用GPU集群(多机多卡)来提高神经网络的训练速度。

数据并行:相同的设置和模型被复制多份,每份每次都被馈送不同的一份数据,处理是并行完成的,所有份在每个训练步结束时同步。

张量并行:每个张量都被分成多个块,因此张量的每个分片都位于其指定的GPU上,在处理过程中,每个分片在不同的GPU上分别并行处理,结果在步骤结束时同步。

流水线并行:模型在多个GPU上垂直(即按量)拆分,因此只有一个或多个模型层放置在单个GPU上,每个GPU并行处理流水线的不同阶段,并处理batch的一部分数据。

潞晨科技成立于2021年,是一家致力于“解放AI生产力”的全球性公司。主要业务是通过打造分布式AI开发和部署平台,帮助企业降低大模型的落地成本,提升训练、推理效率。

潞晨开源的智能系统架构Colossal-AI技术,有两大特性:一是最小化部署成本,Colossal-AI 可以显著提高大规模AI模型训练和部署的效率。仅需在笔记本电脑上写一个简单的源代码,Colossal-AI 便可自动部署到云端和超级计算机上。

通常训练大模型 (如GPT-3) 需要 100 多个GPU,而使用Colossal-AI仅需一半的计算资源。即使在低端硬件条件下,Colossal-AI也可以训练2-3倍的大模型。

二是最大化计算效率,在并行计算技术支持下,Colossal-AI在硬件上训练AI模型,性能显著提高。潞晨开源的目标是提升训练AI大模型速度10倍以上。

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

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

相关文章

LeetCode110. 平衡二叉树

题目 leetcode110. 平衡二叉树 思路 只有每个节点的左右子树高度差不超过1才是平衡二叉树,因此可以递归解决。 递归的2要素: ①终止条件:当左右子树高度差超过1时返回false;递归到空节点和叶子节点时,由于空节点和…

每日学术速递5.31

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Prompt-Free Diffusion: Taking "Text" out of Text-to-Image Diffusion Models 标题:无提示扩散:从文本到图像扩散模型中提取“文本” 作者&…

单片机GD32F303RCT6 (Macos环境)开发 (三十五)—— 数字加速度计 (ADXL345 ) 使能中断获取运动与静止状态

数字加速度计 (ADXL345)- 使能中断获取运动与静止状态 1、几个与运动、静止检测相关的寄存器 a、寄存器 0x24—THRESH_ACT(读/写) THRESH_ACT寄存器为8位寄存器,保存检测活动的阈 值。数据格式无符号,因此,活动事件…

从零开始 Spring Boot 35:Lombok

从零开始 Spring Boot 35:Lombok 图源:简书 (jianshu.com) Lombok是一个java项目,旨在帮助开发者减少一些“模板代码”。其具体方式是在Java代码生成字节码(class文件)时,根据你添加的相关Lombok注解或类来…

冈萨雷斯DIP第9章知识点

文章目录 9.1 预备知识9.2 腐蚀和膨胀9.3 开运算与闭运算9.5 一些基本的形态学算法9.8 灰度级形态学 9.1 预备知识 形态学运算是用 集合 来定义的 。 在图像处理中 使用两类像素集合的形态学:目标元素 和 结构元 SE 。 通常目标定义为前景像素集合,结构…

计算机基础--->操作系统(2)【线程和进程、死锁】

文章目录 线程和进程线程和进程的区别?有了进程为什么还需要线程?为什么使用多线程?线程间的同步方式进程控制块(PCB)进程有哪几种状态?进程间的通讯方式有哪些?进程常见的调度算法有哪些&#…

冈萨雷斯DIP第2章知识点

文章目录 2.1 视觉感知要素2.2 光和电磁波谱2.3 图像感知与获取2.4 图像取样和量化2.4.1 取样和量化的基本概念2.4.2 数字图像表示2.4.4 空间分辨率和灰度分辨率2.4.5 图像内插 (image interpolation)2.5 像素间的一些基本关系 2.6 数字图像处理所用的基本数学工具介绍2.6.3 算…

基础查询 — 投影、选择

准备 数据查询操作均采用的是MySQL。示例数据库采用的是northwind 示例数据库。数据库导入手册 关于northwind 示例数据库 查询数据库中的表 show tables;查询表的表属性 desc xxx(表名);投影操作 1.语法 投影运算:选择表中的全部或者部分列。 语法 select 字段…

Jeston Orin Nano 离线烧写系统到NVME存储

大家好,我是虎哥,Jeston Orin nano 8G模块,我自己也玩了一段时间,在Orin 系列,官方提供了一种新的烧写方式,也就是离线烧写,就是你在主机,挂载存储后,直接烧写系统到这个…

Maven高级——继承与聚合——聚合实现

为什么要聚合 分模块开发之后一个项目会被拆分成多个模块。多个模块之间还会有依赖关系。 在一些大型项目中模块比较多,模块之间的依赖关系也会变得错综复杂。 并且在打包的时候还会有一个新的问题,在打包的时候我们要打包的是Springboot项目&#xf…

黑马Redis视频教程高级篇(一)

目录 分布式缓存 一、Redis持久化 1.1、RDB持久化 1.1.1、执行时机 1.1.2、RDB原理 1.1.3、小结 1.2、OF持久化 1.2.1、AOF原理 1.2.2、OF配置 1.2.3、AOF文件重写 1.3、RDB与AOF对比 二、Redis主从 2.1、搭建主从架构 2.1.1、集群结构 2.1.2、准备实例和配置 …

CBCGPRibbonBar 设置整个界面字体大小

在CMainFrame.h中添加成员变量:CFont m_fontCustom; 在onCreat()方法结束之前的任一个位置写下下测方法即可 方法1: { // Create custom font: LOGFONT lf; globalData.fontRegular.GetLogFont(&lf); lf.lfItalic TRUE; …

详解Spring Cloud版本问题

目录 1.让人头疼的多版本号体系 2.目录关系 3.为什么会有多个版本号体系 1.让人头疼的多版本号体系 由于历史原因,spring cloud分为了Alibaba和Netflix两个体系。 想要了解原因以及整个spring cloud体系的来龙去脉的同学可以去看我的另一篇文章: S…

MySQL脏读、不可重复读、幻读的区别与注意事项

目录 一、引入二、事务并发执行会遇到的问题1. 区别2. 注意 三、隔离级别四、参考资料 一、引入 MySQL的架构是 C/S 架构(即 客户端/服务器 架构),一个服务器可能有多个客户端与之相连接,每个连接称之为会话(Session&…

chatgpt赋能python:Python去掉分隔符:优化SEO效果的一种方法

Python去掉分隔符:优化SEO效果的一种方法 在现代的数字化时代,SEO已经成为了许多企业、个人和网站运营者最为关心的问题之一。SEO指的是搜索引擎优化,通过各种技术手段和优化方式,提高网站在搜索引擎结果页面上显示的排名。Pytho…

PageHelper使用

PageHelper &#xff1a; mybatis中的分页插件 文档 &#xff1a; https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md springboot使用PageHelper <dependency><groupId>com.github.pagehelper</groupId><artifactId…

利用DocsGPT快速搭建一个问答式的文档检索服务

docsGPT 示例 基于企业内部独有的知识库&#xff0c;进行智能的客服问答&#xff0c;毫无疑问是 ChatGPT 出圈以后&#xff0c;所有公司想要融入 ChatGPT 技术时的第一反应。可惜 ChatGPT 实际上是一个基于大语言模型实现的&#xff0c;包括很多其他功能的&#xff0c;完整的聊…

电力电子技术的论文

电力电子技术的论文范文一&#xff1a;Matlab电力电子技术应用 【文章摘要】信息技术的快速发展推动许多学科进一步完善&#xff0c;以电力电子技术为例&#xff0c;其本身具有较强的理论性、实践性等特征&#xff0c;涉及的波形图、电路图也较多&#xff0c;相关设计人员需掌握…

Hitcon 2016 SleepyHolder-fastbin_dup_consolidate.c

参考/题目下载&#xff1a; https://github.com/mehQQ/public_writeup/tree/master/hitcon2016/SleepyHolder https://blog.csdn.net/seaaseesa/article/details/105856878 1&#xff0c;三联 保护:基本都开了 功能&#xff1a; 0、唤醒功能&#xff1b; 1、创建-secret&#…

华为OD机试真题 Java 实现【猴子爬山】【2023 B卷 100分】,附详细解题思路

一、题目描述 一天一只顽猴想去从山脚爬到山顶&#xff0c;途中经过一个有个N个台阶的阶梯&#xff0c;但是这猴子有一个习惯&#xff1a; 每一次只能跳1步或跳3步&#xff0c;试问猴子通过这个阶梯有多少种不同的跳跃方式&#xff1f; 二、输入描述 输入只有一个整数N&…