저자:
(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) 이스메트 베이락타로글루(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) 스튜어트 오버먼, 엔비디아;
(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), 엔비디아.
ChipNeMo는 LLM을 칩 설계 도메인에 적용하기 위해 여러 도메인 적응 기술을 구현합니다. 이러한 기술에는 칩 설계 데이터를 위한 맞춤형 토크나이저, 대규모 도메인 데이터 코퍼스를 사용한 도메인 적응형 사전 학습, 도메인별 작업을 통한 감독 미세 조정, 미세 조정된 검색 모델을 사용한 검색 증강 생성이 포함됩니다. 이 섹션에서는 각 기술의 세부 사항을 설명합니다.
A. 토크나이저
사전 훈련된 토크나이저를 적용할 때 주요 목표는 도메인별 데이터에 대한 토큰화 효율성을 향상시키고, 일반 데이터 세트에 대한 효율성 및 언어 모델 성능을 유지하며, 재훈련/미세 조정에 대한 노력을 최소화하는 것입니다. 이를 달성하기 위해 우리는 4단계 접근 방식을 개발했습니다.
• 1단계: 도메인별 데이터를 사용하여 처음부터 토크나이저를 교육합니다.
• 2단계: 새로운 토크나이저의 어휘에서 범용 토크나이저에는 없고 범용 데이터세트에서는 거의 발견되지 않는 토큰을 식별합니다.
• 3단계: 2단계에서 새로 식별된 토큰을 사용하여 범용 토크나이저를 확장합니다.
• 4단계: 범용 토크나이저를 활용하여 새 토큰의 임베딩을 초기화합니다.
특히 4단계에서는 새 토큰이 발견되면 사전 학습된 범용 토크나이저를 사용하여 토큰화됩니다. 새로운 토큰의 임베딩은 범용 토크나이저[24]에 의해 생성된 토큰의 임베딩을 평균하고 출력 계층 가중치를 0으로 초기화하여 결정됩니다.
2단계는 범용 데이터세트에서 자주 발생하지 않는 새로운 토큰을 선택적으로 도입하여 일반 데이터세트에서 사전 훈련된 LLM의 성능을 유지하는 데 도움이 됩니다. 그리고 4단계에서는 범용 토크나이저가 안내하는 새 토큰 임베딩의 초기화를 통해 LLM을 재교육/미세 조정하는 데 필요한 노력을 줄입니다.
B. 도메인 적응형 사전 훈련
우리 연구에서는 사전 훈련된 기초 기본 모델 LLaMA2 7B/13B에 DAPT를 적용했습니다. 각 DAPT 모델은 해당하는 사전 훈련된 기본 기본 모델의 가중치를 사용하여 초기화됩니다. 우리는 DAPT 모델의 이름을 ChipNeMo로 지정합니다. 우리는 섹션 III-A에 설명된 대로 토크나이저 확대를 사용하고 그에 따라 임베딩 가중치를 초기화합니다[24]. 우리는 표준 자동 회귀 언어 모델링 목표를 사용하여 도메인별 데이터에 대한 추가 사전 학습을 수행합니다. 모든 모델 훈련 절차는 효율성 향상을 위해 텐서 병렬성[26] 및 플래시 어텐션[27]과 같은 기술을 통합한 NVIDIA NeMo 프레임워크[25]를 사용하여 수행됩니다.
그림 2는 지정된 하이퍼파라미터 하에서 ChipNeMo의 훈련 손실을 보여줍니다. 우리는 훈련 손실의 급증을 관찰했습니다. [28]의 가설과 달리, 우리 시나리오에서는 이러한 불규칙성이 다른 모델 크기에서도 동일한 모델에 대한 유사한 훈련 단계에서 일관되게 발생하는 것처럼 보이기 때문에 이러한 급증은 "잘못된 데이터"에 기인할 수 있다고 가정합니다. 우리는 이 문제를 해결하지 않기로 결정했습니다. 왜냐하면 이러한 이상 현상이 낮은 학습률 적용으로 인해 후속 훈련 단계(검증 손실이 눈에 띄게 저하되지 않음)를 크게 방해하지 않는 것으로 나타났기 때문입니다.
C. 감독된 미세 조정
DAPT 이후에는 SFT(Supervised Fine-Tuning)를 통해 모델 정렬을 수행합니다. 축소된 글로벌 배치 크기인 128을 사용하는 것을 제외하고 모든 모델에 대해 DAPT와 동일한 하이퍼파라미터 교육 구성을 채택합니다. 모든 SFT 데이터는 아래 채팅 템플릿에 따라 구성됩니다.
<extra_id_0>시스템\n{시스템}
<extra_id_1>사용자\n{user_utterance}
<extra_id_1>어시스턴트\n{chipnemo_response}
…
우리는 시스템 및 사용자 프롬프트에서 발생하는 토큰과 관련된 손실이 가려지는 전략을 구현하는 자동회귀 최적화 목표를 사용합니다[5]. 이 접근 방식을 사용하면 역전파 중에 응답 토큰 최적화에만 초점을 맞출 수 있습니다.
우리는 약 1.1k 샘플로 구성된 도메인 SFT 데이터세트와 128k 샘플로 구성된 보다 광범위한 일반 채팅 SFT 데이터세트를 결합합니다. 그런 다음 데이터에 무작위 섞기를 적용한 후 단일 에포크에 대한 미세 조정에 참여했습니다. 우리는 하나 이상의 에포크에 대해 도메인별 SFT 데이터 세트를 확대하는 것과 관련된 실험을 수행했습니다. 그러나 도메인 내 질문이 제시될 때 모델이 과적합 징후를 빠르게 나타냈으며 종종 도메인 SFT 데이터 세트에서 관련 없는 답변을 반복한다는 것이 분명해졌습니다.
또한 도메인별 SFT 데이터를 제외하고 일반 채팅 데이터 세트만 사용하여 추가 SFT를 수행했습니다. 명확성을 위해 모든 ChipNeMo 모델을 다음과 같이 지정합니다.
ChipNeMo-Chat: 도메인 및 일반 채팅 데이터로 미세 조정된 모델입니다.
ChipNeMo-Chat(noDSFT): 일반 채팅 데이터로만 미세 조정된 모델입니다.
또한 LLaMA2-Chat 모델과 같은 채팅 정렬 모델에서 직접 DAPT를 실험했습니다. 우리는 DAPT가 모델 정렬을 크게 저하시켜 결과 모델을 다운스트림 작업에 쓸모 없게 만드는 것을 발견했습니다.
D. 검색-증강 생성
LLM이 소위 환각이라고 불리는 부정확한 텍스트를 생성할 수 있다는 것은 잘 알려져 있습니다[29]. 현상이 완전히 이해되지는 않았지만, 정확성이 중요한 엔지니어링 보조 챗봇 환경에서 특히 문제가 되기 때문에 환각을 완화해야 합니다. 우리의 제안은 검색 증강 생성(RAG) 방법을 활용하는 것입니다. RAG는 데이터베이스에서 관련 구절을 검색하여 질문과 함께 프롬프트에 포함하려고 시도하며, 이를 통해 LLM이 보다 정확한 답변을 생성할 수 있습니다. RAG에 도메인 적응 언어 모델을 사용하면 도메인별 질문에 대한 답변 품질이 크게 향상된다는 사실을 발견했습니다. 또한 적당한 양의 도메인별 훈련 데이터를 사용하여 기성 비지도 사전 훈련된 밀집 검색 모델을 미세 조정하면 검색 정확도가 크게 향상된다는 것을 발견했습니다. 도메인에 맞게 조정된 RAG 구현 다이어그램은 그림 3에 나와 있습니다.
우리는 Tevatron 프레임워크[31]를 사용하여 3000개의 도메인별 자동 생성 샘플로 e5_small_unsupervised 모델[30]을 미세 조정하여 도메인 적응 검색 모델을 만들었습니다. 샘플 생성 및 훈련 프로세스는 부록 C에서 다룹니다.
검색 모델을 미세 조정하여 얻을 수 있는 상당한 이점에도 불구하고 문서 코퍼스의 구절에 직접 매핑되지 않거나 구절에 존재하지 않는 더 많은 컨텍스트가 필요한 쿼리로 인해 검색이 여전히 어려움을 겪고 있다는 사실은 여전히 남아 있습니다. 불행하게도 이러한 쿼리는 실제 상황에서 엔지니어가 묻는 쿼리를 더 대표합니다. 검색을 도메인 적응 언어 모델과 결합하는 것은 이 문제를 해결하는 한 가지 방법입니다.
이 문서는 CC 4.0 라이선스에 따라 arxiv에서 볼 수 있습니다.