XYZNOT

งานวิจัย · arXiv 2203.15556

Training Compute-Optimal Large Language Models

เผยแพร่ cs.CLcs.LG arXivPDF

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

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

  1. 🎯 กำหนดความสมดุลที่เหมาะสมที่สุดระหว่างพารามิเตอร์ของโมเดลและจำนวนโทเคนที่ใช้เทรนภายใต้งบประมาณการคำนวณคงที่
  2. 🔧 ปรับค่า scaling laws เชิงประจักษ์จากการรันโมเดล transformer มากกว่า 400 ครั้งโดยใช้ minimum-loss envelopes, IsoFLOP slices และ parametric loss modeling
  3. 📈 พารามิเตอร์และโทเคนควรสเกลในสัดส่วนที่เท่ากัน (, ) โดยโมเดล Chinchilla ขนาด 70B ที่เทรนด้วย 1.4T โทเคนใช้งบการคำนวณเท่ากับ Gopher และได้คะแนน 67.6% บน MMLU

บทคัดย่อ

เราทำการศึกษาขนาดโมเดลและจำนวนโทเคนที่เหมาะสมที่สุดสำหรับการเทรนโมเดลภาษาแบบ transformer ภายใต้งบประมาณการคำนวณ (compute budget) ที่กำหนด เราพบว่าโมเดลภาษาขนาดใหญ่ในปัจจุบันยังได้รับการเทรนไม่เพียงพออย่างมีนัยสำคัญ ซึ่งเป็นผลมาจากการมุ่งเน้นสเกลขนาดโมเดลภาษาเป็นหลักแต่กลับคงปริมาณข้อมูลเทรนไว้เท่าเดิม จากการเทรนโมเดลภาษามากกว่า 400 โมเดลที่มีพารามิเตอร์ตั้งแต่ 70 ล้านถึงกว่า 1.6 หมื่นล้านพารามิเตอร์ บนโทเคน 5 พันล้านถึง 5 แสนล้านโทเคน เราพบว่าสำหรับการเทรนที่เหมาะสมที่สุดในแง่การคำนวณ (compute-optimal) ขนาดของโมเดลและจำนวนโทเคนที่ใช้เทรนควรได้รับการสเกลในสัดส่วนที่เท่ากัน กล่าวคือ ทุกครั้งที่ขนาดโมเดลเพิ่มขึ้นเป็นสองเท่า จำนวนโทเคนที่ใช้เทรนก็ควรเพิ่มขึ้นเป็นสองเท่าเช่นกัน เราได้ทดสอบสมมติฐานนี้โดยการเทรน Chinchilla ซึ่งเป็นโมเดลที่คาดการณ์ว่าเป็น compute-optimal โดยใช้งบประมาณการคำนวณเท่ากับ Gopher แต่มีขนาด 70B พารามิเตอร์และใช้ข้อมูลมากกว่า เท่า ผลปรากฏว่า Chinchilla ทำผลงานได้เหนือกว่า Gopher (280B), GPT-3 (175B), Jurassic-1 (178B) และ Megatron-Turing NLG (530B) อย่างสม่ำเสมอและมีนัยสำคัญในงานประเมินผล downstream หลากหลายรูปแบบ นอกจากนี้ยังหมายความว่า Chinchilla ใช้การคำนวณน้อยกว่าอย่างมากสำหรับการ fine-tuning และการทำ inference ซึ่งช่วยอำนวยความสะดวกในการใช้งาน downstream อย่างยิ่ง โดยจุดเด่นคือ Chinchilla บรรลุความแม่นยำเฉลี่ยระดับ state-of-the-art ที่ 67.5% บนเกณฑ์มาตรฐาน MMLU ซึ่งมีประสิทธิภาพดีขึ้นกว่า 7% เมื่อเทียบกับ Gopher

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

