Mixtral 8x7B 릴리즈 노트
Mixture of Experts (MoE) 아키텍처
Mixtral 8x7B는 희소 전문가 혼합(MoE) 기법을 사용하여 표준 Feed-Forward 레이어를 라우터 네트워크를 포함하는 MoE 레이어로 교체합니다. 이 라우터는 각 타임스텝마다 두 명의 전문가를 선택하여 토큰을 가장 효율적으로 처리합니다.
이름은 56B 파라미터를 암시하지만, 실제 모델은 약 45B 파라미터를 가지고 있습니다. 이는 Feed-Forward 블록만 복제되고, 다른 파라미터는 7B 모델과 동일하기 때문입니다. 이러한 아키텍처 덕분에 Mixtral은 더 큰 유효 파라미터 수에도 불구하고 12B 파라미터 밀집 모델의 디코딩 속도를 달성합니다.
주요 기능 및 성능
Mixtral 8x7B는 기본 및 Instruct 버전으로 제공되며, 다음 사양을 갖추고 있습니다:
- Context Window: 32k 토큰의 컨텍스트 길이를 지원합니다.
- Multilingual Support: 영어, 프랑스어, 독일어, 스페인어, 이탈리아어에 능숙합니다.
- Coding Proficiency: HumanEval 벤치마크에서 40.2%를 달성했습니다.
- Benchmark Performance:
- 기본 모델은 Open LLM Leaderboard에서 68.42점을 기록하여 Llama-2-70b(67.87)를 능가합니다.
- Mixtral Instruct는 MT-Bench에서 8.30점을 받아 모든 다른 오픈 액세스 모델을 앞서며 GPT-3.5-turbo-0613(8.32)과 비슷한 성능을 보입니다.
추론 및 하드웨어 요구 사항
추론은 Hugging Face pipeline() 함수를 사용하거나 프로덕션 배포를 위한 Text Generation Inference(TGI)를 통해 수행할 수 있습니다. 모델 크기 때문에 VRAM 요구 사항은 정밀도에 따라 달라집니다:
| 정밀도 | 필요 VRAM |
|---|---|
| float16 | >90 GB |
| 8-bit | >45 GB |
| 4-bit | >23 GB |
하드웨어가 제한된 사용자는 bitsandbytes 또는 GPTQ를 통한 4-bit 양자화를 사용할 수 있습니다. GPTQ 양자화는 전문가 게이팅 레이어를 양자화하지 않아 성능을 유지하며, 반정밀도 모델의 4.25에 비해 4.40의 퍼플렉시티를 보입니다.
파인튜닝 및 최적화
Mixtral는 Hugging Face TRL 라이브러리를 사용하여 단일 A100 GPU에서 파인튜닝할 수 있습니다. 메모리를 최적화하기 위해 4-bit 양자화와 QLoRA를 권장합니다. 기술 가이드라인에 따르면 어텐션 블록의 선형 레이어(q_proj, k_proj, v_proj, o_proj)만을 대상으로 해야 하며, MLP 레이어는 희소하고 Parameter-Efficient Fine-Tuning(PEFT)과 잘 호환되지 않으므로 대상에서 제외해야 합니다.
구현 세부 사항
프롬프트 형식
기본 모델은 특정 프롬프트 형식이 없습니다. Instruct 모델은 효과적인 사용을 위해 특정 대화 구조가 필요합니다:
<s> [INST] User Instruction 1 [/INST] Model answer 1</s> [INST] User instruction 2[/INST]
알려진 제한 사항
현재 사전 학습 데이터셋 크기, 구성, 전처리 방법에 대한 공개된 상세 정보가 없습니다. 또한 Instruct 모델에 대한 Supervised Fine-Tuning(SFT) 및 Direct Preference Optimization(DPO)용 파인튜닝 데이터셋 및 하이퍼파라미터에 관한 세부 사항도 공유되지 않았습니다.
SUMMARY: Mistral AI는 Mixtral 8x7B를 출시했습니다. 이 Mixture of Experts(MoE) 모델은 Llama 2 70B를 능가하고 대부분의 벤치마크에서 GPT-3.5와 동등한 성능을 보이며 Apache 2.0 하에 상업적으로 허용됩니다.
TITLE: Mixtral 8x7B 릴리즈 노트