paint-brush
ChipNeMo: 칩 설계를 위한 도메인 적응 LLM: 평가~에 의해@textmodels

ChipNeMo: 칩 설계를 위한 도메인 적응 LLM: 평가

너무 오래; 읽다

연구원들은 도메인 적응을 사용하여 칩 설계를 위한 LLM을 향상시켜 더 나은 성능으로 모델 크기를 최대 5배까지 줄이는 ChipNeMo를 선보입니다.
featured image - ChipNeMo: 칩 설계를 위한 도메인 적응 LLM: 평가
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

저자:

(1) Mingjie Liu, NVIDIA {동등 기여};

(2) Teodor-Dumitru Ene, NVIDIA {동등 기여};

(3) Robert Kirby, NVIDIA {동등 기여};

(4) Chris Cheng, NVIDIA {동등 기여};

(5) Nathaniel Pinckney, NVIDIA {동등 기여};

(6) Rongjian Liang, NVIDIA {동등 기여};

(7) 조나 알벤(NVIDIA);

(8) 히미안슈 아난드, 엔비디아;

(9) 산미트라 바네르지(NVIDIA);

(10) 이스멧 베이락타로글루(Ismet Bayraktaroglu), NVIDIA;

(11) 보니타 바스카란(NVIDIA);

(12) 브라이언 카탄자로(NVIDIA);

(13) 아르준 차우두리(Arjun Chaudhuri), 엔비디아;

(14) 샤론 클레이, 엔비디아;

(15) 빌 댈리(Bill Dally), 엔비디아;

(16) 로라 당(NVIDIA);

(17) Parikshit Deshpande, NVIDIA;

(18) 싯단스 도디(Siddanth Dhodhi), 엔비디아;

(19) 사미르 할레페테(NVIDIA);

(20) 에릭 힐, 엔비디아;

(21) 후자상(Jiashang Hu), 엔비디아;

(22) 수미트 자인(NVIDIA);

(23) 브루섹 카일라니(NVIDIA);

(24) 조지 코카이(George Kokai), 엔비디아;

(25) 키쇼르 쿠날(Kishor Kunal), 엔비디아;

(26) 샤오웨이 리, 엔비디아;

(27) 찰리 린드, 엔비디아;

(28) 하오 리우, 엔비디아;

(29) 스튜어트 오버만(NVIDIA);

(30) 수지트 오마르(NVIDIA);

(31) 스리다르 프래티(NVIDIA);

(23) 조나단 레이먼(NVIDIA);

(33) 암바르 사르카르(Ambar Sarkar), 엔비디아;

(34) 정장샤오(Zhengjiang Shao), 엔비디아;

(35) 한페이 선(Hanfei Sun), 엔비디아;

(36) Pratik P Suthar, NVIDIA;

(37) 바룬 테지(Varun Tej), 엔비디아;

(38) 워커 터너, 엔비디아;

(39) 카이제 쉬(Kaizhe Xu), 엔비디아;

(40) 하오싱 렌(Haoxing Ren), 엔비디아.

링크 표

V. 평가

이 섹션에서는 교육 방법론과 애플리케이션 성능을 평가합니다. 훈련 방법론 평가에서는 7B와 13B 모델을 모두 연구하고, 애플리케이션 성능 평가에서는 13B 모델만을 연구한다. 비교를 위해 LLaMA2-13B-Chat* 및 LLaMA2-70B-Chat이라는 두 가지 기본 채팅 모델도 평가합니다. LLaMA2-13B-Chat*은 범용 채팅 지침 데이터 세트로 미세 조정된 기초 LLaMA2 13B 기본 모델로, 인간 피드백(RLHF)을 통해 강화 학습을 통해 훈련된 원래 LLaMA2-13B-Chat 모델과 다릅니다. 우리는 동일한 모델 정렬 접근 방식에서 도메인 적응 모델과 기본 모델을 공정하게 비교하기 위해 그렇게 하기로 결정했습니다. LLaMA2-70B-Chat은 최첨단(SOTA) 오픈 소스 채팅 모델로 간주되는 RLHF로 훈련된 공개 출시된 LLaMA2-Chat 모델입니다.


A. 토크나이저


우리는 이전에 설명한 4단계 프로세스를 사용하여 LLaMA2 토크나이저(32K 토큰 포함)를 칩 설계 데이터세트에 적용합니다. 약 9K개의 새로운 토큰이 LLaMA2 토크나이저에 추가되었습니다. 적응된 토크나이저는 그림 5에 표시된 것처럼 다양한 칩 설계 데이터 세트에서 토큰화 효율성을 1.6% ~ 3.3% 향상할 수 있습니다.


그림 5: ChipNeMo Tokenizer 확장 개선 사항.