We investigate the optimal model size and number of tokens for training a transformer language model under a given compute budget. We find that current large language models are significantly undertrained, a consequence of the recent focus on scaling language models whilst keeping the amount of training data constant. By training over 400 language models ranging from 70 million to over 16 billion parameters on 5 to 500 billion tokens, we find that for compute-optimal training, the model size and the number of training tokens should be scaled equally: for every doubling of model size the number of training tokens should also be doubled. We test this hypothesis by training a predicted compute-optimal model, Chinchilla, that uses the same compute budget as Gopher but with 70B parameters and 4 more more data. Chinchilla uniformly and significantly outperforms Gopher (280B), GPT-3 (175B), Jurassic-1 (178B), and Megatron-Turing NLG (530B) on a large range of downstream evaluation tasks. This also means that Chinchilla uses substantially less compute for fine-tuning and inference, greatly facilitating downstream usage. As a highlight, Chinchilla reaches a state-of-the-art average accuracy of 67.5% on the MMLU benchmark, greater than a 7% improvement over Gopher.

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

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

งานวิจัยก่อนหน้านี้ (โดยเฉพาะ Kaplan et al., 2020) เสนอแนะว่าเมื่อทรัพยากรการคำนวณ (compute) เพิ่มขึ้น ควรเน้นสเกลพารามิเตอร์ของโมเดลอย่างจริงจัง () ในขณะที่เพิ่มจำนวนโทเคนช้ากว่ามาก () ส่งผลให้โมเดลขนาดใหญ่อย่าง GPT-3 (175B), Jurassic-1 (178B), Gopher (280B) และ MT-NLG (530B) ถูกเทรนด้วยข้อมูลประมาณ 300 พันล้านโทเคนเท่าๆ กันมาโดยตลอด อย่างไรก็ตาม สิ่งนี้ทำให้โมเดลขนาดใหญ่ได้รับการเทรนไม่เพียงพออย่างมากเมื่อเทียบกับการลงทุนด้านทรัพยากรการคำนวณ งานวิจัยนี้จึงกลับมาทบทวนการแลกเปลี่ยนนี้ใหม่: สำหรับงบประมาณการคำนวณ ที่กำหนด ควรจัดสรรจำนวนพารามิเตอร์ และจำนวนโทเคน อย่างไรเพื่อลดค่า test loss ให้ได้มากที่สุด?

แนวคิดสำคัญ

  • Equal scaling: ทุกครั้งที่จำนวนพารามิเตอร์ของโมเดลเพิ่มขึ้นสองเท่า จำนวนโทเคนที่ใช้เทรนควรเพิ่มขึ้นสองเท่าด้วยเช่นกัน (, )
  • การสอดคล้องของ Cosine schedule: Learning rate schedule ต้องสอดคล้องกับระยะเวลาการเทรนจริง (horizon) การนำจุดระหว่างการรันที่มีการ decay ครอบคลุมระยะทางยาวคงที่ (เช่น 130B โทเคน) มาใช้ จะทำให้ประเมินค่า loss ของจำนวนโทเคนที่น้อยกว่าสูงเกินจริง และทำให้การประมาณการสเกลเชิงประจักษ์คลาดเคลื่อน
  • ประสิทธิภาพในการนำไปใช้งาน (Downstream efficiency): การเทรนโมเดลขนาดเล็กลงด้วยโทเคนที่มากขึ้นอย่างมีนัยสำคัญ จะให้ความแม่นยำที่เท่ากันหรือดีกว่าในงบประมาณการคำนวณ pretraining ที่เท่ากัน ทั้งยังช่วยลดการใช้หน่วยความจำ ต้นทุนการ fine-tuning และ latency ของการทำ inference ได้อย่างมหาศาล

ระเบียบวิธีวิจัย (พร้อมสมการหลัก)

