【AI系统】计算图挑战与未来

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 当前主流AI框架采用计算图抽象神经网络计算,以张量和算子为核心元素,有效表达模型计算逻辑。计算图不仅简化数据流动,支持内存优化和算子调度,还促进了自动微分功能的实现,区分静态图和动态图两种形式。未来,计算图将在图神经网络、大数据融合、推理部署及科学计算等领域持续演进,适应更复杂的计算需求。

目前主流的 AI 框架都选择使用计算图来抽象神经网络计算表达,通过通用的数据结构(张量)来理解、表达和执行神经网络模型,通过计算图可以把 AI 系统化的问题形象地表示出来。

image

计算图与框架关系

计算图回顾

在 AI 框架中,其计算图的基本组成有两个主要的元素:1)基本数据结构张量和 2)基本计算单元算子。节点代表 Operator 具体的计算操作(即算子),边代表 Tensor 张量。整个计算图能够有效地表达神经网络模型的计算逻辑和状态。

  • 基本数据结构张量:张量通过 shape 来表示张量的具体形状,决定在内存中的元素大小和元素组成的具体形状;其元素类型决定了内存中每个元素所占用的字节数和实际的内存空间大小;

  • 基本运算单元算子:具体在加速器 GPU/NPU 中执行运算的是由最基本的代数算子组成,另外还会根据深度学习结构组成复杂算子。每个算子接受的输入输出不同,如 Conv 算子接受 3 个输入 Tensor,1 个输出 Tensor。

AI 框架的设计很自然地沿用了张量和张量操作,将其作为构造复杂神经网络的基本描述单元,开发者可以在不感知复杂的框架后端实现细节的情况下,在 Python 脚本语言中复用由后端优化过的张量操作。而计算 Kernel 的开发者,能够隔离神经网络算法的细节,将张量计算作为一个独立的性能域,使用底层的编程模型和编程语言应用硬件相关优化。

开发者编写神经网络模型代码的时候,需要 AI 框架提供自动微分功能,构建反向的计算图。基于反向模式(Reverse Mode)的自动求导机制中,根据反向计算图的构建时机,又分为基于对偶图的自动求导、基于表达式追踪和图层 IR 的自动求导实现的静态图,而使用动态图的 AI 框架多采用基于表达式追踪技术的自动求导方式。动态图和静态图的区别又引起不同的编程范式,和对编程领域引入的控制流表达不同方式。

image

使用计算图好处

使用了计算图,能够方便 AI 框架统一表示来描述神经网络训练的全过程。而动态计算图实际上只是一个虚拟概念,方便开发者和算法人员理解 AI框架中的执行过程,提升易用性。而使用静态计算图,其好处在于编译期可对计算过程的数据依赖进行分析:

  • 简化数据流动的过程:通过计算图使用有向无环图的方式,避免无序的数据依赖;

  • 动态和静态内存优化:在神经网络模型执行中会产生固定和非固定的内存需求,基于计算图信息提前对内存进行优化;

  • 优化算子间的调度策略:方便进行算子的并行、算子的调度执行优化;

  • 改善运行时 Runtime 性能:通过计算图可以进行计算和通信的时间重叠优化。

通过静态的计算图提出,可以为 AI 框架切分出三个解耦的优化层,分别对应图中的不同颜色:1)计算图优化;2)运行时调度优化;3)算子/内核执行优化。

image

针对新提出来的神经网络模型结构和新训练算法,扩展步骤分为三阶段:1)在计算图层添加新算子定义;2)针对不同硬件内核,实现计算优化;3)注册算子和内核函数,运行时派发硬件执行。

计算图的未来演进

  • 图表示

随着图、图结构、图数据、图算法、图计算、图学习、图神经网络等信息技术的快速发展,各行业数字化水平的逐步提高,企业业务环境和计算场景日益复杂,数据间的关联关系也正在变得更加交错。在面对需要深度挖掘数据间复杂关联关系的场景时,传统的关系型数据往往计算效率低下,难以满足应用需求。

针对图神经网络(GNN)模型的结构类型,大量稀疏的结构下,会适合使用计算图来表示图吗?如何通过计算图更加高效地计算图稀疏图结构?

  • 大数据融合

大数据技术演化的总体目标是高效收集、存储、处理与分析大规模、多源数据,并满足业务需求。近年来,大数据技术路线从批处理架构,逐渐演化为内存计算架构、流处理架构、批流融合处理架构、图数据处理架构等。

在大数据技术发展的早期,仅仅是在计算框架 MapReduce 中提供简单的作业调度算法,随着资源管理的需求,在 Hadoop 2.0 时代,Yarn 作为单独组件负责分布式计算框架的资源管理。但是,一方面,Yarn 仅仅能够管理调度计算框架的资源;另一方面,资源的管理粒度较为粗放,不能做到有效的资源隔离,越来越不能满足企业客户的需求。

未来 AI 框架的计算图如何与数据的处理进行融合与表示?大数据和 AI 融合,计算图会产生什么新的表示和需求?

image

  • 部署推理

深度学习不仅包括使用 AI 框架模型训练过程,对训练好的模型,通常需要进行一些优化和加速,如网络层合并、量化、剪枝等,得到精简的推理引擎,然后部署上线。通常我们把模型优化和推理框架合称为推理引擎。在推理部署环节的优化进度较快,主要思路包括调整模型架构实现计算并行度提升,或通过捕捉参数结构实现混合精度推理,降低计算复杂度。

既然最终形态是面向推理部署,那么一定需要 AI 框架按照计算图设计后的逻辑明确的分层解耦?计算图不能解决哪些 AI 业务的问题?部署场景 AI 作为流程中的一部分,能否泛化计算图解决部署流程复杂问题?

  • 科学计算

