คืนนี้ผมเห็น Musk โพสต์ทวีต: "Impressive work from Kimi"

ผมไปดูว่าอะไรทำให้ Musk แกตื่นเต้นขนาดนั้น แล้วก็พบว่า Kimi ปล่อย paper ออกมา

ผมอ่าน paper ที่ Musk ชมอย่างละเอียด ก็พบว่าตัวเอกของ paper นี้คือสิ่งที่ผมค่อนข้างคุ้นเคย—residual connections ปฏิกิริยาแรกของผมคือ: เดี๋ยวนะ นี่ไม่ใช่สิ่งที่ DeepSeek เพิ่งแตะตอนปลายปีที่แล้วเหรอ?
เดือนมกราคมปีนี้ ผมเขียนบทความตีความ paper mHC ของ DeepSeek แก่นสำคัญคือ: DeepSeek ค้นพบสิ่งที่ทุกคนคิดว่าไม่จำเป็นต้องเปลี่ยน—residual connections—และเปลี่ยนมัน

ตอนนี้ Kimi ก็มาจัดการกับ residual connections เช่นกัน และ Musk บอกว่ามัน impressive ผมอ่าน paper ด้วยความสงสัย สรุปคือ: ห้องทดลองทั้งสองพบปัญหาเดียวกัน แต่จุดเริ่มต้นและความลึกของวิธีแก้ปัญหาต่างกันโดยสิ้นเชิง
DeepSeek พบปัญหาอะไร และแก้ไขอย่างไร?
มาทบทวน paper ของ DeepSeek กันแบบสั้นๆ residual connections มาตรฐานมีลักษณะดังนี้:
h_l = h_{l-1} + f_{l-1}(h_{l-1})
ผลลัพธ์ของแต่ละเลเยอร์ = ผลลัพธ์ของเลเยอร์ก่อนหน้า + สิ่งใหม่ที่เรียนรู้ในเลเยอร์นี้ น้ำหนักคงที่ สะสมอย่างสม่ำเสมอ เสนอโดย ResNet ในปี 2015 และถูกใช้โดยโมเดลใหญ่ทั้งหมดตั้งแต่นั้นมา
การรับรู้ปัญหาของ DeepSeek คือ: น้ำหนักที่คงที่นั้นแข็งเกินไปหรือเปล่า? มันสมเหตุสมผลไหมที่ทุกเลเยอร์จะปฏิบัติต่อเลเยอร์ก่อนหน้าทั้งหมดอย่างเท่าเทียม?
ความพยายามแรกของพวกเขาคือ Hyper-Connections (HC): ขยายกระแส residual จาก 1 เส้นทางเป็น 4 เส้นทาง โดยมีน้ำหนักที่เรียนรู้ได้สำหรับแต่ละเส้นทาง มันทำงานได้ดี แต่มีจุดบกพร่องร้ายแรง: ความไม่เสถียรในการฝึก เมทริกซ์น้ำหนักที่เรียนรู้ได้ไม่มีข้อจำกัด และหลังจากคูณกัน 60 เลเยอร์ สัญญาณถูกขยาย 3000 เท่า เส้น loss จะพุ่งขึ้นสูงอย่างกะทันหันระหว่างการฝึก
วิธีแก้ไขสุดท้ายคือ mHC: จำกัดเมทริกซ์น้ำหนักให้เป็น "doubly stochastic matrix"—โดยที่ผลรวมของแต่ละแถวและแต่ละคอลัมน์เท่ากับ 1 คุณสมบัติทางคณิตศาสตร์นี้ทำให้บรรทัดฐานสเปกตรัม ≤ 1 ป้องกันการระเบิดของสัญญาณ การฝึกมีความเสถียร และประสิทธิภาพเหนือกว่า residual connections ดั้งเดิม โดยใช้เวลาในการฝึกเพิ่มขึ้นเพียง 6.7%
วิธีแก้ของ DeepSeek: เปลี่ยนน้ำหนักการเชื่อมต่อจากคงที่เป็นเรียนรู้ได้ โดยใช้ข้อจำกัดทางคณิตศาสตร์เพื่อรับประกันความเสถียร
Kimi พบอะไร และทำไมถึงดูเหมือนกัน?
Paper ของ Kimi ก็เริ่มต้นด้วยการพูดถึงปัญหาของ residual connections แต่ยิ่งอ่านไปเรื่อยๆ คำจำกัดความปัญหาของ Kimi อยู่ในอีกระดับหนึ่ง
DeepSeek ถาม: น้ำหนักจะยืดหยุ่นมากขึ้นได้ไหม?
Kimi ถาม: ปัญหาที่เป็นพื้นฐานกว่านั้นคืออะไร? ถึงแม้น้ำหนักจะเรียนรู้ได้ อะไรที่ยังไม่ได้รับการแก้ไข?
พวกเขาพบคำตอบสามข้อ
อย่างแรก คุณ "สั่งจากเมนู" ไม่ได้
แต่ละเลเยอร์มองเห็นแต่ "สถานะผสม" ที่ส่งต่อมาจากเลเยอร์ก่อนหน้า—ผลลัพธ์ของเลเยอร์ก่อนหน้าทั้งหมดที่ถูกกวนรวมกัน แต่เลเยอร์ประเภทต่างๆ ต้องการสิ่งที่แตกต่างกัน: บางเลเยอร์อาจต้องการความหมายดิบจากช่วงต้น บางเลเยอร์อาจต้องการฟีเจอร์ที่เพิ่งคำนวณได้ ตอนนี้พวกมันทั้งหมดกินอาหารผสมแบบเดียวกัน ไม่สามารถพูดว่า "ฉันต้องการผลลัพธ์ของเลเยอร์ 3"
อย่างที่สอง ข้อมูลไม่สามารถกู้คืนได้
เมื่อเลเยอร์หนึ่งเรียนรู้สิ่งที่มีค่าและมันถูกผสมเข้าไปในสถานะสะสม มันก็จะถูกผสมกับทุกสิ่งทุกอย่าง เมื่อเลเยอร์ต่อๆ ไปเพิ่มผลลัพธ์ใหม่ ข้อมูลนั้นจะจางหายและในที่สุดก็ถูกกลบจนหมด มันไม่สามารถย้อนกลับได้
อย่างที่สาม เลเยอร์หลังๆ มีผลกระทบได้ยากขึ้น
ลองนึกภาพการพูดในห้องที่ดังขึ้นเรื่อยๆ เลเยอร์ก่อนหน้าสะสมสัญญาณไว้มาก เลเยอร์หลังต้องตะโกนให้ดังกว่าทั้งหมดที่ผ่านมารวมกันจึงจะได้ยิน Paper วัดสิ่งนี้: ในเลเยอร์สุดท้าย ขนาดสัญญาณมากกว่าเริ่มต้นกว่า 10 เท่า เพื่อให้มีผลกระทบเท่ากัน เลเยอร์หลังต้องการ "ระดับเสียง" มากกว่า 10 เท่า