คณะผู้วิจัยได้ประเมินโมเดลมากกว่า 400 โมเดล (พารามิเตอร์ 70M ถึง 16B ที่เทรนบน 5B ถึง 500B โทเคน) โดยใช้ 3 กลยุทธ์ที่เสริมกัน:

  1. Minimum over training curves: ปรับเปลี่ยนระยะเวลาการเทรนเป็น 4 ช่วงสำหรับสถาปัตยกรรมโมเดลคงที่ หาเส้นขอบนอกของค่า loss ต่ำสุดต่อ FLOP แล้วฟิตด้วย power laws: ซึ่งให้ค่า ,

  2. IsoFLOP profiles: กำหนดจำนวน FLOP รวมคงที่สำหรับ 9 งบประมาณ ( ถึง ) โดยจัด cosine decay ให้สอดคล้องกับระยะเวลาการเทรน ฟิตเส้นพาราโบลาเหนือจำนวนพารามิเตอร์เพื่อหาจุดต่ำสุดของ loss ซึ่งให้ค่า ,

  3. Parametric loss fitting: สร้างโมเดลของ smoothed loss โดยใช้การแยกส่วนความเสี่ยง (risk decomposition): โดยที่ แทน entropy ของข้อความธรรมชาติ, แทนความไม่สมบูรณ์ของการแทนค่าของโมเดล และ บ่งชี้ถึงความไม่สมบูรณ์จากการ early stopping หรือข้อมูลจำกัด การลด Huber loss ของ log residuals ให้ค่า , , , , ภายใต้เงื่อนไขบังคับ :

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

  • Chinchilla 70B: ได้รับการเทรนด้วยงบประมาณ FLOP เท่ากับ Gopher ( FLOPs หรือ เมื่อคิดตามการคำนวณแบบละเอียด) โดยใช้ 70B พารามิเตอร์และ 1.4 ล้านล้านโทเคน
  • เกณฑ์มาตรฐาน MMLU: Chinchilla ทำความแม่นยำเฉลี่ยแบบ 5-shot ได้ 67.6% ซึ่งเหนือกว่า Gopher (60.0%), GPT-3 (43.9%) และก้าวข้ามการคาดการณ์ของผู้เชี่ยวชาญมนุษย์ในเดือนมิถุนายน 2023 (63.4%) โดยทำความแม่นยำได้ ใน 4 งานย่อยของ MMLU
  • เกณฑ์มาตรฐาน Downstream: ทำผลงานชนะ Gopher บน BIG-bench (65.1% เทียบกับ 54.4%), LAMBADA (77.4% เทียบกับ 74.5%) และ closed-book Natural Questions (31.5% 5-shot เทียบกับ 24.5%)
  • อคติและความเป็นพิษ (Bias and Toxicity): ค่า unprompted toxicity ยังคงเทียบเคียงได้ระหว่าง Gopher และ Chinchilla (มัธยฐาน 0.064 เทียบกับ 0.066) ในขณะที่ความแม่นยำของ Winogender โดยรวมเพิ่มขึ้นจาก 71.4% เป็น 78.3%

ข้อจำกัดและคำถามปลายเปิด

  • มีการตรวจสอบยืนยันจุด frontier ขนาดใหญ่ในระดับ compute ที่เท่ากันเพียงสองจุดเท่านั้น (Gopher 280B เทียบกับ Chinchilla 70B) เนื่องจากต้นทุนการเทรนที่สูง
  • การวิเคราะห์ตั้งอยู่บนสมมติฐานการเทรนเพียง single-epoch บนชุดข้อมูลเว็บ ส่วนพฤติกรรมเมื่อทำซ้ำข้อมูลหลายรอบ (multiple epochs) ยังไม่ได้ถูกสำรวจ
  • มีหลักฐานเชิงประจักษ์ของความโค้งเชิงลบเล็กน้อย (concavity) ใน ที่ระดับงบการคำนวณสูง ซึ่งบ่งชี้ว่า power laws อาจยังคงประมาณการขนาดโมเดลที่เหมาะสมที่สุดสูงเกินจริงไปเล็กน้อย

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

