XYZNOT

งานวิจัย · arXiv 2401.04088

Mixtral of Experts

เผยแพร่ cs.LGcs.CL arXivPDF

อ่านพร้อมคำแปลและ AI

สรุปสามบรรทัด

  1. 🎯 การขยายขนาดความจุและประสิทธิภาพของ Transformer โดยไม่ทำให้เกิดค่าความหน่วงในการอนุมานและต้นทุนการคำนวณที่สูงเกินไป
  2. 🔧 สถาปัตยกรรมแบบ decoder-only ของ Sparse Mixture of Experts (SMoE) ที่แทนที่บล็อก feedforward มาตรฐานด้วย 8 ผู้เชี่ยวชาญ SwiGLU และเลือก 2 ผู้เชี่ยวชาญต่อโทเคนผ่านเราเตอร์ที่ผ่านการเรียนรู้
  3. 📈 เข้าถึงพารามิเตอร์รวม 47B โดยใช้งานจริงเพียง 13B ต่อโทเคน ทำคะแนนเหนือกว่า Llama 2 70B ทั้งบน MMLU (70.6% ต่อ 69.9%) และ GSM8K (74.4% ต่อ 69.6%)

บทคัดย่อ

เราขอแนะนำ Mixtral 8x7B ซึ่งเป็นโมเดลภาษาแบบ Sparse Mixture of Experts (SMoE) โดย Mixtral ใช้สถาปัตยกรรมแบบเดียวกับ Mistral 7B แต่มีจุดที่แตกต่างคือในแต่ละเลเยอร์จะประกอบด้วย 8 feedforward blocks (หรือ experts) สำหรับแต่ละโทเคนในแต่ละเลเยอร์ เครือข่ายเราเตอร์จะทำการเลือกผู้เชี่ยวชาญ 2 คนเพื่อประมวลผลสถานะปัจจุบันและรวมผลลัพธ์เข้าด้วยกัน แม้ว่าแต่ละโทเคนจะเข้าถึงผู้เชี่ยวชาญเพียงสองคน แต่ผู้เชี่ยวชาญที่ถูกเลือกสามารถเปลี่ยนแปลงได้ในแต่ละขั้นตอนเวลา (timestep) ส่งผลให้แต่ละโทเคนสามารถเข้าถึงพารามิเตอร์รวมทั้งหมด 47B แต่ใช้พารามิเตอร์ที่ทำงานจริง (active parameters) เพียง 13B เท่านั้นในระหว่างการอนุมาน (inference) ทั้งนี้ Mixtral ได้รับการฝึกด้วยขนาดบริบท 32k โทเคน และมีประสิทธิภาพเหนือกว่าหรือเทียบเท่ากับ Llama 2 70B และ GPT-3.5 ในชุดการประเมินมาตรฐานทั้งหมด โดยเฉพาะอย่างยิ่ง Mixtral ทำคะแนนได้เหนือกว่า Llama 2 70B อย่างมากในด้านคณิตศาสตร์ การสร้างโค้ด และการทดสอบหลายภาษา นอกจากนี้ เรายังเผยแพร่โมเดลที่ผ่านการปรับจูนตามคำสั่ง ได้แก่ Mixtral 8x7B - Instruct ซึ่งทำคะแนนบนการประเมินโดยมนุษย์ได้เหนือกว่า GPT-3.5 Turbo, Claude-2.1, Gemini Pro และโมเดล Llama 2 70B - chat ทั้งโมเดลรุ่นพื้นฐานและรุ่น instruct ได้รับการเผยแพร่ภายใต้สัญญาอนุญาต Apache 2.0

บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)

