★
ลิงก์ต้นฉบับ: https://zhuanlan.zhihu.com/p/1998418717743289472
ผู้เขียน: Wang Yunhe
เมื่อครุ่นคิดถึงหัวข้อนี้ สิ่งแรกที่ฉันนึกถึงคือคำถามที่ผู้มีประสบการณ์ท่านหนึ่งเคยถามไว้เมื่อหลายปีก่อน: กระบวนทัศน์รุ่นต่อไปของ Transformer คืออะไร? ตอนนั้นฉันคิดว่า Transformer เป็นผลลัพธ์ของการสะสมเทคโนโลยีในระยะยาวที่เปลี่ยนจากปริมาณสู่คุณภาพ แนวคิดของมัน (เช่น โมดูล Non-local) ได้ปรากฏในการวิจัยด้านการมองเห็นยุคแรกๆ อยู่แล้ว และกลไก Convolution กับ Attention ก็พัฒนาอย่างเติมเต็มกันมาโดยตลอด โมเดล Diffusion เองไม่ใช่ตัวแทนโดยตรงของ Transformer แต่วิธีการสร้างแบบจำลองของมันมีศักยภาพที่จะสร้างผลกระทบอย่างมีนัยสำคัญต่อกระบวนทัศน์ Autoregressive
ฉันติดตามโมเดลภาษาด้วย Diffusion มานานแล้ว แต่ด้วยข้อจำกัดด้านเวลาและทรัพยากรการคำนวณ ทำให้ยังไม่สามารถสำรวจอย่างลึกซึ้งได้ การเข้าสู่โครงสร้างโมเดล Diffusion จากมุมมองของข้อความล้วนเป็นเส้นทางที่ค่อนข้างเป็นไปได้ในปัจจุบัน และหากปัญหาพื้นฐานหลายประการไม่ได้รับการแก้ไข ความก้าวหน้าของเวอร์ชันมัลติโมดัลก็จะถูกขัดขวางเช่นกัน ดังนั้น บทความนี้จะมุ่งเน้นไปที่พื้นฐานอัลกอริธึมของโมเดลภาษาด้วย Diffusion เป็นอันดับแรก
ตั้งแต่ช่วงครึ่งหลังของปีที่แล้ว ทีมของเราได้เริ่มสำรวจในหลายทิศทาง จากการได้รับแรงบันดาลใจจากผู้เชี่ยวชาญภายในท่านหนึ่ง ฉันได้เขียนบทความเชิงวิเคราะห์เสร็จสิ้นก่อนวันปีใหม่ ในการนำเสนอที่ AAAI ล่าสุด เราได้เน้นแนะนำผลงานหลายชิ้นของทีม รวมถึงการฝึก Next-Block Diffusion, โครงสร้างแบบชั้น Diffusion in Diffusion และ Diffusion Agent เป็นต้น

