• Gemma 4 ที่เปิดตัวโดย Google DeepMind เป็นตระกูล LLM แบบมัลติโหมดที่ประกอบด้วย 4 โมเดล ได้แก่ E2B, E4B, 31B และ 26B A4B โดยทุกรุ่นรองรับอินพุตภาพ
  • ทุกโมเดลใช้สถาปัตยกรรมร่วมกันที่ วางเลเยอร์ local attention (sliding window) สลับกับ global attention และเลเยอร์สุดท้ายจะถูกกำหนดให้เป็น global attention เสมอ
  • ในเลเยอร์ global attention มีการใช้เทคนิคเพิ่มประสิทธิภาพ 3 อย่างพร้อมกัน ได้แก่ GQA (grouped query attention), เทคนิค K=V และ p-RoPE เพื่อลดการใช้หน่วยความจำและภาระการคำนวณ
  • โมเดลขนาดเล็ก (E2B, E4B) ใช้ Per-Layer Embeddings (PLE) เพื่อเก็บตาราง embedding ขนาดใหญ่ไว้ในแฟลชเมมโมรี ลดการใช้ VRAM ให้ต่ำที่สุด และยังเพิ่ม audio encoder มาอีกด้วย
  • Gemma 4 รองรับการใช้งานได้กว้างตั้งแต่ออนดีไวซ์ไปจนถึงงานอนุมานขนาดใหญ่ ด้วย vision encoder (อิง ViT) ที่รองรับอัตราส่วนภาพและความละเอียดแบบแปรผัน รวมถึงสถาปัตยกรรม MoE (26B A4B)

องค์ประกอบของตระกูล Gemma 4

  • ประกอบด้วย 4 โมเดล และใช้ทั้งสถาปัตยกรรมแบบ dense และ MoE
    • Gemma 4 - E2B: ใช้ Per-Layer Embeddings, effective parameters 2 พันล้าน
    • Gemma 4 - E4B: ใช้ Per-Layer Embeddings, effective parameters 4 พันล้าน
    • Gemma 4 - 31B: โมเดล dense ขนาด 31 พันล้านพารามิเตอร์
    • Gemma 4 - 26B A4B: โมเดล MoE ที่มีพารามิเตอร์รวม 26 พันล้าน โดยระหว่างอนุมานจะเปิดใช้งานเพียง 4 พันล้านพารามิเตอร์
  • ทุกโมเดลเป็นแบบ มัลติโหมด และรองรับอินพุตภาพได้หลายขนาดและหลายความละเอียด
  • โมเดลขนาดเล็ก (E2B, E4B) รองรับ อินพุตเสียง เพิ่มเติมนอกเหนือจากภาพและข้อความ

สถาปัตยกรรมร่วมของ Gemma 4

การวางสลับของเลเยอร์ attention (Interleaving Layers)

  • เช่นเดียวกับ Gemma 3 มีการวางเลเยอร์ local attention (sliding window) และ global attention สลับกัน
    • Sliding window attention: อ้างอิงเฉพาะโทเค็นในช่วงที่กำหนด → ลดปริมาณการคำนวณ
    • Global attention: อ้างอิงทั้งลำดับ → มองเห็นโครงสร้างของบริบททั้งหมดได้
  • ขนาดของ sliding window
    • โมเดลขนาดเล็ก (E2B, E4B): 512 โทเค็น
    • โมเดลขนาดใหญ่ (26B A4B, 31B): 1024 โทเค็น
  • ใน Gemma 3 มีกรณีที่เลเยอร์สุดท้ายเป็น local attention แต่ใน Gemma 4 เลเยอร์สุดท้ายถูกกำหนดให้เป็น global attention เสมอ
  • อัตราการสลับ
    • E2B: รูปแบบ 4:1 ของ local attention 4 เลเยอร์ + global attention 1 เลเยอร์
    • โมเดลที่เหลือ: รูปแบบ 5:1 (local 5 เลเยอร์ + global 1 เลเยอร์)

การเพิ่มประสิทธิภาพของ global attention

GQA (Grouped Query Attention)

  • ในเลเยอร์ global attention มี query head 8 ตัวแชร์ KV head 1 ตัว ช่วยลดพื้นที่จัดเก็บ KV cache อย่างมาก
  • เพื่อชดเชยประสิทธิภาพที่อาจลดลงจากการลดจำนวน KV head จึง ขยายขนาดมิติของ Key เป็น 2 เท่า

