[논문 리뷰] Revisiting VerilogEval: A Year of Improvements in Large-Language Models for Hardware Code Generation
이 논문은 VerilogEval 벤치마크를 확장하여 사양에서 RTL로의 작업, 인라인 컨텍스트 학습(ICL) 예제, 그리고 상세한 실패 유형 분류를 지원하도록 개선한다. GPT-4 Turbo와 Llama 3.1 405B를 포함한 최신 LLM을 평가하여 사양에서 RTL로의 작업에서 59%의 통과율을 기록했으며, 성능은 프롬프트 엔지니어링과 모델별 최적화에 크게 의존한다.
The application of large-language models (LLMs) to digital hardware code generation is an emerging field, with most LLMs primarily trained on natural language and software code. Hardware code like Verilog constitutes a small portion of training data, and few hardware benchmarks exist. The open-source VerilogEval benchmark, released in November 2023, provided a consistent evaluation framework for LLMs on code completion tasks. Since then, both commercial and open models have seen significant development. In this work, we evaluate new commercial and open models since VerilogEval's original release-including GPT-4o, GPT-4 Turbo, Llama3.1 (8B/70B/405B), Llama3 70B, Mistral Large, DeepSeek Coder (33B and 6.7B), CodeGemma 7B, and RTL-Coder-against an improved VerilogEval benchmark suite. We find measurable improvements in state-of-the-art models: GPT-4o achieves a 63% pass rate on specification-to-RTL tasks. The recently released and open Llama3.1 405B achieves a 58% pass rate, almost matching GPT-4o, while the smaller domain-specific RTL-Coder 6.7B models achieve an impressive 34% pass rate. Additionally, we enhance VerilogEval's infrastructure by automatically classifying failures, introducing in-context learning support, and extending the tasks to specification-to-RTL translation. We find that prompt engineering remains crucial for achieving good pass rates and varies widely with model and task. A benchmark infrastructure that allows for prompt engineering and failure analysis is essential for continued model development and deployment.
연구 동기 및 목표
- 기존의 Verilog 코드 생성 벤치마크에서 인라인 컨텍스트 학습(ICL) 지원 부족 및 실패 분석 기능 부족 등의 한계를 해결하기 위해.
- Instruction-tuned LLM과의 일치를 고려해 VerilogEval 벤치마크를 사양에서 RTL로의 번역 작업을 포함하도록 확장하기 위해.
- GPT-4 Turbo와 Llama 3.1을 포함한 최신 상용 및 오픈소스 LLM의 코드 완성 및 사양에서 RTL로의 작업에 대한 성능 평가를 위해.
- 모델과 프롬프트 전략 간 컴파일러 오류 및 런타임 오류를 정밀하게 분석할 수 있도록 하는 실패 유형 분류 체계를 도입하기 위해.
- 프롬프트 엔지니어링이 모델 성능에 미치는 영향이 크며, 다양한 모델과 작업 간에 그 영향이 상이함을 입증하기 위해.
제안 방법
- 기존 VerilogEval 벤치마크를 확장하여 [BEGIN] 및 [DONE] 태그를 사용한 채팅 스타일 형식을 활용한 사양에서 RTL로의 프롬프트를 지원한다. 이는 MBPP와 유사하다.
- 코드 완성 및 사양에서 RTL로의 작업 모두에 대해 최대 네 개의 문제-해답 쌍을 프롬프트에 삽입하여 인라인 컨텍스트 학습(ICL)을 통합한다.
- 데이터셋 관리와 평가 로직을 분리하기 위해 Makefile 기반의 평가 환경을 개발하여, 다양한 모델 간에 확장 가능하고 재현 가능한 테스트를 가능하게 한다.
- 컴파일러 오류, 런타임 오류, 논리 버그로 분류하는 실패 분류 파이프라인을 구현하며, 색상 코딩을 통한 시각적 피드백을 제공한다.
- 정적 및 동적 분석을 활용한 자동화된 실패 분류를 구현하여, 다양한 모델과 프롬프트 설정 간의 통과/실패 비율 및 오류 유형 분포를 보고한다.
- 개선된 벤치마크를 https://github.com/NVlabs/verilog-eval 에 공개하여 향후 연구 및 모델 개발을 지원한다.

실험 결과
연구 질문
- RQ1GPT-4 Turbo와 Llama 3.1을 포함한 최신 대규모 언어 모델은 이전 모델 대비 사양에서 RTL로의 하드웨어 코드 생성 작업에서 어떻게 성능을 내는가?
- RQ2인라인 컨텍스트 학습(ICL)은 다양한 LLM과 작업에서 통과율을 얼마나 향상시키며, 그 영향은 모델 아키텍처에 따라 어떻게 다를까?
- RQ3LLM이 생성한 Verilog에서 가장 흔한 오류 유형(예: 컴파일러 오류, 런타임 오류, 논리 오류)은 무엇이며, 모델과 프롬프트 전략에 따라 어떻게 달라지는가?
- RQ4오픈소스 및 도메인 특화 LLM은 상용 최첨단 모델과 비교해 하드웨어 코드 생성에서 유사한 성능을 달성할 수 있는가?
- RQ5프롬프트 엔지니어링은 모델 행동에 어떤 영향을 미치며, 실패 분류 체계는 효과적인 프롬프트 튜닝을 이끄는 데 어떤 역할을 하는가?
주요 결과
- GPT-4 Turbo는 사양에서 RTL로의 작업에서 59%의 통과율을 기록하여 이전 모델보다 뚜렷이 뛰어나며, 지시어 훈련된 프롬프트에 대한 강력한 일반화 능력을 보였다.
- Llama 3.1 405B는 사양에서 RTL로의 작업에서 58%의 통과율을 기록하여 GPT-4 Turbo와 효과적으로 경쟁하며, 오픈소스 모델이 상용 모델과 경쟁 가능해졌음을 보여주었다.
- RTL-Coder 6.7B 모델은 사양에서 RTL로의 작업에서 37%의 통과율을 기록하여 소형 도메인 특화 모델임에도 불구하고 뛰어난 성능을 보였다.
- 인라인 컨텍스트 학습(ICL)은 GPT-4 Turbo와 Llama 3.1 405B의 코드 완성 작업에서 성능 향상을 이뤘지만, 다른 모델에 대해서는 혼합된 영향을 보였으며, 일부는 프롬프트 유도 오류로 인해 성능 저하를 겪었다.
- 실패 분류 결과, 0-샷 설정에서 컴파일러 오류가 주요 실패 유형이었으며, 특히 Llama 3.1 70B는 종료 문장(endmodule)을 자주 누락하여 타겟된 프롬프트 튜닝이 필요함을 시사했다.
- 모델과 작업 간 성능 격차가 뚜렷했으며, Llama 3.1 70B는 ICL를 적용한 코드 완성 작업에서 endmodule 오류로 인해 성능 저하를 보였고, GPT-4 Turbo는 더 많은 ICL 예제를 사용할 경우 사양에서 RTL로의 작업에서 약간의 성능 저하를 겪었다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.