电子产业一站式赋能平台

PCB联盟网

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

Hot Chips 2024 | 利用大语言模型代理推进先进芯片设计

[复制链接]

670

主题

670

帖子

5775

积分

四级会员

Rank: 4

积分
5775
发表于 2024-9-20 08:00:00 | 显示全部楼层 |阅读模式
引言
8 @( Z! J2 l; J; O" u随着半导体技术的不断发展,大语言模型(LLM)和人工智能代理在芯片设计领域发挥着越来越重要的作用。本文旨在探讨LLM代理在芯片设计中的应用,重点介绍其优势、关键概念和实际实现。我们将研究各种规划策略、内存管理技术和工具集成,这些都使得LLM代理成为复杂芯片设计世界中的强大助手[1]。
7 t7 e' o: T7 E! i% e, {! K' n5 u8 z9 X; e. K' `# T
代理优势
7 H5 [/ k+ T! }8 i: ?LLM代理在芯片设计任务中展现出显著的改进。
. U) Q* n% d. R. i; F6 B1 ^' ?; }$ y4 n! d5 E

nw0bzwwwx0o64034867336.png

nw0bzwwwx0o64034867336.png

! m$ }# e, X% X8 Y8 \图1展示了使用LLama3和GPT4turbo在VerilogEval(人工)基准测试中,非代理方法和代理方法的通过率比较。
) m; p5 p: c" H0 X. q* e% w+ ^8 f, e, ]
如图1所示,代理方法始终优于非代理方法。例如,使用GPT4turbo时,代理方法(VerilogCoder)实现了94.2%的惊人通过率,而非代理方法仅为60.3%。这一显著改进突显了LLM代理在解决复杂芯片设计挑战方面的潜力。
8 ~& Z. Q. J+ A' u* [& ^1 f( a7 }! A2 h/ ?; I$ @& \8 w) m( ]

