电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

558

主题

558

帖子

4496

积分

四级会员

Rank: 4

积分
4496
发表于 2024-10-21 08:01:00 | 显示全部楼层 |阅读模式
引言8 K/ r! i" Q) u7 l
本文介绍微软推出的首代定制AI加速器Maia 100。我们将探讨Maia 100的关键特性、架构设计以及软件生态系统,揭示其如何在Azure平台上革新大规模AI工作负载处理[1]。) t8 `. y% p7 v& t$ ~8 b$ B) N" g

$ c* f) H8 O. z6 ?- Y, j: UMaia 100简介: O4 N* E  K% Z: D" R
Maia 100专为Azure平台设计,旨在运行生产级OpenAI模型。这款加速器采用垂直整合方法,优化性能并降低AI计算成本。Maia 100基于软硬件协同设计原则,不仅解锁新功能,还提高了能源效率。! l" @8 X6 `7 c8 g# }

0tp40ll4fxv64029728938.png

0tp40ll4fxv64029728938.png
5 T0 ^  N9 v9 L8 ]! `* A$ F
图1展示了Maia 100芯片的主要规格,包括尺寸、封装技术、内存带宽和计算能力。  [7 Q, S0 \* v7 s+ {+ g' V

4 ~4 g0 z: d: N4 `Maia 100芯片规格如下:
) t! x6 O% Y' q# c/ B7 h" j6 K9 Q
  • 芯片尺寸:采用台积电5nm工艺,约820平方毫米
    % e" H( J4 E$ F* |$ D6 b! n

      s! b. Q. v5 h% L: `
    * G- \% W$ T  d2 q
  • HBM带宽/容量:1.8TB/s,64GB HBM2E
    + i0 ?$ v3 e- J" r1 T( x
    $ Y& j& k. X$ ~/ S) t1 y( P! j
  • 峰值密集张量性能:
    : x: S% j9 h( {
  • 6位运算:3 POPS
  • 9位运算:1.5 POPS
  • BF16运算:0.8 POPS
    $ c, m* Z; l2 S2 p

    * V& j; U" j: z1 }; ?

    1 p6 `( P( Y5 ?% a
  • 后端网络带宽:600GB/s(12x400GbE)9 R; _% B2 l, Q0 e* U) |' Z$ q8 J

    2 c$ @8 Q6 @2 z9 W  {! x
    % p! p7 u5 ]0 |, w- j! ~( a' n: F
  • 主机带宽:32GB/s PCIe Gen5 x8
    - Y# v# n0 F) q1 P
    9 A$ D: r/ U4 B7 a
    4 d) H/ o  {1 S7 ~9 u
  • 设计TDP:700W(供电TDP:500W)
    . {& o9 Z7 A+ E/ g

    & `8 P8 j% g7 b* h/ o, _架构深度解析
    9 T' L' M: R  K  z, h( [Maia 100 SoC(片上系统)采用针对机器学习工作负载优化的分块架构。
    # ]$ A" s6 m$ U6 `4 M

    bvtjah2fxdl64029729038.png

    bvtjah2fxdl64029729038.png
    2 O& z: c; o; N
    图2展示了Maia 100的内部架构,显示其分块结构、互连以及各种组件,如张量单元和向量处理器。. [1 L; O7 ?0 ]4 H3 F$ V1 f0 [

    * z$ Q  [: g. q) i3 M主要架构特性包括:1 G% |: }/ \5 t
  • 分块结构:每个SoC包含16个集群,每个集群4个块
  • 高带宽数据网格片上网络(NoC)
  • HBM2E内存接口
  • PAM4 112G SerDes和PCIe接口
    " ]% D5 K. I5 T5 u* l7 t% g4 {
    ( Y; p9 _' Y% x3 D
    每个块包含:3 N- u4 ]4 c! n% T. w6 f/ ~
  • 张量单元(TTU):支持各种数据类型的高速处理
  • 向量处理器(TVP):为ML操作定制的ISA
  • 块数据移动引擎(TDMA)
  • 块控制处理器(TCP)
    0 T  |* @7 E, P0 `/ B4 d5 r

    ( [$ U% q6 X4 X; ]7 L* fMaia 100的ML专用架构旨在实现卓越的性能功耗比。通过以下方式解决数据移动瓶颈:
    0 c1 {8 `/ O8 o( ]
  • 数据压缩和窄数据类型支持(4位、6位、9位)
  • 大容量L1/L2暂存器内存
  • 为ML工作负载优化的网格状NoC拓扑! ?5 M' [2 f' G" q
    3 O5 n  b/ B) W3 v* z; }8 U: q# h
    互连和网络能力
    $ N4 s1 {( W/ Q- T- L+ W% x, KMaia 100支持基于以太网的后端网络,内置加密功能保护用户数据。7 R0 d5 d. C; u/ V

    lh4v3maux3464029729138.png

    lh4v3maux3464029729138.png

    3 y# P6 Q$ I# k5 y: k7 ^" K; ^图3描述了Maia 100的网络拓扑,展示高带宽以太网链路和统一网络架构。4 B! q8 w7 P) d2 s8 e

    8 i# P+ H0 n+ p, v& P3 u主要网络特性:
    ( _( S. E6 w) U5 l2 K
  • 高带宽以太网链路:$ _) K( |: V9 R* a
  • 全收集/分散-归约速度达4800Gbps
  • 任意对任意通信速度达1200Gbps
  • 定制RoCE类协议,提高可靠性和负载均衡
  • 支持AES-GCM加密
  • 统一网络支持横向扩展和纵向扩展配置* z3 d( r$ M8 [8 Y5 E* M

    1 T2 k# k+ c* |Maia SDK和软件生态系统
    ! U/ _9 W: Q/ d0 A3 q2 I7 Q为充分发挥Maia 100的潜力,微软开发了全面的软件开发套件(SDK)和生态系统。+ T2 _* Z+ `1 w) h" \1 m) [! d

    0deuvbgp2ws64029729239.png

    0deuvbgp2ws64029729239.png
    7 l+ ?3 L3 F# h5 d* F* p1 {: I
    图4展示了Maia SDK架构,显示从用户级接口到硬件抽象层的各个层次。2 {- w+ h  Q) X8 j. l1 }
    ( w1 t8 k  p; t
    Maia SDK包括:
  • 框架集成(如PyTorch)
  • 开发者工具(调试器、性能分析器、可视化工具、模型量化和验证工具)
  • Maia编译器(Triton用于灵活性和可移植性,Maia API用于最高性能)
  • Maia内核库(类似cuBLAS)
  • Maia集合通信库(类似NCCL)
  • 用户内核(编译后)
  • Maia主机/设备运行时
  • Maia运行时库(HAL)
    . W6 |: y( j! @0 z# y3 s! K: F[/ol]
    4 |" x: l" d( b$ U2 y  B4 Z这个全面的软件栈使模型能快速部署到Azure OpenAI服务。- e! X: k  V8 r4 [) Q

    5 g; M* l6 ]: J) p

    ; p/ `, B! S4 M9 Z/ o3 \: i! a编程模型和优化! D: g; [- c! N: }! X6 l' ?
    Maia 100支持两种主要编程模型:
  • Triton:高级、硬件无关的方法
  • Maia API:低级、Maia专用方法,提供最大控制和性能
    " n# A  g) K% s) s[/ol]
      O! x7 X7 q, ?

    w33btcsa3zp64029729339.png

    w33btcsa3zp64029729339.png

      B" E9 N4 o$ @* x- M; z6 M7 a& u图5演示了Maia 100中使用信号量的异步编程模型,说明命令和数据如何在系统中流动。
    ) R# m5 O& Z2 C+ e  t
    + {8 Y; H3 S: R4 p! p# i使用信号量的异步编程模型允许在芯片资源间高效调度和执行任务。
    - b( v1 U) o5 }' G9 n5 w. L& G7 z5 }0 l( ^; J
    GEMM分区和调度) r& D. J, o3 ], }' l% l0 U
    矩阵乘法(GEMM)操作对AI工作负载极为重要。Maia 100实现了优化的GEMM分区和调度技术。
      v; g* d$ s5 s: _+ l# a  q7 D

    afvb5jqkbql64029729439.png

    afvb5jqkbql64029729439.png
    2 i# a  s% a, G
    图6展示了Maia 100中GEMM操作的优化片上数据流,显示计算如何分布在集群间以及数据如何高效移动。
    8 C' _/ [4 u* p% C: N
    * g- g4 i6 J* f7 |& ~主要优化包括:$ W3 M! M6 q$ k
  • 基于收集的矩阵乘法
  • 融合元素级激活函数
  • 计算与网络通信重叠
  • 通过网络发送量化数据(MX)
  • 利用L2 SRAM(CSRAM)缓冲激活值并减少HBM访问
    4 T) T  p6 A1 O" k

    % q( N7 E& z% ?" K* n1 yPyTorch集成和分布式计算2 s6 ^8 h$ S% P) x) K0 F- G
    Maia 100提供与PyTorch的无缝集成,使开发者能轻松移植现有模型,只需最小改动。
      V, S/ U  O) Q2 ?  q& E* N1 {, V

    hzx2dauclcp64029729539.png

    hzx2dauclcp64029729539.png
    , s( a, l* @+ y: j
    图7演示如何在PyTorch中使用Maia 100,展示从"cuda"到"maia"的简单设备切换。$ X- F- S0 y1 b) e
    * h# z1 B& q* |# i: H: W7 k
    PyTorch集成包括:
    - |# \6 i" Z. F, S- @! Y/ ^
  • 资源管理(HBM / SRAM / 流 / 事件)
  • 即时执行模式
  • 图执行模式(与torch.compile生态系统集成)
    , V. o+ H6 J! Q, U3 S

    . B& r' C4 b8 S) G5 f8 C6 e对于分布式计算,Maia 100引入MCCL(微软通信集合库)作为torch.distributed的后端,支持广泛的集合操作。  H# ^. ~7 t- B! k9 z8 Q
    * i, `4 h$ t0 M9 E3 j
    开发者工具/ Y' f4 O) ]$ u( h  c( V; `1 j. b
    为支持开发者使用Maia 100,微软提供了一套工具:1 `* w1 v% ]* f0 m: X
    1. maia-smi:设备管理实用程序
    0 N6 [/ Q& ^2 U2 x5 b! a9 c- H, }& f1 ^6 C7 m# b
    2. Maia调试器:4 L- F' ~7 j- e
  • maia-gdb命令行调试
  • VS Code插件集成调试& m" b7 ?  t! E1 @& p+ F" G5 m- p: K

    5 }9 j, d  t! y/ H( f4 K& J3. 崩溃转储分析
    ) f+ X$ f" [  V4 J8 p( v. x1 h, e. \1 G' k3 ^
    4. 虚拟平台(maia-sim):
    6 Q: n6 t# o# ?
  • Maia设备模拟器% w  O. T1 q. a# ^6 T/ }  z' w

    - |: K4 z7 b1 W5. 竞态条件分析和执行图分析
      m5 \5 O) X  |  c: Y: c5 e2 N( Z% U8 F  {6 _) }! L. e
    6. 日志和性能分析库
    ' n% j9 h4 _' ^, O" M2 v
    $ O' M! Q; c. a$ w# H. c7. Maia性能分析工具(maia-prof)0 k' ]' O3 Q3 m  Z

    9 e" d6 L0 }* s) j8. Maia资源使用监控工具(maia-mon)0 c/ H! ]) Q+ a4 m

    ) L# X2 A8 l, A8 g" `! j8 q这些工具使开发者能在Maia 100硬件上高效开发、调试和优化AI模型。* M9 s& C7 u% N. h3 [# b; T

    ! Z0 x) E( d6 v, T3 r微软的Maia 100代表了定制AI加速器领域的\进展。凭借强大的硬件架构、全面的软件生态系统以及与PyTorch等流行框架的无缝集成,Maia 100有望推动Azure平台上下一代大规模AI工作负载的发展。
    8 H9 m" ?7 \% W8 b* N
    / s/ v; g" ]. a& O9 a! t参考文献4 w" E: V- H& \
    [1] S. Xu and C. Ramakrishnan, "Inside Maia 100," Microsoft, 2024.
    : b5 y0 J1 b- t1 }0 ?6 }' S3 a0 k* A# a- d" q0 V8 ^( m& U
    - END -
    1 v: o( Z7 Y1 [& X! C7 q  b& G4 V0 w( f6 r, `& l, X
    软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。
    3 V, ~% w- M/ e) N点击左下角"阅读原文"马上申请
    8 W. _2 N0 F: n! ~
    # {0 q+ A+ B, m2 k( Z欢迎转载
    4 F' [. ?! t. W8 C) A
    $ e; y2 m. ~' G+ p转载请注明出处,请勿修改内容和删除作者信息!
    - Q! ]; w) a' K/ [1 I( K' X
    9 D* e% a& A- C6 k3 `) a5 `  `" o9 J) X4 ^2 @

    & U* O( C0 ^4 |4 P  y9 {

    3cr1ufno10d64029729639.gif

    3cr1ufno10d64029729639.gif

    0 Z9 r6 i8 O$ x4 n  f2 w. K4 Q9 \6 _
    4 m& Y* r* r* Y4 ^- m) `关注我们
    & G" A* B) C6 b1 J4 Y; h" l3 J7 H- Q+ U, j" E

    ! O0 z! H- _; f- Q! }

    cqm00evbeub64029729739.png

    cqm00evbeub64029729739.png
    $ i7 @- A/ k% @2 k8 V

    8 N% }  }  H, L1 o- W2 F

    ru3kzfyx25z64029729839.png

    ru3kzfyx25z64029729839.png
    . s) i9 c2 f% s( `& v/ y( b" f# W+ C3 k

    5 e# |3 i4 ]+ V/ d6 u

    vubfwjjecrj64029729939.png

    vubfwjjecrj64029729939.png

    * R0 u) [7 X6 b7 a4 d1 A
                          ' Z% T/ j; w4 B% j( d# {
    4 c5 w) V) y& h2 E5 _. w

    , Q9 o' `! z. Y4 f1 i* ~& Z# Y4 x& [% K4 f+ j2 f
    关于我们:
    0 J* Q/ L5 y: N! `深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。
    ! H1 l" _1 p" R6 o" j$ p! I& d/ i1 K
    5 v: K: ]* h9 Q; \# X& o) O9 Ghttp://www.latitudeda.com/0 h7 O* T/ [' L( {. K, f. ~
    (点击上方名片关注我们,发现更多精彩内容)
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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