mHC แก้ปัญหาความเสถียรในการฝึก แต่ปัญหาพื้นฐานทั้งสามนี้ยังคงอยู่—เพราะน้ำหนักของ mHC แม้จะเรียนรู้ได้ แต่จะคงที่หลังการฝึก ไม่ว่าจะ input อะไรเข้ามา น้ำหนักก็เหมือนเดิม
วิธีแก้ของ Kimi: ย้ายโซลูชันจากมิติเวลามาสู่มิติความลึก
วิธีแก้ของ Kimi มาจากการเปรียบเทียบที่สวยงาม ปัญหาสามอย่างนี้—ไม่มีเมนู, ข้อมูลสูญหาย, และการตะโกนในห้องที่มีเสียงดัง—ดูคุ้นเคย ปัญหาเหล่านี้คือปัญหาเดียวกันที่พบก่อนปี 2017 ตอนประมวลผลลำดับข้อความด้วย RNN
ในปี 2017 "Attention Is All You Need" เสนอ Transformer โดยใช้กลไก attention เพื่อแก้ปัญหานี้: แต่ละตำแหน่งไม่เพียงแค่มองเห็นสถานะบีบอัดก่อนหน้า แต่สามารถย้อนกลับไปดูตำแหน่งประวัติศาสตร์ทั้งหมดและตัดสินใจว่าจะโฟกัสที่ไหนแบบไดนามิก
ที่น่าสนใจคือ ขณะที่ paper นั้นยกระดับการประมวลผลข้อความ แต่มันไม่ได้แตะต้องการไหลของข้อมูลระหว่างเลเยอร์—residual connections ยังคงเป็นการสะสมคงที่จากปี 2015
คำถามของ Kimi: เวลาประมวลผลข้อความ เราแทนที่ "การส่งผ่านแบบบีบอัด" ด้วย attention; ทำไมเรายังใช้ "การส่งผ่านแบบบีบอัด" ระหว่างเลเยอร์อยู่?
นี่คือข้อมูลเชิงลึกหลักของ AttnRes: การประยุกต์ใช้กลไก attention กับการเชื่อมต่อระหว่างเลเยอร์ ในแง่หนึ่ง นี่คือภาคต่อของ "Attention Is All You Need" ในทิศทางความลึก