We introduce Mixtral 8x7B, a Sparse Mixture of Experts (SMoE) language model. Mixtral has the same architecture as Mistral 7B, with the difference that each layer is composed of 8 feedforward blocks (i.e. experts). For every token, at each layer, a router network selects two experts to process the current state and combine their outputs. Even though each token only sees two experts, the selected experts can be different at each timestep. As a result, each token has access to 47B parameters, but only uses 13B active parameters during inference. Mixtral was trained with a context size of 32k tokens and it outperforms or matches Llama 2 70B and GPT-3.5 across all evaluated benchmarks. In particular, Mixtral vastly outperforms Llama 2 70B on mathematics, code generation, and multilingual benchmarks. We also provide a model fine-tuned to follow instructions, Mixtral 8x7B - Instruct, that surpasses GPT-3.5 Turbo, Claude-2.1, Gemini Pro, and Llama 2 70B - chat model on human benchmarks. Both the base and instruct models are released under the Apache 2.0 license.

คู่มือการอ่าน

ปัญหาและแรงจูงใจ

โมเดลภาษาแบบ autoregressive ชนิดหนาแน่น (dense) มีต้นทุนการคำนวณที่แปรผันตรงกับจำนวนพารามิเตอร์ทั้งหมดในทุกๆ โทเคนที่ประมวลผล เมื่อโมเดลมีขนาดขยายใหญ่ขึ้นไปถึง 70B พารามิเตอร์หรือมากกว่านั้น การให้บริการโมเดลที่ต้องการความหน่วงต่ำและปริมาณงานสูงจึงมีค่าใช้จ่ายในการประมวลผลสูงมาก ผู้เขียนจึงมีเป้าหมายที่จะขยายขีดความสามารถของโมเดลโดยยังคงรักษาต้นทุนการอนุมานต่อโทเคนให้เทียบเคียงกับโมเดลขนาดเล็ก เพื่อสร้างโมเดลแบบ open-weights ที่สามารถเทียบเคียงหรือมีประสิทธิภาพเหนือกว่า Llama 2 70B และโมเดลเชิงพาณิชย์ที่เป็นเบสไลน์อย่าง GPT-3.5 ได้

แนวคิดสำคัญ

  • Sparse Mixture of Experts (SMoE): แทนที่บล็อก feedforward network (FFN) แบบเดิมในทั้ง 32 เลเยอร์ของ Transformer ด้วยเครือข่ายผู้เชี่ยวชาญที่แตกต่างกัน 8 เครือข่าย และส่งแต่ละโทเคนไปยังผู้เชี่ยวชาญที่มีคะแนนสูงสุดเพียง top-2 เท่านั้น
  • การแยกจำนวนพารามิเตอร์ (Decoupled Parameter Counts): โครงสร้างสถาปัตยกรรมเก็บพารามิเตอร์รวมทั้งหมด 47B ตลอดเลเยอร์ แต่เรียกใช้งานพารามิเตอร์จริงเพียง 13B ต่อรอบการส่งต่อข้อมูล (forward pass) ของแต่ละโทเคน ซึ่งเทียบเท่ากับปริมาณการคำนวณของโมเดลแบบหนาแน่นขนาดปานกลาง
  • หน้าต่างบริบทเต็มขนาด 32k: รองรับความยาวของลำดับข้อความที่ 32,768 โทเคนโดยธรรมชาติ พร้อมความแม่นยำในการค้นคืน (retrieval accuracy) 100% บนเกณฑ์มาตรฐาน passkey
  • การเลือกเส้นทางตามไวยากรณ์มากกว่าหัวข้อ (Syntactic Rather than Topic-Based Routing): การตรวจสอบเชิงประจักษ์ของการจัดเส้นทางโทเคนเผยให้เห็นว่า การเลือกผู้เชี่ยวชาญถูกขับเคลื่อนด้วยหน้าที่ทางไวยากรณ์และความใกล้ชิดเชิงตำแหน่งของเวลาเป็นหลัก มากกว่าที่จะเป็นไปตามขอบเขตหัวข้อในระดับสูง

ระเบียบวิธี (พร้อมสมการสำคัญ)

