2 คะแนน โดย GN⁺ 2025-04-26 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • DFloat11 เป็น เฟรมเวิร์กการบีบอัดแบบไม่สูญเสียข้อมูล ที่ลดขนาดของโมเดลภาษาขนาดใหญ่ (LLM) ลง 30% ขณะเดียวกันยังคงผลลัพธ์ที่เหมือนกับโมเดลต้นฉบับทุกบิต
  • ใช้ประโยชน์จาก เอนโทรปีต่ำของการแทนน้ำหนักแบบ BFloat16 เพื่อปรับปรุงความไม่มีประสิทธิภาพของรูปแบบการจัดเก็บแบบเดิม
  • พัฒนา เคอร์เนล GPU แบบกำหนดเอง เพื่อรองรับการคลายการบีบอัดแบบออนไลน์ที่รวดเร็ว สำหรับ การอนุมานบน GPU ที่มีประสิทธิภาพ
  • ยืนยันผ่านการทดลองกับโมเดลล่าสุด เช่น Llama-3.1, Qwen-2.5, Gemma-3 ว่าสามารถ ลดขนาดโมเดลได้ 30% พร้อม คงผลลัพธ์ที่ถูกต้องแม่นยำ
  • ภายใต้งบประมาณหน่วยความจำ GPU แบบคงที่ สามารถรองรับ ความยาวคอนเท็กซ์มากกว่าโมเดลที่ไม่บีบอัด 5.3-13.17 เท่า

ขนาด 70%, ความแม่นยำ 100%: การบีบอัด LLM แบบไม่สูญเสียข้อมูลเพื่อการอนุมานบน GPU ที่มีประสิทธิภาพ

  • ขนาดของโมเดลภาษาขนาดใหญ่ (LLM) เพิ่มขึ้นอย่างรวดเร็ว จนกลายเป็นความท้าทายสำคัญต่อการนำไปใช้งานอย่างมีประสิทธิภาพบนฮาร์ดแวร์ที่มีทรัพยากรจำกัด
  • Dynamic-Length Float (DFloat11) เป็นเฟรมเวิร์กการบีบอัดแบบไม่สูญเสียข้อมูลที่ลดขนาดของ LLM ลง 30% ขณะเดียวกันยังคงผลลัพธ์ที่เหมือนกันทุกบิต
  • ใช้ประโยชน์จากเอนโทรปีต่ำของการแทนน้ำหนักแบบ BFloat16 เพื่อปรับปรุงความไม่มีประสิทธิภาพของรูปแบบการจัดเก็บแบบเดิม
  • ใช้การเข้ารหัสเชิงเอนโทรปีเพื่อกำหนดการเข้ารหัสความยาวแปรผันให้กับค่าน้ำหนักตามความถี่ เพื่อให้ได้การบีบอัดที่เหมาะสมที่สุดตามข้อมูล
  • เพื่อการอนุมานที่มีประสิทธิภาพ จึงได้พัฒนาเคอร์เนล GPU แบบกำหนดเองเพื่อรองรับการคลายการบีบอัดแบบออนไลน์ที่รวดเร็ว

การออกแบบของ DFloat11

  • แยกตารางค้นหา (LUT) ที่กินหน่วยความจำมาก ออกเป็น LUT แบบบีบอัด ที่พอดีกับ GPU SRAM
  • พัฒนา เคอร์เนลสองขั้นตอน ที่ใช้ ตัวแปรเสริมน้ำหนักเบา เพื่อปรับตำแหน่งการอ่าน/เขียนของเธรด
  • ลดเวลาแฝงให้ต่ำที่สุดด้วย การคลายการบีบอัดในระดับบล็อกของทรานส์ฟอร์เมอร์

