7 คะแนน โดย GN⁺ 2024-10-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Zamba2-7B ทำสถิติ SOTA ทั้งด้านประสิทธิภาพบนเบนช์มาร์กการประเมินและประสิทธิภาพการอนุมาน เมื่อเทียบกับโมเดล 7B หลักในปัจจุบันอย่าง Mistral-7B, Gemma-7B และ Llama3-8B
  • Zamba2-7B สร้างโทเค็นแรกได้เร็วขึ้น 25%, จำนวนโทเค็นต่อวินาทีเพิ่มขึ้น 20% และใช้หน่วยความจำน้อยลงอย่างมากเมื่อเทียบกับ Llama3-8B เป็นต้น จึงมีประสิทธิภาพการอนุมานที่โดดเด่นมาก

การปรับปรุงสถาปัตยกรรมของ Zamba2-7B เมื่อเทียบกับ Zamba1-7B

  • แทนที่บล็อก Mamba1 ด้วยบล็อก Mamba2
  • ใช้บล็อก shared attention 2 บล็อกที่สลับแทรกแบบ ABAB ตลอดทั้งเครือข่าย แทนบล็อก shared attention เดี่ยว
  • ใช้ LoRA projector กับแต่ละ shared MLP block เพื่อให้สามารถปรับ MLP ให้เฉพาะกับการเรียกใช้ shared layer ในแต่ละความลึกได้
  • เปิดซอร์สน้ำหนักโมเดลภายใต้ไลเซนส์ Apache 2.0

ประสิทธิภาพของ Zamba2-7B บนชุดประเมิน language modeling

  • Zamba2 แสดงประสิทธิภาพที่ยอดเยี่ยมมากบนชุดประเมิน language modeling มาตรฐาน เมื่อพิจารณาทั้ง latency และความเร็วในการสร้างข้อความ
  • เป็นผู้นำทั้งด้านคุณภาพและประสิทธิภาพในกลุ่มโมเดลภาษาขนาดเล็กต่ำกว่า 8B

เหตุผลที่ Zamba2-7B เหนือกว่าโมเดล SOTA เดิม

  1. สถาปัตยกรรม shared attention แบบใหม่ช่วยให้จัดสรรพารามิเตอร์ให้กับแบ็กโบน Mamba2 ได้มากขึ้น ขณะที่ shared transformer block ยังคงรักษาความสัมพันธ์ข้ามลำดับที่อุดมสมบูรณ์ของการคำนวณ attention เอาไว้
  2. ชุดข้อมูล pretraining ขนาด 3 ล้านล้านโทเค็นประกอบด้วย Zyda และชุดข้อมูลสาธารณะที่ผ่านการกรองและลบข้อมูลซ้ำอย่างเข้มข้น ทำให้ได้คุณภาพสูงสุดเมื่อเทียบกับชุดข้อมูล pretraining แบบโอเพนซอร์สชั้นนำเดิม
  3. ในขั้นตอน pretraining แบบ "annealing" แยกต่างหาก มีการลด learning rate ลงอย่างรวดเร็วตลอดการฝึกด้วยโทเค็นคุณภาพสูง 1 แสนล้านโทเค็น โดยชุด annealing รวบรวมจากแหล่งคุณภาพสูงที่หลากหลายและควบคุมคุณภาพอย่างเข้มงวด

ด้วยคุณภาพที่ยอดเยี่ยมของชุดข้อมูล pretraining และ annealing ทำให้ Zamba2-7B มีประสิทธิภาพต่อโทเค็นการฝึกสูงมาก และอยู่เหนือเส้นโค้งของโมเดลคู่แข่งอย่างสบาย

