|
引言( w& @9 P9 f( k" I1 \
大语言模型(LLMs)已经改变了许多领域,现在正在芯片设计领域取得进展。本文探讨了领域自适应大语言模型如何被用来增强和可能改变芯片设计过程[1]。) _$ k) I1 P9 a `' S/ p& ?
6 W" _/ i* f S2 J F
为什么需要领域自适应大语言模型?
1 J. s7 {7 f( a6 O大语言模型的强大之处在于广泛的知识和能力。这些模型擅长自然语言理解、推理、问题解决,甚至代码生成。然而,要在芯片设计等专业领域真正发挥作用,需要融入特定领域的知识。9 K' F/ u1 A9 a8 W
3hyriufbndw64020270242.png
! c0 R5 o( K5 Z* M
图1: 展示了预训练模型广泛的知识和能力,包括自然语言理解、推理、问题解决和代码生成。2 L6 ?) S. w0 x/ D* j8 {+ \* P
; S" d6 m: _3 ]3 K4 ?% I% q+ I/ ^
领域自适应大语言模型弥合了通用语言模型与芯片设计专业需求之间的差距。这些模型能够理解和生成硬件描述语言、协助验证过程,甚至帮助优化芯片布局。: X# W9 ?0 o! Z l
52pqq5ibjdb64020270342.png
6 C/ ]& F$ t+ j9 S$ ]图2: 描述了领域自适应大语言模型如何为电子设计自动化任务融入专业知识。; Q8 M( d' a" l
% R1 X. L3 |+ q& L领域自适应大语言模型技术
1 ~( d$ ]/ z. Z2 ?- n7 B创建芯片设计领域自适应大语言模型主要有三种方法:模型训练阶段: 在模型初始训练期间深度融入领域特定知识。模型微调阶段: 在初始训练后,针对特定任务增强模型性能。模型推理阶段: 这种方法在实时动态调整模型,无需改变其基本参数。
* v0 F X3 t& B: H- p7 ^[/ol]
* N- M5 M6 X/ M# h4 c1 G8 R u3 }0 b
5 m' x- B# M3 W5 K! X9 n- {& f5 \$ q
tuqkywdp4r064020270442.png
' q8 U, d! l/ C' z3 [" n9 C+ u图3: 比较了不同的领域自适应大语言模型技术,展示了成本、资源需求、领域数据量和对模型参数影响之间的权衡。; G9 K( G8 |' S9 y6 s
/ d+ t; \ ~/ w; ?
每种方法都有优点和权衡。选择取决于可用的计算资源、领域特定数据量和具体任务。
$ b, r3 V) \+ ]$ S6 A0 |3 p! Z) L
领域自适应预训练(DAPT)
& h0 Y8 O. }% g6 CDAPT涉及在大量领域特定数据上训练模型。对于芯片设计,这可能包括硬件相关代码、RTL(寄存器传输级)描述、验证测试平台和硬件规格。' { V( e$ ^3 C/ J2 V6 ?; t* W
o1rtzpvj3vo64020270542.png
" c: t- b+ P/ O/ M w
图4: 图解说明了芯片设计任务的领域自适应预训练过程。
2 Q& P+ s1 j0 v; T
! M2 G4 y, I0 Z2 f0 F) ?% ?ChipNeMo是DAPT在实践中的例子,这是一个针对芯片设计的领域自适应大语言模型。准备DAPT需要:
! \, J6 B9 M$ i' T* Y可用的基础模型(如Llama)大型领域数据集足够的训练资源. e( e: Z& X& |* I/ x6 `5 f; Q
; A0 c+ z; K' CDAPT过程通常包括:& o4 v o: L* u; E5 }* G7 z
调整领域自适应分词器使用自回归语言建模目标在通用和领域内语料库的组合上进行训练3 Z1 u$ u4 A; X" q R
+ V- q: M( Z$ V4 O, M/ m- O
DAPT的结果是一个领域自适应基础模型,可以进一步针对各种芯片设计任务进行微调。
- {1 Z3 a, M7 h" Q# ]0 c3 f; s9 K. R, s1 f
任务特定微调(TSFT)% @4 A" h7 ^9 c4 Z0 V6 h5 V& j
TSFT涉及对预训练模型(通用大语言模型或领域自适应模型)进行针对特定芯片设计任务的微调。这个过程需要:
p5 D3 H2 q! I" P, w% [0 Q( _) p基础模型特定任务(如Verilog生成、错误检测)领域任务数据集评估基准和指标
* t8 c; q; T ^ |6 g$ {2 i3 `) W* N0 P# D% \- ^+ z' B
+ i" A; F9 q) }0 ?' r
5zockxxpdyi64020270642.png
2 Q0 U5 v$ O' p6 H H" g$ l) j: t图5: 概述了任务特定微调过程,显示了芯片设计任务有效微调所需的组件。
" s) ?& ]9 j/ i1 M+ @
3 a* M6 H' F4 f8 I' z对于基础模型,研究人员可以使用开源通用模型如CodeGen、Mistral或Llama,或领域自适应模型如ChipNemo。选择取决于任务的具体要求和可用资源。
5 v: b4 _8 S" \& r8 B) b1 @+ d2 B: U. O
领域任务数据集可以来自多个来源:
: c/ f0 R& d2 l( H3 J3 Q ~教科书开源代码库合成数据(由人或机器生成)专有数据竞赛数据集, M G5 e; p3 B( n8 J' W
) x0 o3 n- @, W; D$ X( }8 j$ h) i9 A/ P% J: L+ ?* g
hmtwx3knvng64020270742.png
" M) f& c& z u1 E
图6: 用于训练芯片设计任务领域自适应大语言模型的问题描述和参考代码对的示例。: Y; P) h! e; Q
* a6 \: u' [7 i+ @8 |" n基准在评估这些模型的性能中起着关键作用。该领域的两个著名基准是:
! l. X7 r$ m( C( hRTLLM: 一个包含30个HDL设计任务的基准,配有测试平台和语法、语义和性能指标。VerilogEval: 该基准包括机器生成和人工策划的Verilog代码生成任务问题描述。
5 E& F0 g1 S* t; x% ^3 n
/ k$ \1 C0 z/ ?9 C
5 h+ C' e9 z! h' F% C; [
l55mjli3e0d64020270843.png
& ^% o- S4 Q3 L. F/ i# e图7: RTLLM基准任务示例,显示了实现4位无符号数流水线乘法器的详细问题描述。0 Q# \) E' t; k) l% j
- v \, j; f/ ^
' m: R( [2 W8 n. C, B. A0 _
提示工程和推理时技术% O; \" j0 w/ ]
虽然预训练和微调专注于修改模型本身,提示工程和其他推理时技术允许我们利用大语言模型进行芯片设计,而无需更改底层模型参数。
$ }3 I/ |4 j& c. V7 Z% E( b6 ]
3 }0 i* N: p1 {5 [提示工程的一个强大应用是创建芯片设计助手聊天机器人。这些聊天机器人可以理解自然语言查询、解决问题,并与用户互动,在整个设计过程中提供指导。
/ h# Q9 L+ m. E$ y6 H- b. U& f! `! u1 T+ S0 R$ G9 e: r- D. P2 R
mrbhhvopbl364020270943.png
4 [, g' {# {- P! F5 ^" D图8: 流程图描述了使用大语言模型驱动的Verilog RTL助手的过程,包括自我验证和自我纠正步骤。
6 b( M& k) M. i- w0 _# {8 e: _6 c2 A* O6 A- o2 t# i7 V
要有效地使用大语言模型作为芯片设计助手,请考虑以下提示工程技术:角色扮演: 要求模型扮演硬件专家的角色。少样本学习: 提供正面和负面例子来指导模型的输出。任务分解: 将复杂问题分解成更小、可管理的步骤。约束规范: 使用[BEGIN]和[END]等标签来控制输出格式。思维链提示: 要求模型逐步解决问题。多轮交互: 进行来回对话以细化输出。
$ k3 x/ X, T& ~" S8 i% |2 B[/ol]) c' g/ t. I2 }7 b* Y' R8 m8 Y
8 I9 B+ C }, L' E8 \1 S
cudfsw14roh64020271043.png
( |! k( [7 |- l3 C- e$ h8 J( C
图9: 图表显示了大语言模型驱动的Verilog RTL助手中的反馈循环和自我纠正过程。6 _+ v6 F- F- v$ {- Z* i8 _
" i9 T9 I3 I7 D% q+ ]8 M- K# h; }; h% p9 n
另一个强大的技术是将大语言模型与外部工具和模拟器结合。这创建了一个反馈循环,允许模型验证其输出并根据现实世界结果进行纠正。该过程通常包括:初始提示创建接收来自大语言模型的输出将输出馈送到模拟器或编译器提取反馈根据反馈创建新提示重复交互以进行多轮提示
1 X6 ~- m* y! i# R" E[/ol]
% t0 U9 F( _2 W& J, j; ]! A$ L$ h- M# l4 N
wof5dtzqbey64020271143.png
, e# v3 L' G) ]! Y! Z- E
图10: 说明了使用大型语言模型自动修复RTL语法错误的检索增强生成过程。
! e0 b7 S# x/ R6 l. z9 F: R, \ p
检索增强生成(RAG)是另一种有前景的方法。例如,在RTL语法错误纠正中,RAG可用于:对各种语法错误进行分类收集人类专家对编译器日志的指导和解释建立编译器日志、错误代码段和人类指导的数据库使用该数据库为大语言模型对语法错误的响应提供信息
% I0 {) f0 x5 ^( n, z/ h; Z' X[/ol]0 t6 ]* e$ V& P( @6 i. ?
未来方向
& b u* |3 q# P- Q; ]) q7 R随着芯片设计领域自适应大语言模型领域的不断发展,几个方向浮现出来:与相邻领域交叉: 借鉴软件开发和形式验证中大语言模型的想法。开发更多开源数据集和基准。探索人机协作方法,结合大语言模型和人类专家的优势。将PPA(功耗、性能、面积)指标纳入大语言模型评估。利用多模态数据,包括文本、代码、图表和规格。促进学术界和产业界之间的合作,推进理论基础和实际应用。
- W- k2 ~; V! }[/ol]6 P% }; p, k! L" L% A4 R c
随着继续推动芯片设计中领域自适应大语言模型的可能性边界,可以期待看到自动化程度的提高、设计质量的改善,以及可能彻底改变硬件开发方法的变革。芯片设计的未来无疑与这些强大的AI模型的进步息息相关。
5 }1 Z, b! w v9 ~. Q8 s" ]+ _4 d8 l: I: A+ }7 Y2 A
参考文献4 j5 m, Y! I* X! b: p
[1] H. Huang, "Domain-adaptive LLMs for Chip Design," University of California San Diego, 2024.
; y9 }; ^- h; e1 P0 S- T3 Z l6 |$ R
- END -
9 p3 {$ ^& x+ z4 O- c9 f# @
+ i: i- ~' f: b# \软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。9 g' N" J- a/ y+ ~& I0 \, `
点击左下角"阅读原文"马上申请
6 W. d# e+ x& l* L; G$ B& B2 Y
- ^0 e0 @1 I- H& b* W, x; f/ |* ]欢迎转载6 _! h. M7 b; {0 f; X
( _) w! I2 s/ Q p, \6 W
转载请注明出处,请勿修改内容和删除作者信息!- ]6 e H, H8 z+ m! d% {. ~6 Y. a
/ L& f) v2 w S3 K, y4 n0 Z" W5 K
! }1 g0 y" r0 b8 x7 F: a9 l2 K+ [+ U3 V* e' Y) [. }- I
jgenfe0hynb64020271243.gif
6 J5 p) P, a8 R% F7 h+ |8 @6 S# T6 a1 t P: ^( h2 i
关注我们9 k, N( f3 l9 |# |) Y0 ^4 ~
i& x7 d- @$ `. s
& X8 H. N. h6 R0 R
se5lsne5pvl64020271343.png
1 D5 H: t2 B& ~
|
% O U8 C& H5 e5 V% U3 U
h4kwlahkizk64020271444.png
- h* T9 i5 l$ A: T | 8 [, K y! e) m; c
iioik5xvgl164020271544.png
B0 _, ]" X: Q; c
| ! t: N% z; x; Z, a+ ^
3 j! N5 y& f7 o: B$ z/ k
6 Y3 A3 }' q+ u( J0 ]4 {! |
4 T5 d) N( s+ ]1 j: u关于我们:4 p7 {; B7 m. S+ l* x
深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。- S0 P' G2 a/ b5 x# b
; T& `0 O/ z% V
http://www.latitudeda.com/
9 {# X! H% \+ h. E' b(点击上方名片关注我们,发现更多精彩内容) |
|