CodeV: Capacitando LLMs para Geração de Verilog através de Sumarização Multinível
CodeV: Empowering LLMs for Verilog Generation through Multi-Level Summarization
July 15, 2024
Autores: Yang Zhao, Di Huang, Chongxiao Li, Pengwei Jin, Ziyuan Nan, Tianyun Ma, Lei Qi, Yansong Pan, Zhenxing Zhang, Rui Zhang, Xishan Zhang, Zidong Du, Qi Guo, Xing Hu, Yunji Chen
cs.AI
Resumo
A crescente complexidade e altos custos associados ao design de processadores modernos levaram a um aumento na demanda por automação de design de processadores. Modelos de linguagem grandes (LLMs) ajustados para instruções têm demonstrado um desempenho notável na geração automática de código para linguagens de programação de propósito geral como Python. No entanto, esses métodos falham em linguagens de descrição de hardware (HDLs) como Verilog devido à escassez de dados de ajuste de instruções de alta qualidade, visto que até mesmo LLMs avançados como o GPT-3.5 apresentam desempenho limitado na geração de Verilog. Em relação a esse problema, observamos que (1) o código Verilog coletado do mundo real tem uma qualidade superior àqueles gerados por LLMs. (2) LLMs como o GPT-3.5 se destacam em resumir o código Verilog em vez de gerá-lo. Com base nessas observações, este artigo apresenta o CodeV, uma série de LLMs de geração de Verilog ajustados para instruções de código aberto. Em vez de gerar descrições primeiro e depois obter o código correspondente de LLMs avançados, nós fornecemos ao LLM o código Verilog e permitimos que ele gere a descrição em linguagem natural correspondente por meio de sumarização em vários níveis. Resultados experimentais mostram que o CodeV supera relativamente o estado da arte anterior de código aberto em 14,4% (BetterV no VerilogEval) e 11,3% (RTLCoder no RTLLM) respectivamente, e também supera relativamente o estado da arte comercial anterior GPT-4 em 22,1% no VerilogEval.
English
The increasing complexity and high costs associated with modern processor
design have led to a surge in demand for processor design automation.
Instruction-tuned large language models (LLMs) have demonstrated remarkable
performance in automatically generating code for general-purpose programming
languages like Python. However, these methods fail on hardware description
languages (HDLs) like Verilog due to the scarcity of high-quality instruction
tuning data, as even advanced LLMs like GPT-3.5 exhibit limited performance on
Verilog generation. Regarding this issue, we observe that (1) Verilog code
collected from the real world has higher quality than those generated by LLMs.
(2) LLMs like GPT-3.5 excel in summarizing Verilog code rather than generating
it. Based on these observations, this paper introduces CodeV, a series of
open-source instruction-tuned Verilog generation LLMs. Instead of generating
descriptions first and then getting the corresponding code from advanced LLMs,
we prompt the LLM with Verilog code and let the LLM generate the corresponding
natural language description by multi-level summarization. Experimental results
show that CodeV relatively surpasses the previous open-source SOTA by 14.4%
(BetterV in VerilogEval) and 11.3% (RTLCoder in RTLLM) respectively, and also
relatively outperforms previous commercial SOTA GPT-4 by 22.1% in VerilogEval.