สถาปัตยกรรมไฮบริด SSM-attention ของ Zamba

  • Zamba2-7B ใช้และขยายสถาปัตยกรรมไฮบริด SSM-attention แบบดั้งเดิมของ Zamba
  • สถาปัตยกรรมหลักของ Zamba ประกอบด้วยแบ็กโบนของชั้น Mamba ที่สลับแทรกกับชั้น shared attention อย่างน้อยหนึ่งชั้น (Zamba1 ใช้ 1 shared attention และ Zamba2 ใช้ 2 shared attention)
  • attention นี้ใช้ shared weights เพื่อลดต้นทุนด้านพารามิเตอร์ของโมเดลให้ต่ำที่สุด
  • การเชื่อม model embedding ดั้งเดิมของอินพุตเข้ากับบล็อก attention นี้ ดูเหมือนจะช่วยเพิ่มการคงอยู่ของข้อมูลตลอดความลึกและทำให้ประสิทธิภาพดีขึ้น
  • สถาปัตยกรรม Zamba2 เพิ่มพลังการแทนค่าด้วยการใช้เมทริกซ์ LoRA projection กับ shared MLP เพื่อให้แต่ละบล็อกสามารถปรับตัวเฉพาะกับตำแหน่งของตนได้เล็กน้อย โดยยังคงภาระเพิ่มด้านพารามิเตอร์ไว้ต่ำ

ปัจจัยที่ทำให้บรรลุประสิทธิภาพการอนุมานระดับ SOTA

  1. บล็อก Mamba2 มีประสิทธิภาพสูงมาก และมี throughput ราว 4 เท่าเมื่อเทียบกับบล็อก transformer ที่มีจำนวนพารามิเตอร์เท่ากัน
  2. บล็อก Mamba ต้องเก็บเพียง hidden state ขนาดเล็กและไม่ต้องใช้ KV-cache จึงต้องเก็บสถานะ KV เฉพาะตอนเรียกใช้ shared attention block เท่านั้น
  3. เลือกขนาดโมเดลให้เหมาะอย่างมากกับการทำงานแบบขนานบนฮาร์ดแวร์สมัยใหม่ (เช่น streaming multiprocessor หลายตัวของ GPU และมัลติคอร์ของ CPU)

การฝึกและการเผยแพร่ Zamba2-7B

  • Zamba2-7B ถูกฝึกบน GPU H100 จำนวน 128 ตัว เป็นเวลาราว 50 วัน ด้วยเฟรมเวิร์กการฝึกภายในที่พัฒนาบนพื้นฐานของ Megatron-LM
  • Zamba2-7B แสดงให้เห็นว่าในสเกล 7B ทีมขนาดเล็กและงบประมาณที่เหมาะสมก็สามารถไปถึงและแซงหน้าระดับล้ำสมัยได้
  • มีการเผยแพร่ภายใต้ไลเซนส์โอเพนซอร์ส เพื่อให้นักวิจัย นักพัฒนา และองค์กรต่าง ๆ นำความสามารถของมันไปใช้ได้
  • คาดหวังให้ชุมชน AI สำรวจสถาปัตยกรรมอันเป็นเอกลักษณ์ของ Zamba และผลักดันขอบเขตของ foundation model ที่มีประสิทธิภาพต่อไป

โมเดล Zamba2-7B ที่เผยแพร่แล้ว:

วิสัยทัศน์ของ Zyphra

  • ทีม Zyphra มุ่งมั่นต่อการทำให้ระบบ AI ขั้นสูงเข้าถึงได้อย่างกว้างขวาง การสำรวจสถาปัตยกรรมใหม่ที่แนวหน้าด้านประสิทธิภาพ และการพัฒนางานวิจัยทางวิทยาศาสตร์รวมถึงความเข้าใจเกี่ยวกับโมเดลทรงพลัง
  • กำลังตั้งตาร่วมมือกับผู้ที่มีวิสัยทัศน์เดียวกัน