เทคนิค K=V

  • ในเลเยอร์ global attention มีการ กำหนดให้ Keys และ Values เหมือนกัน เพื่อลดความต้องการหน่วยความจำของ KV cache เพิ่มเติม
  • เป็นเทคนิคที่เพิ่มประสิทธิภาพด้านหน่วยความจำโดยแทบไม่กระทบต่อประสิทธิภาพมากนัก

p-RoPE

  • ใช้ RoPE (rotary positional encoding) กับ เพียงบางส่วนของมิติ แทนที่จะใช้กับทุกมิติ (เช่น p=0.25 หมายถึงใช้กับคู่มิติบนสุด 25%)
  • คู่ความถี่ต่ำจะถูกใช้เพื่อ รักษาข้อมูลเชิงความหมาย (semantic) แทนข้อมูลตำแหน่ง
  • มีประสิทธิภาพเป็นพิเศษในการบรรเทา ปัญหาความบิดเบือนของระยะห่างระหว่างโทเค็น เมื่อใช้บริบทยาวใน global attention
  • สรุปการปรับปรุงทั้งหมดที่ใช้กับเลเยอร์ global attention:
    • เลเยอร์สุดท้ายเป็น global attention เสมอ
    • แชร์ Key 1 ตัวต่อ query 8 ตัว
    • ขยายมิติของ Key เป็น 2 เท่า
    • Keys = Values
    • ใช้ p-RoPE ที่ p=0.25

Vision Encoder

  • อิงกับ Vision Transformer (ViT) แปลงภาพเป็นลำดับของแพตช์เพื่อสร้าง embedding
    • แต่ละแพตช์มีขนาด 16×16 พิกเซล
  • โมเดลขนาดเล็ก (E2B, E4B) ใช้ vision encoder ขนาด 150 ล้านพารามิเตอร์ ส่วนโมเดลอื่นใช้ vision encoder ขนาด 550 ล้านพารามิเตอร์

รองรับอัตราส่วนภาพแบบแปรผัน

  • ViT แบบเดิมยึดอินพุตสี่เหลี่ยมจัตุรัสตายตัว → ทำให้ positional encoding เปลี่ยนไปตามอัตราส่วนภาพ
  • Gemma 4 นำ 2D RoPE มาใช้: แบ่ง patch embedding ออกเป็นสองส่วน และเข้ารหัสข้อมูลตำแหน่งแนวนอน (w) กับแนวตั้ง (h) แยกจากกัน
  • ปรับขนาดภาพอินพุตแบบ adaptive resizing ให้สอดคล้องกับแพตช์ 16×16 พิกเซล และใช้ padding กับส่วนที่ลงตัวไม่พอดี
  • แพตช์ขนาดแปรผันจะถูก pooling ตามตำแหน่งเชิงพื้นที่ เพื่อลดเหลือจำนวน patch embedding คงที่

รองรับความละเอียดแบบแปรผัน (soft token budget)

  • เพิ่มแนวคิด soft token budget: จำกัดจำนวน patch embedding สูงสุดที่ส่งเข้า LLM
    • บัดเจ็ตที่ผู้ใช้เลือกได้: 70, 140, 280, 560, 1120 โทเค็น
  • บัดเจ็ตยิ่งสูง (เช่น 1120) ก็ยิ่งคงความละเอียดสูงไว้ได้มาก ส่วนบัดเจ็ตต่ำ (เช่น 70) จะลดขนาดภาพลง
  • ตัวอย่าง: ถ้าบัดเจ็ตเป็น 280 จำนวนแพตช์สูงสุด = 9 × 280 = 2,520 ชิ้น (ใช้ average pooling ในหน่วยบล็อก 3×3)

การฉายเชิงเส้น (Linear Projection)

  • embedding ที่ออกจาก vision encoder มีมิติและการกระจายต่างจาก token embedding ของ LLM จึงต้อง ฉายผ่านโครงข่ายประสาทขนาดเล็ก
  • หลังการฉายจะใช้ RMSNorm เพื่อให้ตรงกับสเกลที่ Transformer block ถัดไปคาดหวัง
  • เลเยอร์ linear projection ถูกฝึกร่วมกับ Gemma 4 เพื่อปรับให้ patch embedding สอดคล้องกับค่าที่ LLM คาดหวัง

Gemma 4 - 31B (Dense)

  • โมเดลสถาปัตยกรรม dense ขนาด 31 พันล้านพารามิเตอร์ เป็นโครงสร้างที่ใกล้เคียงกับรูปแบบพื้นฐานที่สุดในบรรดา Gemma 4
  • มีความคล้ายทางโครงสร้างกับโมเดล 27B ของ Gemma 3 แต่ใช้การปรับปรุงร่วมของ Gemma 4 เช่น K=V และ p-RoPE
  • จำนวนเลเยอร์ลดจาก 62 เหลือ 60 เลเยอร์ แต่เปลี่ยนเป็นโครงสร้างที่กว้างขึ้นในแต่ละเลเยอร์

