- แม้ decoder-only Transformer จะกลายเป็นสถาปัตยกรรมมาตรฐานของ LLM แต่ attention noise ที่ทำให้พลาดข้อมูลสำคัญในบริบทยาวและกระจายความสนใจไปยังโทเค็นที่ไม่เกี่ยวข้อง ยังคงบั่นทอนประสิทธิภาพ
- differential attention แบ่ง query และ key ออกเป็น 2 กลุ่ม สร้าง softmax attention map 2 ชุด แล้วนำชุดที่สองซึ่งถ่วงด้วย λ ที่เรียนรู้ได้มาลบออก เพื่อคำนวณ attention score สุดท้าย
- ในการทดลองที่เพิ่มขนาดโมเดล จำนวนโทเค็นฝึก และความยาวคอนเท็กซ์ DIFF Transformer ให้ผลดีกว่า Transformer และต้องใช้เพียงประมาณ 65% ของขนาดโมเดลหรือโทเค็นฝึก เพื่อให้ได้ประสิทธิภาพใกล้เคียงกัน
- โมเดลนี้มีข้อได้เปรียบด้านการสร้างแบบจำลองบริบทยาว การค้นคืนข้อมูลสำคัญ การลดภาพหลอน, in-context learning, การให้เหตุผลทางคณิตศาสตร์ และการลด activation outlier โดยในงาน QA และสรุปความ ผลกระทบจากบริบทที่ไม่เกี่ยวข้องลดลง
- โครงสร้างโดยรวมยังคงเหมือน Transformer และเปลี่ยนเฉพาะ softmax attention เท่านั้น จึงสามารถคง จำนวนพารามิเตอร์และปริมาณการคำนวณ ให้เท่ากัน พร้อมนำ FlashAttention กลับมาใช้ได้
ปัญหา attention noise ของ Transformer
- decoder-only Transformer เป็นสถาปัตยกรรมมาตรฐานโดยพฤตินัยของ LLM และแกนหลักคือ attention mechanism ที่ใช้ softmax ถ่วงน้ำหนักความสำคัญของโทเค็นในลำดับ
- LLM มีความยากในการค้นหาข้อมูลสำคัญจากบริบทได้อย่างแม่นยำ โดยเฉพาะเมื่อมีบริบทที่ไม่เกี่ยวข้องจำนวนมาก เบาะแสคำตอบจะยิ่งถูกกลบได้ง่าย
- ในตัวอย่างที่ต้องหาคำตอบซึ่งถูกแทรกไว้กลางกองเอกสาร Transformer มีแนวโน้มจะให้ attention score แก่คำตอบจริงเพียงเล็กน้อย แต่กลับจัดสรรคะแนนสูงเกินไปให้กับบริบทที่ไม่เกี่ยวข้อง
- attention score ที่ไม่อาจมองข้ามได้ซึ่งถูกจัดสรรให้บริบทที่ไม่เกี่ยวข้องเช่นนี้ ทำหน้าที่เป็น attention noise
- ตัวอย่าง Multi-Needle Retrieval ใน Figure 1 แสดงความแม่นยำของ Transformer และ Differential Transformer ที่ 55% และ 85% ตามลำดับ
วิธีการทำงานของ Differential attention
- DIFF Transformer เป็นสถาปัตยกรรมพื้นฐานสำหรับ sequence modeling และ LLM โดยคง macro layout ของ Transformer เดิมไว้ และแทนที่ softmax attention ทั่วไปด้วย differential attention
- จากอินพุต
Xจะทำการโปรเจกต์ query, key, value โดยแบ่ง query และ key ออกเป็น 2 กลุ่มคือQ1, Q2, K1, K2ส่วน value ใช้เป็นV - เอาต์พุตของ attention คำนวณจากผลต่างของ softmax attention map สองชุด
DiffAttn(X) = (softmax(Q1K1^T / √d) − λ softmax(Q2K2^T / √d))V- เป็นโครงสร้างที่ลบ attention map ชุดที่สองออกจากชุดแรก เพื่อกำจัด common noise
λเป็น scalar ที่เรียนรู้ได้ และมีการ reparameterize ดังนี้เพื่อให้พลวัตการเรียนรู้เหมาะสมλ = exp(λq1 · λk1) − exp(λq2 · λk2) + λinit- ในการทดลองพื้นฐานใช้
λinit = 0.8 − 0.6 × exp(−0.3 · (l − 1)) - ยังได้พิจารณาวิธีใช้
λinitเดียวกันทุกเลเยอร์ เช่น0.8และจาก ablation พบว่าประสิทธิภาพค่อนข้างทนทานต่อความต่างของกลยุทธ์การกำหนดค่าเริ่มต้น
- แนวคิดนี้คล้ายกับ differential amplifier และหูฟังตัดเสียงรบกวน ที่ใช้ความต่างของสัญญาณสองชุดเพื่อลบ common-mode noise
- Naderi et al. พิสูจน์ว่า differential attention ทำให้ spectral distribution ของ attention matrix สมดุลมากขึ้น และแก้ปัญหา rank collapse ได้อย่างมีประสิทธิภาพ
โครงสร้าง Multi-head และสถาปัตยกรรมโดยรวม
- multi-head differential attention ใช้ projection matrix ที่ต่างกันในแต่ละ head และภายในเลเยอร์เดียวกันจะ แชร์ scalar λ ระหว่าง head
- เอาต์พุตของแต่ละ head จะผ่าน RMSNorm แยกกัน จากนั้นคูณด้วย
(1 − λinit)แล้วจึง concatenate ตามมิติ channel ก่อนผ่าน output projectionWO - สัญลักษณ์ GroupNorm ใน Figure 2 ใช้เน้นว่ามีการทำ normalization แยกอิสระในแต่ละ head
- differential attention มีแนวโน้มให้แพตเทิร์นที่ sparse มากกว่า ทำให้สถิติระหว่าง head มีความหลากหลายมากขึ้น
- การทำ normalization ราย head จะช่วยปรับแต่ละ head ให้เป็นมาตรฐานก่อน concatenate และปรับปรุง gradient statistics
- DIFF Transformer layer ทั้งหมดประกอบด้วย 2 โมดูล
MultiHead(LN(Xl)) + XlSwiGLU(LN(Yl)) + Yl
- ในเชิงโครงสร้างใช้ pre-RMSNorm และ SwiGLU ซึ่งเป็นแนวทางต่อยอดจากการปรับปรุงในตระกูล LLaMA
ประสิทธิภาพและเสถียรภาพในการฝึก
- differential attention สามารถนำ FlashAttention กลับมาใช้ได้โดยตรง จึงช่วยปรับปรุงประสิทธิภาพของโมเดลได้มาก
- จำนวน head กำหนดเป็น
h = dmodel / 2dโดยdคือ head dimension เดียวกับของ Transformer - การตั้งค่านี้มีไว้เพื่อให้ จำนวนพารามิเตอร์และความซับซ้อนในการคำนวณ เทียบเท่ากับ Transformer
- หลัง head normalization จะใช้ตัวคูณคงที่
(1 − λinit)เพื่อให้การไหลของ gradient สอดคล้องกับ Transformer - Appendix G แสดงให้เห็นว่า gradient flow โดยรวมยังคงใกล้เคียงกับ Transformer จึงสามารถสืบทอด hyperparameter ที่คล้ายกันและคงเสถียรภาพในการฝึกได้
ผลการทดลองและผลลัพธ์ในการใช้งาน
- การทดลอง language modeling ขยาย DIFF Transformer ในทิศทางของจำนวนพารามิเตอร์ โทเค็นฝึก และความยาวคอนเท็กซ์ที่เพิ่มขึ้น
- จาก scaling curve, DIFF Transformer ต้องใช้เพียงประมาณ 65% ของขนาดโมเดลหรือโทเค็นฝึก เพื่อให้ได้ประสิทธิภาพด้าน language modeling ใกล้เคียงกับ Transformer
- ใน downstream task ก็ให้ผลดีกว่า Transformer และในการประเมินลำดับยาว โมเดลสามารถใช้ประโยชน์จากคอนเท็กซ์ที่ยาวขึ้นได้อย่างมีประสิทธิภาพ
- ในการค้นคืนข้อมูลสำคัญ โมเดลมีรูปแบบที่ให้ attention score สูงกว่าแก่ span ของคำตอบ และให้คะแนนต่ำกว่ากับบริบทที่ไม่เกี่ยวข้อง
- ใน QA และ text summarization โมเดลถูกรบกวนจากบริบทที่ไม่เกี่ยวข้องน้อยลง จึงช่วยลด hallucination
- ใน in-context learning นอกจากเพิ่มความแม่นยำแล้ว ยังมีความทนทานต่อ order permutation ซึ่งถือเป็นปัญหาความ robust เรื้อรังได้ดีกว่า
- ผลลัพธ์ที่ช่วยลด activation outlier ยังเปิดโอกาสใหม่สำหรับ quantization
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
รู้สึกเหมือนกำลังพลาดสัญชาตญาณหลักตรงนี้ไป เข้าใจปัญหาว่า softmax attention แบบปกตินั้นให้ค่าน้ำหนักความสนใจกับสิ่งที่ไม่เกี่ยวข้องให้ใกล้ 0 ได้ยาก และก็เข้าใจด้วยว่าถ้ามีโครงสร้างแบบการลบ ก็สามารถสร้างค่าน้ำหนักความสนใจที่เป็น 0 พอดีหรือเกือบ 0 ได้โดยไม่ต้องพึ่งค่า activation ที่เป็น outlier
แต่โครงสร้างนี้ก็ดูเหมือนจะสร้าง ค่าน้ำหนักความสนใจติดลบ ได้ง่ายด้วย ซึ่งดูเทียบได้กับการให้ความสนใจเชิงบวกกับการกลับเครื่องหมายของ value vector ในเชิงสัญชาตญาณแล้วจึงรู้สึกว่าการรักษาสมดุลให้สิ่งที่ไม่สนใจทั้งหมดอยู่ใกล้ 0 คงทำได้ยาก ถึงอย่างนั้น Figure 1 ก็แสดงว่าแนวทางนี้ใช้งานได้ดี จึงไม่ได้สงสัยในความเป็นไปได้ เพียงแต่ยังนึกภาพไม่ออกว่าเครือข่ายทำสิ่งนี้อย่างเป็นรูปธรรมได้อย่างไร
exp()/1+∑exp()ประเด็นสำคัญคือมีการเพิ่ม 1 เข้าไปในตัวส่วน ในลิมิตด้านลบ softmax จึงสามารถเป็น 0 ได้ ไม่ใช่เป็น epsilon บางค่า และถ้าใส่ค่า 0 เพิ่มเข้าไปใน
xก็ให้ผลแบบเดียวกัน ข้อเสียคือถ้าจะทำให้ถูกต้องต้องฝึกโมเดลใหม่ตั้งแต่ต้นถ้าดูรูปค่าน้ำหนักความสนใจรูปแรก จะเห็นว่ามีคะแนนติดลบอยู่จริงในช่วงที่เป็นสัญญาณรบกวน ถึงอย่างนั้นความสนใจต่อช่วงนั้นก็เล็กมากอยู่แล้ว attention map อันที่สองเพียงแค่ต้องทำนายสัญญาณรบกวนของอันแรก และเพราะมันเข้าถึงอินพุตแรกได้ครบถ้วน นี่จึงเป็นงานที่ทำได้ค่อนข้างแม่นยำ
ถ้ากลับไปที่อุปมาในโลกจริงของงานวิจัย หูฟังตัดเสียงรบกวน สามารถสร้างสัญญาณหักล้างที่แม่นยำได้เพราะไมโครโฟนเข้าถึงเสียงที่เข้าหูได้ เช่นเดียวกัน attention map อันที่สองรู้ว่าอะไรถูกป้อนเข้าไปในอันแรก จึงสร้างสัญญาณหักล้างที่สอดคล้องกันได้ มันไม่สมบูรณ์แบบ แต่หูฟังตัดเสียงรบกวนก็ไม่สมบูรณ์แบบเช่นกัน และถึงอย่างนั้นก็ไปได้ถึง 99% ซึ่งเพียงพอจะช่วยเพิ่มประสิทธิภาพ
การ pruning เป็นวิธีที่มีการยอมรับในงานวิจัยอยู่แล้วว่าสามารถลดจำนวนพารามิเตอร์ได้อย่างน่าทึ่ง และลดได้ราว 40% แม้โมเดลจริงอาจไม่ได้ทำงานแบบนั้นเป๊ะ ๆ แต่สุดท้ายถ้ามันออกมาในรูปที่ประมาณค่า Transformer ปกติก็คงไม่น่าแปลกใจ
ฉลาดมาก ชอบงานละเอียดแบบนี้ และการเปลี่ยนแปลงก็น้อยจนดูเหมือนคนอื่นจะนำไปใช้ได้ง่าย ยอดเยี่ยม
แต่ประโยคสุดท้ายในช่วงเกริ่นของหัวข้อ "2 Differential Transformer" ทำให้กังวลนิดหน่อย เขาบอกว่าใช้การปรับปรุงจากงานก่อนหน้า แต่จากบริบททางไวยากรณ์ยังไม่ชัดว่าการปรับปรุงนั้นถูกใส่ทั้งใน Transformer ปกติและ diff Transformer หรือไม่ ถ้าไม่ใช่ การเปรียบเทียบก็จะคลุมเครือ คำว่า "main difference" ในประโยคก่อนหน้าทำให้สัญญาณเตือนดังขึ้นทันที
แน่นอนว่านักวิจัยที่มีเจตนาดีย่อมอาจรู้เรื่องนี้อยู่แล้วจนไม่รู้สึกว่าต้องชี้ให้ชัด แต่ในงานตีพิมพ์บางส่วนของวงการนี้ ระวังไว้มากเท่าไรก็ไม่เกินไป
มันทำให้นึกถึงสถาปัตยกรรม MoE ซึ่งในโลกนั้นจะเลือกโมเดลขนาดเล็กที่เหมาะที่สุดมาจัดการงานอนุมานบางส่วนหรือทั้งหมด เลยสงสัยว่า MoE ได้ประโยชน์คล้ายกันหรือไม่ จากการที่ Transformer ถูกบังคับให้แยกแยะความเป็นไปได้ทางเลือกต่าง ๆ
ไม่ว่าอย่างไร ถ้าตัวเลขเหล่านี้ยังคงอยู่ ก็น่าจะถูกนำไปใช้อย่างแพร่หลาย อย่างที่บอก แทบไม่เห็นข้อเสียเลยและก็ดูทำซ้ำได้ง่าย
เช่นเดียวกับหลายสิ่งในโลกใหม่ของแมชชีนเลิร์นนิงนี้ มันน่าสับสนมากว่าทำไมสิ่งนี้ถึงใช้ได้จริง
อุปมาเรื่องหูฟังตัดเสียงรบกวนช่วยได้บ้าง แต่ในกรณีนั้นเรารู้ชัดว่าอะไรคือสัญญาณและอะไรคือสัญญาณรบกวน ถ้ารู้แบบนั้นในกรณีนี้ด้วย ก็ไม่เข้าใจตั้งแต่แรกแล้วว่าทำไมต้องทำงานตัดสัญญาณรบกวน
ที่แย่กว่านั้นคือกราเดียนต์ของค่า attention ต่ำ ๆ จะเล็กมาก ทำให้ต้องอัปเดตน้ำหนักหลายครั้งเพื่อย้อนแก้ความผิดพลาดเหล่านั้น ในทางกลับกัน ถ้านำเอาต์พุตของ softmax สองตัวมาลบกัน โมเดลจะสามารถทำนายน้ำหนักที่เป็น 0 อย่างแท้จริงสำหรับบางค่าได้ และยังคงมีการไหลของกราเดียนต์ที่สมเหตุสมผล
ดังนั้นโมเดลรู้อยู่แล้วว่าอะไรคือสัญญาณรบกวน แต่ softmax เดี่ยวทำให้การกันสิ่งนั้นออกทำได้ยาก นอกจากนี้ ใน softmax เดี่ยว เอาต์พุตของทุกเฮดจะถูกบังคับให้อยู่ภายในconvex hullของเวกเตอร์ค่า แต่ในรูปแบบดัดแปลงนี้ แต่ละเฮดสามารถเลือก lambda ของตัวเองเพื่อย้ายช่วงเอาต์พุตออกไปนอก convex hull ที่ค่าต่าง ๆ กำหนดไว้ล่วงหน้าได้ จึงเพิ่มพลังในการแทนค่าของโมเดลโดยรวม
ตัวอย่างที่ดีกว่าคือสัญญาณแบบดิฟเฟอเรนเชียลที่ใช้ในระบบเสียงระดับมืออาชีพ และโปรโตคอลสัญญาณดิจิทัลจำนวนมาก เช่น Ethernet, HDMI, USB แทนที่จะใช้สายเส้นเดียวอ้างอิงกราวด์ จะส่งสัญญาณด้วยความต่างระหว่างสายสองเส้น สายทั้งสองขนสัญญาณเดียวกันแต่ขั้วตรงข้ามกัน และเพราะวิ่งขนานกัน สัญญาณรบกวนจากภายนอกจึงถูกกระทำกับทั้งคู่เท่า ๆ กัน
แรงดันไฟฟ้าอาจเปลี่ยนไป แต่ความต่างแรงดันระหว่างสองสายยังคงเดิม เมื่อฝั่งรับนำแรงดันสองตัวมาลบกัน สัญญาณรบกวนก็หักล้างกันไปเอง
วิธีง่าย ๆ ที่จะทำเช่นนี้คือเอา softmax ออกหรือใช้ sigmoid แต่ในทางปฏิบัติ softmax ดูจะทำงานได้ดีกว่า
พูดแบบง่าย ๆ RoPE คือกลยุทธ์สมัยใหม่ที่ให้ข้อมูลแก่โมเดลว่า query และ key อยู่ห่างกันแค่ไหนตอนทำ attention มันเป็นแนวทางที่ดีที่สุดในตอนนี้ แต่มีข้อเสียใหญ่คือมันทำให้การเชื่อมโยงบางอย่างระหว่างโทเค็นที่อยู่ไกลกันแรงเกินกว่าที่ต้องการมาก Xpos (https://arxiv.org/pdf/2212.10554) ก็เป็นงานของ Microsoft ที่จัดการปัญหาของ RoPE และถ้าดู Figure 1 หน้า 4 จะเห็นการตีความเชิงภาพของความแรง attention แบบคลื่นไซน์ ซึ่งจริง ๆ แล้วเราอยากให้มันเรียบลื่น
มองว่าเหตุผลสำคัญที่ Differential Transformer ทำงานได้ดีโดยเฉพาะกับลำดับยาว ๆ คือ แม้
q1และq2จะไม่ตรงกับโทเค็นใดเลย ความแรงเชิงสัมพัทธ์ของ RoPE ก็ยังมีค่าเดียวกันอยู่ จึงทำให้สัญญาณรบกวนหักล้างกัน เหลือไว้เฉพาะการจับคู่ที่ตั้งใจ แต่ก็ต้องแลกกับการที่ค่าที่ RoPE ใส่เข้ามาเดิมอ่อนลงไปบ้างแน่นอนว่านี่เป็นเพียงสมมติฐานเท่านั้น สามารถตรวจสอบได้ง่ายด้วยการทดลองเปรียบเทียบทั้งสองแบบกับ baseline ที่ใช้ alibi attention (https://arxiv.org/pdf/2108.12409) alibi มีจุดแลกเปลี่ยนอีกแบบที่วิธีนี้ไม่ได้ช่วยลด แต่ถึงอย่างนั้นผลลัพธ์ก็น่าสนใจมาก
สัญชาตญาณว่าทำไมมันถึงใช้ได้ ดูเหมือนจะอยู่ที่การทำให้ภูมิทัศน์ของ gradient descent เป็นมิตรกว่าเดิมเล็กน้อย จึงเรียนรู้เป็นขั้นเล็ก ๆ ได้ง่ายขึ้น เพราะตอนนี้ตัวเครือข่ายเองถูกออกแบบอย่างชัดเจนให้สอดคล้องกับแนวคิดที่ว่า ในช่วงแรกจะทำนายผิดมาก แล้วค่อย ๆ ดีขึ้นตามเวลา
ถ้าเข้าใจประโยค "Differential attention takes the difference between two softmax attention functions to eliminate attention noise" ถูกต้อง โครงสร้างนี้ก็ดูเหมือนเป็นจุดแลกเปลี่ยนที่ใช้หน่วยความจำ attention มากขึ้น 2 เท่า เพื่อแลกกับโมเดลที่คุณภาพสูงกว่า หรือใช้พารามิเตอร์น้อยลงที่คุณภาพใกล้เคียงกัน
เมื่อดูส่วนที่ว่า "6.8B-size DIFF Transformer achieves a validation loss comparable to 11B-size Transformer, requiring only 62.2% of parameters" ก็เกิดคำถามหลายอย่าง เช่น ถ้ามีพารามิเตอร์เพียง 60% จะชดเชยกับการที่พื้นที่ attention เพิ่มเป็นสองเท่า จนทำให้มีลักษณะการใช้หน่วยความจำใกล้กับ Transformer แบบดั้งเดิมหรือไม่ และจุดแลกเปลี่ยนนี้แตกต่างอย่างมีนัยสำคัญระหว่างช่วงฝึกกับช่วงอนุมานหรือเปล่า
ในบทความมีข้อความว่า "We set the number of heads h = dmodel/2d, where d is equal to the head dimension of Transformer. So we can align the parameter counts and computational complexity." กล่าวอีกนัยหนึ่งคือพวกเขาลดจำนวน attention heads ต่อเลเยอร์ลงครึ่งหนึ่งเพื่อชดเชยส่วนนี้
สงสัยว่าเบื้องหลังสมการ "We empirically find that the setting λᵢₙᵢₜ = 0.8 − 0.6 × exp(−0.3 · (l − 1)) works well in practice" นั้นมีที่มาอย่างไร
lที่เล็ก มีค่าน้อยกว่าชั้นหลัง ๆ ฟังดูสมเหตุสมผล เพราะก่อนจะสรุปว่ามีบางตำแหน่งที่ควรดูจริง ๆ ก็คงอยากกระจายความสนใจไปทุกอย่างทีละนิดก่อนแต่ดูเหมือนผู้เขียนจะไม่ได้อภิปรายตัวเลือกนี้แยกไว้ในตัวบทความ
ประเด็นสำคัญที่ตอนแรกผมไม่เข้าใจคือ ถ้ากลุ่ม attention สองกลุ่มเรียนรู้สิ่งเดียวกันจะเกิดอะไรขึ้น เพราะมีการเอา attention mask มาลบกัน ถ้าทั้งคู่ให้ค่าใกล้เคียงกัน attention รวมก็จะตกลงไปเป็น 0 แล้ว loss จะสูงขึ้น
ดังนั้นวิธีเดียวที่จะลด loss ได้คือฝึกให้ทั้งสองกลุ่มสนใจคนละอย่าง หนึ่งในกลยุทธ์ที่ง่ายที่สุดที่พวกมันจะเรียนได้ก็คือ อย่างที่บทความอ้างไว้ กลุ่มหนึ่งโฟกัสที่บริบทที่เกี่ยวข้อง อีกกลุ่มโฟกัสที่บริบทที่ไม่เกี่ยวข้อง แบบนั้นกลุ่มหนึ่งก็จะเรียนรู้noise ส่วนอีกกลุ่มก็เรียนรู้signal แน่นอนว่าในความเป็นจริงอาจไม่ได้แยกกันชัดขนาดนั้น แต่ในฐานะการทำให้ง่ายเพื่อความเข้าใจก็มีประโยชน์
ถ้าสำเนาทั้งสองเหมือนกัน ผลลัพธ์ softmax ก็ควรเหมือนกัน และผลต่างจะเป็น 0 ทุกตำแหน่ง ซึ่งก็สมเหตุสมผล แต่ถ้าลบสำเนาที่ถูกสเกลไว้ กระบวนการ normalize ของผลต่างดูเหมือนจะทำให้ค่าsignalเด่นกว่าค่า noise มากขึ้น เมื่อเทียบกับก่อน normalize
ประมาณว่า attention head หนึ่งเพิ่มน้ำหนักเมื่อมันประหลาดใจกับสิ่งที่อีก head เรียนรู้ แต่ถ้าทั้งคู่เจอสิ่งเดียวกันก็ถือว่าไม่น่าแปลกใจนักและลดน้ำหนักลง
ต้องยอมรับว่า "ความประหลาดใจ" กินพื้นที่ในฐานความรู้ของผมค่อนข้างมาก[1][2][3] ทั้งในฐานะอารมณ์เชิงอัตวิสัยและฟังก์ชันการปรับตัวของจิตใจ ซึ่งเป็นหนึ่งในระบบการปรับตัวที่ซับซ้อนที่สุดที่เรารู้จัก
[1] https://plus.maths.org/content/information-surprise
[2] https://blakeelias.name/papers/Multi-Agent-Cooperation-Intri...
[3] https://complexity.simplecast.com/episodes/81/transcript
สงสัยว่าตรงนี้ต้องแลกอะไรไปบ้าง น่าจะมี trade-off อยู่แน่ ๆ
อยากรู้ด้วยว่ามันกระทบต่อความคิดสร้างสรรค์หรือความสามารถในการทำ interpolation ระหว่างแนวคิดหรือไม่ อาการหลอนกับความคิดสร้างสรรค์ดูเหมือนจะเกี่ยวข้องกันพอสมควร สำหรับผม อาการหลอนคือสิ่งที่เบี่ยงออกจากพื้นที่ interpolation ที่มนุษย์รู้สึกว่าเหมาะสม
แน่นอนว่าความผิดพลาดอาจสร้างแรงบันดาลใจได้บ้างเป็นครั้งคราว แต่ความคิดสร้างสรรค์มีมากกว่าความผิดพลาดเยอะ
โมเดลภาษาพวกนี้เป็นตัวทำนายโทเคนถัดไป โทเคนถัดไปถูกทำนายโดยการสุ่มจาก probability space ที่โมเดลปล่อยออกมา กระบวนการสุ่มนั้นอาจไม่เป็นเชิงกำหนดก็ได้
อาการหลอนก็คือกรณีที่ผลจากการสุ่มนั้นให้โทเคนที่ประกอบกันเป็นประโยคที่เป็นเท็จหรือไม่ตรงเจตนา จะมองว่าทุกอย่างที่โมเดลปล่อยออกมาก็เป็นอาการหลอนได้เหมือนกัน แต่เราฝึกให้โมเดลปล่อยพื้นที่ที่มีโอกาสสูงกว่าจะหลอนสิ่งที่เราต้องการ ไม่อย่างนั้นมันก็จะปล่อยแต่ noise ไร้ความหมาย
"อาการหลอน" เป็นคำที่แย่มากสำหรับสิ่งที่พยายามจะอธิบาย
สงสัยว่าคุณค่าส่วนใหญ่ของงานนี้มาจากการหักล้างnoise เชิงตำแหน่งที่ RoPE สร้างขึ้นมากน้อยแค่ไหน อยากเห็นตารางที่เปรียบเทียบไม่ใช่แค่โมเดล RoPE ตรงนี้ แต่รวมถึงเวอร์ชัน alibi กับ baseline alibi ด้วย
ถึงอย่างนั้นก็ยังเป็นการพัฒนาที่น่าทึ่งมาก และขอแสดงความยินดีกับนักวิจัย
สิ่งที่เกิดขึ้นตรงนี้คือ softmax เองดันค่าให้เป็น 0 ไม่ได้ แต่ถ้าเอา softmax map สองตัวมาลบกันจะสร้างเอาต์พุตเป็น 0ได้ ใช่ไหม
เป็นปัญหาที่น่าแก้ แต่ผมคิดว่าแนวทางนี้ผิดทาง
ถ้าอยากรู้ว่าควรสนใจอะไรและบริบททั้งหมดเป็นอย่างไร มันควรทำแบบลำดับชั้น ถ้าเวกเตอร์ผลต่างถูกคำนวณจากอินพุตเดียวกับเวกเตอร์ attention ผมไม่เข้าใจว่าจะรู้ได้อย่างไรว่าควรแก้เวกเตอร์ attention อย่างถูกต้องแบบไหน