พูดง่ายๆ ตอนนี้แต่ละเลเยอร์สามารถ "มองย้อนกลับ" ไปที่ผลลัพธ์ของเลเยอร์ก่อนหน้าทั้งหมด และตัดสินใจแบบไดนามิกว่าผลลัพธ์ใดเกี่ยวข้องมากที่สุดตามเนื้อหาปัจจุบัน การ "มองย้อนกลับ" นี้คือกลไก attention—เหมือนกับที่ Transformer ทำกับข้อความ แต่ทิศทางเปลี่ยนจาก "มองย้อนกลับไปที่คำก่อนหน้า" เป็น "มองย้อนกลับไปที่เลเยอร์ก่อนหน้า"
ต้นทุนพารามิเตอร์เล็กน้อย: มีเพียงเวกเตอร์พิเศษหนึ่งตัวต่อเลเยอร์ ที่สำคัญที่สุด น้ำหนัก "ใครที่จะมอง" ไม่ได้คงที่ โมเดลเดียวกัน ประมวลผล input ต่างกัน จะโฟกัสไปที่เลเยอร์ต่างกัน นี่คือความแตกต่างสำคัญจาก mHC: น้ำหนักของ mHC คงที่หลังฝึก; น้ำหนักของ AttnRes "มีชีวิต"
มันทำให้ผมนึกถึง Proust ใน "In Search of Lost Time" ตอนที่ Marcel ชิม madeleine จุ่มชา แล้ววัยเด็กใน Combray ก็หวนกลับมา—ไม่ใช่เป็นความประทับใจคลุมเครือ แต่เป็นการรับรู้ที่แม่นยำซึ่งข้ามห่วงโซ่การเล่าเรื่องกลางทั้งหมด Proust เรียกสิ่งนี้ว่า "involuntary memory" AttnRes มอบความสามารถแบบ Proust เชิงวิศวกรรมให้แต่ละเลเยอร์: ถูกกระตุ้นโดยเนื้อหาปัจจุบัน กระโดดตรงไปยังผลลัพธ์ที่แม่นยำของเลเยอร์ก่อนหน้าใดๆ โดยไม่ต้องผ่านห่วงโซ่การบีบอัดกลาง
ความแตกต่างสำคัญระหว่างสองโซลูชัน
DeepSeek mHC | Kimi AttnRes | |
|---|---|---|
สิ่งที่เปลี่ยน | วิธีการเรียนรู้ของน้ำหนักการเชื่อมต่อ | โครงสร้างของการไหลของข้อมูล |
น้ำหนัก: มีชีวิตหรือตาย | คงที่หลังการฝึก | ต่างกันสำหรับทุก input |
มองเห็นอะไรได้ | เฉพาะสถานะผสมของเลเยอร์ก่อนหน้า | สามารถมองเห็นผลลัพธ์ดิบของเลเยอร์ก่อนหน้าทั้งหมดได้โดยตรง |
แก้ปัญหาอะไร | น้ำหนักที่แข็งที่อ | การเลือก "เมนู" + เอฟเฟกต์ห้องที่มีเสียงดัง |
การศึกษา ablation ใน paper ตรงไปตรงมามาก: ถ้าโมเดลสามารถมองเห็นเลเยอร์ก่อนหน้าทั้งหมดแต่น้ำหนักคงที่ แทบจะไม่มีการปรับปรุง แต่ด้วยน้ำหนักแบบไดนามิก (ตัดสินใจแบบเรียลไทม์ตามเนื้อหา) ประสิทธิภาพดีขึ้นอย่างมีนัยสำคัญ
Block AttnRes: การนำไปใช้งานทางวิศวกรรม
ในอุดมคติ ทุกเลเยอร์มองย้อนกลับไปยังเลเยอร์ก่อนหน้าทั้งหมด (Full AttnRes) แต่สำหรับโมเดลที่มีมากกว่า 100 เลเยอร์ การเก็บผลลัพธ์ทั้งหมดไว้ใช้หน่วยความจำมากเกินไป วิธีแก้ทางวิศวกรรมของ Kimi คือ Block AttnRes: แบ่งเลเยอร์ออกเป็นประมาณ 8 "บล็อก" ภายในบล็อกใช้ residual มาตรฐาน ระหว่างบล็อกใช้ attention การใช้หน่วยความจำลดลงอย่างมาก ในขณะที่ยังคงประโยชน์ส่วนใหญ่ไว้ โอเวอร์เฮดในการฝึกต่ำกว่า 4% และ latency ในการอนุมานเพิ่มขึ้นน้อยกว่า 2%
ผลลัพธ์เป็นอย่างไร?
ทดสอบบนโมเดล 48B พารามิเตอร์ของ Kimi: เมื่อใช้คอมพิวต์เท่ากัน AttnRes ให้ประสิทธิภาพที่วิธีมาตรฐานต้องใช้คอมพิวต์เพิ่มขึ้น 25% จึงจะถึง

