大模型浪潮下的平台、框架、AI编译器和芯片架构丨2023智源大会精彩回顾

news2024/11/18 15:30:08

15d58f3a3fbc607ad3f136920f9ac03b.jpeg

导读

在大模型时代,应该如何组织AI系统使其能力与市场需求对齐,是底层的AI工程师需要不断思考和探讨的话题。围绕这一问题,在2023智源大会AI系统分论坛上,从事AI框架开发、芯片研发和AI编译器优化的专家汇聚在一起,共同探讨如何为打造更具魅力的人工智能系统赋能。

与会嘉宾

a3bfee503c9c5a15b8d34e6ba190ef2a.jpeg

Albert Cohen丨Research Scientist, Google

吴芃丨Engineering Manager, PyTorch, Meta

Michael Gschwind丨Director,Meta platforms

Jun Gong丨ML Tech Lead,Anyscale

白童心丨智源研究院AI编译器负责人

郭崎丨中国科学院计算技术研究所研究员

田燕丨智源研究院AI系统平台研发负责人

赖俊杰丨NVIDIA中国区工程和解决方案高级总监

Making the Most of ML Hardware

Albert Cohen丨Research Scientist, Google

87cdec194d72207faff85a8f5a044033.jpeg

在大模型时代,如果期望获得优异的性能必须要考虑到矢量化的缓存和优化。机器学习的工作负担,使得并行化无处不在。如果合理地引导有效的资源灵活地适配复杂的任务,是一个至关重要的问题。

模型必须依靠特定的算子优化,才能在合适的硬件上发挥应有的性能。编译器的作用是将模型和数据的潜力翻译到硬件上,以获得最佳的性能表达。可以想见,如果没有编译器,那么即使进行非常简单的运算,都需要考虑底层,这是非常低效的。编译器的作用,就是解放AI工程师不再从事底层的低级别优化,而是专注于算法的开发迭代。

0799dcd96f95e7f93d1c2f635715b378.png

AI编译器的开发涉及到内存接口的调用。设计者需要考虑如何避免数据在内存之间的往返,或者设备和主机之间的跨越,才能实现计算和运行效率的最大化。机器学习算法的编译工作,需要引入并使用越来越多的机器学习计算,来帮助底层逻辑寻优。

BLIS方法本质上是勾勒出矩阵乘法在任何加速器上的实现方式。开发者需要将计算分解到几个切片上,调用规则循环和矢量指令的微内核,再慢慢增加封闭循环,以反映内存层次结构。

Cohen表示,他参与智源大会的原因也是希望在全球范围内寻求合作,期待与志同道合的朋友们一起,将世界上最为先进的机器学习技术嵌入到人工智能编译器中。

PyTorch 2.0

吴芃丨Engineering Manager, PyTorch, Meta

04d3f3d5b3f49b255ec3cc4557ad7f84.jpeg

作为一个开源框架,PyTorch关注的是硬件厂商如何将PyTorch集成到各自的硬件上的问题。让PyTorch2.0更多地关注硬件不是出于商业思维,而是为了加速模型的训练和推理。因此在发布之初,创作团队就急切地希望得到用户体验,从而提高PyTorch在编译器层面上的优化水平。

在研发之初,团队将这套框架的易用性放在第一位,其理念就是机器学习需要迎合人类的需要。PyTorch是极少数的采用非图形模式的代表,通过与供应商的密切合作,在性能方面进行补偿,PyTorch在整个AI模型的开发中取得了巨大的成功。由于PyTorch的灵活性,使得其难以编译和引入图模式,研究人员将其引入以后,极大地提升了开发者的编译效率。

dec772ac2fb0e2470a48a90b8e4d0fcc.png

2.0版本的发布,是基于真正的技术创新,是属于TorchDynamo的时刻。这是一个开箱即用的图像捕获器,它的出现意味着这项繁重的工作可以从人类的双手中解放出来。

吴芃表示,自从2.0版本发布以来,已经有很多供应商主动寻求合作,几乎所有的后端编译器都在尝试集成。最后,对于大家关心的引入图以后是否会牺牲后端编译器性能这一问题,吴芃也透露,基于补偿和融合优化,PyTorch在基准测试中有了广泛的性能提升。

PyTorch 2.0

custom-built for the era of Generative AI

Michael Gschwind Director,Meta platforms

01ce2714d70f59e4c458038ca448c9de.jpeg