Mixtral ปรับเปลี่ยนสถาปัตยกรรมของ Mistral 7B ( เลเยอร์, hidden dimension , attention heads, key-value heads) โดยแทนที่แต่ละ FFN sub-block ด้วยโมดูล MoE ที่ประกอบด้วยผู้เชี่ยวชาญจำนวน ราย () ซึ่งแต่ละรายถูกสร้างขึ้นเป็นเครือข่าย SwiGLU ที่มี intermediate dimension เท่ากับ

สำหรับตัวแทนของโทเคนขาเข้า เครือข่ายเราเตอร์จะคำนวณการแจกแจงเกตติงแบบเบาบาง (sparse gating distribution) ระหว่างผู้เชี่ยวชาญ โดยใช้ top- logits (): โดยที่ตัวดำเนินการ Top-K จะกำหนดค่า ให้กับพิกัดทั้งหมดที่อยู่นอกเหนือค่าที่มากที่สุด ค่าของ logits :

ผลลัพธ์รวม ของเลเยอร์จะถูกคำนวณเป็นผลรวมถ่วงน้ำหนักตามค่าเกตติงของเอาต์พุตจากผู้เชี่ยวชาญแต่ละราย: การประมวลผลที่มีประสิทธิภาพสูงนี้ทำได้โดยใช้เคอร์เนล เช่น MegaBlocks ซึ่งจัดรูปแบบการคำนวณของ MoE ให้อยู่ในรูปของการคูณเมทริกซ์แบบเบาบาง (sparse matrix multiplications) ควบคู่ไปกับการใช้ Expert Parallelism กระจายงานข้าม GPU หลายตัว

ผลลัพธ์ (พร้อมตัวเลขที่สำคัญที่สุด)

  • เกณฑ์มาตรฐานทั่วไปและการให้เหตุผล: ใน MMLU (5-shot) Mixtral 8x7B ทำคะแนนได้ 70.6% เทียบกับ 69.9% ของ Llama 2 70B และ 70.0% ของ GPT-3.5 ส่วนบน GSM8K (8-shot, maj@8) ทำได้ 74.4% เทียบกับ 69.6% ของ Llama 2 70B และบนเกณฑ์มาตรฐาน MATH (4-shot, maj@4) Mixtral ทำได้ 28.4% เทียบกับ Llama 2 70B ที่ทำได้ 13.8%
  • การสร้างโค้ด: Mixtral มีประสิทธิภาพเหนือกว่า Llama 2 70B อย่างมีนัยสำคัญบน HumanEval (40.2% ต่อ 29.3%) และ MBPP (60.7% ต่อ 49.8%)
  • งานประมวลผลหลายภาษา: การเพิ่มสัดส่วนข้อมูลหลายภาษา (upsampling) ช่วยให้ Mixtral เหนือกว่า Llama 2 70B ทั้งในภาษาฝรั่งเศส เยอรมัน สเปน และอิตาลี บน ARC-Challenge, HellaSwag และ MMLU (เช่น MMLU ภาษาฝรั่งเศส: 70.9% ต่อ 64.3%)
  • การปรับแต่งตามคำสั่งและ Arena Elo: Mixtral 8x7B – Instruct (ฝึกด้วย SFT และ Direct Preference Optimization) ได้คะแนน 8.30 บน MT-Bench และทำ LMSys Chatbot Arena Elo ได้ 1121 ซึ่งเหนือกว่า Claude-2.1 (1117), GPT-3.5-Turbo (1117) และ Llama-2-70b-chat (1077)
  • การค้นคืนบริบท: บรรลุความแม่นยำในการค้นคืน 100% ในงาน synthetic passkey retrieval ตลอดทั้งหน้าต่างบริบทขนาด 32k

