2 คะแนน โดย GN⁺ 2024-05-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Consistency Large Language Models (CLLM)

  • โดยทั่วไป LLM ถูกมองว่าเป็นดีโค้ดเดอร์แบบลำดับที่ทำงานด้วยการถอดรหัสโทเค็นทีละตัวอย่างต่อเนื่อง
  • บล็อกนี้แสดงให้เห็นว่า LLM ที่ผ่านการพรีเทรนแล้วสามารถแปลงเป็นดีโค้ดเดอร์แบบขนานที่มีประสิทธิภาพได้อย่างง่ายดาย
  • Consistency Large Language Models (CLLM) เป็นตระกูลดีโค้ดเดอร์แบบขนานรูปแบบใหม่ที่สามารถถอดรหัสลำดับโทเค็นจำนวน n ตัวได้อย่างมีประสิทธิภาพในแต่ละขั้นของการอนุมาน เพื่อลดเวลาแฝงของการอนุมาน
  • CLLM เลียนแบบกระบวนการรับรู้ของมนุษย์ที่มักสร้างประโยคสมบูรณ์ในใจก่อนจะพูดออกมาทีละคำ และสามารถฝึกได้อย่างมีประสิทธิภาพเพียงแค่ทำ fine-tuning กับ LLM ที่พรีเทรนไว้แล้ว
  • CLLM ถูกฝึกให้ทำการถอดรหัสแบบขนาน โดยแมปจากลำดับโทเค็นจำนวน n ตัวที่ถูกสุ่มกำหนดค่าเริ่มต้น ไปเป็นผลลัพธ์เดียวกับการถอดรหัสแบบอัตถดถอย (autoregressive, AR) ให้ได้ภายในจำนวนขั้นที่น้อยที่สุดเท่าที่เป็นไปได้
  • จากผลการทดลอง CLLM เพิ่มความเร็วในการสร้างข้อความได้ 2.4 ถึง 3.4 เท่าเมื่อเทียบกับดีโค้ดเดอร์ AR แบบเดิม และมีประสิทธิภาพทัดเทียมหรือดีกว่าเทคนิคเร่งการอนุมานอย่าง Medusa2 หรือ Eagle
  • CLLM สามารถทำความเร็วระดับนี้ได้โดยไม่ต้องมีต้นทุนหน่วยความจำเพิ่มเติม

ที่มาและข้อจำกัดของ Jacobi decoding

  • LLM สร้างโทเค็นทีละตัวด้วยวิธี AR decoding จึงมีเวลาแฝงสูงเมื่อต้องตอบข้อความยาว
  • Jacobi decoding มีที่มาจากวิธีแก้สมการไม่เชิงเส้นของ Jacobi และ Gauss-Seidel และได้รับการพิสูจน์แล้วว่าให้ผลเทียบเท่ากับการสร้างแบบ AR ที่ใช้ greedy sampling
  • Jacobi decoding ปรับกระบวนการสร้างแบบลำดับใหม่ให้เป็นระบบสมการไม่เชิงเส้นจำนวน n สมการที่มีตัวแปร n ตัวบนพื้นฐานของการวนซ้ำแบบ Jacobi เพื่อให้ประมวลผลแบบขนานได้
  • ในแต่ละรอบการวนซ้ำ สามารถทำนายโทเค็นที่ถูกต้องได้ตั้งแต่ 1 ตัวขึ้นไป จึงมีศักยภาพในการเร่ง AR decoding
  • อย่างไรก็ตาม ในทางปฏิบัติ LLM ที่ฝึกมาด้วย AR แทบไม่สามารถสร้างโทเค็นที่ถูกต้องได้เมื่อโทเค็นก่อนหน้ามีข้อผิดพลาด ทำให้การวนซ้ำ Jacobi ส่วนใหญ่ได้การแก้ไขเพียงจุดเดียวสำหรับลำดับโทเค็น n ตัว และส่งผลให้เกิดวิถี Jacobi (trajectory) ที่ยาวขึ้น
  • แม้ lookahead decoding หรือ speculative decoding จะช่วยบรรเทาความไม่มีประสิทธิภาพของ Jacobi decoding ได้ แต่จะมีต้นทุนหน่วยความจำเพิ่มเติมระหว่างการอนุมาน ขณะที่ CLLM ไม่มีปัญหานี้