ผลการทดลอง

  • จากการทดลองกับโมเดลล่าสุด เช่น Llama-3.1, Qwen-2.5, Gemma-3 ยืนยันว่า DFloat11 สามารถ ลดขนาดโมเดลได้ 30% พร้อม คงผลลัพธ์ที่ถูกต้องแม่นยำ
  • เมื่อเทียบกับทางเลือกที่ถ่ายโอนบางส่วนของโมเดลที่ไม่บีบอัดไปยัง CPU พบว่าสามารถให้ ทรูพุตสูงกว่า 1.9-38.8 เท่า
  • ภายใต้งบประมาณหน่วยความจำ GPU แบบคงที่ สามารถรองรับ ความยาวคอนเท็กซ์มากกว่าโมเดลที่ไม่บีบอัด 5.3-13.17 เท่า

ข้อดีของ DFloat11

  • ทำให้ Llama-3.1-405B โมเดลขนาด 810GB สามารถทำการอนุมานแบบไม่สูญเสียข้อมูลได้บนโหนดเดียวที่ติดตั้ง GPU 8x80GB
  • โค้ดและโมเดลเผยแพร่ผ่าน URL สาธารณะ

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

 
GN⁺ 2025-04-26
ความคิดเห็นจาก Hacker News
  • ช่วงไดนามิกที่สูงของ bfloat16 แทบไม่ได้ถูกใช้งาน

    • ผู้คนมักชอบไฮเปอร์พารามิเตอร์อย่าง 0.01
    • ต่อให้คูณทุกองค์ประกอบของเครือข่ายด้วย 10^6 ก็แทบไม่ต่างกันมาก
    • เอนโทรปีโดยทั่วไปของค่า bfloat16 อยู่ที่ 10-12 บิต
    • บิตเครื่องหมายและบิตแมนทิสซาเป็นสัญญาณรบกวนที่บีบอัดไม่ได้
    • มีการใช้เทคนิคการบีบอัดแบบไม่สูญเสียข้อมูลในห้องแล็บของ Martin Burtscher, fpzip ของ LLNL และ dietgpu ของ Facebook
    • rANS มีประสิทธิภาพมากกว่า Huffman coding บนชุดคำสั่ง SIMD
  • ความเป็นไปได้ในการรันโมเดลขนาด 405B พารามิเตอร์บนโหนดเดียว

    • มอบโอกาสครั้งใหญ่ให้กับสถาบันวิจัยและสตาร์ตอัป
  • รู้สึกขอบคุณต่อความก้าวหน้าอย่างรวดเร็วของโมเดล ML/Transformer

    • สงสัยว่า llama.cpp ใช้ cublas ได้ดีหรือไม่
  • เมื่อสงครามรูปแบบน้ำหนักยุติลง ฮาร์ดแวร์ก็น่าจะรองรับสิ่งนี้ได้

    • ต้องการฮาร์ดแวร์คูณเมทริกซ์ที่ปรับให้เหมาะกับรูปแบบน้ำหนักที่ดีที่สุด
  • ในกรณีใช้งานเอเจนต์จริง การหาสมดุลระหว่างคุณภาพ ต้นทุน และประสิทธิภาพทำได้ยาก

    • dfloat11 อาจช่วยลดต้นทุนได้
  • ทำงานที่ xmad.ai

  • ความก้าวหน้าทางเทคโนโลยีรวดเร็วมาก

    • สนใจการปรับปรุงด้านประสิทธิภาพ
  • DFloat11 ให้ทรูพุตสูงกว่าการออฟโหลดโมเดลที่ไม่บีบอัดไปยัง CPU อยู่ 1.9-38.8 เท่า

    • ให้ความยาวคอนเท็กซ์ที่มากขึ้นภายใต้งบประมาณหน่วยความจำ GPU ที่คงที่
  • สงสัยว่า LLM ถูกจำกัดด้วยแบนด์วิดท์หน่วยความจำหรือไม่

  • พบวิธีใช้ LLM เพื่อบีบอัดภาพเพิ่มเติม

    • มีแผนจะเผยแพร่ไวต์เปเปอร์ที่เกี่ยวข้อง
  • สงสัยว่าต่างจาก ZipNN หรือไม่

    • เข้าใจได้ยากว่ามันเป็นพื้นฐานเดียวกัน ต่างกัน หรือดีกว่า
  • คิดว่าการใช้เลขฐานสามแทนเลขฐานสองอาจให้การบีบอัดที่ดีกว่า