ข้อจำกัดและประเด็นที่ยังเปิดกว้าง

  • ปริมาณการใช้หน่วยความจำเทียบกับการคำนวณ: แม้ว่าต้นทุนการคำนวณจะเทียบเท่ากับพารามิเตอร์ที่ทำงานจริงเพียง 13B แต่การให้บริการยังคงต้องใช้ VRAM ที่เพียงพอต่อการจัดเก็บพารามิเตอร์ทั้งหมด 47B ซึ่งจำเป็นต้องใช้ระบบหลาย GPU หรือเทคนิคการสลับถ่ายโอนข้อมูล (offloading)
  • คอขวดของ Expert Parallelism: งานวิจัยพบว่ามีความใกล้ชิดเชิงเวลาสูง กล่าวคือโทเคนที่อยู่ติดกันมักจะถูกส่งไปยังผู้เชี่ยวชาญคนเดียวกันบ่อยกว่าการสุ่มอย่างมาก (มีการเลือกซ้ำในตัวเลือกแรกสูงสุดถึง 28.4% ที่เลเยอร์ 15 เทียบกับโอกาสสุ่ม 12.5%) ซึ่งอาจทำให้เกิดความไม่สมดุลของภาระงานและเกิดภาวะโหลดเกินบน GPU บางตัวภายใต้ระบบ Expert Parallelism
  • การขาดความเชี่ยวชาญเฉพาะทางตามหัวข้อ: การเลือกเส้นทางของเราเตอร์ไม่ได้แบ่งแยกตามขอบเขตเนื้อหาอย่างเป็นธรรมชาติ (เช่น ชีววิทยา เทียบกับ ปรัชญา) ทำให้ยังคงมีประเด็นเปิดกว้างในการออกแบบระบบเกตติง หากต้องการให้ผู้เชี่ยวชาญมีความเฉพาะทางตามโดเมนอย่างชัดเจน

คำศัพท์สำคัญ

Sparse Mixture of Experts (SMoE)
สถาปัตยกรรมโครงข่ายประสาทที่ใช้การคำนวณแบบมีเงื่อนไข เพื่อส่งแต่ละโทเคนขาเข้าไปยังเครือข่ายย่อย feedforward (experts) เพียงกลุ่มย่อยที่เบาบาง แทนที่จะสั่งให้พารามิเตอร์ทั้งหมดทำงานพร้อมกัน
Active Parameter Count
จำนวนพารามิเตอร์ที่ถูกโหลดและประมวลผลจริงในระหว่างการอนุมานสำหรับโทเคนหนึ่งตัว ซึ่งมีจำนวน 13B ใน Mixtral เมื่อเทียบกับพารามิเตอร์แบบเบาบางทั้งหมด 47B
SwiGLU
ฟังก์ชันกระตุ้นรูปแบบ gated linear unit ที่ผสานการทำงานของ Swish และการคูณแบบ element-wise ซึ่งนำมาใช้เป็นสถาปัตยกรรมภายในของบล็อก feedforward ของผู้เชี่ยวชาญแต่ละคน
TopK Gating
กลไกการกำหนดเส้นทางที่ใช้การแปลงเชิงเส้นกับตัวแทนของโทเคน โดยคงค่าที่สูงที่สุด K ค่าแรกไว้ พร้อมกับแปลงค่าที่เหลือให้เป็นค่าลบอนันต์ แล้วจึงนำมาปรับสัดส่วนมาตรฐานด้วยฟังก์ชัน softmax
Expert Parallelism (EP)
กลยุทธ์การแบ่งพาร์ติชันแบบกระจายศูนย์ ซึ่งแมปผู้เชี่ยวชาญแต่ละคนไปยัง GPU ที่แตกต่างกัน และส่งการกระตุ้นของโทเคนข้ามอุปกรณ์ไปยังผู้เชี่ยวชาญที่ได้รับมอบหมาย
Direct Preference Optimization (DPO)
อัลกอริทึมการปรับแนวทางพฤติกรรม (alignment) ที่ปรับปรุงพารามิเตอร์ของโมเดลภาษาโดยตรงจากคู่ข้อมูลความพึงพอใจ โดยไม่จำเป็นต้องฝึกโมเดลให้รางวัล (reward model) ของการเรียนรู้แบบเสริมกำลัง
Passkey Retrieval
การทดสอบประเมินผลเชิงสังเคราะห์เพื่อวัดความสามารถของโมเดลในการค้นหาและระบุตำแหน่งของรหัสผ่านสั้นๆ ที่สุ่มวางไว้ภายในพรอมต์บริบทขนาดยาวสูงสุดถึง 32k โทเคน
Positional Locality
แนวโน้มเชิงประจักษ์ที่พบว่าโทเคนที่อยู่เรียงต่อกันในลำดับข้อความมักจะถูกมอบหมายให้แก่ผู้เชี่ยวชาญคนเดียวกันซ้ำๆ ซึ่งมีความถี่สูงกว่าความน่าจะเป็นจากการสุ่มแบบเอกรูปอย่างมีนัยสำคัญ