( j" ^# i" T  D  u# l8 z代理概念3 u' `( B/ s* E5 m: t4 ?
要理解LLM代理的强大功能,了解非代理方法和代理方法之间的基本差异非常重要。( b4 N# o! d) }' F
9 p5 ~2 i% O& u# ^' Q* H" G

z4ttbfpnbxd64034867436.png

z4ttbfpnbxd64034867436.png

1 q# `) `$ s0 R; N6 s4 i+ W图2比较了非代理和代理概念,展示了代理系统增强的复杂性和功能。9 G: m1 ]' D+ j/ K! T

% z! I: I" `: H& l/ d7 Z非代理系统通常涉及用户和LLM之间的简单问答交互。相比之下,代理系统结合了规划、工具、内存,甚至多代理协作。这种增强的架构使LLM代理能够处理更复杂的芯片设计问题和任务。
: n! o# d& H* j$ l2 u# S
- T* ^' [! |  @" q; U4 K7 K- _规划策略* ]8 _+ w/ l! b  U& t- n; g3 s( w
有效的规划对LLM代理将复杂的芯片设计任务分解为可管理的步骤非常重要。让我们探讨各种规划策略:
8 T1 Q5 v' u0 Y- v3 G; J0 M  }  s0 B
1. 无反馈规划:0 H/ {: |  Z  ]5 b$ j& h
a) 思维链(CoT):这种方法涉及一次性任务分解的逐步规划。可以通过显式指令、隐式指令或示例来实现。
5 Z/ t7 f, j, a" O5 ^
: Q- E$ n3 P* l7 |- I( Vb) 思维树(ToT):这种方法一次规划一个步骤,在每个步骤中从多个选项中选择最佳选项。可以使用广度优先搜索(BFS)、深度优先搜索(DFS)或基于图的方法进行扩展。8 l% N/ U/ g. g9 V+ n$ u

6 w$ K, K8 K' {/ X1 A! x3 ^

dc5jr3hs3rj64034867536.png

dc5jr3hs3rj64034867536.png
0 k8 e, ]. _4 d  a( |
图3说明了思维树规划策略,展示了如何在每个步骤评估多个选择。
! D! A# X+ S+ V0 Z! W4 G+ M0 Z$ A4 d) \* F+ L3 I1 z7 {
2. 有反馈规划:
$ J; K1 |6 J3 a) E$ r8 m+ V% F3 m. Sa) ReACT:这种方法通过思考、行动和观察的循环,将规划与环境反馈相结合。
. e) f) a( A" s* ?4 P

d3vcq23utf064034867636.png

d3vcq23utf064034867636.png
* l/ y2 B6 k8 I5 A0 ]* |
图4描述了ReACT规划策略,展示了思考、行动和观察之间的交互。, v6 D3 i4 s2 `

! }0 J- ?, {$ h) M/ i! j% u- ib) 自我反思:这种方法结合累积经验的反馈,将短期轨迹与长期经验相结合。
& b5 I" n- I: q( A. g* |

tucj5sh44ib64034867736.png

tucj5sh44ib64034867736.png

, E2 A' L0 g% b% ^) _: ]: p% n; y图5说明了自我反思规划策略,展示了如何整合短期和长期经验。5 V& N* B/ _0 {  S" c+ b# \
" c1 _2 U( N+ c- T7 O# H% s6 E& d
内存管理- N/ d% u3 ~  _: q0 \. A3 R0 r
高效的内存管理对LLM代理处理复杂的芯片设计任务至关重要。内存管理的关键方面包括:1 S, j% s& \" I  a2 l+ G/ m
7 b" O. d# G. U. n0 @
1. 机制
/ `! U6 I0 l1 h3 s: r/ T5 I! ~3 g
  • 上下文内存(受上下文大小限制)
  • 外部文件存储
  • 用于检索增强生成(RAG)的外部向量数据库
  • 结构化内存(如知识图谱)用于高效搜索3 w! @7 Y7 O7 I6 o" A
    * J8 j9 D! q/ b& |- [! h0 A
    2. 范围8 `7 R, w) J; Z6 n/ N9 H
  • 单个代理的本地内存
  • 多个代理共享的全局内存( N$ ~  v* N, E8 k# J1 s1 `; `
    5 t5 |9 E5 G& D5 I% J8 \
    3. 时间框架% B- [( T+ ], a4 a/ Y! r+ j6 H. B
  • 用于即时任务的短期内存
  • 用于持久知识的长期内存8 i+ o. B( i; ]/ Q
    & p; o' x& w/ E4 @: ^0 Q9 n
    4. 操作
    8 I5 k: j- q% M
  • 读取、写入和反思能力
    3 B2 r8 J- n* }. Y
    ) P: v5 k7 {$ c, r( B. q
    引言工具集成
    & f0 f6 ^3 e# {2 v( S) o" rLLM代理可以通过与专业工具集成显著增强功能。该过程通常包括:
  • 定义具有明确输入/输出规格的工具
  • 将工具定义纳入LLM提示
  • 将LLM响应解释为工具调用
  • 执行工具并将结果提供给LLM: V' T+ X% L5 F6 ?! a) Y
    [/ol]$ X- e6 V* O1 O) D. o* R
    5 j: O" b# U5 G% J8 U

    ejtj5g3qnrn64034867837.png

    ejtj5g3qnrn64034867837.png
    ) P2 J1 b( c2 E; q& y# p7 B
    图6演示了工具集成过程,展示了LLM如何与外部工具交互以执行计算。
    + k6 d) j1 X! g: b# Y/ X* T9 }. H; j% }
    % i! E. w' B1 m多代理协作
    6 {. E, Y- {4 x复杂的芯片设计任务通常受益于多个专业代理之间的协作。多代理协作的两种主要方法是:
    ; M; d4 t- [3 `9 J
    ; S8 R' K. Z: O) ?1. 双代理对话4 r( K4 H9 U* ?
    这种方法涉及连接代理以形成对话,允许基于代理角色的隐式任务分解。( ^9 ]. D, L  D3 ~/ d
    # b& z% [  ?" I2 O# n0 \/ T) O
    2. 群聊:
    1 P8 T0 Q5 X' e8 s聊天管理器协调多个代理之间的对话,每个代理都有特定的角色和功能。
    / Z# l9 ~% s7 `$ u( m( `6 @8 b* p' H
    2 {0 ^- Q" Y) T5 K# L

    bdrvnwdhofn64034867937.png

    bdrvnwdhofn64034867937.png
    ( Y( j  S1 r& w
    图7说明了群聊场景,展示了聊天管理器如何协调专业代理之间的交互。
    5 T: k5 l$ W* `, X0 p) D. y
    2 e) }0 Q" Y# {0 G! z6 E任务流程
    6 E# v8 U4 ~9 ?+ y: g1 \) R+ E对于复杂的芯片设计过程,可以使用代理聊天实现多个任务的序列。这种方法允许显式任务分解和高效的工作流管理。
    ) [- a  V. g5 J( K( C: |4 d
    6 a9 b  U4 a7 i- T. g. Y1 L

    vxxc1dilyam64034868037.png

    vxxc1dilyam64034868037.png
    3 d8 {  ^& B3 r7 [- d- S; y
    图8显示了任务流程图,展示了多个代理如何在软件开发项目中协作。
    ( W( s4 n! @' w: _: R, J+ J1 B& a  Q+ z7 T  _1 u! j$ y
    芯片设计中的实际应用- A) e7 s, l6 O# z% v* O/ ^
    1. 时序报告分析:4 o" K3 J3 l! m4 R. h! v
    LLM代理可用于分析和比较不同设计运行的时序报告。通过使用专业工具和提示,代理可以提供关键要点、设计QoR摘要和改进建议。# {" k. X8 O3 f7 m; S0 i# U
    * f4 Q% G/ q5 ^' B2 A* f
    2. 器件聚类优化:
    2 m# a8 C# V$ I3 m4 T代理可以优化单元布局生成器的器件聚类约束。通过利用领域知识和ReACT规划,这些代理可以识别重要的网络、评估聚类并实现显著的面积减少。- g; l0 r4 i5 `/ \
    9 \& ?$ @4 n; m

    lqvxe5epyv564034868137.png

    lqvxe5epyv564034868137.png

    / q; U- A# j: B+ O2 f6 o3 L5 r图9比较了由器件聚类优化产生的原始布局和改进布局。: O# R  r% s! M$ g3 |! H! R9 Z2 _

    # |3 W- [9 z5 @( u; M2 M. V3. VerilogCoder:
    ( ^3 N8 m; W7 c. V- \) J" z4 e这个先进的代理系统在Verilog代码生成方面显示出显著的改进,在VerilogEval(人工)基准测试中实现了94.2%的通过率。VerilogCoder采用任务流驱动的多代理方法,配备专门用于任务规划和代码实现的工具。5 A7 {: b1 h3 U+ k( g- d4 z

    0 @% B% y# `1 f2 E' Y

    clbyazvjgv264034868237.png

    clbyazvjgv264034868237.png
    + Z  J( D1 z- g7 b
    图10概述了VerilogCoder代理系统,展示了其任务规划和代码实现组件。
    4 u% q( L% i& b/ E* @, C' B' ]9 S. U0 X2 f, |: F4 F$ H

    2 [6 f& u$ |9 S: o# l& r结论
    ! M/ V0 v* z$ ?: b5 L0 h' GLLM代理正在通过提高效率和准确性来革新芯片设计,解决复杂任务。代理分解问题、利用专业工具和在多代理系统中协作的能力使其成为半导体行业中不可或缺的资产。随着这些代理不断发展,有望显著提高设计师的生产力,并推动芯片设计可能性的边界。
    6 N0 ~* I3 t: C8 j5 c
    9 R7 a! P7 U+ J" e9 W3 e; m; y目前的LLM代理擅长处理可以分解为低到中等智力努力的任务,但未来可能会看到代理解决更具挑战性的设计问题。然而,值得注意的是,这些代理的真正力量在于增强和提升人类设计师的能力,而不是完全取代人类。9 I. ?' O9 O' n) O
    + m2 g! J" v) A; `

    6 {& ]3 r2 I! P$ `+ T8 r: W( N参考文献, _( J$ j+ L: J( ?  w+ I
    [1] H. Ren, "LLM Agents for Chip Design," NVIDIA, Aug. 25, 2024.4 j  V8 g3 ]; G, U( H  K* u
    . W4 M+ {* s* j1 n9 f; {
    - END -; `. ~* K5 m. b. c; W

    ( I+ W6 J. u- s' g" V1 J软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。
    2 d  Z/ E8 C0 _  r+ [点击左下角"阅读原文"马上申请
    " M2 G& i( G0 h7 I) c
    % O: K- C9 q! Z8 ~" x5 G  U欢迎转载* N6 S7 I! b) J2 C
    8 a. w( m9 K/ f7 y5 e6 y
    转载请注明出处,请勿修改内容和删除作者信息!
    1 I6 Q4 d  h8 B; Z. o+ {; {3 N+ p' m# K  I

    5 h, _( Y1 `4 K0 l. c3 V
    3 e$ h3 s% f. D/ ]0 v+ ^! z

    s3mhl2cazax64034868337.gif

    s3mhl2cazax64034868337.gif

    5 h- c) s2 N# h% _1 Q% j
      w0 g+ S- ?3 a' ]关注我们# Y5 S1 _( }* X: u! w: P: s7 a
    , r) l, j- _8 A3 M2 M9 o

    9 `+ A; q) w6 ^$ U6 c/ O

    thrd12sfxij64034868437.png

    thrd12sfxij64034868437.png

    ( Q, |  T2 }( R3 ~6 F$ `8 e

    * G8 E3 K( |9 \5 X8 Y

    elf1txgnrdx64034868537.png

    elf1txgnrdx64034868537.png
    ( r5 P& l, T9 |' [6 u
    8 p0 ^# N! `. y' l: ?

    5exbwvp0epl64034868637.png

    5exbwvp0epl64034868637.png

    ! N/ H! ^4 s9 w7 S
                          , {7 K1 d' X. _$ o8 T' `+ J

    4 l7 z, F& j' {! E" ]" u: }  ~

    + p0 t; G; E1 w$ l9 Y3 b9 K
    . y: m% m7 {7 f6 O6 j2 }6 P关于我们:0 ?& S- U% i( w  a
    深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。9 ~$ f8 s7 Z5 x+ }8 a, R
    : ~3 c" Q3 }1 T: [, k
    http://www.latitudeda.com/4 o$ z9 K: Q0 z8 p% W
    (点击上方名片关注我们,发现更多精彩内容)
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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