공개 데이터의 토크나이저 효율성 변경. 중요한 것은 DAPT 이전에도 맞춤형 증강 토크나이저를 사용할 때 공개 벤치마크에서 LLM의 정확도가 크게 감소하는 것을 관찰하지 못했다는 것입니다.


B. 도메인 적응형 사전 훈련


그림 6은 칩 설계 도메인 및 개방형 도메인 학술 벤치마크에 대한 AutoEval 벤치마크에서 ChipNeMo 모델의 결과를 보여줍니다. 우리의 연구 결과는 다음과 같이 요약될 수 있습니다.


  1. DAPT 모델은 개방형 학술 벤치마크에서 정확도가 약간 저하됩니다.


  2. DAPT는 도메인 자체 내의 작업에 상당히 긍정적인 영향을 미칩니다. 이러한 효과는 일반적인 회로 설계 지식뿐만 아니라 내부 설계 지식도 크게 향상되는 것으로 나타납니다.


  3. 더 크고 성능이 뛰어난 기본 모델을 사용하면 도메인별 작업에서 더 나은 제로샷 결과를 얻을 수 있습니다. 또한 우수한 기본 모델을 사용하면 DAPT 이후 도메인 모델이 향상되어 도메인 내 작업의 성능이 향상됩니다.


  4. 도메인 내 작업을 통한 DAPT에 따른 개선은 모델 크기와 양의 상관관계를 나타내며, 더 큰 모델은 DAPT 이후 도메인별 작업 성능이 더욱 뚜렷하게 향상되었음을 보여줍니다.


C. 훈련 절제 연구


절제 연구를 위해 우리는 여러 차례의 영역 적응형 사전 훈련을 수행했습니다. 간략한 요약을 제공하고 자세한 내용은 부록 B를 참조하세요.


증강된 토크나이저를 사용한 훈련과 원래 토크나이저를 사용한 훈련 간의 차이는 무시할 수 있는 것으로 나타났습니다. 따라서 우리는 학문적 벤치마크의 정확도 저하를 주로 도메인 데이터에 기인합니다. 더욱이 공개 데이터 세트 제거는 눈에 띄는 차이가 관찰된 Verilog 코딩을 제외하고 학술 벤치마크를 포함한 대부분의 작업에서 약간만 퇴보했습니다. 이는 특히 기본 기반 모델에 이 도메인에 충분한 데이터가 부족한 경우 GitHub Verilog 데이터를 포함하면 Verilog 코딩 기능이 향상되는 데 기여했음을 시사합니다.


탐색에서 우리는 CodeLLaMA [32]에서와 같이 더 큰 학습 속도를 사용하는 실험을 했습니다. 우리는 초기 훈련 단계에서 훈련 손실이 크게 급증하는 것을 관찰했습니다. 이 접근 방식은 결과적으로 교육 및 검증 손실을 개선했지만 코딩을 제외한 모든 도메인별 및 학술 벤치마크에서 상당한 성능 저하가 나타났습니다. 우리는 더 작은 학습률이 이중 역할을 하여 DAPT를 통한 도메인 지식의 증류를 촉진하는 동시에 기본 모델에서 너무 벗어나지 않는 균형을 유지하여 일반적인 자연어 기능을 보존한다고 가정합니다.


또한 DAPT(Domain-Adaptive Pretraining)의 맥락에서 PEFT(Parameter Efficient Fine-Tuning)의 적용을 살펴보았습니다. 이 추구에서 우리는 LoRA 어댑터[16]를 통합하는 두 가지 실험을 수행하여 각각 2,640만(소형)과 2억 1,120만(대형)의 추가 매개변수를 도입했습니다. 두 경우 모두에서 우리의 연구 결과는 전체 매개변수 DAPT 접근 방식과 비교할 때 도메인 내 작업에서 상당한 정확도 차이를 보여주었습니다. 또한 소규모 PEFT 모델과 대규모 PEFT 모델 간의 결과를 대조할 때 도메인 내 작업 정확도가 약간 향상되었으며 대규모 모델은 약간의 개선을 보였습니다.


D. 교육 비용


모든 모델은 128개의 A100 GPU를 사용하여 훈련을 거쳤습니다. 표 IV에 설명된 대로 ChipNeMo에 대한 도메인 적응형 사전 학습과 관련된 비용을 추정합니다. DAPT가 기초 모델을 처음부터 사전 학습하는 데 드는 전체 비용의 1.5% 미만을 차지한다는 점은 주목할 가치가 있습니다.


표 IV: GPU 시간 기준 LLaMA2 모델의 훈련 비용. [5]의 사전 훈련 비용.


E. RAG 및 엔지니어링 보조 챗봇