สไลด์นำเสนอที่เกี่ยวข้องได้เผยแพร่บนเว็บไซต์โครงการแล้ว (ฉันเชื่อเสมอว่าการนำโมเดล Diffusion ไปใช้กับสถานการณ์การสร้างโค้ดและเอเจนต์มีอนาคตที่สดใสมาก):
* เว็บไซต์โครงการ Noah Diffusion LLM: https://noah-dllm.github.io/
เกี่ยวกับความท้าทายที่โมเดล Diffusion กำลังเผชิญในปัจจุบัน เราได้เขียนข้อเสนอการวิจัยขึ้นมาหนึ่งฉบับด้วย แนวคิดนี้มีต้นกำเนิดมาจากการอภิปรายชุดหนึ่งที่ลอนดอน แคนาดา และที่อื่นๆ ก่อนหน้านี้ ต่อมาฉันได้รวบรวมเป็นมุมมองภาษาจีนดังต่อไปนี้:
-
สถาปัตยกรรมที่มีประสิทธิภาพในการอนุมาน (KV Cache / Attention / โครงสร้างโมเดล): โมเดล Diffusion ในปัจจุบันโดยรวมยังคงใช้กรอบงานของโมเดล Autoregressive โดยเฉพาะอย่างยิ่งกลไก Attention (รวมถึงการคำนวณ QKV และ KV Cache) ในโหมดการอนุมาน Next Token Prediction แบบ Autoregressive การนำ KV Cache กลับมาใช้ใหม่สามารถเพิ่มประสิทธิภาพได้อย่างมาก อย่างไรก็ตาม ความสุ่มของตำแหน่งที่ถูก Mask ในโมเดล Diffusion ทำให้กลไกการนำ KV Cache กลับมาใช้ใหม่ล้มเหลว นี่เป็นหนึ่งในคอขวดหลักที่ขัดขวางการใช้งานอย่างกว้างขวาง ดังนั้น เราจำเป็นต้องออกแบบโครงสร้าง Attention ที่เหมาะสมกว่า หรือวิธีการ Mask ที่มีโครงสร้างมากขึ้นสำหรับโมเดล Diffusion เพื่อรักษาข้อดีในการถอดรหัสไว้ ในขณะเดียวกันก็เพิ่มประสิทธิภาพการอนุมาน
- แนวคิดเบื้องต้น: จากกลไก KV Cache แบบ Autoregressive หากสามารถทำให้ Token ที่ถูก Mask ในโมเดล Diffusion ระหว่างกระบวนการ Denoising ปฏิบัติตามลำดับจากซ้ายไปขวาอย่างเคร่งครัด ดูเหมือนว่าจะสามารถแก้ปัญหาการนำกลับมาใช้ใหม่ได้ แต่นี่ไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบ เราจะพยายามสำรวจกลไก Attention หรือกลไกที่เกี่ยวข้องกับ KV ที่ออกแบบมาเฉพาะสำหรับโมเดล Diffusion มากขึ้น
-
Tokenizer ที่เหมาะสมกว่า: โมเดล Diffusion ในอุดมคติไม่ควรปฏิบัติตามกระบวนทัศน์ที่มีอยู่ของ Autoregressive อย่างสมบูรณ์ แต่ควรมีโครงสร้างเหมือนการคิดของมนุษย์ เช่น สร้างโครงร่างโดยรวมสำหรับหัวข้อที่กำหนดก่อน แล้วจึงขยายรายละเอียดเนื้อหาส่วนย่อย โดยพื้นฐานแล้ว มนุษย์มักจะทำงานในหลายระดับเมื่อเขียนหรือรายงาน แต่ Encoder ของโมเดล Autoregressive มักจะใช้อัลกอริธึมการแบ่งส่วนและการนับแบบเดียวกัน ทำให้粒度ของ Token เป็นแบบเดียว สำหรับโมเดล Diffusion Tokenizer ของมันควรมีโครงสร้างด้วยหรือไม่? ตัวอย่างเช่น การใช้ Tokenizer ที่มี粒度ต่างกัน บางตัวรับผิดชอบความสัมพันธ์ระหว่างย่อหน้า บางตัวรับผิดชอบการแก้ไขรายละเอียด บางตัวเหมาะสำหรับการเติมเต็มช่องว่างอย่างรวดเร็ว
- แนวคิดเบื้องต้น: ความคิดง่ายๆ อย่างหนึ่งคือการสร้าง Vocabulary แบบพีระมิดที่มี Token ซ้อนทับกัน โดยอาศัยสถิติจากข้อมูลส่วนกลาง (เช่น ส่วนหัวและส่วนท้าย) สามารถอ้างอิงกระบวนทัศน์ “ส่วนกลางก่อนส่วนย่อย” หรือในทางกลับกันในการสร้างภาพ แต่เพื่อใช้ประโยชน์จาก Vocabulary ประเภทนี้ กระบวนทัศน์การฝึกและการอนุมานที่สอดคล้องกันก็จำเป็นต้องปรับเปลี่ยนด้วย
-
กระบวนทัศน์การปรับให้เหมาะสมที่ดีกว่า (การฝึกและการปรับให้เหมาะสม): ปัญหาการปรับให้เหมาะสมของโมเดล Diffusion ที่มักถูกพูดถึงคือประสิทธิภาพการคำนวณ Gradient ที่ค่อนข้างต่ำ ในกรณีที่รุนแรง ลำดับยาว (เช่น 128K) มีเพียง Token ที่ถูก Mask หนึ่งตัว แต่ต้องคำนวณ Forward และ Backward Propagation ทั้งหมด นั่นคือใช้การคำนวณจำนวนมากสำหรับ Token เดียว ในขณะที่ผลตอบรับ Gradient ที่ได้รับอาจมีน้อย ซึ่งหมายความว่าด้วยค่าใช้จ่ายในการฝึกที่เท่ากัน ความแม่นยำของโมเดล Diffusion มักจะไม่เท่ากับโมเดล Autoregressive นอกจากนี้ โมเดล Diffusion ในปัจจุบันใช้การ Mask แบบสุ่มกับข้อมูลในขั้นตอนการฝึกล่วงหน้า ในขณะที่ขั้นตอนการปรับแต่งด้วยคำสั่ง (Instruction Tuning) จะ Mask ส่วนคำตอบทั้งหมด อาจมีปัญหาความไม่สอดคล้องกันระหว่างขั้นตอนการฝึกที่แตกต่างกัน ซึ่งเป็นความท้าทายสำหรับการเรียนรู้เสริม (Reinforcement Learning) ในภายหลังด้วย อัตราส่วนการ Mask เองก็เป็นหัวข้อวิจัยสำคัญที่ต้องปรับเปลี่ยนแบบไดนามิกโดยผสมผสานกับขั้นตอนการฝึกที่แตกต่างกัน
- แนวคิดเบื้องต้น: นี่เป็นปัญหาที่ท้าทายอย่างมาก ในขณะนี้ที่คิดได้คือการสำรวจแผนการที่มีประสิทธิภาพมากขึ้นในกระบวนการฝึก ในเวลาเดียวกัน ในขั้นตอนการฝึกล่วงหน้าและการปรับแต่งด้วยคำสั่ง สามารถนำกลยุทธ์การผสมผสานมากขึ้นมาใช้เพื่อปรับปรุงผลการฝึกของโมเดล Diffusion
-
วิธีการ Mask ที่ดีกว่า (หลาย Mask Token): โมเดล Diffusion กระแสหลักในปัจจุบันมักใช้เพียงหนึ่ง Mask Token ซึ่งเรียบง่ายและมีประสิทธิภาพ แต่มีความหลากหลายไม่เพียงพอ ตำแหน่งที่ถูก Mask ทั้งหมดได้รับการจัดการด้วย Token เดียวกัน ซึ่งจำกัดในด้านฟังก์ชันการทำงาน นอกจากนี้ ในกระบวนทัศน์การ Mask ที่มีอยู่ปัจจุบัน ความน่าจะเป็นที่ทุกตำแหน่งจะถูกจัดการเท่ากัน ตำแหน่งง่ายๆ บางตำแหน่งอาจไม่จำเป็นต้องถูก Mask และตำแหน่งที่ถูก Mask ต่างๆ ขาดการเชื่อมโยงกัน ไม่มีกลไกการ Mask ที่มีโครงสร้าง ดังนั้น วิธีการปรับปรุงวิธีการ Mask ในปัจจุบันที่ค่อนข้างพื้นฐาน เพื่อขุดศักยภาพของโมเดล Diffusion ต่อไป เป็นปัญหาที่คุ้มค่าต่อการอภิปรายอย่างลึกซึ้ง
- แนวคิดเบื้องต้น: ขยายจาก Mask Token เดียวเป็นหลายตัว และให้สมมติฐานเบื้องต้นบางอย่าง เพื่อให้ Token ที่เพิ่มเข้ามาสามารถทำงานร่วมกันและทำงานได้อย่างมีประสิทธิภาพ นอกจากนี้ยังสามารถพิจารณาวิธีการเพิ่ม Mask ที่ก้าวหน้ากว่า โดยเฉพาะอย่างยิ่งที่มีโครงสร้าง ซึ่งอาจมีศักยภาพมากขึ้นในสถานการณ์งานที่ซับซ้อน เช่น การสร้างโค้ด
-
ผลลัพธ์ความยาวแบบไดนามิก: แม้ว่าโมเดล Diffusion จะมีคุณลักษณะการถอดรหัสแบบขนานที่ดี สามารถสร้างผลลัพธ์สำหรับปัญหาที่กำหนดได้อย่างรวดเร็ว แต่โดยปกติจำเป็นต้องระบุความยาวผลลัพธ์ล่วงหน้า และพึ่งพา EOS Token เพื่อหยุดการสร้าง ซึ่งคล้ายกับการเขียนเรียงความตามหัวข้อ: กำหนดให้เขียนเรียงความ 800 คำ โมเดล Diffusion สามารถหยุดภายใน 800 คำ แต่ยากที่จะจัดการกับกรณีที่เกินความยาว แม้ว่าข้อมูลการฝึกจะมีความยาวต่างกัน ทำให้โมเดลมีความยืดหยุ่นต่อความยาวที่คาดหวัง แต่ในกรณีที่รุนแรง (เช่น เปรียบเทียบขนาดของ 9.11 กับ 9.8 แต่สร้าง 100K Token) จะไม่มีประสิทธิภาพและอาจส่งผลต่อความแม่นยำ ดังนั้น วิธีการอนุมานความยาวผลลัพธ์ที่เหมาะสมที่สุดโดยปรับตัวตามปัญหาที่ป้อนเข้า เป็นทิศทางที่คุ้มค่าต่อการสำรวจ
- แนวคิดเบื้องต้น: เพิ่มการทำนายตำแหน่ง EOS พร้อมกันในการฝึกโมเดล เพื่อให้กระบวนการอนุมานสามารถรับรู้ปัญหาที่ป้อนเข้า ลดการคำนวณที่ไม่มีประสิทธิภาพ นอกจากนี้ เทคโนโลยีเช่น Parameter Reuse อาจช่วยงาน Extrapolation ที่เกินความยาวที่กำหนด
-
วิศวกรรมข้อมูลที่เหมาะสมกับโมเดล Diffusion: โมเดล Diffusion ส่วนใหญ่ในปัจจุบันนำชุดข้อมูลของโมเดล Autoregressive กลับมาใช้ใหม่ แม้แต่โมเดล Diffusion ที่ดัดแปลงมาจากโมเดล Autoregressive ก็ยังใช้ข้อมูลและเทคโนโลยีที่สะสมไว้ต่อไป ความรู้ที่อยู่ในข้อมูลทั่วไปเหล่านี้สามารถเรียนรู้โดยโมเดล Diffusion ได้แน่นอน แต่หากต้องการกระตุ้นศักยภาพของโมเดล Diffusion ให้มากขึ้น เพื่อให้เรียนรู้ความรู้ที่มีโครงสร้างมากขึ้นและมีความสามารถในการให้เหตุผลที่แข็งแกร่งขึ้น ข้อมูลที่มีอยู่อาจยังมีพื้นที่สำหรับการปรับปรุง เนื่องจาก Mask Token ในขั้นตอนการฝึกของโมเดล Diffusion ถูกเพิ่มเข้าไปแบบสุ่ม การต้องการปรับปรุงในระดับข้อมูลโดยผสมผสานคุณลักษณะนี้ ความท้าทายและปริมาณงานที่ต้องเผชิญยังคงมหาศาล
-
การปรับให้เหมาะสมโมเดลที่มีประสิทธิภาพด้านทรัพยากร: ในขั้นตอนปัจจุบัน การพูดถึงการบีบอัดโมเดลแบบละเอียด (เช่น การทำให้ Sparsity ในระดับน้ำหนักหรือระดับนิวรอน) ในโมเดล Diffusion อาจยังเร็วเกินไป เนื่องจากสถาปัตยกรรมโมเดลพื้นฐานหลายอย่างยังไม่บรรจบกัน อย่างไรก็ตาม การวิจัยเพื่อเพิ่มประสิทธิภาพการอนุมานโดยรวมของโมเดล Diffusion มีคุณค่าอย่างมีนัยสำคัญ โดยเฉพาะอย่างยิ่งหลังจากเพิ่มขนาดแบทช์ (batch size) การอนุมาน Diffusion แบบ Global ในบางสถานการณ์แสดงข้อเสียเปรียบเมื่อเทียบกับโมเดล Autoregressive นอกจากนี้ การเพิ่มประสิทธิภาพของกระบวนการ Denoising เอง สามารถนำผลประโยชน์ที่สำคัญมาสู่โมเดล Diffusion ในรูปแบบใดก็ได้ จากผลการประเมินที่มีอยู่ โมเดล Autoregressive ยังคงมีข้อได้เปรียบที่ชัดเจน ดังนั้น วิธีการใช้โมเดล Autoregressive และ Diffusion ร่วมกันเพื่อให้ได้ผลประโยชน์โดยรวมที่มากขึ้น ก็คุ้มค่าต่อการอภิปรายอย่างลึกซึ้ง
- แนวคิดการปรับให้เหมาะสม: สามารถลองทิศทางที่มีศักยภาพในการได้รับผลประโยชน์มากเป็นอันดับแรก: การกลั่นหลายขั้นตอนของ Diffusion (อ้างอิงงานที่เกี่ยวข้องในด้านการสร้างภาพ เพื่อลดขั้นตอน Denoising), Speculative Inference, การ Quantization หลังการฝึกด้วยบิตต่ำเพื่อลดค่าใช้จ่ายในการอนุมาน นอกจากนี้ยังสามารถสำรวจการผสมผสานที่มีประสิทธิภาพแบบเติมเต็ม เช่น ใช้โมเดล Diffusion ในสถานการณ์ลำดับยาว แบทช์เดียว และใช้โมเดล Autoregressive ในสถานการณ์การรวมข้อมูลแบทช์ใหญ่
-
การคิดช้าและการคิดโดยนัย: ในกระบวนการปรับแต่งภายใต้การดูแล (Supervised Fine-Tuning) ของโมเดล Diffusion สำหรับคำถามที่กำหนด โมเดลจะสร้างคำตอบผ่านการ Denoising แบบวนซ้ำในพื้นที่ความยาวที่กำหนดไว้ล่วงหน้าและทำการเปรียบเทียบ หากใช้วิธีการ Chain-of-Thought แบบลำดับดั้งเดิมเพื่อให้ได้ “การคิดช้า” สำหรับโมเดล Diffusion อาจไม่มีประสิทธิภาพสูง และไม่ได้ปลดปล่อยศักยภาพของมันอย่างเต็มที่ ยังมีพื้นที่สำหรับการปรับปรุงอย่างมากในด้านการสร้างข้อมูลและวิธีการปรับให้เหมาะสม นอกจากนี้ ศักยภาพอีกอย่างหนึ่งของโมเดล Diffusion คือการสนับสนุน “การ Mask ซ้ำ (Remasking)” – ในกระบวนการ Denoising สามารถรีเซ็ตและแก้ไข Token ที่มีความมั่นใจต่ำ ซึ่งให้ความเป็นไปได้มากขึ้นสำหรับการคิดลึกและการคิดโดยนัย การใช้ประโยชน์จากคุณลักษณะเหล่านี้อย่างเต็มที่ มีแนวโน้มที่จะเพิ่มความฉลาดของโมเดลต่อไป
- แนวคิดการปรับให้เหมาะสม: ประการแรก อาจจำเป็นต้องสร้างรูปแบบ Chain-of-Thought ใหม่สำหรับคุณลักษณะของโมเดล Diffusion เช่น Chain-of-Thought ที่มีโครงสร้าง ในสถานการณ์การสร้างโค้ดและเอเจนต์ การเริ่มจากสร้างโครงร่างกรอบงาน แล้วจึงเติมรายละเอียด อาจให้ผลลัพธ์ที่ดีกว่า ประการที่สอง สามารถสำรวจกระบวนการคิดใน粒度ที่แตกต่างกัน การแก้ไขและการดำเนินการ Mask ซ้ำในกระบวนการมากขึ้น
-
วิศวกรรมพรอมต์และความทรงจำที่มีโครงสร้าง: แม้ว่าอัลกอริธึมที่มีอยู่สามารถฝึกโมเดล Autoregressive ต่อในโหมด Diffusion หรือให้คุณลักษณะ Autoregressive บางส่วนแก่โมเดล Diffusion ผ่านกลไกการถอดรหัสแบบบล็อก แต่วิธีการ Mask และการถอดรหัสของโมเดล Diffusion นั้นแตกต่างกันในที่สุด ความพิเศษของมันคือไม่เพียงแต่สามารถ “มองไปข้างหน้า” ที่ Token แต่ยังสามารถ “มองย้อนกลับ” ได้ ซึ่งทำให้เกิดความคิด: มีรูปแบบพรอมต์และวิธีการให้พรอมต์ที่มีประสิทธิภาพมากขึ้นที่เหมาะสมกับโหมด Diffusion หรือไม่? ตัวอย่างเช่น ให้เพียงไม่กี่ Token สำคัญระดับ Global ก็สามารถขับเคลื่อนกระบวนการถอดรหัสและการให้เหตุผลที่สมบูรณ์ได้อย่างรวดเร็ว ซึ่งมีคุณค่าอย่างมากสำหรับสถานการณ์เช่น การสร้างโค้ด การวิจัยเชิงลึก เอเจนต์ เป็นต้น
- แนวคิดการปรับให้เหมาะสม: วิธีโดยตรงอย่างหนึ่งคือเปลี่ยนจากพรอมต์แบบถามตอบแบบ Autoregressive ดั้งเดิม เป็นพรอมต์แบบเติมคำในช่องว่างที่เหมาะกับโมเดล Diffusion โดยเฉพาะอย่างยิ่งสามารถช่วยสร้างคำตอบที่ดีขึ้นโดยให้ข้อมูลสำคัญ นอกจากนี้ยังสามารถสำรวจวิธีการพัฒนาพรอมต์ด้วยตัวเองเพื่อการปรับให้เหมาะสมเชิงลึก ในเวลาเดียวกัน วิธีการเหล่านี้ยังสามารถนำไปใช้กับงานที่เกี่ยวข้องกับการสร้างเสริมด้วยการค้นคืน (Retrieval-Augmented Generation) และความทรงจำได้
-
สถาปัตยกรรมแบบรวมในอนาคต: ในงานมัลติโมดัลหรือมุมมองหลายมุม แผนการฝึกแบบ End-to-end ตั้งแต่เริ่มต้น มักถูกมองว่าสามารถกระตุ้นขีดจำกัดความสามารถของโมเดลได้มากขึ้น อย่างไรก็ตาม ความจริงมักเผชิญกับความท้าทายมากมาย: การจัดแนวข้อมูลของโมดัลที่แตกต่างกัน อัตราส่วนข้อมูล แม้แต่โมเดลและเป้าหมายการปรับให้เหมาะสมที่ใช้สำหรับงานที่แตกต่างกันนั้นแตกต่างกันโดยสิ้นเชิง (ตัวอย่างเช่น งานประเภทความเข้าใจในปัจจุบันมักใช้โมเดล Autoregressive ในขณะที่งานประเภทการสร้างมักใช้โมเดล Diffusion) อนาคตเป็นของมัลติโมดัล ดังนั้นการสำรวจโครงสร้างโมเดลและกระบวนทัศน์การฝึกที่รวมเป็นหนึ่งเดียวกันมากขึ้นจึงมีความสำคัญอย่างยิ่ง และความสามารถที่โมเดล Diffusion แสดงให้เห็นในปัจจุบันมีศักยภาพเช่นนี้
- แนวคิดการปรับให้เหมาะสม: ยกตัวอย่าง
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/23002
- แนวคิดการปรับให้เหมาะสม: ยกตัวอย่าง