Chinchilla
โมเดลภาษาแบบ autoregressive ขนาด 7 หมื่นล้านพารามิเตอร์ที่เทรนด้วยข้อมูล 1.4 ล้านล้านโทเคน โดยใช้งบประมาณการคำนวณเท่ากับ Gopher
Gopher
โมเดลภาษาแบบ transformer ขนาด 2.8 แสนล้านพารามิเตอร์ที่เทรนด้วยข้อมูล 3 แสนล้านโทเคน ซึ่งทำหน้าที่เป็นเบสไลน์ที่มีการใช้ทรัพยากรการคำนวณเทียบเท่ากัน
IsoFLOP profiles
ระเบียบวิธีวิจัยที่ปรับเปลี่ยนจำนวนพารามิเตอร์ของโมเดลโดยคงค่า FLOP รวมของการเทรนไว้คงที่ เพื่อค้นหาขนาดพารามิเตอร์ที่ให้ค่า loss ต่ำที่สุด
Compute-optimal frontier
เส้นโค้งทางคณิตศาสตร์ที่เชื่อมโยง FLOPs ของการเทรนที่มีอยู่กับการจัดสรรจำนวนพารามิเตอร์และปริมาณโทเคนที่ใช้เทรนให้เหมาะสมที่สุด
Parametric loss function
การแยกส่วนทางสถิติของ LM loss ออกเป็น irreducible Bayes entropy, การขาดแคลนความจุของพารามิเตอร์ และความคลาดเคลื่อนจากการปรับให้เหมาะสมของตัวอย่างโทเคน
Huber loss
ฟังก์ชัน loss แบบ robust ที่นำมาใช้ในแนวทางที่ 3 เพื่อฟิตผลการรัน LM เชิงประจักษ์ พร้อมทั้งลดทอนผลกระทบของค่าผิดปกติ (outliers) ที่สเกลการคำนวณขนาดเล็ก
MassiveText
คลังข้อมูล pretraining หลากหลายโดเมนที่ประกอบด้วยหน้าเว็บ หนังสือ ข่าว โค้ด และ Wikipedia ซึ่งใช้ในการเทรนทั้ง Gopher และ Chinchilla
FLOPs calculation
งบประมาณการคำนวณเชิงการคูณและสะสม (multiply-accumulate) ซึ่งคำนวณได้ประมาณ ครอบคลุมทั้งรอบ forward และ backward หรือคำนวณแยกเป็นรายเลเยอร์อย่างละเอียด

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

ทำไม Kaplan et al. ถึงสรุปว่าพารามิเตอร์ควรสเกลเร็วกว่าจำนวนโทเคน?

Kaplan et al. ใช้ cosine schedule สำหรับ learning rate แบบคงที่ (เช่น decay ไปที่ 130B โทเคน) และใช้การประเมินการเทรนระหว่างทางที่โมเดลยังไม่ลู่เข้า (un-converged) สำหรับจุดที่มีโทเคนน้อยกว่า เนื่องจาก cosine learning rate schedule จะด้อยประสิทธิภาพลงหากความยาวรอบ (cycle length) เกินกว่าจำนวนสเต็ปจริงไปมาก ค่า loss ระหว่างทางเหล่านั้นจึงสูงเกินจริง ส่งผลให้ประเมินประสิทธิภาพของการเทรนโมเดลขนาดเล็กด้วยโทเคนที่น้อยกว่าต่ำเกินไป

หลักเกณฑ์คร่าวๆ (rule of thumb) สำหรับการสเกลแบบ compute-optimal ตาม Chinchilla คืออะไร?

ทั้งจำนวนพารามิเตอร์ของโมเดลและจำนวนโทเคนที่ใช้เทรนควรได้รับการสเกลในสัดส่วนที่เท่ากันโดยประมาณ: ทุกๆ การเพิ่มขึ้นของทรัพยากรการคำนวณ เท่า ขนาดของโมเดลควรเพิ่มขึ้น เท่า และจำนวนโทเคนควรเพิ่มขึ้น เท่า

แนะนำให้ใช้กี่โทเคนในการเทรนโมเดลขนาด 175B ให้เป็น compute-optimal?

ตามการคาดการณ์ของรายงานวิจัย โมเดลขนาด 1.75 แสนล้านพารามิเตอร์จะต้องใช้โทเคนประมาณ 3.7 ถึง 4.3 ล้านล้านโทเคน และใช้ ถึง FLOPs เพื่อให้เป็น compute-optimal ซึ่งมากกว่า 300 พันล้านโทเคนที่มักใช้ใน GPT-3 อย่างมาก

มีการเปลี่ยนแปลงสถาปัตยกรรมใดบ้างระหว่าง Gopher และ Chinchilla?

นอกเหนือจากการลดจำนวนเลเยอร์และ hidden dimension จาก 280B เหลือ 70B แล้ว Chinchilla ได้เปลี่ยน optimizer จาก Adam เป็น AdamW รักษา float32 master weights ไว้ในสถานะ distributed optimizer และนำ NFKC normalization ออกจาก SentencePiece tokenizer

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

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