แนวโน้มล่าสุดของสถาปัตยกรรม LLM: การแชร์ KV, mHC และ Compressed Attention
(magazine.sebastianraschka.com)- ขณะที่ LLM แบบโอเพนเวตที่เปิดตัวล่าสุดมุ่งเน้นไปที่ ประสิทธิภาพของบริบทยาว มากขึ้น ก็มี เทคนิคด้านสถาปัตยกรรม เพิ่มขึ้นอย่างรวดเร็วเพื่อลดขนาด KV cache, memory traffic และต้นทุนของ attention
- Gemma 4 ปรับปรุงทั้งประสิทธิภาพของ KV cache และพารามิเตอร์ไปพร้อมกันด้วย การแชร์ KV ข้ามเลเยอร์ (cross-layer attention) และ per-layer embeddings (PLE)
- Laguna XS.2 นำ layer-wise attention budgeting มาใช้ โดย กำหนดจำนวน query heads ต่างกันในแต่ละเลเยอร์
- ZAYA1-8B ใช้ Compressed Convolutional Attention (CCA) เพื่อคำนวณ attention โดยตรงใน latent space ที่ถูกบีบอัด ลดได้ทั้ง KV cache และ attention FLOPs
- DeepSeek V4 ใช้ mHC (Manifold-Constrained Hyper-Connections) เพื่อขยายเส้นทาง residual และใช้ CSA/HCA เพื่อบีบอัดความยาวซีเควนซ์ ทำให้ลด FLOPs และ KV cache ได้อย่างมากเมื่อเทียบกับ V3.2 ในบริบท 1M โทเค็น
ภาพรวม: สถาปัตยกรรมรุ่นใหม่ที่โฟกัสประสิทธิภาพของบริบทยาว
- เมื่อโมเดล reasoning และเวิร์กโฟลว์แบบเอเจนต์ต้องเก็บโทเค็นจำนวนมากไว้ได้นานขึ้น ขนาด KV cache, memory traffic และต้นทุนของ attention จึงกลายเป็นข้อจำกัดหลัก
- จุดออกแบบใหม่ที่เกิดขึ้นในโมเดลโอเพนเวตสำคัญที่เปิดตัวในช่วงเดือนเมษายนถึงพฤษภาคม
- Gemma 4: KV sharing และ per-layer embeddings
- Laguna XS.2: layer-wise attention budgeting
- ZAYA1-8B: compressed convolutional attention
- DeepSeek V4: mHC + compressed attention
- เนื้อหานี้จะไม่กล่าวถึง data mix, ตารางการฝึก, post-training, สูตร RL หรือ benchmark แต่จะโฟกัสไปที่การเปลี่ยนแปลงภายในของ transformer block, residual stream, KV cache และการคำนวณ attention
1. Gemma 4: ลด cache ด้วยการแชร์ KV ข้ามเลเยอร์
- ตระกูล Gemma 4 ที่ Google เปิดตัวต้นเดือนเมษายนประกอบด้วย 3 หมวดหมู่
- Gemma 4 E2B/E4B: โมเดลขนาดเล็กสำหรับอุปกรณ์มือถือและอุปกรณ์ฝังตัว (IoT)
- Gemma 4 26B MoE: โมเดล MoE ที่ปรับให้เหมาะกับ local inference ที่มีประสิทธิภาพ
- Gemma 4 31B dense: โมเดล dense สำหรับคุณภาพสูงสุดและความสะดวกในการ post-training
-
การนำ KV sharing (cross-layer attention) มาใช้
- เลเยอร์ช่วงท้ายจะไม่คำนวณ K/V projection ของตัวเอง แต่จะ นำ KV tensor ของเลเยอร์ก่อนหน้าที่ใกล้ที่สุดซึ่งไม่แชร์และมี attention type เดียวกันกลับมาใช้ซ้ำ
- เลเยอร์ sliding window จะแชร์ KV กับเลเยอร์ sliding window ก่อนหน้า และเลเยอร์ full-attention จะแชร์กับเลเยอร์ full-attention ก่อนหน้า
- แต่ละเลเยอร์ยังคำนวณ query projection ของตัวเอง จึงยังคงรูปแบบ attention เฉพาะของแต่ละเลเยอร์ไว้ได้
- Gemma 4 E2B จาก 35 transformer layers มีเพียง 15 เลเยอร์แรกเท่านั้นที่คำนวณ KV เอง ส่วน 20 เลเยอร์ท้ายใช้ซ้ำ
- Gemma 4 E4B จาก 42 เลเยอร์ มีเพียง 24 เลเยอร์ที่คำนวณ KV เอง และ 18 เลเยอร์ท้ายใช้ซ้ำ
-
ผลของการลดต้นทุน
- แชร์ KV ประมาณครึ่งหนึ่ง ทำให้ ขนาด KV cache ลดลงประมาณครึ่งหนึ่ง
- ที่บริบทยาว 128K (bfloat16) E2B ลดได้ 2.7 GB และ E4B ลดได้ ประมาณ 6 GB
-
ข้อจำกัด
- KV sharing เป็นการประมาณค่าแบบหนึ่ง จึงทำให้ capacity ของโมเดลลดลง
- ตามงานวิจัย cross-layer attention ผลกระทบอยู่ในระดับน้อยมาก (อย่างน้อยในโมเดลขนาดเล็กที่ทดสอบ)
- แนวคิดนี้อิงจาก Brandon et al., "Reducing Transformer Key-Value Cache Size with Cross-Layer Attention" (NeurIPS 2024) และ Gemma 4 เป็น กรณีแรกที่นำไปใช้ในสถาปัตยกรรมที่เป็นที่รู้จักอย่างกว้างขวาง
2. Per-Layer Embeddings (PLE) และขนาดแบบ "Effective" ของ Gemma 4 E2B/E4B
- PLE เป็น การออกแบบเพื่อเพิ่มประสิทธิภาพที่แยกจาก KV sharing และเน้นไปที่ ประสิทธิภาพของพารามิเตอร์
-
"E" หมายถึง effective
- Gemma 4 E2B: 2.3B effective parameters, รวม embeddings แล้วเป็น 5.1B
- Gemma 4 E4B: 4.5B effective parameters, รวม embeddings แล้วเป็น 8B
- การคำนวณหลักของ transformer stack ใกล้เคียงกับตัวเลขที่เล็กกว่า ส่วนตัวเลขที่ใหญ่กว่ารวมเลเยอร์ embedding table เพิ่มเติม
-
โครงสร้างของ PLE
- เวกเตอร์ PLE จะถูก เตรียมไว้ภายนอก repeating transformer block
- token ID ผ่าน per-layer embedding lookup และ token embedding ปกติจะถูก linear projection ไปยังพื้นที่ PLE เดียวกัน
- จากนั้นนำผลลัพธ์ทั้งสองมาบวกกัน แล้วทำ scaling และ reshape เพื่อสร้าง tensor ที่มี slice แยกตามเลเยอร์
- แต่ละเลเยอร์ l จะรับเฉพาะ slice ของตัวเอง (ple_l)
-
การทำงานภายใน transformer block
- ทำ residual update ของ attention และ feedforward ตามปกติ
- หลัง residual add ครั้งที่สอง hidden state z จะ ทำหน้าที่ gate เวกเตอร์ PLE ตามเลเยอร์
- เวกเตอร์ PLE ที่ถูก gate แล้วจะถูกโปรเจกต์กลับไปยังขนาด hidden ของโมเดล ทำ normalization และ บวกเพิ่มเป็น residual update อีกชั้นหนึ่ง
-
จุดประสงค์ของ PLE
- ทำให้ transformer block ซึ่งมีต้นทุนสูงยังคงขนาดใกล้กับ "effective" size ที่เล็กกว่า
- ความจุเพิ่มเติมจะถูกเก็บไว้ใน per-layer embedding table ซึ่งเป็นแบบ lookup จึงถูกกว่าการเพิ่มน้ำหนักใน attention หรือ FFN มาก
- ต่างจากทางเลือกที่เพียงแค่ทำให้ dense model เล็กลง วิธีนี้ ไม่ต้องแลกกับการลด capacity ของส่วนคำนวณหลัก
- แม้โดยหลักการแล้ว PLE จะไม่ได้จำกัดอยู่แค่โมเดลขนาดเล็ก แต่โมเดลขนาดใหญ่ก็มักมี capacity เพียงพออยู่แล้ว และยังขยาย capacity ได้ด้วย MoE
3. Laguna XS.2: Layer-Wise Attention Budgeting
- Laguna เป็นโมเดลโอเพนเวตรุ่นแรกของ Poolside บริษัทจากยุโรปที่มุ่งเน้น LLM สำหรับงานเขียนโค้ด
-
โครงสร้างพื้นฐาน
- มีทั้งหมด 40 เลเยอร์ โดย 30 เลเยอร์เป็น sliding window attention และ 10 เลเยอร์เป็น global/full attention
- ขนาดหน้าต่างของ sliding window layer: 512 โทเค็น
- รูปแบบผสมระหว่าง sliding window + global เองก็ถูกใช้ในสถาปัตยกรรมอื่น เช่น Gemma 4
-
จุดใหม่: กำหนดจำนวน query heads ต่างกันในแต่ละเลเยอร์
- ใน
num_attention_heads_per_layerของ Hugging Face config.json สามารถกำหนดจำนวน query heads ต่างกันในแต่ละเลเยอร์ได้ โดยยังคงความเข้ากันได้ของรูปทรง KV cache - เลเยอร์ sliding window: 8 query heads ต่อ 1 KV head
- เลเยอร์ full attention: 6 query heads ต่อ 1 KV head
- KV heads ถูกตรึงไว้ที่ 8
- ใน
-
เจตนาของการออกแบบ
- แทนที่จะให้ attention budget เท่ากันทุกเลเยอร์ ก็ รวม capacity ของ attention ไปไว้ในจุดที่มีประโยชน์กว่า
- เลเยอร์ full-attention มองเห็นทั้งบริบทและมีต้นทุนสูง จึงจัดสรร query heads ให้น้อยกว่า
- แนวคิดเรื่องการปรับ capacity ตามเลเยอร์มีมาตั้งแต่อย่างน้อย OpenELM ของ Apple ในปี 2024 และ Laguna XS.2 เป็น ตัวอย่างล่าสุดที่โดดเด่นที่สุดในกลุ่มโมเดลโอเพนสำหรับใช้งานจริง
- นอกจากนี้ Laguna ยังใช้ per-head attention-output gating ด้วย (คล้ายกับ Qwen3-Next)
4. ZAYA1-8B: Compressed Convolutional Attention (CCA)
- โมเดลโอเพนเวตที่พัฒนาโดย Zyphra โดยมีจุดเด่นว่า ฝึกบน AMD GPU แทนที่จะเป็น NVIDIA GPU หรือ Google TPU
-
โครงสร้าง
- ใน config.json มีรายการเลเยอร์สลับกัน 80 รายการ โดยมี attention แบบ CCA/GQA และ MoE feedforward สลับกันไปมา (ถ้ามองเชิงภาพมักเขียนเป็นคู่ attention+MoE จำนวน 40 คู่)
- ใช้ CCA ร่วมกับ 4:1 GQA layout
- MoE ถูกตั้งค่าให้ sparse มาก โดย เปิดใช้งาน routed expert เพียง 1 ตัวต่อโทเค็น
-
แก่นของ CCA
- คล้ายกับ MLA โดยนำ compressed latent representation เข้ามาใน attention block
- ความต่างคือ MLA ใช้ latent representation เป็นหลักเพื่อ ลด KV cache และ attention จริงจะยังถูกคำนวณหลังโปรเจกต์กลับไปยังพื้นที่ attention head
- ส่วน CCA จะบีบอัด Q, K, V ทั้งหมดก่อน แล้ว คำนวณ attention โดยตรงใน compressed latent space ก่อนจะ up-projection เวกเตอร์ attention ที่ได้กลับขึ้นมา
- ผลคือช่วยลดได้ไม่เพียงแค่ KV cache แต่รวมถึง attention FLOPs ระหว่าง prefill และการฝึก ด้วย
-
Convolutional Mixing
- คำว่า "Convolutional" มาจากการที่มี convolutional mixing เพิ่มเข้าไปใน K และ Q representation ที่ถูกบีบอัด
- การบีบอัดทำให้ Q, K, V แคบลงและลดต้นทุนการคำนวณกับ cache แต่ก็อาจลดพลังในการแทนค่าของ attention ลง
- convolution เป็นวิธีต้นทุนต่ำในการ เพิ่ม local context ให้กับ Q และ K ที่ถูกบีบอัด
- จะไม่ใช้กับ V เพราะ Q และ K เป็นตัวกำหนด attention score ส่วน V คือเนื้อหาที่ถูกนำมาเฉลี่ยตาม score นั้น
- นอกจาก sequence mixing แล้ว ยังมี องค์ประกอบ channel mixing ด้วย
-
ประสิทธิภาพ
- CCA ถูกนำเสนอครั้งแรกในงานวิจัยแยกต่างหากก่อนรายงานเชิงเทคนิคของ ZAYA1-8B คือ "Compressed Convolutional Attention: Efficient Attention in a Compressed Latent Space" (ตุลาคม 2025)
- จากผลทดลองในงาน CCA ระบุว่า ให้ผลดีกว่า MLA ภายใต้การตั้งค่าการบีบอัดแบบเดียวกัน
5. DeepSeek V4: CSA/HCA, mHC และ compressed attention cache
-
DeepSeek V4 คือหนึ่งในรีลีสที่ได้รับความสนใจมากที่สุดและมีขนาดโมเดลใหญ่ที่สุดในปีนี้ โดย DeepSeek V4-Pro เป็น MoE ที่ sparse ที่สุดเมื่อวัดจากสัดส่วน active parameters
-
เนื้อหานี้โฟกัสที่สองแกนใหม่สำคัญเมื่อเทียบกับสถาปัตยกรรมก่อนหน้า
- mHC: เส้นทาง residual ที่กว้างขึ้น
- CSA/HCA: การบีบอัดและทำให้ attention ของบริบทยาว sparse ลง
-
5.1 Manifold-Constrained Hyper-Connections (mHC)
- อิงจากงานวิจัยของทีม DeepSeek ลงวันที่ 31 ธันวาคม 2025 ชื่อ "mHC: Manifold-Constrained Hyper-Connections" ซึ่งในตอนนั้นทดลองเพียงที่สเกล 27B แต่ ครั้งนี้ถูกนำมาใช้เต็มรูปแบบในโมเดลเรือธง
- เป้าหมายคือ ทำให้การออกแบบ residual connection ภายใน transformer block ทันสมัยขึ้น ซึ่งต่างจากการปรับปรุงที่มักมุ่งไปที่ attention/normalization/MoE
-
ที่มาของ Hyper-Connections (HC)
- อิงจาก Zhu et al. (2024) "Hyper-connections"
- แทนที่ residual stream เดี่ยวด้วย residual streams แบบขนานหลายเส้นและ learned mappings
- เพื่อให้เลเยอร์ attention และ MoE ยังทำงานที่ hidden size ปกติ จึงเพิ่ม Pre Mapping (parallel streams → hidden vector เดียว) และ Post Mapping (เอาต์พุตของเลเยอร์ → กระจายกลับสู่ parallel streams)
- ทำให้เส้นทาง residual มีความสามารถในการแทนค่าสูงขึ้น โดยไม่ต้องขยาย attention หรือ MoE เอง
- ในการทดลองกับ 7B OLMo MoE ค่า FLOPs ต่อโทเค็นแทบไม่เปลี่ยนจาก 13.36G → 13.38G แต่ไปถึงประสิทธิภาพ baseline ได้โดยใช้โทเค็นฝึกประมาณครึ่งหนึ่ง
-
ความเปลี่ยนแปลงจาก HC → mHC
- Res Mapping ของ HC แบบปกติเป็นเมทริกซ์ที่เรียนรู้ได้ ซึ่งเมื่อผ่านหลายชั้นแล้วการขยายหรือลดทอนสัญญาณอาจคาดเดาได้ยาก
- mHC จะฉาย residual mapping ลงบนแมนิโฟลด์ของ doubly stochastic matrices — ทุกค่าไม่เป็นลบ และผลรวมของแต่ละแถวกับแต่ละคอลัมน์เท่ากับ 1
- ทำให้การผสม residual ทำงานคล้าย การกระจายข้อมูลอย่างมีเสถียรภาพระหว่างสตรีม
- Pre Mapping และ Post Mapping ก็ถูกจำกัดให้มีค่าไม่เป็นลบและมีขอบเขต เพื่อป้องกันการหักล้างกันระหว่างการอ่าน/เขียนสถานะ residual ที่ขยายกว้างขึ้น
- ช่วยให้ได้ เสถียรภาพด้านการสเกล ซึ่งยิ่งสำคัญเมื่อโมเดลลึกขึ้น
-
ต้นทุน
- ในการทดลองกับโมเดล 27B ด้วยการทำ optimization implementation ของทีม DeepSeek (fusion, recomputation, pipeline scheduling) การใช้ residual streams จำนวน n=4 ทำให้เวลาเทรนเพิ่มขึ้น 6.7%
-
5.2 Compressed attention ผ่าน CSA และ HCA
- มีเป้าหมายเพื่อแก้ปัญหาที่ในบริบทยาวมาก ไม่ใช่แค่การคำนวณ attention score เท่านั้น แต่ KV cache ก็โตตามความยาวซีเควนซ์ด้วย
- DeepSeek V4 ใช้สองรูปแบบของ compressed attention แบบไฮบริด: Compressed Sparse Attention (CSA) และ Heavily Compressed Attention (HCA)
-
ความต่างจาก MLA
- MLA ของ DeepSeek V2/V3 จะ บีบอัดตัวแทน KV ต่อโทเค็น แต่ยังคงมี latent KV entry หนึ่งรายการต่อหนึ่งโทเค็น
- CSA/HCA จะ บีบอัดตามมิติของซีเควนซ์ โดยสรุปหลายกลุ่มโทเค็นให้เหลือ compressed KV entries จำนวนน้อยกว่า ทำให้ cache สั้นลงจริง
- แลกกับการสูญเสียข้อมูลระดับโทเค็นบางส่วน แต่ช่วย ลดต้นทุนของบริบทยาวได้มาก
-
CSA vs HCA
- CSA: อัตราการบีบอัดไม่รุนแรงมาก (m=4) + การเลือก top-k แบบ DeepSeek Sparse Attention (DSA)
- HCA: การบีบอัดรุนแรง (m'=128, 128 โทเค็นต่อ compressed KV entry 1 รายการ) + dense attention บน cache ที่สั้นลงแล้ว
- ทั้งสองแบบยังคงมี กิ่ง sliding window 128 โทเค็น สำหรับโทเค็นล่าสุดที่ยังไม่ถูกบีบอัด
- CSA เก็บรายละเอียดได้มากกว่าแต่ใช้การเลือกแบบ sparse ส่วน HCA ลดจำนวน entries อย่างมากจนใช้ dense attention ได้ จึง เสริมกัน และ DeepSeek V4 จัดวางทั้งสองเลเยอร์แบบสลับกัน
-
ผลด้านประสิทธิภาพ (บริบท 1M โทเค็น เทียบกับ DeepSeek V3.2)
- DeepSeek V4-Pro: FLOPs สำหรับการอนุมานทีละโทเค็น 27%, ขนาด KV cache 10%
- DeepSeek V4-Flash: FLOPs 10%, ขนาด KV cache 7%
-
ข้อควรระวังในการประเมิน
- ยังสรุปไม่ได้ว่า CSA/HCA "ดีกว่า" MLA โดยทั่วไป เพราะมันเป็น การออกแบบสำหรับบริบทยาวที่ก้าวร้าวกว่าและซับซ้อนกว่า
- ในงานวิจัยไม่มี ablation study
- แม้ DeepSeek V4-Flash-Base จะทำได้ดีกว่า V3.2-Base ในหลาย base benchmarks และให้ผลแข็งแกร่งในงาน retrieval ที่ 1M โทเค็น แต่สิ่งนี้มาจาก สูตรโดยรวมทั้งชุด ซึ่งรวมถึงข้อมูลที่ดีกว่า, การ optimize บน Muon, mHC, การปรับ precision/storage และการเปลี่ยนแปลงของระบบฝึกและอนุมาน
6. บทสรุป
- แพตเทิร์นร่วมของโมเดลโอเพนเวตรุ่นใหม่ในปีนี้คือ ลดต้นทุนการอนุมานบนบริบทยาวโดยไม่ลดจำนวนพารามิเตอร์รวม
- Gemma 4: ลด KV cache ด้วย cross-layer KV sharing และเพิ่ม capacity ด้วย per-layer embeddings
- Laguna XS.2: ปรับระดับ attention capacity ตามเลเยอร์
- ZAYA1-8B: ย้าย attention ไปยัง compressed latent space
- DeepSeek V4: การผสม residual stream แบบมีข้อจำกัด + attention แบบบีบอัดสำหรับบริบทยาว
- Transformer block ยังเปลี่ยนแปลงต่อเนื่อง แต่เป็น การปรับที่มีเป้าหมายชัดเจน โดยยังคงโครงหลักแบบ GPT decoder-only เอาไว้
- ประสิทธิภาพเชิงคุณภาพของการทำโมเดลยังถูกขับเคลื่อนหลักโดย คุณภาพ/ปริมาณของข้อมูลและสูตรการฝึก
- จนถึงตอนนี้ transformer ยังคงเป็นสถานะปัจจุบันของสถาปัตยกรรม SOTA แม้จะมีทางเลือกอื่น เช่น diffusion models
- เดิม transformer block พื้นฐานสามารถเขียนได้ใน PyTorch เพียง 50~100 บรรทัด แต่จากการดัดแปลง attention รูปแบบใหม่ ๆ ทำให้ ความซับซ้อนของโค้ดเพิ่มขึ้นประมาณ 10 เท่า
- ความซับซ้อนที่เพิ่มขึ้นไม่ใช่เรื่องลบเสมอไป เพราะช่วยลดต้นทุน runtime แต่ก็ทำให้ การเข้าใจองค์ประกอบแต่ละส่วนและปฏิสัมพันธ์ระหว่างกันอย่างชัดเจนยากขึ้นเรื่อย ๆ
- แนวทางการเรียนรู้ที่แนะนำคือเริ่มจาก decoder-style LLM ดั้งเดิม (GPT/GPT-2) แล้วค่อย ๆ เพิ่มคอมโพเนนต์ใหม่ทีละอย่างเพื่อเรียนรู้
ยังไม่มีความคิดเห็น