งานวิจัย · arXiv 2307.09288
Llama 2: Open Foundation and Fine-Tuned Chat Models
สรุปสามบรรทัด
- 🎯 ก่อนหน้านี้ LLM แบบเปิดยังขาดการทำ Alignment (RLHF) ในระดับลึก ซึ่งจำเป็นต่อการแข่งขันกับโมเดลสนทนาเชิงพาณิชย์แบบปิดได้อย่างปลอดภัยและมีประสิทธิภาพ
- 🔧 ผ่านการ Pretrained บนชุดข้อมูล 2T โทเคนสำหรับขนาด 7B–70B พร้อมใช้ Grouped-Query Attention ตามด้วย SFT คุณภาพสูง, Dual Reward Modeling (ความปลอดภัยและประโยชน์), Rejection Sampling Fine-tuning, PPO และ Ghost Attention (GAtt)
- 📈 Llama 2 70B ทำคะแนนได้ 68.9 บน MMLU และ 56.8 บน GSM8K ขณะที่ Llama 2-Chat ทำอัตราชนะ 36% และเสมอ 31.5% เมื่อเทียบกับ ChatGPT ในการประเมินโดยมนุษย์
บทคัดย่อ
ในงานวิจัยนี้ เราได้พัฒนาและเผยแพร่ Llama 2 ซึ่งเป็นกลุ่มของ Large Language Models (LLMs) ทั้งแบบ Pretrained และ Fine-tuned ที่มีขนาดพารามิเตอร์ตั้งแต่ 7 พันล้านจนถึง 7 หมื่นล้านพารามิเตอร์ สำหรับโมเดลที่ผ่านการ Fine-tuned ของเราที่มีชื่อว่า Llama 2-Chat ได้รับการปรับแต่งให้เหมาะสมกับรูปแบบการใช้งานด้านการสนทนา โมเดลของเรามีประสิทธิภาพเหนือกว่าโมเดลสนทนาแบบโอเพนซอร์สส่วนใหญ่ในเกณฑ์มาตรฐานเกือบทั้งหมดที่ทดสอบ และจากการประเมินโดยมนุษย์ทั้งในแง่ประโยชน์ (Helpfulness) และความปลอดภัย (Safety) พบว่าสามารถนำมาใช้ทดแทนโมเดลแบบ Closed-source ได้เป็นอย่างดี เราได้อธิบายรายละเอียดเชิงลึกเกี่ยวกับแนวทางการ Fine-tuning และการปรับปรุงความปลอดภัยของ Llama 2-Chat เพื่อเปิดโอกาสให้ชุมชนนักพัฒนาสามารถนำไปต่อยอดและมีส่วนร่วมในการพัฒนา LLMs อย่างมีความรับผิดชอบต่อไป
บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)
In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters. Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases. Our models outperform open-source chat models on most benchmarks we tested, and based on our human evaluations for helpfulness and safety, may be a suitable substitute for closed-source models. We provide a detailed description of our approach to fine-tuning and safety improvements of Llama 2-Chat in order to enable the community to build on our work and contribute to the responsible development of LLMs.
คู่มือการอ่าน
ปัญหาและแรงจูงใจ
แม้ว่าโมเดลพื้นฐานแบบ Pretrained ที่เปิดให้เข้าถึงได้อย่าง LLaMA-1, BLOOM และ Falcon จะมีประสิทธิภาพดิบเทียบเท่าโมเดลอย่าง GPT-3 ได้ แต่ผู้ช่วยสนทนาเชิงพาณิชย์แบบปิด (เช่น ChatGPT, Claude) ยังคงนำหน้าอยู่มาก ความได้เปรียบด้านประสิทธิภาพนี้เกิดจากการทำ Alignment ขั้นสูงหลังการ Pretraining ผ่าน Instruction Tuning และ Reinforcement Learning with Human Feedback (RLHF) ซึ่งต้องใช้ทรัพยากรประมวลผลมหาศาล ไปป์ไลน์การทำแอนโนเทชันที่เป็นความลับเฉพาะ และกระบวนการ Red-teaming ด้วยเหตุนี้ Meta จึงพัฒนาและปล่อย Llama 2 และ Llama 2-Chat สู่สาธารณะ (ขนาดพารามิเตอร์ 7B, 13B และ 70B รวมถึงขนาด 34B ที่ยังไม่เผยแพร่) เพื่อเปิดกว้างการเข้าถึงโมเดลสนทนาที่ผ่านการ Alignment และแบ่งปันกระบวนการด้านความปลอดภัยและการจัดทิศทางโมเดลอย่างโปร่งใส
แนวคิดสำคัญ
- Expanded Pretraining: ทำการ Pretrained ด้วยข้อมูลขนาด 2.0 ล้านล้านโทเคน (เพิ่มขึ้น 40% เมื่อเทียบกับ Llama 1) พร้อมขยายขนาด Context Window เพิ่มเป็นสองเท่าที่ 4,096 โทเคน และนำ Grouped-Query Attention (GQA) มาใช้ในโมเดลขนาด 34B และ 70B เพื่อเร่งความเร็วในการทำ Autoregressive Decoding
- Quality-Centric SFT: พิสูจน์ให้เห็นว่าชุดข้อมูลแอนโนเทชันคุณภาพสูงจำนวนไม่กี่หมื่นตัวอย่างจากผู้เชี่ยวชาญ มีประสิทธิภาพเหนือกว่าข้อมูลภายนอกที่มีสัญญาณรบกวนจำนวนหลายล้านตัวอย่าง โดยจำกัดจำนวนการสาธิตที่ผ่านการคัดสรรสำหรับ SFT ไว้ที่เพียง 27,540 ตัวอย่าง
- Dual Reward Modeling: ฝึกฝน Reward Model แยกกันสองโมเดล ได้แก่ ด้าน Helpfulness และด้าน Safety เพื่อหลีกเลี่ยงปัญหาความขัดแย้งที่ข้อจำกัดด้านความปลอดภัยอาจไปลดทอนประโยชน์ในการตอบ
- Two-Stage RLHF Alignment: ผสานการทำ Fine-tuning ด้วย Rejection Sampling แบบวนซ้ำ (กลั่นกรองมาจาก 70B) เข้ากับการปรับแต่งด้วย Proximal Policy Optimization (PPO) ในขั้นตอนถัดมา
- Ghost Attention (GAtt): เทคนิคการกลั่นกรองบริบท (Context-distillation) ที่นำมาประยุกต์ใช้กับการสนทนาหลายรอบ เพื่อรักษาคำสั่งระบบ (System Instructions) ให้คงอยู่อย่างต่อเนื่องตลอดการสนทนามากกว่า 20 รอบ โดยที่คำสั่งไม่เลือนหายไป
ระเบียบวิธีวิจัย
สถาปัตยกรรมช่วง Pretraining
Llama 2 ใช้สถาปัตยกรรม Autoregressive Transformer ที่ประกอบด้วยการทำ Pre-normalization ด้วย RMSNorm, ฟังก์ชันกระตุ้น SwiGLU และการเข้ารหัสตำแหน่งแบบ Rotary Positional Embeddings (RoPE) โดยได้เพิ่ม GQA เข้ามาในรุ่นขนาดใหญ่ (34B และ 70B) โมเดลได้รับการฝึกด้วย AdamW (eta_1=0.9, \beta_2=0.95), ใช้ Cosine Learning Rate Decay ลดลงจนเหลือ 10%, Weight Decay เท่ากับ 0.1 และทำ Gradient Clipping ที่ 1.0
การสร้าง Reward Model
ผู้ประเมินที่เป็นมนุษย์จะให้คะแนนเปรียบเทียบความพึงพอใจแบบ 4 ระดับระหว่างคำตอบสองแบบที่สุ่มขึ้นมา Reward Model จะถูกกำหนดค่าเริ่มต้นจากเช็กพอยต์ของโมเดลสนทนาที่ผ่านการ Pretrained และปรับปรุงให้เหมาะสมด้วยฟังก์ชัน Margin-augmented Binary Ranking Loss: โดยที่ คือบริบทของพรอมต์, คือคำตอบที่เลือก, คือคำตอบที่ปฏิเสธ และ คือ Margin แบบไม่ต่อเนื่องซึ่งขึ้นอยู่กับระดับความพึงพอใจของผู้ประเมิน
วัตถุประสงค์ของ RLHF
การปรับปรุงค่าพารามิเตอร์ทำผ่าน Rejection Sampling (การสุ่มคำตอบ แบบจากนโยบายล่าสุด แล้วเลือกคำตอบที่ได้รับคะแนนรางวัลสูงสุด) ร่วมกับ PPO โดยเป้าหมายของ PPO คือการเพิ่มผลตอบแทนที่คาดหวังให้ได้สูงสุด ควบคู่ไปกับการลงโทษการเบี่ยงเบนของนโยบายผ่าน KL Divergence เมื่อเทียบกับนโยบายเริ่มต้น : ซึ่ง คือการรวมกันแบบเป็นช่วง (Piecewise) ที่ผ่านการแปลงแบบ Logit และ Whitened ระหว่าง Reward Model ด้านความปลอดภัย () และด้านประโยชน์ ():
Ghost Attention (GAtt)
เพื่อบังคับให้เกิดความสอดคล้องในการสนทนาหลายรอบ คำสั่ง จะถูกสังเคราะห์และต่อท้ายเข้ากับทุกพรอมต์ของผู้ใช้ในการสนทนา คำตอบจะถูกสุ่มจากนโยบายล่าสุด แต่ Loss จะถูกคำนวณเฉพาะกับโทเคนของรอบเป้าหมายเท่านั้น (โดยตัด Loss ในรอบก่อนหน้าให้เป็นศูนย์) ในขณะที่ช่วงการทำ Inference จะคงคำสั่ง ไว้เฉพาะในรอบแรกเท่านั้น
ผลลัพธ์
- เกณฑ์มาตรฐานโมเดลพื้นฐาน: Llama 2 70B มีประสิทธิภาพเหนือกว่าโมเดลพื้นฐานแบบโอเพนซอร์สทั้งหมด โดยได้คะแนน 68.9 บน MMLU (5-shot), 56.8 บน GSM8K (8-shot) และ 51.2 บน Big-Bench Hard (3-shot) ซึ่งเทียบเคียงได้กับ GPT-3.5 และ PaLM-540B
- การประเมินการสนทนาโดยมนุษย์: จากการประเมินโดยมนุษย์ครอบคลุมประมาณ 4,000 พรอมต์ Llama 2-Chat 70B ทำอัตราชนะได้ 36% และเสมอ 31.5% เมื่อพบกับ ChatGPT (gpt-3.5-turbo-0301) และ Llama 2-Chat 34B เอาชนะได้มากกว่า 75% ในการเปรียบเทียบแบบตัวต่อตัวกับ Vicuna-33B และ Falcon 40B
- ความปลอดภัยและความเป็นพิษ: Llama 2-Chat ที่ผ่านการปรับแต่งด้านความปลอดภัยสามารถลดอัตราการสร้างข้อความที่เป็นพิษบน ToxiGen จาก 24.60% (ในรุ่น 70B ตัวตั้งต้น) ลงเหลือเพียง 0.01% ซึ่งแสดงให้เห็นถึงอัตราการละเมิดความปลอดภัยที่ต่ำกว่าทั้ง ChatGPT และ Falcon ในการทดสอบ Red-teaming โดยมนุษย์
ข้อจำกัดและประเด็นที่ยังเปิดกว้าง
- การเขียนโค้ดและการใช้เหตุผลเชิงซ้อน: Llama 2 70B ยังตามหลัง GPT-4 และ PaLM-2-L อยู่ค่อนข้างมากในการทดสอบด้านการเขียนโค้ด (HumanEval pass@1 ได้ 29.9% เทียบกับ 67.0% ของ GPT-4)
- การครอบคลุมของภาษา: ข้อมูลที่ใช้ Pretraining ประมาณ 89.7% เป็นภาษาอังกฤษ ทำให้ประสิทธิภาพของโมเดลและการจัดทิศทางด้านความปลอดภัยในภาษาอื่นยังไม่เสถียรเท่าที่ควร
- การปฏิเสธอย่างไม่ถูกต้องและการระมัดระวังเกินเหตุ: การปรับแต่งความปลอดภัยอย่างเข้มงวดส่งผลให้เกิด False Refusal ต่อพรอมต์ที่ไม่ได้มีอันตรายจริง (เช่น การปฏิเสธคำขอที่ปลอดภัยเพียงเพราะมีคำอย่าง 'bomb' หรือ 'Christmas Crack')
- การเลื่อนเปิดตัวรุ่น 34B: โมเดลรุ่น 34B ยังไม่ถูกปล่อยสู่สาธารณะ เนื่องจากข้อจำกัดด้านเวลาในการทำ Red-teaming ให้ครอบคลุมก่อนการเผยแพร่รายงานวิจัย
คำศัพท์สำคัญ
- Grouped-Query Attention (GQA)
- โครงสร้าง Attention แบบหนึ่งที่ใช้ Key และ Value Heads ร่วมกันระหว่างกลุ่มของ Query Heads เพื่อลดแบนด์วิดท์หน่วยความจำของ KV-cache และเพิ่มความเร็วในการทำ Inference บนโมเดลขนาดใหญ่
- Reinforcement Learning with Human Feedback (RLHF)
- กระบวนการจัดทิศทางโมเดล (Alignment) โดยใช้การเปรียบเทียบความพึงพอใจของมนุษย์เพื่อฝึก Reward Model ซึ่งจะนำไปชี้นำการปรับแต่งนโยบายผ่าน PPO และ Rejection Sampling
- Rejection Sampling fine-tuning
- เทคนิคที่สุ่มผลลัพธ์ที่เป็นไปได้หลายรายการต่อหนึ่งพรอมต์ จากนั้นคัดเลือกผลลัพธ์ที่ได้คะแนนสูงสุดจาก Reward Model เพื่อนำมาใช้เป็นชุดข้อมูลตัวอย่างจริง (Ground Truth) สำหรับการอัปเดต Gradient แบบ Supervised
- Ghost Attention (GAtt)
- วิธีการ Fine-tuning ที่รักษาคำสั่งให้อยู่ตลอดการสนทนาหลายรอบโดยการสังเคราะห์บริบทของพรอมต์และทำ Masking ค่า Loss ของโทเคนในรอบก่อนหน้า
- Safety RM and Helpfulness RM
- Reward Model สองตัวที่แยกจากกัน โดยตัวหนึ่งฝึกด้วยข้อมูลเชิงเปรียบเทียบด้านความปลอดภัย (Adversarial) และอีกตัวฝึกด้วยข้อมูลด้านประโยชน์ทั่วไป เพื่อป้องกันการสูญเสียประสิทธิภาพด้านใดด้านหนึ่ง
- Context Distillation
- เทคนิคที่สร้างข้อความจากโมเดลโดยมีคำสั่งเริ่มต้นด้านความปลอดภัยกำกับไว้ จากนั้นนำผลลัพธ์ที่ได้ไป Fine-tune โมเดลพื้นฐานโดยไม่ต้องใส่คำสั่งเริ่มต้นนั้นอีก
- False Refusal
- พฤติกรรมที่ผิดพลาดซึ่งโมเดลปฏิเสธที่จะตอบคำถามที่ชอบธรรมและปลอดภัยของผู้ใช้ อันเนื่องมาจากกฎเกณฑ์ความปลอดภัยหรือคำกระตุ้น (Trigger Words) ที่อ่อนไหวเกินไป
- Inter-Rater Reliability (IRR)
- การวัดทางสถิติ (ประเมินโดยใช้ AC1/2 ของ Gwet) เพื่อหาปริมาณความสอดคล้องกันในการตัดสินใจระหว่างผู้ประเมินที่เป็นมนุษย์ในด้านความปลอดภัยและประโยชน์
คำถามที่พบบ่อย
Llama 2 มีขนาดพารามิเตอร์ใดบ้างที่เปิดให้บุคคลทั่วไปดาวน์โหลดใช้งาน?
Meta ได้ปล่อยโมเดลขนาด 7B, 13B และ 70B ทั้งในรูปแบบ Llama 2 พื้นฐานและ Llama 2-Chat ที่ปรับแต่งมาเพื่อการสนทนา ส่วนขนาด 34B นั้นได้รับการประเมินในเอกสารวิจัยแต่ยังไม่ได้ปล่อยออกมา เนื่องจากมีข้อจำกัดด้านเวลาในการทำ Red-teaming
Llama 2 แตกต่างจาก Llama 1 ในแง่ของข้อมูล Pretraining และสถาปัตยกรรมอย่างไร?
Llama 2 ผ่านการฝึกฝนด้วยข้อมูลขนาด 2.0 ล้านล้านโทเคน (มากกว่า Llama 1 ถึง 40%) ขยาย Context Window เพิ่มเป็นสองเท่าที่ 4,096 โทเคน และเพิ่มระบบ Grouped-Query Attention (GQA) เข้ามาสำหรับโมเดลขนาด 34B และ 70B
เหตุใดผู้วิจัยจึงต้องฝึก Reward Model แยกกันระหว่างด้านความปลอดภัยและด้านประโยชน์?
การให้ประโยชน์และความปลอดภัยมักจะขัดแย้งกันในระหว่างการสร้างแบบจำลองความพึงพอใจ (เช่น การตอบคำขอที่ไม่ปลอดภัยอาจเป็นประโยชน์ต่อคำถามนั้น แต่เป็นการละเมิดความปลอดภัย) การแยกสองส่วนนี้ออกจากกันช่วยให้สามารถปรับแต่งค่าได้อย่างจำเพาะเจาะจง และป้องกันไม่ให้เป้าหมายใดเป้าหมายหนึ่งไปลดทอนคุณภาพของอีกด้าน
Ghost Attention (GAtt) ป้องกันการลืมคำสั่งในการสนทนาหลายรอบได้อย่างไร?
GAtt ทำงานโดยต่อท้ายคำสั่งของระบบเข้ากับรอบคำถามของผู้ใช้ในการสนทนาหลายรอบที่สังเคราะห์ขึ้น จากนั้นสุ่มคำตอบและฝึกโมเดลโดยคำนวณ Loss เฉพาะรอบเป้าหมาย พร้อมทั้งตัดคำสั่งออกจากรอบก่อนหน้า ทำให้ Attention Layers เรียนรู้ที่จะจดจ่ออยู่กับข้อความคำสั่งเริ่มต้นของระบบได้ตลอดการสนทนาที่ยาวนาน
คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด