阿里云林立翔:基于阿里云GPU的AIGC小规模训练优化方案

本文涉及的产品
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
简介: 阿里云弹性计算林立翔在【AIGC】话题下带来了题为《基于阿里云GPU的AIGC小规模训练优化方案》的主题演讲,围绕生成式AI技术栈、生成式AI微调训练和性能分析、ECS GPU实例为生成式AI提供算力保障、应用场景案例等相关话题展开。


本篇文章围绕生成式AI技术栈、生成式AI微调训练和性能分析、ECS GPU实例为生成式AI提供算力保障、应用场景案例等相关话题展开。


一、生成式AI技术栈介绍


1、生成式AI爆发的历程


在2022年的下半年,业界迎来了生成式AI的全面爆发,尤其是以ChatGPT为代表的大语言模型和以Stable Diffusion为代表的图片生成类模型。举个例子,某幼儿园老师要求家长写一篇1500字的关于家庭教育法的心得体会,ChatGPT可以胜任这份工作;各种logo也可以通过Stable Diffusion生成式模型来生成,根据提示词生成各类图片。


(1)软件算法部分


生成式AI的爆发彻底突破了过往对AI应用的想象空间,但从软件和算法角度,生成式AI的全面爆发并非一蹴而就,它是近三四十年所有研发人员、算法工程师以及科研人员的努力,共同促成了当今生成式AI的爆发。



1986年,上世纪六七十年代被抛弃的神经网络重新回归主流研究领域。1987年,概率推理和机器学习算法引入,将不确定性的数学建模以及随机梯度下降的学习算法引入到人工智能的主流算法研究领域。


21世纪初,随着互联网的爆炸式发展,大数据技术被引入到各个领域,包括生产、分析以及人工智能。近十年,深度学习技术尤其火热,即通过多层感知网络堆叠来提升模型泛化精度。这些算法基础设施的不断演进,促成了生成式AI爆发。


(2)硬件部分


硬件部分也是促成当前生存式AI爆发的重要基础。如人工智能领域,我们通常喜欢和人类大脑进行类比,人脑约有1011个神经元,神经元之间有1010  个突触,相当于可以达到每秒钟1017的算力,约为0.1 EFLOPS。个人计算机目前还达不到人脑的算力,GPU集群的计算能力已经超过了人类大脑的算力,先进的GPU计算集群已经可以达到EFLOPS的级别。因此,算力也是目前生成式AI的重要硬件保障。



上图中展示了目前最典型的GPU 3模型的大致推算,纵坐标Petaflop/s-Days表示要在一天之内训练一个模型,算力需要达到的Petaflop/s。GPT 3的量级约为10的4次方的Petaflop/s-Days,如果使用千卡的A100组成集群,大致需要一个月的时间训练完GPT 3的预训练模型。


2、生成式AI训练技术栈


总结来说,是由于模型结构的创新,尤其以2017年开始Transformer模型结构为代表;另外大数据带来了海量的数据集,还包括机器学习的梯度寻优算法结构,共同构成了AI训练算法和软件上的基础。另外,从GPU的云服务器到GPU的云服务集群,构成了AI训练的硬件基础。



软件算法与硬件发展带来了当下生成式AI训练技术栈爆发,带来了通往AGI的曙光。


二、生成式AI微调训练和性能分析


第二部分,我将介绍目前在生成式AI的微调训练场景下的流程、使用场景以及基于ECS GPU云服务器,生存式AI微调训练场景的性能分析。


1、生成式AI从开发到部署的流程


大致可以分为三部分——预训练、微调和推理,如下图所示:



最左侧是Pre-Training(预训练),生成通用模型,中间是Fine Tuning(微调),生成特定领域的数据集,最终在部署时,进行Inference推理。


在Pre-Training阶段,最重要的特点是有海量的数据集以及大的参数量,因此该场景需要大规模算力进行分布式训练,通常以月为单位的开发周期和生产迭代的流程。


在Fine Tuning阶段,与Pre-Training略有区别,该场景下需要Special Data,如垂直领域模型的客户专属的私域数据。此外,根据应用场景需求,有些场景可能需在要分钟级Fine Tuning出一个模型,有些场景可以以周为单位生产模型,进而把Pre-Training模型变成specialize特定领域的模型,如coding、media advise、education等垂类的模型。