当前,AIGC在视觉、语言和语音等领域大放异彩。其中,最常见的AI大模型是大语言模型,能够生成类似人类的文本反应,其在理解人类自然语言方面展现了难以置信的能力。

大模型的训练是极其消耗分布式计算基础设施的,一个合理的编译器可以极大地加速模型的落地速度。PyTorch以其灵巧的设计,吸引着开发者在其之上进行创作。但是,灵活性是以牺牲性能为代价的,通过加速路径架构推理,捕捉常见的推理模式,可以极大地加速Torch在硬件端侧的运行效率。Meta近些年来,一直致力于从算法侧的角度开发利用更为节省计算资源的常见深度学习算子。

b9ed74bf1963a4edd6fe856e553a4e94.png

由Meta开发的灵活通用组件集成于PyTorch中,提供广泛的选项和灵活性。这些组件既为了提升训练效率,也为了提升内存效率,为研究人员提供高速的迭代工具。在必要时,它们可以使用自己的cuda内核,而在其它情况下则派遣给开源社区中的BLIS等库。

开源框架的优势是即插即用,可以吸引来自全世界的同行共同维护和创作。FAIR的巴黎实验室致力于开发实现高效内存通信的框架,进一步加速大模型的优化速度。在实际的大语言模型训练速度测试中,Torch的编译大大降低了训练时间。

最后,Gschwind表示,2.0版本的PyTorch提供了可移植的接口服务,允许模型利用新的改进,在未来的设备上持续迭代。

Ray: Distributed Compute Framework 

For Scalable AI

Jun Gong  ML Tech Lead,Anyscale

7364a97e3edd9d98dc7bfa3b8c4fa28e.jpeg

机器学习的负载正在以指数形式上升,这意味着需要更好的端侧优化方法为深度学习的训练助力。强化学习的本质是在模拟的物理世界中随机探索,Anyscale的强化学习库是建议在Ray之上的。后来,有用户发现,这个框架似乎不仅对强化学习有用,也同样适用于其他的分布式计算。

在实际的模型训练中,传统的框架往往会将数据一次性地加载进内存,这是一种显著的资源浪费。Ray框架的不同之处在于,在数据集和计算资源之间寻求一个平衡,根据这个平衡将数据按比例加载到硬件中,这就是分布式的意义。

62034e032cb2f238841a70b792d388f7.png

Ray的效率大约是Spark集群的3倍,这背后的根源在于Spark在Python和Java之间反复切换,拉低了效率。因此,当试图将多个步骤融合在一起的时候,就会触及GPU的瓶颈,连同CPU的执行效率也会被降低。

最后,Jun Gong表示Ray是完全开源的,欢迎所有人参与到开源社区的贡献中。

面向多种异构算力的AI编译器技术初探

白童心丨智源研究院AI编译器负责人

f051b886f58828293f49467b1afdf44a.jpeg

目前,国产GPU面向上游主流深度学习框架的适配能力偏弱,因此开发一款合适的编译器丝滑地连接二者至关重要。国内的痛点主要集中在:多框架接入堵塞、编译器兼容和面向后端的优化能力。

47c7802b0e6c13aef3c257c79662613f.png

厂商对于前端适配存在一定的顾虑,对编译器的泛化能力有着很高的要求,而后端编译器的开发又是极富挑战的。面向迁移性和拓展性,主要的技术挑战是如何设计更好的硬件抽象。在科技部的支持下,智源计划在三年以内构建出统一中立的AI编译器设施,使之成为AI产品落地的平台并为大模型的开发赋能。

6602b9422a01c25911cb76c2cf78d235.png

智源设计的编译器框架面向PyTorch 2.0,前端部分与多个AI框架相适配。FlagIR的技术路线是轻量级、层次式和模块化的IR设计,BSIL借鉴MLIR的层次式和模块化特征,单个OP通过Payload嵌套不同层次的操作,BSIL的主体由一组张量模式构成,其抽象层次低于Aten,TOSA,Stable HLO,略高于LinAlg.general,张量模式在计算复杂性和IO复杂性上有明显代表性,因此保留张量模式对代码生成时性能优化的指导意义。

b505c59a52ac97adbc89eed5839a1932.png

最后,白童心博士表示,AI编译器的探索还处于初步阶段,未来希望与业内同行一道,共同合作打造产业生态,也进一步探讨这一领域的发展方向。

