电子产业一站式赋能平台

PCB联盟网

搜索
查看: 331|回复: 0
收起左侧

Hot Chips 2024 | 微软首代定制AI加速器Maia 100

[复制链接]

1073

主题

1073

帖子

1万

积分

论坛法老

Rank: 6Rank: 6

积分
11353
发表于 2024-10-21 08:01:00 | 显示全部楼层 |阅读模式
引言
: f8 q+ w. x  c: H本文介绍微软推出的首代定制AI加速器Maia 100。我们将探讨Maia 100的关键特性、架构设计以及软件生态系统,揭示其如何在Azure平台上革新大规模AI工作负载处理[1]。' Z0 o" {: C! H5 a7 a. I

" f9 L0 m" A9 d: P. sMaia 100简介
! T- a6 G( F/ d. SMaia 100专为Azure平台设计,旨在运行生产级OpenAI模型。这款加速器采用垂直整合方法,优化性能并降低AI计算成本。Maia 100基于软硬件协同设计原则,不仅解锁新功能,还提高了能源效率。# J9 Q3 A' _* F" W8 S' H6 H6 O% A; B

0tp40ll4fxv64029728938.png

0tp40ll4fxv64029728938.png

5 I8 F8 R% q# u+ m! v图1展示了Maia 100芯片的主要规格,包括尺寸、封装技术、内存带宽和计算能力。2 `" x  H* O* i' z' U( w
. t- N2 J; H1 Z. `' h: e7 h
Maia 100芯片规格如下:8 s' a" g3 ~4 j  t! b1 g+ Q
  • 芯片尺寸:采用台积电5nm工艺,约820平方毫米; i' u8 `% C  R3 z3 R

    : B# h/ u3 Z6 `; Y; v
    ) K) [& I3 H# V0 d( p
  • HBM带宽/容量:1.8TB/s,64GB HBM2E/ R1 X+ x8 G7 u$ ~
    , L6 c: q6 n- I: Q, i6 c
  • 峰值密集张量性能:
    $ j: s+ z# d6 c8 o
  • 6位运算:3 POPS
  • 9位运算:1.5 POPS
  • BF16运算:0.8 POPS
    ) w9 p6 N+ u$ v5 g

    : F8 J1 t* s) m: j
    % q) X6 E8 j% u( U  n5 ^+ n
  • 后端网络带宽:600GB/s(12x400GbE)6 A% I, b, M3 C4 w9 p9 t% T  v

    . [9 k/ Q, x: x7 s4 M9 W0 O
    8 }0 k: J# h9 O, X( z! H
  • 主机带宽:32GB/s PCIe Gen5 x8
    - ?" i- y3 o: t4 P- _8 ~3 l

    6 X3 I+ A5 N) {( r5 i, w

    & j0 n% ~- J2 Y9 n4 X( D" Y$ F" [( Z
  • 设计TDP:700W(供电TDP:500W)
    - @* }) D* T4 H4 x
    ; X) Q3 n2 ~$ ^
    架构深度解析) F7 e6 H. N2 }; W3 l
    Maia 100 SoC(片上系统)采用针对机器学习工作负载优化的分块架构。) O/ T; K! }1 _

    bvtjah2fxdl64029729038.png

    bvtjah2fxdl64029729038.png
    2 l! R/ A. h+ T1 g( L
    图2展示了Maia 100的内部架构,显示其分块结构、互连以及各种组件,如张量单元和向量处理器。
      S7 |9 z, J2 G. c2 v! X8 J; Q( f) \" T- |# {
    主要架构特性包括:5 e) F: y4 h) z2 L( ^4 N$ q, R. m8 G
  • 分块结构:每个SoC包含16个集群,每个集群4个块
  • 高带宽数据网格片上网络(NoC)
  • HBM2E内存接口
  • PAM4 112G SerDes和PCIe接口3 J$ K( o6 U% B: G5 a" e" P

    5 ?$ t# F: J$ _* s6 L' K每个块包含:
    7 x4 R' t8 l: k, o, U" G. n9 s
  • 张量单元(TTU):支持各种数据类型的高速处理
  • 向量处理器(TVP):为ML操作定制的ISA
  • 块数据移动引擎(TDMA)
  • 块控制处理器(TCP)* h  i: _! l3 L7 |& q% L; g
    6 D, |; y) {* q: {3 L) U( v: p8 c
    Maia 100的ML专用架构旨在实现卓越的性能功耗比。通过以下方式解决数据移动瓶颈:
    - z3 N0 s- G8 J4 I5 ?5 [
  • 数据压缩和窄数据类型支持(4位、6位、9位)
  • 大容量L1/L2暂存器内存
  • 为ML工作负载优化的网格状NoC拓扑' a1 L/ N4 D3 B5 S8 Y& [/ Y
    6 [7 U# @1 l, y) U; f
    互连和网络能力
    ( J& H# W5 b' b" jMaia 100支持基于以太网的后端网络,内置加密功能保护用户数据。
    ; a) _7 \5 [+ u& J7 }% I

    lh4v3maux3464029729138.png

    lh4v3maux3464029729138.png
    , j; R) P2 P9 V% X4 C8 M
    图3描述了Maia 100的网络拓扑,展示高带宽以太网链路和统一网络架构。
    0 J( F% J4 L8 h$ Q/ a5 @: ]" x7 w5 X, n% @
    主要网络特性:
    9 q& w9 |  i. s0 c2 B, \
  • 高带宽以太网链路:/ b( f* a1 \9 j$ c
  • 全收集/分散-归约速度达4800Gbps
  • 任意对任意通信速度达1200Gbps
  • 定制RoCE类协议,提高可靠性和负载均衡
  • 支持AES-GCM加密
  • 统一网络支持横向扩展和纵向扩展配置+ K3 v: y+ Z2 z6 t! w
    ' _+ u: J4 e( z
    Maia SDK和软件生态系统; I9 t* g' s' w4 z# w
    为充分发挥Maia 100的潜力,微软开发了全面的软件开发套件(SDK)和生态系统。( c; x0 W5 P2 l( a4 \' V

    0deuvbgp2ws64029729239.png

    0deuvbgp2ws64029729239.png
    , t) O! ?: V- Q/ V/ D" Y, ]
    图4展示了Maia SDK架构,显示从用户级接口到硬件抽象层的各个层次。( z  B. G3 R6 J- u. }' ~- j

    $ l7 V2 g; l4 s! F5 n- j- ~, o4 {. JMaia SDK包括:
  • 框架集成(如PyTorch)
  • 开发者工具(调试器、性能分析器、可视化工具、模型量化和验证工具)
  • Maia编译器(Triton用于灵活性和可移植性,Maia API用于最高性能)
  • Maia内核库(类似cuBLAS)
  • Maia集合通信库(类似NCCL)
  • 用户内核(编译后)
  • Maia主机/设备运行时
  • Maia运行时库(HAL)
    $ ]6 H8 C. I0 Z, M# v1 V[/ol]
    8 S' s" d: \: x# j+ i这个全面的软件栈使模型能快速部署到Azure OpenAI服务。* f" N/ @; N' I+ `* e/ R

    ! ~( Y1 c8 N. c5 q) V

    2 X1 n) z3 {+ B' d5 N% n3 p+ S编程模型和优化. Y9 L$ Q" C/ p. |
    Maia 100支持两种主要编程模型:
  • Triton:高级、硬件无关的方法
  • Maia API:低级、Maia专用方法,提供最大控制和性能- N: M) f  z, P7 ?
    [/ol]
    + X8 U: O( U: y: x2 t7 G: r& Y. t

    w33btcsa3zp64029729339.png

    w33btcsa3zp64029729339.png

    " J! `9 ~8 g9 Q图5演示了Maia 100中使用信号量的异步编程模型,说明命令和数据如何在系统中流动。
    4 @2 u0 T. I" ~9 E4 q! e
    1 V$ Y5 X7 B) I+ m% M7 m1 e使用信号量的异步编程模型允许在芯片资源间高效调度和执行任务。
    % Q8 _; o! a' {, ^; K0 C
    5 P5 Y5 ~( Z# E) LGEMM分区和调度
    " p8 n) X8 `: ]3 x9 V矩阵乘法(GEMM)操作对AI工作负载极为重要。Maia 100实现了优化的GEMM分区和调度技术。
    # o& Q1 ?- T% a3 y

    afvb5jqkbql64029729439.png

    afvb5jqkbql64029729439.png
    " i9 ]1 _6 M( ~, M
    图6展示了Maia 100中GEMM操作的优化片上数据流,显示计算如何分布在集群间以及数据如何高效移动。
    ; `9 N) m2 n  `, t- B
    4 M( a( x3 |% Q/ z/ S主要优化包括:6 `) {4 i  X& q3 R% J
  • 基于收集的矩阵乘法
  • 融合元素级激活函数
  • 计算与网络通信重叠
  • 通过网络发送量化数据(MX)
  • 利用L2 SRAM(CSRAM)缓冲激活值并减少HBM访问
    6 ?& c8 t' {. S$ e

    1 E4 t+ B' E: I0 cPyTorch集成和分布式计算
      D2 L9 x9 V- [0 ], kMaia 100提供与PyTorch的无缝集成,使开发者能轻松移植现有模型,只需最小改动。& j8 E; W' L1 ~* T

    hzx2dauclcp64029729539.png

    hzx2dauclcp64029729539.png

    . W) @/ C/ G7 u/ Z% F图7演示如何在PyTorch中使用Maia 100,展示从"cuda"到"maia"的简单设备切换。2 f' p7 `4 O8 e, b$ j
    & Y9 F, {3 g& F# O7 y: t
    PyTorch集成包括:
    0 [; o# b1 }% j: @; {
  • 资源管理(HBM / SRAM / 流 / 事件)
  • 即时执行模式
  • 图执行模式(与torch.compile生态系统集成)
    : B3 n/ P' a: w9 [, ?
    2 g4 @1 r2 [' w2 {0 F/ q6 T/ j
    对于分布式计算,Maia 100引入MCCL(微软通信集合库)作为torch.distributed的后端,支持广泛的集合操作。* a7 t2 ?" V8 N8 j) q; Y
    ; R6 i) f3 R1 c3 I, C8 D
    开发者工具
    5 @: [  r/ E2 k, V2 N; V) G0 `为支持开发者使用Maia 100,微软提供了一套工具:
    # J* Q! h* q. @0 d, _3 c1. maia-smi:设备管理实用程序
    6 z) G! ?1 v, X9 W& H/ b" a: |" ], j! R# f
    2. Maia调试器:4 t! L0 e/ C7 M4 A$ z: `% m& @
  • maia-gdb命令行调试
  • VS Code插件集成调试
    + L  W1 _$ ?' N4 J, {
    9 f% W( @1 t: q0 g5 ?
    3. 崩溃转储分析7 }: l& B8 h# O. {" v9 `9 x# B

    1 e- R/ J  _9 F4. 虚拟平台(maia-sim):
    2 V8 P3 J/ S  p7 o; g* S3 o
  • Maia设备模拟器
    6 Q5 Q. B. G+ ]9 K! D# \
    # j6 L+ M! @. H+ F% z
    5. 竞态条件分析和执行图分析2 M! D- q" J" s( x) A( U
    5 `) ?5 W! W& _; M
    6. 日志和性能分析库
    ! y$ X3 d! e) O% I6 n' C& J
    ) L- P6 d6 u1 }9 u- p7. Maia性能分析工具(maia-prof)
    * I1 C  P0 E) A4 a8 V0 t' M& \! @# N
    8. Maia资源使用监控工具(maia-mon)
    ' G2 L/ k4 A0 K9 C" z! f8 q& h4 R  B
    , ?' w" {4 \0 H# B6 [+ x- D* R6 N2 c这些工具使开发者能在Maia 100硬件上高效开发、调试和优化AI模型。
    ( E1 x1 m* F0 _7 _* R' V
    5 X2 o4 A, R# O3 S$ \9 S) `微软的Maia 100代表了定制AI加速器领域的\进展。凭借强大的硬件架构、全面的软件生态系统以及与PyTorch等流行框架的无缝集成,Maia 100有望推动Azure平台上下一代大规模AI工作负载的发展。8 d/ Y5 L: y& o) e4 u% s
    ! ~* q9 I, C, ], @6 U" w8 J, h  m
    参考文献
    ) Q3 d! o/ Z( J3 J[1] S. Xu and C. Ramakrishnan, "Inside Maia 100," Microsoft, 2024.
    : k* }$ C1 v5 A2 P$ }
    4 o5 @4 g% W: n# i, q9 M- END -
    % h/ {  W+ @. }. \; P6 j
    7 x, p5 s* o( c  }软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。
    ) {4 z+ k& Y* y, z点击左下角"阅读原文"马上申请9 R) F: X( E1 Q3 D7 `& v4 A5 G

    $ }! T7 y" \. \欢迎转载. z% ?% y5 Z4 W! Y! C- y! z: ?/ c

    - I+ Q9 @9 V* X2 E转载请注明出处,请勿修改内容和删除作者信息!" J! G+ M" U  z8 L

    8 B1 Y( O/ p/ S3 A" U% R( Y: C
    % X  l3 c2 v( k" K
    : R7 N; N6 d. j5 U

    3cr1ufno10d64029729639.gif

    3cr1ufno10d64029729639.gif

    ) S( e6 f, R/ p
    6 l& W1 C$ n4 q) K( W# G+ {关注我们
    1 p9 j9 j% y! t  a1 y) e" h( d
    & H) [  Q4 g6 \' t
    2 U/ {( P3 T& l0 u2 q1 j. I

    cqm00evbeub64029729739.png

    cqm00evbeub64029729739.png
    7 }3 {7 d& v: z# t+ v# X. ?" o
    # E' j9 e' ]( S% H. J: T$ h

    ru3kzfyx25z64029729839.png

    ru3kzfyx25z64029729839.png

    . E- x, y! [7 [& w+ b

    / P5 l; m7 i( I6 o  z

    vubfwjjecrj64029729939.png

    vubfwjjecrj64029729939.png

    6 ?$ w) s; m/ B
                         
    $ b; K: U6 q; i* ]% ^# V+ a! W7 z; f4 Y) ?" H$ @

    ! ]; l+ O5 Q% B/ L, c6 t* ]( u4 x( G* l3 ?0 a
    关于我们:% {) g/ b/ q# Q) W/ y& L
    深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。% w9 c; L5 m5 ]1 G
    / N2 e  J( b6 V
    http://www.latitudeda.com/
    4 ~0 r+ g' ^* T2 f! [) W(点击上方名片关注我们,发现更多精彩内容)
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表