RTLCurator: 레이블 효율적인 데이터 큐레이션을 통한 RTL 생성
RTLCurator: Label-Efficient Data Curation for RTL Generation
레지스터 전송 레벨(RTL) 코드를 생성하는 데 사용되는 대규모 언어 모델(LLM)을 학습하려면 페어링된 사양과 코드의 방대한 데이터가 필요하지만, 이러한 데이터는 매우 희소하여 대부분의 공개 데이터셋은 합성 데이터를 기반으로 합니다. 합성은 규모를 제공하지만 정확성을 보장하지 않으며, 널리 사용되는 두 개의 RTL 데이터셋에서 생성된 기능 테스트를 통과하는 페어의 비율이 각각 24.4%와 53.5%에 불과합니다. 이는 이러한 데이터셋 중 얼마나 유지해야 하는지, 그리고 어떤 부분을 유지해야 하는지에 대한 질문을 제기합니다. 정확성만으로는 적절한 답이 될 수 없습니다. 특정 조건에서 오류를 발생하는 페어는 여전히 유효한 구문 및 인터페이스 규칙을 따르며, 복잡한 순차 설계는 생성하고 검증하기 모두 어렵기 때문에, 정확성만을 기준으로 필터링하면 짧고 간단한 모듈만 남게 됩니다. 또한, RTL 코드의 동작은 표면적으로 거의 나타나지 않기 때문에 정확성을 확보하는 것이 어렵습니다. 전체 데이터셋을 검증하는 것은 페어를 단순히 통과 또는 실패로 분류하는 것일 뿐입니다. 본 논문에서는 RTLCurator를 제안합니다. RTLCurator는 각 사양을 시뮬레이션에서 실패한 구현과 비교하여 동작 정보를 고려한 호환성 우선순위를 학습하고, 소수의 검증된 페어를 사용하여 새로운 데이터셋에 이를 조정합니다. 그런 다음, 이 방법은 정렬, 표현 범위 및 RTL 구조적 풍부성을 균형 있게 고려하여 유지할 데이터를 선택합니다. CodeV 및 RTLCoder 데이터셋에서 제안하는 방식으로 전체 데이터셋의 80%를 유지하면, 전체 데이터셋으로 학습했을 때보다 모든 보고된 지표에서 성능이 향상됩니다. 반면, 점수만을 기준으로 순위를 매기거나 전체 데이터셋을 시뮬레이션을 통해 필터링하는 방법은 무작위 선택이나 전체 데이터셋 필터링보다 나은 결과를 얻지 못했습니다.
Training large language models (LLMs) to write register-transfer level (RTL) requires large corpora of paired specifications and code, and such data is scarce enough that most public corpora are now synthesized. Synthesis provides scale but not correctness, and in two widely used RTL datasets only 24.4% and 53.5% of pairs pass generated functional tests. This raises the question of how much of such a corpus to keep and which part of it. Correctness alone is a poor answer. A pair that misbehaves in one corner case still shows valid syntax and interface conventions, and complex sequential designs are both harder to generate and harder to validate, so filtering by correctness leaves a corpus of short and simple modules. Correctness is also hard to obtain, since behavior leaves little trace on the surface in RTL, and validating an entire corpus only sorts pairs into passed and failed. We present RTLCurator, which learns a behavior-aware compatibility prior by contrasting each specification with implementations that fail simulation, and calibrates it to a new corpus using a small number of validated pairs. It then constructs the retained subset by balancing alignment, representation coverage, and RTL structural richness. On CodeV and RTLCoder, keeping 80% of the corpus this way improves on training with the full corpus across all reported metrics while validating only 10% of the pool, whereas ranking by the score alone falls below random selection and filtering the whole pool by simulation does no better.
No Analysis Report Yet
This paper hasn't been analyzed by Gemini yet.
Log in to request an AI analysis.