Skip to main content
QUICK REVIEW

[논문 리뷰] Make Every Move Count: LLM-based High-Quality RTL Code Generation Using MCTS

Matthew DeLorenzo, Animesh Basak Chowdhury|arXiv (Cornell University)|2024. 02. 05.
Advanced Wireless Communication Techniques인용 수 6
한 줄 요약

논문은 MCTS-유도 디코딩 프레임워크(VeriGen+MCTS)를 도입하여 트랜스포머 기반 LLM으로 컴파일 가능하고 기능적으로 정확하며 PPA에 최적화된 Verilog RTL 코드를 생성한다. 16비트 더하기에서 최대 31.8%의 ADP 개선을 포함한다.

ABSTRACT

Existing large language models (LLMs) for register transfer level code generation face challenges like compilation failures and suboptimal power, performance, and area (PPA) efficiency. This is due to the lack of PPA awareness in conventional transformer decoding algorithms. In response, we present an automated transformer decoding algorithm that integrates Monte Carlo tree-search for lookahead, guiding the transformer to produce compilable, functionally correct, and PPA-optimized code. Empirical evaluation with a fine-tuned language model on RTL codesets shows that our proposed technique consistently generates functionally correct code compared to prompting-only methods and effectively addresses the PPA-unawareness drawback of naive large language models. For the largest design generated by the state-of-the-art LLM (16-bit adder), our technique can achieve a 31.8% improvement in the area-delay product.

연구 동기 및 목표

  • LLM이 생성한 RTL 코드의 컴파일 및 기능적 정확성 격차를 해소한다.
  • 검색으로 가이드를 제공하여 PPA-인식형 RTL 생성을 가능하게 한다.
  • 실무 설계(가산기, 곱셈기, MAC)들을 처리하고 면적과 지연에 최적화한다.
  • 대규모 설계를 위해 모듈화를 활용하여 최적화된 하위 모듈의 재사용성을 높인다.
  • 다양한 비트 폭에서 프례밍 전용 전략에 비해 성능 향상을 입증한다.

제안 방법

  • Verilog RTL 생성을 LLM 토큰에 대한 Markov 결정 프로세스(MDP)로 형식화한다.
  • MCTS를 정책과 LLM 사전 정보(UCT 기반 탐색)를 결합한 정책으로 적용한다.
  • 컴파일 불가하거나 비기능적 코드를 벌점하는 보상 함수를 정의하고 ADP를 강조한다.
  • 검색 공간을 줄이기 위해 주석 등 비기능적 토큰을 가지치기한다.
  • 대규모 설계(예: 64비트 가산기)로 확장하기 위해 최적화된 하위 모듈 재사용을 활용한다.
  • VeriGen-2B를 기본 LLM으로 사용하고 표준 합성 도구를 이용해 PPA를 도출하면서 가산기, 곱셈기, MAC 유닛에서 평가한다.

실험 결과

연구 질문

  • RQ1MCTS-유도 디코딩 프레임워크가 LLM과 함께 사용될 때 기능적으로 올바른 Verilog RTL을 생성할 수 있는가?
  • RQ2PPA-인식 보상을 도입하면 프롬프팅 전용 방법과 비교하여 더 최적화된 RTL(면적, 지연 또는 ADP)가 얻어지는가?
  • RQ3토큰 가지치기(예: 비기능적 토큰 제거)가 탐색 효율과 코드 품질에 어떤 영향을 미치는가?
  • RQ4하위 모듈의 모듈식 재사용이 대규모 비트 폭 설계의 확장 가능 생성에 기여하는가?
  • RQ5VeriGen+MCTS는 다양한 모듈과 크기에서 VeriGen과 빔 검색 또는 그리디 디코딩과 어떻게 비교되는가?

주요 결과

  • VeriGen+MCTS는 테스트된 모든 모듈에서 기능적으로 올바른 Verilog 코드를 생성하는 반면 VeriGen 및 VeriGen+Beam Search는 많은 모듈에서 실패한다.
  • 기능 코드가 있는 모듈에 대해 VeriGen+MCTS는 평균 5.69%의 ADP 개선을, VeriGen+Beam에 비해 14.27%의 ADP 개선을 보인다.
  • 가장 큰 설계인 16비트 가산기에서 VeriGen+MCTS는 기준선(최신 프롬프팅 접근) 대비 최대 31.8%의 ADP 개선을 달성한다.
  • 모듈화 및 하위 모듈 재사용은 대규모 설계에서 MCTS 반복 속도를 크게 향상시키며(예: 64비트 가산기의 경우 3배 빠름) 효과를 보인다.
  • 기준 보상치가 높을수록 탐착(탐색의 착취)과 기능 코드 비율이 증가하고, 중간 값은 탐색과 착취 사이의 균형을 유지한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.