面向大模型的算子自动调优技术

郭崎丨中国科学院计算技术研究所研究员

aa2821db55c172ce1262c256caca1774.jpeg

在当下纷繁复杂的大模型竞相涌现之际,如何充分发挥专用AI架构的计算潜力是AI系统面临的关键挑战之一。高性能算子库是连接算法模型和底层硬件算力的重要桥梁,决定了算法模型是否能高效运行。现在的高性能算子库主要依赖专家手工的优化,要求开发人员对上层算法、编程模型、底层硬件架构都有深刻的理解。这导致了算子库的开发周期和难度非常大,难以满足目前深度学习应用快速部署的实际需求。

50c001d2aac2a83629bd4564218dfc0a.png

目前大模型的算子自动调优技术仍面临一些挑战,尤其是在一些领域专用架构上还有很大的调优空间。郭崎团队发现,由于领域专用架构存在大量的约束,导致搜索空间质量很差,其中有效解的比例非常低。针对该问题,通过预定义的规则对程序进行分析,自动生成带有精确约束的搜索空间。此外,大模型的算子自动调优还面临编译时间过长的问题。针对该问题,团队通过基于主动学习的预训练方式高效构建出代价模型,在编译搜索过程中利用其对调优策略的表现进行准确预测,加速搜索过程。

ed13077498fb715f777e445cb78cf04e.png

最后,郭崎表示,算子调优技术是提升高性能算子库开发与运行效率的有效手段。随着深度学习大模型与领域专用硬件的快速发展,如何提升面向大模型的算子调优性能和速度是十分值得业内同行们关注的方向。

九鼎:支撑大模型训练及芯片架构多样性

田燕丨智源研究院AI系统平台研发负责人

10ccc5dd132b3d417604e64b1bf24e8a.jpeg

人工智能发展史上出现的三次浪潮,每一次都是数据算法和算力的共同发展。数据和算力的发展支撑了模型算法的发展,同时也决定了模型算法能力的天花板。他们相互促进也彼此制约。

04471d3cf0758b2689fcd942f8972b85.png

智源希望打造的AI基础设施可以支撑大模型的各种任务,极致优化算力资源的使用效率,推高模型算法能力的天花板,同时,基础平台要能支撑大模型新的开发范式,提升大模型研发和应用的效率。

构建支撑大模型新开发范式的AI基础平台,要用发展的眼光看问题,保持快速灵活地迭代的能力,根据业务需求因地制宜解决问题。在构建过程中,要重视模型、训练任务、数据、生产环境间的血缘关系,能支撑大模型的反复评测对比和训练任务调整。

训练效率优化本身涉及到资源管理和任务调度与AI框架、模型算法的协同、并行优化方法、算子优化、存储网络优化等等,智源的九鼎平台构建了训练性能的采样和可视化分析能力,同时集成了自动并行优化方案,可以对硬件环境和模型训练任务采样,自动搜索生成并行训练策略,二者可以有效地支撑训练效率持续优化。

372d784a0a55e6dd70a94f0a016c0da4.png

此外,九鼎平台也支持在不同类型的异构芯片(昆仑芯、寒武纪等)上运行模型训练推理任务。在异构芯片方面,智源联合多家硬件和框架团队,共建面向芯片的开源评测软件FlagPerf,该开源项目是 FlagOpen 大模型开源体系的一部分。

最后,田燕总结,基础设施和上层业务场景是个相互促进螺旋上升演进的关系,所以做基础设施,要关注的新的训练方法,新的模型结构和新的应用场景,会对底层带来什么样的影响和挑战,从这里出发,来思考底层如何支撑上层探索能力边界和提升效率。从基础设施的技术视角看,我们需要关注和思考这里每个象限会向哪个方向发展,如何协同支撑上层。这是System for AI的部分。最后,AI for AI system也会反过来给这些领域赋能,同样也是值得关注的。

基于NVIDIA Megatron

更高效地构建大语言模型训练系统

赖俊杰丨NVIDIA中国区工程和解决方案高级总监

bebb97eeeda8f7ca1fa33b531720ae0c.jpeg

