RTLCurator: RTL 생성을 위한 레이블 효율적 데이터 큐레이션
요약
RTL 코드 생성을 위한 LLM 학습 데이터의 품질을 높이는 RTLCurator를 제안합니다. 단순히 정확성만으로 데이터를 필터링하는 대신, 동작 인식 호환성을 학습하여 데이터의 구조적 풍부함과 정렬을 유지하며 효율적인 데이터 큐레이션을 수행합니다.
핵심 포인트
- 기존 합성 RTL 데이터셋의 낮은 기능 테스트 통과율 문제 해결
- 정확성 위주의 필터링이 초래하는 데이터 단순화 문제 방지
- 동작 인식 호환성 사전 확률을 통한 효율적 데이터 보정
- 전체 데이터의 10%만 검증하고도 전체 학습 대비 성능 향상 달성
레지스터 전송 레벨 (RTL) 코드를 작성하도록 대규모 언어 모델 (LLMs)을 훈련시키려면 명세 (specification)와 코드의 쌍으로 이루어진 대규모 코퍼스 (corpora)가 필요하지만, 이러한 데이터는 매우 희귀하여 현재 대부분의 공개 코퍼스는 합성 (synthesized)된 것입니다. 합성은 규모를 제공하지만 정확성 (correctness)을 보장하지 못하며, 널리 사용되는 두 가지 RTL 데이터셋에서는 쌍의 24.4%와 53.5%만이 생성된 기능 테스트 (functional tests)를 통과합니다. 이는 해당 코퍼스의 어느 정도를, 그리고 어느 부분을 유지해야 하는가라는 문제를 제기합니다. 정확성만으로는 충분한 답이 될 수 없습니다. 하나의 코너 케이스 (corner case)에서 잘못 동작하는 쌍이라도 여전히 유효한 구문 (syntax)과 인터페이스 관례 (interface conventions)를 보여주며, 복잡한 순차 설계 (sequential designs)는 생성하기도 어렵고 검증하기도 어렵기 때문에, 정확성만으로 필터링하면 짧고 단순한 모듈들로만 구성된 코퍼스가 남게 됩니다. 또한 RTL에서 동작 (behavior)은 표면에 거의 흔적을 남기지 않기 때문에 정확성을 확보하는 것도 어려우며, 전체 코퍼스를 검증하는 것은 단순히 쌍을 통과와 실패로 분류할 뿐입니다. 우리는 시뮬레이션 (simulation)에 실패하는 구현체들과 각 명세를 대조함으로써 동작 인식 호환성 사전 확률 (behavior-aware compatibility prior)을 학습하고, 소수의 검증된 쌍을 사용하여 이를 새로운 코퍼스에 맞게 보정하는 RTLCurator를 제안합니다. 그런 다음 정렬 (alignment), 표현력 커버리지 (representation coverage), 그리고 RTL 구조적 풍부함 (structural richness)의 균형을 맞추어 유지할 하위 집합을 구성합니다. CodeV와 RTLCoder에서 이 방식을 통해 코퍼스의 80%를 유지했을 때, 풀 (pool)의 10%만을 검증하고도 모든 보고된 지표에서 전체 코퍼스로 훈련했을 때보다 성능이 향상되었습니다. 반면, 점수만으로 순위를 매기는 방식은 무작위 선택 (random selection)보다 성능이 낮았으며, 전체 풀을 시뮬레이션으로 필터링하는 방식은 더 나은 결과를 보여주지 못했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기