RAG 방식을 사용하는 디자인 채팅 지원 성능을 평가하기 위해 벤치마크를 만들었습니다. 이 벤치마크에는 아키텍처/설계/검증 사양(Specs), 테스트벤치 회귀 문서(Testbench), 빌드 인프라 문서(Build) 등 세 가지 범주의 88개 질문이 포함되어 있습니다. 각 질문에 대해 우리는 최적의 답변과 답변에 대한 관련 지식이 포함된 디자인 문서의 단락을 지정합니다. 이러한 질문은 검색용 데이터 저장소인 디자인 문서 세트를 기반으로 디자이너가 수동으로 생성합니다. 여기에는 약 1.8K개의 문서가 포함되어 있으며 각각 약 512개의 문자로 구성된 67K개의 구절로 분할되어 있습니다.


먼저, 각 카테고리에 대해 도메인 적응 검색 모델을 Sentence Transformer [33] 및 e5_small_unsupervised [30]와 비교합니다. 각 모델은 데이터 저장소에서 상위 8개 구절을 가져옵니다.


사양 카테고리의 쿼리는 문서의 구절에서 직접 파생되므로 답변이 간결한 구절에 포함되어 있고 쿼리를 명확하게 다루는 경우가 많습니다.


그림 6: ChipNeMo에 대한 AutoEval 벤치마크 결과.


그림 7: 검색 모델 정확도 비교


반면, 테스트벤치 및 빌드 카테고리의 쿼리는 구절에서 직접 파생되지 않으므로 해당 답변이 가져온 구절에서 명확하지 않은 경우가 많았으며 더 많은 컨텍스트가 필요했습니다(자세한 예는 부록 C 참조). 이는 카테고리 간의 검색 품질 차이에 크게 기여합니다.


우리는 RAG 유무에 관계없이 여러 ChipNeMo 모델과 LLaMA2 모델을 평가했습니다. 그런 다음 인간 평가자가 결과를 10점 척도로 채점하여 그림 8에 표시했습니다.


우리는 다음과 같은 관찰을 했습니다:


• RAG는 인간 점수를 크게 향상시킵니다. RAG는 LLaMA2-13B-Chat*, ChipNeMo-13B-Chat 및 LLaMA2-70B-Chat의 점수를 각각 3.82, 2.19 및 5.05 향상시켰습니다. 특히 LLaMA2 모델에서는 RAG 미스가 있는 경우에도 일반적으로 점수가 더 높습니다. 우리는 추가적인 도메인 내 컨텍스트가 성능 향상에 도움이 된다고 가정합니다.


• ChipNeMo-13B-Chat은 유사한 크기의 LLaMA2-13B-Chat*보다 모델 전용 및 RAG 평가에서 각각 2.88 및 1.25만큼 성능이 뛰어납니다.


• RAG가 포함된 ChipNeMo-13B-Chat은 RAG가 포함된 5배 더 큰 모델 LLaMA2-70B-Chat과 동일한 점수(7.4)를 달성합니다. 여기서 LLaMA2-70B-Chat은 히트에 대한 답변을 더 잘 추출합니다. 그러나 도메인 적응이 이를 보완합니다.


그림 8: 다양한 모델의 인간 평가. 모델만은 RAG가 없는 결과를 나타냅니다. RAG(히트)/(미스)는 검색된 구절이 이상적인 맥락에 맞거나 누락된 질문만 포함하고, RAG(전체)는 모든 질문을 포함합니다.


• 도메인 SFT는 ChipNeMo-13B-Chat의 성능을 0.28(RAG 포함) 및 0.33(RAG 제외) 개선하는 데 도움이 됩니다.


모든 모델에 대한 전체 평가 결과는 부록 D에 나와 있습니다.


F. EDA 스크립트 생성


EDA 스크립트 생성 작업에 대한 모델을 평가하기 위해 두 가지 유형의 벤치마크를 만들었습니다. 첫 번째는 골든 응답과 비교하여 사람의 개입 없이 평가할 수 있는 "쉬움" 및 "중간" 난이도 작업 세트(1-4줄 솔루션)입니다. 이러한 벤치마크를 구축하고 평가하는 데 필요한 작업으로 인해 Python 작업에 대해서는 이 평가 세트만 사용합니다. 두 번째 작업 세트("하드")는 엔지니어가 선택한 실제 사용 사례 시나리오에서 나옵니다. 이러한 작업은 해결하는 데 10개의 라인이 필요하기 때문에 훨씬 더 어렵습니다. 이는 자동으로 평가하기 어렵기 때문에 인간 엔지니어에게 0%에서 100% 사이의 정확성을 판단하도록 했습니다. 이러한 벤치마크의 크기는 표 V에 설명되어 있습니다. 이러한 모델을 더욱 개선할 수 있도록 이러한 벤치마크의 크기와 범위를 늘리는 작업이 진행 중입니다.