วิธีการฝึก CLLM

  • การฝึก CLLM แบ่งออกเป็นสองส่วนใหญ่ ๆ คือการเตรียมวิถี Jacobi และการปรับเหมาะค่าความสูญเสียแบบ consistency และ AR
  • ในขั้นเตรียมวิถี Jacobi จะตัดลำดับคำตอบทั้งหมดทีละ n โทเค็นและทำ Jacobi decoding แบบลำดับไปเรื่อย ๆ จนกว่าจะสร้างลำดับคำตอบครบ l โทเค็น โดยถือว่าลำดับที่สร้างขึ้นในแต่ละวิถีเป็นหนึ่งรายการข้อมูล
  • ระหว่างการฝึก จะทำการปรับเหมาะทั้ง consistency loss และ AR loss ร่วมกัน โดย consistency loss รับประกันการทำนายหลายโทเค็นพร้อมกัน ส่วน AR loss ช่วยให้ CLLM ไม่เบี่ยงเบนจาก LLM ต้นทางเพื่อคงคุณภาพการสร้างข้อความ
  • Global consistency (GC) loss จะลดระยะห่างระหว่างจุดใดก็ได้ในวิถี Jacobi กับจุดคงตัว เพื่อกระตุ้นให้ CLLM ทำนายจุดคงตัวได้จากทุกจุดในวิถี Jacobi
  • Local consistency (LC) loss จะบังคับให้สถานะที่อยู่ติดกันในวิถี Jacobi ให้ผลลัพธ์เดียวกัน
  • AR loss รวมถึง AR loss แบบดั้งเดิมที่อิงจากผลการสร้างของ LLM ต้นทาง โดยมีเป้าหมายเพื่อไม่ให้ CLLM หลุดออกจากการกระจายของโมเดลต้นทาง

ผลการทดลอง

  • การทดลองครอบคลุมงานเฉพาะโดเมน เช่น Spider (text-to-SQL), Human-Eval (เติมโค้ด Python), GSM8k (คณิตศาสตร์) รวมถึงงานสนทนาแบบเปิดกว้างอย่าง MT-bench
  • CLLM ให้การเพิ่มความเร็วสูงสุดเมื่อเทียบกับโมเดลต้นทาง และทำความเร็วได้ใกล้เคียงหรือดีกว่า Medusa2 โดยไม่มีต้นทุนเพิ่มเติมขณะอนุมาน
  • บน MT-bench เมื่อรวม CLLM กับ Medusa2 สามารถทำความเร็วได้แทบไม่ต่างจาก Medusa2 เพียงอย่างเดียว แต่ให้ความสามารถในการปรับใช้และประสิทธิภาพหน่วยความจำที่ดีกว่า
  • ต้นทุนการทำ fine-tuning ของ CLLM อยู่ในระดับพอเหมาะ และแม้ในกรณีที่ชุดข้อมูลมีขนาดใหญ่ ก็ยังได้ความเร็วเพิ่มราว 2.5 เท่าโดยใช้เพียงประมาณ 10% ของชุดข้อมูลในการสร้างวิถี Jacobi
  • CLLM สามารถทำนายโทเค็นต่อเนื่องหลายตัวได้อย่างถูกต้องภายในการวนซ้ำ Jacobi เพียงครั้งเดียวผ่านปรากฏการณ์ fast forwarding
  • CLLM แสดงความสามารถของ stationary token คือแม้โทเค็นก่อนหน้าจะผิด ก็ยังทำนายโทเค็นที่ถูกต้องล่วงหน้าและคงไว้โดยไม่เปลี่ยน
  • ผ่านการฝึก CLLM เรียนรู้แนวคิดทางภาษาที่สำคัญ เช่น collocation ทำให้สามารถอนุมานโครงสร้างได้จากทุกจุดในวิถี Jacobi และทำนายหลายคำพร้อมกันเพื่อลดจำนวนรอบการวนซ้ำ