大模型时代一次模型训练往往需要消耗大量的GPU计算资源,在工业界中稳定的大模型训练对于成本控制至关重要。然而,大模型训练往往涉及到复杂的技术能力栈,训练过程中一旦架构、通讯、存储、数据、算法等等任一方面出现问题,都会导致无效训练以及资源的浪费。NVIDIA开发的基于PyTorch的训练框架 - Megatron与NeMo Framework的开创性技术,能够提高训练速度且可扩展性强,使得大模型的训练更加稳定,部署更加容易,具有更短的时间成本和更快的结果,大大提升了模型的开发效率。

fe09f13cecbef75e055057d63e0f41c4.png

底层硬件是基石,为了开发者把硬件用起来并真正解决问题,需要软件的协同。NVIDIA NeMo Framework的优化方法,包括其高效的并行策略、内存优化技术等。其中高效的模型并行技术是大模型时代模型训练不可或缺的选择,最新的NeMo Framework还集成序列并行与选择性激活值重新计算等技术,帮助解决显存限制等问题,从而降低大模型训练的成本,提升效率。

- 点击“查看原文” ,观看完整大会视频回放 -

690257bac6d6483bdb884f7281e2fc87.jpeg

具身智能与强化学习前沿进展丨2023智源大会精彩回顾

f05c59f13a180b34cb2db9dd09a1e93d.jpeg

大模型与人类的未来丨基于认知神经科学的大模型论坛精彩回顾

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

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

相关文章

广告行业中那些趣事系列63:使用chatgpt类大模型进行文本分类任务

导读:本文是“数据拾光者”专栏的第六十三篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践。本篇主要介绍了使用chatgpt类大语言模型进行文本分类任务,对于希望使用chatgpt类大语言模型上进行数据标注、文本分类和关键词抽取等…

debug调试高级用法

文章目录 前言一、如何给程序加断点,并调试二、开始调试1.断点查看2.查看所有断点,去掉断点,批量去断点3. 断点改值4. 断点条件 总结 前言 在开发调试中,如果你不会debug调试,一般情况下,就只能控制台打印,然后一遍一遍重启了,所有debug是必不可少的技能,尤其当遇到问题的时候…

xxl-job的实践

pom.xml文件导入xxl-job 包 <dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>${xxl-job.version}</version></dependency><xxl-job.version>2.3.1</xxl-job.version> …

Android学习日志 二、Button组件调用函数

文章目录 Button组件调用函数配置代码By-Round Moon Button组件调用函数 Android Studio 版本:2022.2.1 patch 2 配置 接日志一的操作&#xff0c;我们创建一个空项目&#xff0c;名字可以自己起 等待构建完成后&#xff0c;我们创建一个模块 创建一个activity 在相应的x…

Spring Boot中RabbitMQ自动配置的介绍、原理和使用

Spring Boot中RabbitMQ自动配置的介绍、原理和使用 引言 RabbitMQ是一种高性能的消息队列系统&#xff0c;它支持多种消息协议和丰富的功能&#xff0c;如消息路由、消息确认、消息重试、死信队列等。在Spring Boot中&#xff0c;我们可以通过自动配置的方式来使用RabbitMQ。…

碳排放预测模型 | Python实现基于时间序列趋势外推的碳排放预测模型(线性趋势、指数趋势、平方趋势)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于时间序列趋势外推的碳排放预测模型(线性趋势、指数趋势、平方趋势) 源码设计 import pandas as pd import numpy as np import scipy

SpringBoot(三)SpringBoot热部署

在开发SpringBoot项目过程中&#xff0c;你有没有遇到如下的问题&#xff1a;每次修改java代码&#xff0c;都得重新run一下Application才会生效。起初我也遇到了这样的问题&#xff0c;但SpringBoot这种成熟的框架&#xff0c;怎么可能不支持热部署呢。本篇&#xff0c;我们就…

Ubuntu虚拟机文件系统挂了:Failure: File system check of the root filesystem failed

问题描述 太久不用虚拟机Ubuntu 20.04&#xff0c;就把虚拟机移动到了移动硬盘中&#xff0c;然后虚拟机挂了。准确地说是文件系统挂了。由于没有保护好现场&#xff0c;出错位置是一个/dev/xxx&#xff0c;提示Failure: File system check of the root filesystem failed。 …

10 DCT变换对灰度图像压缩(matlab程序)

1.简述 一、设计任务 1、在图像的变换和压缩中&#xff0c;常常用到离散余弦变换&#xff08;DCT&#xff09;。DCT变换用于图像的压缩实例。请在测试图像中验证你的结论。 2、请编程实现图像的真彩色增强。 3、通过直方图均衡化的方法实现图像的灰度变换&#xff0c;在测试…