우리는 모델이 일부 더 어려운 작업에 응답할 수 없다는 것을 발견했습니다. 작업에는 많은 도구 API에 대한 지식이 필요했으며 모델은 제어 흐름을 적절하게 구성하면서 적절한 API를 결정할 수 없는 것처럼 보였습니다. 이를 완화하기 위해 우리는 각 질문에 대해 인간이 선별한 컨텍스트를 프롬프트에 추가했습니다. 이 컨텍스트에는 원하는 스크립트를 올바르게 작성하는 데 필요한 다양한 기능이나 속성에 대한 설명이 포함되어 있습니다. 우리는 "Hard with Context" 벤치마크 카테고리에 대해서만 이를 제공했습니다. 이를 통해 검색 기반 솔루션의 가능한 효과를 연구할 수 있으며 이는 향후 작업에 맡깁니다.


그림 9의 절제 결과에서 볼 수 있듯이 우리 문제에 대한 DAPT와 도메인 SFT가 모두 중요했습니다. DAPT가 없으면 모델은 기본 API를 거의 또는 전혀 이해하지 못했고 자동으로 평가된 벤치마크에서 제대로 수행되지 않았습니다. 도메인 SFT는 결과를 더욱 향상시켰습니다. 우리는 도메인 SFT 데이터가 모델이 가장 직접적으로 적용 가능한 방식으로 최종 스크립트를 제시하도록 안내하는 데 도움이 되기 때문이라고 믿습니다.


흥미로운 결과 중 하나는 "Hard with Context" 벤치마크의 LLaMA2-70B 합격률입니다. Python 도구에서는 대부분의 모델보다 성능이 좋지만 Tcl 도구에서는 성능이 떨어집니다. 이는 올바른 컨텍스트가 제공되면 LLaMA2-70B의 탁월한 일반 Python 코딩 능력이 교육받지 않은 새로운 문제를 해결할 수 있기 때문일 수 있습니다. 그러나 LLaMA2-70B 모델은 Tcl 도구에 대한 코딩 능력을 일반화할 수 없습니다. 이는 아마도 대량의 Tcl 코드에 노출되지 않았기 때문일 것입니다. 이는 소량 또는 독점 프로그래밍 언어와 관련하여 DAPT의 이점을 강조합니다.


그림 9: EDA 스크립트 생성 평가 결과


G. 버그 요약 및 분석


버그 요약 및 분석에 대한 모델을 평가하기 위해 요약에 이상적인 후보인 40개의 버그 세트를 보유하고 있습니다. 여기에는 사람이 신속하게 버그를 요약하기 어렵게 만드는 긴 댓글 기록이나 기타 데이터가 포함됩니다. 그런 다음 인간에게 LLM이 제안하는 버그 할당뿐만 아니라 두 가지 요약 모드를 모두 평가하도록 요청합니다. 평가 지표는 7점 Likert 척도를 기반으로 합니다. 우리의 결과는 그림 10에 포함되어 있습니다.


표 V: EDA 스크립트 생성 평가 벤치마크


그림 10: 버그 요약 및 분석 평가 결과


ChipNeMo-13B-Chat 모델은 세 가지 작업 모두에서 기본 LLaMA2-13B-Chat* 모델보다 성능이 뛰어나며 기술 요약, 관리 요약 및 과제 권장 사항에 대한 7포인트 Likert 점수가 각각 0.82, 1.09 및 0.61 향상되었습니다. 또한 도메인 SFT는 관리 요약 및 작업 할당에 있어서 도메인 SFT가 없는 경우에 비해 성능을 크게 향상시킵니다.


우리는 품질과 기술적 내용이 모델의 자연어 의미론 이해에 더 의존하는 기술 요약 작업과 달리 관리 요약에서는 모델이 핵심 인력/엔지니어 이름을 유지하면서 입력 데이터를 요약하는 방법을 이해해야 한다고 가정합니다. 이를 위해서는 LLM의 보다 주의 깊은 지침 기반 미세 조정이 필요합니다.


LLaMA2-70B-Chat 모델은 세 가지 작업 모두에서 매우 우수한 성능을 발휘하여 모든 작업에서 ChipNeMo-13B 모델을 능가합니다. LLaMA2-70B-Chat 모델은 또한 4096 컨텍스트 크기의 긴 컨텍스트 문제로 어려움을 겪고 있습니다. 우리는 효과적인 청크 및 결합 방식(계층적 및 증분적), 다양한 요약 단계에서 지침 프롬프트 선택, 작업 할당 중 프롬프트 선택, 원시 데이터 형식화/전처리는 긴 컨텍스트 문제를 피하는 데 도움이 되며 LLaMA2-70B-Chat이 DAPT 및 도메인 SFT 없이도 높은 점수를 달성할 수 있게 해줍니다.



이 문서는 CC 4.0 라이선스에 따라 arxiv에서 볼 수 있습니다.