Gemma 4 - 26B A4B (Mixture of Experts)

  • แม้จะมีพารามิเตอร์รวม 26 พันล้าน แต่ระหว่างอนุมานจะใช้เพียง 4 พันล้านพารามิเตอร์ (active parameters) จึงทำงานได้ด้วยความเร็วระดับโมเดล 4B
  • โครงสร้าง MoE (Mixture of Experts): แทนที่จะใช้ FFNN ขนาดใหญ่แบบทั่วไป จะมี FFNN ขนาดเล็กหลายตัว (Expert) และเปิดใช้เพียงบางส่วนตามอินพุต
    • จาก Expert ทั้งหมด 128 ตัว จะ เลือกเปิดใช้ 8 ตัว ระหว่างอนุมาน
    • มี Shared Expert 1 ตัว ที่เปิดใช้งานเสมอ ทำหน้าที่ประมวลผลความรู้ทั่วไป และมีขนาดใหญ่กว่า Expert อื่น 3 เท่า
  • Router จะสร้างความน่าจะเป็นในการเลือก Expert สำหรับแต่ละโทเค็นเพื่อทำการ routing และนำผลลัพธ์ของ Expert ที่ถูกเลือกมาถ่วงน้ำหนักตามความน่าจะเป็น
  • พารามิเตอร์ทั้งหมดถูกโหลดไว้ในหน่วยความจำ แต่ในการคำนวณจริงใช้เพียง Expert 8 ตัว + Shared Expert 1 ตัว → อีก 119 ตัวยังคงรออยู่

Gemma 4 - E2B & E4B (Dense + Per-Layer Embeddings)

Per-Layer Embeddings (PLE)

  • เพิ่ม ตาราง embedding lookup แยกสำหรับแต่ละเลเยอร์ นอกตัวโมเดล เพื่อลดการใช้ VRAM บนอุปกรณ์ขนาดเล็กให้ต่ำที่สุด
  • อ้างอิง E2B: ตาราง PLE ขนาด 262,144 โทเค็น × 35 เลเยอร์ × 256 มิติ → เก็บไว้ในแฟลชเมมโมรี
  • ตอนเริ่มอนุมานจะดึง embedding รายเลเยอร์ของโทเค็นอินพุตเพียงครั้งเดียว → หลังจากนั้นแต่ละเลเยอร์ไม่ต้องดึงซ้ำอีก
  • ระหว่าง decoder block แต่ละชั้น จะใช้ ฟังก์ชัน gating เพื่อกำหนดน้ำหนักของ embedding แล้วฉายกลับไปยังขนาด embedding เดิม (E2B: 256→1536, E4B: 256→2560)
  • embedding ที่ฉายแล้วจะถูกทำ normalization และบวกกับเอาต์พุตของ decoder block ก่อนหน้า → ทำให้โมเดลอ้างอิงความหมายของโทเค็นได้อย่างต่อเนื่อง
  • ตัวอักษร "E" หมายถึง effective parameters ที่ไม่รวม PLE

Audio Encoder

  • มีเฉพาะในโมเดลขนาดเล็ก (E2B, E4B) และใช้กับงานอย่าง การรู้จำเสียงพูดอัตโนมัติและการแปล
  • การประมวลผลเสียงมี 3 ขั้นตอน:
    1. การสกัดคุณลักษณะ: เสียงดิบ → mel-spectrogram (การแทนแบบ 2 มิติของเวลา × ความถี่)
    2. การจัดกลุ่มเป็นชังก์: รวมคุณลักษณะ mel เป็นหน่วยชังก์เพื่อกำหนดจุดเริ่มต้นของลำดับโทเค็น
    3. การลดตัวอย่าง (downsampling): ใช้เลเยอร์คอนโวลูชัน 2D 2 ชั้นเพื่อลดความยาวลำดับและสร้าง soft token
  • Audio encoder ใช้ Conformer: โครงสร้างที่เพิ่มโมดูลคอนโวลูชันเข้าไปใน Transformer encoder มาตรฐาน
  • embedding ที่ออกจาก Conformer ก็จะถูก ฉายเชิงเส้น เช่นเดียวกับ vision encoder เพื่อแปลงให้เข้ากับ embedding space ของ Gemma 4

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น