ความเห็นของ GN⁺

  • การที่ Zyphra เปิดซอร์ส Zamba2 มีความหมายอย่างมาก เพราะช่วยให้ทุกคนสามารถใช้งานและศึกษาวิจัยโมเดลภาษาระดับล้ำสมัยได้ฟรี ซึ่งจะช่วยให้เทคโนโลยี AI เข้าถึงคนทั่วไปมากขึ้น
  • สถาปัตยกรรมใหม่ของ Zamba2 ชี้ทิศทางในการสร้างโมเดลภาษาที่มีประสิทธิภาพมากขึ้น โดยก้าวข้ามข้อจำกัดของโมเดลแบบ transformer เดิม แนวคิดเฉพาะตัวของ Zamba เช่น shared attention และ LoRA projection ดูมีแนวโน้มว่าจะเป็นแรงบันดาลใจให้กับงานวิจัยโมเดลภาษาในอนาคต
  • อีกจุดที่น่าสนับสนุนคือ ทีมขนาดเล็กถึงกลางก็สามารถใช้ฮาร์ดแวร์สมัยใหม่เพื่อสร้างโมเดลภาษาขนาดใหญ่ที่มีประสิทธิภาพระดับ SOTA ได้ คาดว่าในอนาคตการพัฒนา foundation model จะยิ่งคึกคักขึ้นจากการมีส่วนร่วมขององค์กรที่หลากหลาย
  • ยังต้องติดตามว่าประสิทธิภาพของ Zamba2 จะออกมาเป็นอย่างไรในแอปพลิเคชันจริง เพราะคะแนนเบนช์มาร์กที่ยอดเยี่ยมไม่ได้แปลว่าจะถ่ายทอดไปสู่ภารกิจในโลกจริงโดยตรงเสมอไป สิ่งสำคัญคือผู้ปฏิบัติงานในหลายสาขาควรลองนำ Zamba2 ไปใช้และแบ่งปันทั้งข้อดีข้อเสีย

1 ความคิดเห็น

 
GN⁺ 2024-10-16
ความเห็นจาก Hacker News
  • ให้ลิงก์สำหรับคนที่กำลังมองหา weight ที่ไม่ได้ลิงก์ไว้ในบทความ

  • สงสัยว่าการเพิ่มขึ้นของประสิทธิภาพมาจากการปรับปรุงชุดข้อมูลหรือมาจากสถาปัตยกรรมกันแน่ ซึ่งน่าจะเป็นการทดลองที่มีต้นทุนสูง

  • เริ่มเหนื่อยกับการที่การปล่อย LLM เลือกใช้ benchmark แบบคัดสรร เลยอยากรู้ว่าเทียบกับ SOTA อย่าง qwen2.5/phi3.5 แล้วเป็นอย่างไร

    • ถามว่ามีใครรู้จัก leaderboard อิสระที่อัปเดตล่าสุดบ้างไหม เพราะ Lmsys กับ livebench ข้ามโมเดลหลักช่วงหลังไปเกือบหมด
  • เป็นเรื่องดีที่มีโมเดลภายใต้ไลเซนส์ Apache ออกมาเพิ่มขึ้น โดยเฉพาะเมื่อมาพร้อมสถาปัตยกรรมที่หลากหลาย

  • เมื่อเทียบกับปริมาณงานเชิงทฤษฎีเกี่ยวกับบล็อก Mamba2 แล้ว การเพิ่มขึ้นของประสิทธิภาพถือว่าน้อยมาก

    • attention ยังสำคัญอยู่ดี
  • เมื่อใช้ attention head สองตัว ก็สงสัยว่าแต่ละ head โฟกัสกับแง่มุมที่ต่างกันของข้อมูลหรือไม่

    • ในงานวิจัยด้านความจำมีแนวคิดเรื่องการแทนเหตุการณ์แบบคู่ โดยแบบหนึ่งเป็นการแทนที่แม่นยำกว่า ส่วนอีกแบบให้น้ำหนักกับบริบทมากกว่า
    • จึงพอนึกภาพได้ว่าใน LLM อาจมีระบบที่ attention head หนึ่งโฟกัสกับการแทนที่แม่นยำ ส่วนอีก head โฟกัสกับข้อมูลที่หยาบกว่า แต่ไม่ได้รู้เรื่อง LLM มากพอจึงไม่แน่ใจว่านี่เป็นแค่การเปรียบเทียบง่าย ๆ หรือไม่
  • สงสัยว่าอะไรทำให้ 7B เป็นตัวเลขพิเศษ ทำไมไม่เป็น 8B, 9B หรือ 11.234B และถามว่า 7B ถูกมองว่าเป็นกำลังของ 2 หรือเปล่า

  • อีกวันหนึ่ง กับอีกหนึ่งสถิติโลกใหม่ในวงการ AI

    • ทำให้นึกถึง Sergey Bubka ที่ทำลายสถิติโลกกระโดดค้ำถ่อชายถึง 35 ครั้ง
  • ถามว่ามีใครพอมีข้อมูลไหมว่าโมเดลนี้รองรับภาษาอะไรบ้าง