threejs材质

个人博客地址: https://cxx001.gitee.io 前言 前面简单的介绍了材质&#xff0c;你已经了解到材质结合几何体就可以创建网格&#xff0c;网格对象才可以添加到Threejs渲染的场景中。材质就像物体的皮肤&#xff0c;决定了几何体的外表。如&#xff0c;几何体看起来是否像金属…

GPT模型训练实践

一、GPT模型解释 GPT 模型是 Generative Pretrained Transformers 的缩写&#xff0c;是一种先进的深度学习模型&#xff0c;旨在生成类人文本。GPT 的三个组成部分&#xff0c;即 Generative、Pre-Trained 和 Transformer&#xff0c;其解释如下&#xff1a; 生成&#xff1…

【CCF计算领域学术会议介绍:2024日程安排、CCF会议deadline汇总、2022年录用率】

CCF计算领域学术会议介绍&#xff1a;2024日程安排、CCF会议deadline汇总、2022年录用率 0、目录 1、2024日程安排及deadline汇总2、会议介绍及2022年录用率 1、2024日程安排及deadline汇总 1、Conference List 这个网站汇总了CCF学术会议2023及即将开启的2024学术会议&…

递归:探索问题的无限深度

引言&#xff1a; 在计算机科学中&#xff0c;有一种强大的概念叫做递归。它可以帮助我们解决各种复杂的问题&#xff0c;使代码更加简洁而优雅。递归是一种函数调用自身的技术&#xff0c;通过将问题分解成较小的子问题&#xff0c;以及逐步将其解决&#xff0c;从而达到解决整…

【前端】案例1 轮播图【HTML/CSS/JS】+JQ

引入JQ <script src"https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>CSS代码 /* 轮播图部分 */.two_content {width: 100%;height: 490px;position: relative;overflow: hidden;cursor: pointer;z-index: 1;}.bigimages {width: 10…

AD23 如何设置在PCB网络、原理图双击直接打开属性

概述 时间久远&#xff0c;忘记很多&#xff0c;在此做个笔录。 一、直接打开属性 1、原理图双击直接打开属性&#xff0c;在“原理图界面”。 2、PCB Layout界面双击直接打开属性&#xff0c;在“Layout界面”。 修改后&#xff0c;双击效果如下所示&#xff1a; 二、还原回去…

什么是社区数字化?数字化社区如何打造?

社区作为城市治理和民生服务的“终点站”&#xff0c;提现着基层治理规范化体系和现代化建设的能力。开利网络认为&#xff0c;建设数字化社区需要依托技术手段&#xff0c;建立线上线下相结合的便民服务圈&#xff0c;整合线上线下社区生活服务、社区治理服务和物业服务等&…

GitHub打不开的解决方案(超简单)

在国内&#xff0c;github官网经常面临打不开或访问极慢的问题&#xff0c;不挂梯子&#xff08;VPN&#xff0c;飞机&#xff0c;魔法&#xff09;使用体验极差&#xff0c;那有什么好办法解决GitHub官网访问不了的问题&#xff1f;今天小布教你几招轻松访问github官网。 git…

山西电力市场日前价格预测【2023-07-02】

日前价格预测 预测明日&#xff08;2023-07-02&#xff09;山西电力市场全天平均日前电价为387.35元/MWh。其中&#xff0c;最高日前价格为440.35元/MWh&#xff0c;预计出现在20: 45。最低日前电价为339.26元/MWh&#xff0c;预计出现在03: 30。以上预测仅供学习参考&#xff…

高效复制管理!批量覆盖同名文件轻松完成文件管理

在处理大量文件时&#xff0c;经常需要进行文件复制和管理操作。然而&#xff0c;当目标文件夹内存在同名文件时&#xff0c;手动一一覆盖操作十分繁琐。为了提高工作效率&#xff0c;我们为您提供了一种简便而高效的方法&#xff0c;让您能够轻松批量复制和管理文件&#xff0…

信号链噪声分析12

目录 概要 整体架构流程 技术名词解释 技术细节 小结 概要 提示&#xff1a;这里可以添加技术概要 本文阐释 1/f 噪声是什么&#xff0c;以及在精密测量应用中如何降低或消除该噪声。1/f 噪声无 法被滤除&#xff0c;在精密测量应用中它可能是妨碍实现优质性能的一个限制因素…