自然界中诸多现象如材料损伤与破坏、流体湍流、核爆炸过程、生物大分子等均呈现出巨大的尺度效应, 并伴随着不同尺度上的物理多样性和强耦合性以及多个时间与空间尺度的强关联。这些典型的多尺度问题的求解一直是非常有挑战性的课题。科学计算曾经并正在为求解多尺度问题发挥重要作用,但目前也碰到了瓶颈。 AI 为解决多尺度问题提出了新的思路。

未来 AI 和科学计算融合,计算图能否足够表示?针对科学计算的特殊数学范式,如何更好地融合到计算图中?

image

如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
人工智能 弹性计算 监控
《触手可及,函数计算玩转AI大模型解决方案评测》
本文介绍了函数计算在AI大模型部署中的应用,详细阐述了其原理、部署体验及优势。通过实践,验证了函数计算在弹性伸缩、部署便捷性和成本效益方面的显著优势。同时,提出了在高级特性、性能优化、安全性及高可用性等方面的改进建议,以提升方案在实际生产环境中的适用性和可靠性。
56 3
|
2月前
|
人工智能 运维 大数据
体验记录——触手可及,函数计算玩转 AI 大模型
阿里云推出的“触手可及,函数计算玩转 AI 大模型”解决方案,通过按量付费、卓越弹性和快速交付能力,为企业提供了便捷的AI大模型部署途径。评测报告详细分析了该方案的实践原理、部署过程及优势,展示了其在高并发场景下的高效性和成本优势,并提出了改进建议。
37 0
|
3天前
|
存储 人工智能 算法
【AI系统】计算图的优化策略
本文深入探讨了计算图的优化策略,包括算子替换、数据类型转换、存储优化等,旨在提升模型性能和资源利用效率。特别介绍了Flash Attention算法,通过分块计算和重算策略优化Transformer模型的注意力机制,显著减少了内存访问次数,提升了计算效率。此外,文章还讨论了内存优化技术,如Inplace operation和Memory sharing,进一步减少内存消耗,提高计算性能。
54 34
【AI系统】计算图的优化策略
|
3天前
|
存储 机器学习/深度学习 人工智能
【AI系统】计算图优化架构
本文介绍了推理引擎转换中的图优化模块,涵盖算子融合、布局转换、算子替换及内存优化等技术,旨在提升模型推理效率。计算图优化技术通过减少计算冗余、提高计算效率和减少内存占用,显著改善模型在资源受限设备上的运行表现。文中详细探讨了离线优化模块面临的挑战及解决方案,包括结构冗余、精度冗余、算法冗余和读写冗余的处理方法。此外,文章还介绍了ONNX Runtime的图优化机制及其在实际应用中的实现,展示了如何通过图优化提高模型推理性能的具体示例。
23 4
【AI系统】计算图优化架构
|
2天前
|
机器学习/深度学习 人工智能 PyTorch
【AI系统】计算图原理
本文介绍了AI框架中使用计算图来抽象神经网络计算的必要性和优势,探讨了计算图的基本构成,包括标量、向量、矩阵、张量等数据结构及其操作,并详细解释了计算图如何帮助解决AI工程化中的挑战。此外,文章还通过PyTorch实例展示了动态计算图的特点和实现方法,包括节点(张量或函数)和边(依赖关系)的定义,以及如何通过自定义Function实现正向和反向传播逻辑。
28 7
|
22天前
|
消息中间件 人工智能 弹性计算
《触手可及,函数计算玩转 AI 大模型》解决方案评测
一文带你了解《触手可及,函数计算玩转 AI 大模型》解决方案的优与劣
64 14
|
19天前
|
人工智能 弹性计算 数据可视化
解决方案|触手可及,函数计算玩转 AI 大模型 评测
解决方案|触手可及,函数计算玩转 AI 大模型 评测
26 1
|
2月前
|
人工智能 弹性计算 监控
触手可及,函数计算玩转 AI 大模型解决方案
阿里云推出的“触手可及,函数计算玩转 AI 大模型”解决方案,利用无服务器架构,实现AI大模型的高效部署和弹性伸缩。本文从实践原理、部署体验、优势展现及应用场景等方面全面评估该方案,指出其在快速部署、成本优化和运维简化方面的显著优势,同时也提出在性能监控、资源管理和安全性等方面的改进建议。
92 5
|
2月前
|
人工智能 弹性计算 运维
《触手可及,函数计算玩转 AI 大模型》解决方案深度评测
本次评测全面评估了《触手可及,函数计算玩转 AI 大模型》解决方案,涵盖实践原理理解、文档清晰度、部署体验、优势展现及生产环境适用性。方案通过函数计算实现AI大模型的高效部署,但模型加载、性能指标和示例代码等方面需进一步细化。文档需增加步骤细化、FAQ、性能指标和示例代码,以提升用户体验。部署体验方面,建议明确依赖库、权限配置和配置文件模板。优势展现方面,建议增加性能对比、案例研究和成本分析。此外,为满足实际生产需求,建议增强高可用性、监控与日志、安全性和扩展性。
42 2
|
3月前
|
人工智能 弹性计算 运维
评测报告:《触手可及,函数计算玩转 AI 大模型》解决方案
本次评测聚焦于《触手可及,函数计算玩转 AI 大模型》这一解决方案。该方案旨在通过云上的函数计算服务来简化AI大模型的部署过程,使得用户可以更加便捷地利用这些强大的AI能力。本报告将从实践原理的理解、部署体验、优势展现以及实际应用等四个方面进行综合评估。
68 15