在Inference推理阶段,其特点更加明显,即用于部署,最关键是如何在符合特定的在线服务环境下做到时延和吞吐,以达到上线需求。


生成式AI微调训练场景中两类常见的模型,如上图所示。

第一类,如妙鸭相机APP,它是基于Diffusion生成类模型提供针对客户定制化专属模型的一种训练方式,它是快速Fine Tuning与高效Inference兼顾的一种训推一体的生成式AI模型。

第二类,垂直领域的大模型,以大语言模型为代表,它根据特定场景以及对应的垂类领域的数据,基于基座模型Fine Tuning定制化的LLM模型。


2、生成式AI微调场景的GPU性能分析




以上两类模型在GPU计算上存在瓶颈。GPU的原理并不复杂,即一堆小的Micro的计算单元做ALU计算,和小块矩阵乘法。但模型或深度学习算法并不是简单地由矩阵乘组成,包括transform layer等对应的activation等,如何将堆叠的layer映射到算力资源,更好地发挥出算力的efficiency是我们需要解决的场景。


具体到生成式AI的微调场景,上图的最下方列了两张Timeline图,左下角是以ECS V100 16G实例在Stable Diffusion微调训练场景为代表,可以看到GPU计算逻辑时间序列有很多空白,说明GPU的算力没有被完全发挥出来,其最重要的瓶颈来自于CPU本身的overhead特别大,这是v100场景下在Stable Diffusion微调遇到的瓶颈。


右下角ECS A100 80G实例在Llama LLM微调训练场景为代表,最上面一层是在GPU上的计算执行逻辑,下面是密集的all gather通信流,又伴随着密集的 Reduce scatter通信流,它是网络IO成为bound的计算workload。


映射到算力资源,CPU overhead bound和Network IO bound成为了GPU运算的瓶颈。


三、ECS GPU实例为生成式AI提供算力保障


ECS GPU云服务器通过软硬件结合的方式,为生成式AI的微调场景提供了充沛、高性能的算力保障。


1、ECS 异构计算为生成式AI提供澎湃算力


下面是阿里云异构计算产品大图。底座是ECS的神龙计算平台,之上提供了包括gn7e、gn7i以及其他做计算加速实例的硬件资源组。在算力的基础之上,提供DeepGPU Toolkits,其目标在于衔接上层AI应用和底层硬件资源,进行软结合一体化的优化,提升ECS GPU云服务器与友商相比的差异化竞争力,服务于客户以达到高性能和高性价比的AI训练和推理效果。





2、ECS 异构计算DeepGPU提升生成式AI效率


以下是DeepGPU的简图。



左侧是开发模型的训练技术栈,通常开发人员只关注两部分,第一,是否能提供足够的算力服务,可以通过开源的调度器以及开源的模型框架搭建模型算法的开发流程。DeepGPU的工作则是在客户并不触及的部分,包括驱动级、计算库和通信库,整合包括CIPU、ECS GPU云服务器的能力提升在模型训练和推理的效果和能力。


右侧是DeepGPU的整体架构图,其底层是依托于GPU的基础架构,包括异构GPU计算实例、eRDMA/vpc网络以及云存储,在基础产品增强工具包中提供包括基于eRDMA训练的客户参考解决方案,最终的目的是帮助客户在基于ECS GPU云服务器上,其模型的训练推理的性能可以达到最佳。


3、阿里云CIPU + DeepGPU提升分布式训练效率


简单介绍DeepNCCL如何通过阿里云特有的基础设施达到软硬结合的训练加速的效果。左侧图是CIPU的基础设施,它提供了eRDMA Engine,可以达到大吞吐、低延时的网络通信的能力,叠加DeepNCCL软硬结合的性能优化,右图显示allgather的NCCL test性能数据,右侧是原生的数据,左侧是DeepNCCL加持的性能数据,DeepNCCL实现了比原生数据提升50%~100%的primitive的NCCL集合通信的算子优化能力。



四、应用场景案例


这部分通过几个典型的场景介绍ECS GPU云服务器叠加DeepGPU在生成式AI的应用场景以及对应的性能加速效果。


1、ECS A10 DeepGPU Diffusion微调训练案例



关于DeepGPU Diffusion微调的训练案例的性能加速方案,前面的内容中曾提及过该场景的目标,即训推一体。换言之,客户首次或二次进入都要快速生成模型,则其训练一定要快,也就是说其在模型上有一定的折中,如通过LoRA降低总计算量;其次,模型中需要有专属于每个客户自己的feature,通常是在Diffusion中通过Dreambooth或controlnet提供专属模型的优化能力。


通过算法上的加持可以形成用户专属模型,另外可以保证快速。再叠加gn7e、gn7i提供的高弹性算力保障,可以提升整个训推一体的算力需求,同时DeepGPU软硬结合可以额外带来15%~40%的性能提升。类似的案例已经在客户妙鸭大规模上线,通过快速地弹出大量的A10、V100实例以及DeepGPU的性能加持,帮助妙鸭快速应对高峰期用户推理和训练的请求。


2、ECS A100 DeepGPU LLM 微调训练案例

另一部分,在大语言模型的微调训练案例,其特点是模型参数量太大,在单机很难装载训练,因此模型参数需要sharding到不同的GPU卡和不同的机器上做训练算法的迭代,这会引入大量卡间通信,且是同步通信操作,因此多卡互联的能力是LLM在微调训练场景的瓶颈。



ECS GPU云服务器提供包括eRDMA以及大带宽的算力和通信带宽保障,再叠加DeepGPU的DeepNCCL加持,可以为大语言模型在多机多卡的微调场景带来10%~80%的性能提升。这个案例也在许多客户场景上得到了实践。


以上就是本次分享的全部内容。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
4月前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
897 61
|
5月前
|
缓存 并行计算 PyTorch
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
本文深入探讨了PyTorch中GPU内存管理的核心机制,特别是CUDA缓存分配器的作用与优化策略。文章分析了常见的“CUDA out of memory”问题及其成因,并通过实际案例(如Llama 1B模型训练)展示了内存分配模式。PyTorch的缓存分配器通过内存池化、延迟释放和碎片化优化等技术,显著提升了内存使用效率,减少了系统调用开销。此外,文章还介绍了高级优化方法,包括混合精度训练、梯度检查点技术及自定义内存分配器配置。这些策略有助于开发者在有限硬件资源下实现更高性能的深度学习模型训练与推理。
1005 0
|
2月前
|
缓存 异构计算 Docker
构建高性能LLM推理服务的完整方案:单GPU处理172个查询/秒、10万并发仅需15美元/小时
本文将通过系统性实验不同的优化技术来构建自定义LLaMA模型服务,目标是高效处理约102,000个并行查询请求,并通过对比分析确定最优解决方案。
155 0
构建高性能LLM推理服务的完整方案:单GPU处理172个查询/秒、10万并发仅需15美元/小时
|
4月前
|
Kubernetes 调度 异构计算
一文搞懂 GPU 共享方案: NVIDIA Time Slicing
本文主要分享 GPU 共享方案,包括如何安装、配置以及使用,最后通过分析源码了 TImeSlicing 的具体实现。通过配置 TImeSlicing 可以实现 Pod 共享一块物理 GPU,以提升资源利用率。
187 11
|
5月前
|
存储 机器学习/深度学习 算法
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
|
6月前
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
477 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
6月前
|
机器学习/深度学习 人工智能 物联网
MiniMind:2小时训练出你的专属AI!开源轻量级语言模型,个人GPU轻松搞定
MiniMind 是一个开源的超小型语言模型项目,帮助开发者以极低成本从零开始训练自己的语言模型,最小版本仅需25.8M参数,适合在普通个人GPU上快速训练。
1227 10
MiniMind:2小时训练出你的专属AI!开源轻量级语言模型,个人GPU轻松搞定
|
6月前
|
人工智能 负载均衡 调度
COMET:字节跳动开源MoE训练加速神器,单层1.96倍性能提升,节省百万GPU小时
COMET是字节跳动推出的针对Mixture-of-Experts(MoE)模型的优化系统,通过细粒度的计算-通信重叠技术,显著提升分布式训练效率,支持多种并行策略和大规模集群部署。
306 9
|
7月前
|
边缘计算 调度 对象存储
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
130 0
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术深度解析:生成式AI的革命性突破与产业应用实战
蒋星熠Jaxonic,AI技术探索者,深耕生成式AI领域。本文系统解析AIGC核心技术,涵盖Transformer架构、主流模型对比与实战应用,分享文本生成、图像创作等场景的实践经验,展望技术趋势与产业前景,助力开发者构建完整认知体系,共赴AI原生时代。
89 1

热门文章

最新文章

相关产品

  • GPU云服务器