ความเห็นของ GN⁺

  • CLLM ดูเหมือนจะแก้ปัญหาเวลาแฝงยาวของ AR decoding ใน LLM แบบเดิมได้อย่างมีประสิทธิภาพด้วยการใช้ Jacobi decoding โดยเฉพาะการเพิ่มความเร็วผ่านการถอดรหัสแบบขนานโดยไม่ต้องเพิ่มต้นทุนหน่วยความจำ ซึ่งน่าประทับใจมาก

  • วิธีการฝึกของ CLLM ดูค่อนข้างเรียบง่าย เพราะเป็นการทำ fine-tuning กับ LLM เดิมผ่าน consistency loss แต่มีความหมายมากตรงที่สามารถเรียนรู้คุณสมบัติทางภาษาสำคัญอย่าง collocation และยกระดับประสิทธิภาพของ parallel decoding ได้อย่างชัดเจน

  • อย่างไรก็ตาม CLLM ตั้งอยู่บนสมมติฐานของ greedy sampling จึงยังต้องมีการศึกษาต่อว่ามันจะทำงานได้ดีเพียงใดกับกลยุทธ์การ decoding ที่หลากหลายกว่านี้ อีกทั้งผลการทดลองในตอนนี้ยังจำกัดอยู่ที่ภาษาอังกฤษ จึงควรมีการตรวจสอบความสามารถในการทำให้ทั่วไปสู่ภาษาอื่น ๆ เพิ่มเติม

  • CLLM น่าจะเป็นแนวทางที่ใช้งานได้จริงในการเร่งความเร็วการตอบสนองของ LLM และอาจนำไปใช้ได้ดีในงานที่ต้องการความเป็นเรียลไทม์ เช่น เว็บเสิร์ชหรือแชตบอต

  • โดยส่วนตัวคาดหวังว่าวิธีการเรียนรู้แบบ consistency ของ CLLM อาจนำไปประยุกต์ใช้กับโมเดลสร้างข้อมูลชนิดอื่นนอกเหนือจาก LLM อย่าง GPT เช่น โมเดลสร้างภาพหรือโมเดลสังเคราะห์เสียงได้ด้วย และหวังว่าแนวคิดของ CLLM จะช่วยยกระดับประสิทธิภาพของโมเดลเชิงกำเนิดหลากหลายประเภทในอนาคต

1 ความคิดเห็น

 
GN⁺ 2024-05-09
ความคิดเห็นจาก Hacker News
  • หากฝึกวาดแบบมีการจับเวลาและวาดซ้ำ ๆ ในคลาสวาดภาพอิสระ ทักษะการวาดจะดีขึ้นอย่างมาก การฝึกวาดแบบเร่งรีบกลับช่วยพัฒนาความสามารถในการจับสัดส่วนและโครงร่างได้แม่นยำขึ้น
  • Jacobi decoding เหมือนกับ greedy autoregressive decoding แต่ในทางปฏิบัติควรตั้งค่า sampling temperature ให้มากกว่า 0 เพื่อหลีกเลี่ยงการวนซ้ำและคำตอบที่กว้างเกินไป
  • อีกไม่นานเราน่าจะตระหนักได้ว่าการฝึกโมเดลอาจไม่จำเป็น สิ่งที่ต้องมีคือการทำดัชนีและการสุ่มตัวอย่างที่ดี โดยพื้นฐานแล้ว LLM ก็เทียบได้กับฐานข้อมูลของชุดข้อมูลที่มีอินเทอร์เฟซ NLP ยอดเยี่ยม
  • การเพิ่มประสิทธิภาพด้าน inference ในงานวิจัย CLLM น่าสนใจมาก ต้นทุนการทำ fine-tuning ก็สมเหตุสมผล (ประมาณ 0.01% ของต้นทุน pre-training) และการปรับปรุงประสิทธิภาพก็ค่อนข้างสม่ำเสมอ
  • เนื่องจาก Jacobi trajectories ตัดเส้นทางที่มีอุณหภูมิสูงออก จึงอาจเป็นผลดีต่อการค้นคืนข้อมูล แต่ไม่ดีนักหากต้องการเพิ่มความสร้างสรรค์ให้สูงสุด
  • น่าจะดีถ้ามีฟีเจอร์ "ถามผู้เชี่ยวชาญ AI" สำหรับอธิบายว่าทำไม LLM จึงไม่ตอบแบบกำหนดตายตัวสำหรับพรอมป์ต์เดียวกัน
  • สงสัยว่าการเพิ่มความเร็วของ Groq(https://groq.com/) มาจากวิธีนี้หรือใช้แนวทางอื่น