คำถามที่พบบ่อย

ทำไม Mixtral ถึงถูกเรียกว่า 8x7B ทั้งที่มีพารามิเตอร์เพียง 47B แทนที่จะเป็น 56B?

แม้ว่าจะมีผู้เชี่ยวชาญ 8 คนในแต่ละเลเยอร์และสถาปัตยกรรมดัดแปลงมาจาก Mistral 7B แต่น้ำหนักของ self-attention และเลเยอร์ embedding นั้นถูกแชร์ใช้งานร่วมกันในทุกผู้เชี่ยวชาญ มีเพียงบล็อกย่อยของ feedforward เท่านั้นที่ถูกจำลองขึ้นมา 8 ชุด จึงส่งผลให้มีพารามิเตอร์รวมทั้งหมด 47B แทนที่จะเป็น 8 × 7B = 56B

มีผู้เชี่ยวชาญกี่คนที่ถูกเปิดใช้งานสำหรับแต่ละโทเคนในระหว่างการอนุมาน?

เราเตอร์จะทำการเลือกผู้เชี่ยวชาญอย่างแม่นยำจำนวน 2 คน () จากผู้เชี่ยวชาญทั้งหมด 8 คนในแต่ละเลเยอร์สำหรับทุกโทเคน ส่งผลให้มีพารามิเตอร์ที่ทำงานจริง 13B ต่อหนึ่งรอบ forward pass

ผู้เชี่ยวชาญแต่ละคนมีความเชี่ยวชาญเฉพาะทางในสาขาวิชาหรือเนื้อหาที่ต่างกันหรือไม่?

ไม่พบการแบ่งความเชี่ยวชาญตามหัวข้ออย่างชัดเจน การวิเคราะห์บนชุดข้อมูล The Pile แสดงให้เห็นว่าการแจกแจงการมอบหมายงานให้แก่ผู้เชี่ยวชาญแทบจะเหมือนกันทั้งหมดในหัวข้อต่างๆ เช่น ArXiv, PubMed และ PhilPapers ในทางกลับกัน การตัดสินใจจัดเส้นทางสัมพันธ์กับไวยากรณ์ ลักษณะเฉพาะของโทเคน และความใกล้ชิดเชิงตำแหน่งอย่างมีนัยสำคัญ

โมเดล Mixtral 8x7B เผยแพร่ภายใต้สัญญาอนุญาตซอฟต์แวร์ประเภทใด?

ทั้งโมเดลพื้นฐาน Mixtral 8x7B และโมเดล Mixtral 8x7B – Instruct ได้รับการเผยแพร่ภายใต้สัญญาอนุญาต Apache 2.0 แบบเสรี ซึ่งอนุญาตให้ใช้งานได้ทั้งในเชิงวิชาการและการค้า

คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด

อ่านพร้อมคำแปลและ AI