การปรับปรุงงานปลายน้ำมีนัยสำคัญ โดยเฉพาะในการ reasoning:
- GPQA-Diamond: 36.9 → 44.4 (+7.5 คะแนน)
- Math: 53.5 → 57.1
- Code: 59.1 → 62.2
- C-Eval: 79.6 → 82.5
โมเดลเรียนรู้อะไร?
Kimi แสดงภาพรูปแบบการ "มองย้อนกลับ":

- ส่วนใหญ่มองไปที่เพื่อนบ้าน residual connections มาตรฐานไม่ได้ผิดทั้งหมด
- input ดั้งเดิมไม่เคยถูกลืม แม้ในเลเยอร์ที่ลึกที่สุด attention ต่อ input เริ่มต้นก็ไม่เป็นศูนย์
- โมเดลสร้าง "ทางลัด" บางเลเยอร์ข้ามกลางเพื่อโฟกัสที่เลเยอร์ต้นๆ
ภาพรวม
ทีมส่วนใหญ่โฟกัสที่ข้อมูลที่ดีกว่า บริบทที่ยาวขึ้น หรือ MoE ที่ใหญ่ขึ้น สิ่งเหล่านี้เป็นการปรับให้เหมาะสมภายใต้สมมติฐานที่ว่า "การเชื่อมต่อเลเยอร์คงที่" การกลับไปที่โครงสร้างพื้นฐานเพื่อหาความก้าวหน้าต้องใช้วิจารณญาณทางเทคนิคและความแข็งแกร่งทางวิศวกรรม
Residual connections เป็นค่าเริ่มต้นมาเป็นเวลาสิบปี ภายในสามเดือน ห้องทดลองจีนสองแห่งพบความก้าวหน้าพื้นฐานที่นี่ คำว่า "Impressive work" ของ Musk ไม่ใช่แค่มารยาท มันเป็นสัญญาณว่ากระบวนทัศน์พื้นฐานของ deep learning กำลังเปลี่ยนแปลง
อ้างอิง:
- รายงาน Attention Residuals: https://github.com/MoonshotAI/Attention-Residuals
- Paper mHC: https://arxiv.org/abs/2512.24880
- รายงาน Kimi Linear: https://arxiv.org/abs/2510.26692
Kimi อธิบาย paper นี้แบบง่าย: โมเดลใหญ่เปรียบเหมือนตึก 100 ชั้น สิบปีที่ผ่านมา คนงานส่งไฟล์ที่ถูกผสมกันทีละชั้น Kimi ติดตั้งโทรศัพท์ไว้ทุกชั้น ตอนนี้ คนงานชั้น 100 สามารถโทรไปที่ชั้น 3 เพื่อตรวจสอบข้อมูลได้โดยตรง แทนที่จะขุดหาในไฟล์ที่ถูกแก้ไขมา 97 ครั้ง การเปลี่ยนแปลงง่ายๆ นี้ทำให้โมเดลมีประสิทธิภาพดีขึ้น 25% โดยไม่ต้องเพิ่มอะไร





