17 คะแนน โดย GN⁺ 2025-01-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • DeepSeek-R1 เป็นโมเดลโอเพนซอร์สที่มีประสิทธิภาพเทียบเคียงกับโมเดล O1 Reasoning ของ OpenAI
  • เดิมโมเดลมีขนาด 720GB แต่ถูกย่อเหลือ 131GB ทำให้ลดขนาดลงได้ 80%
  • ใช้เทคนิคการควอนไทซ์แบบไดนามิก โดยคงบางเลเยอร์ไว้ที่บิตสูงกว่า (เช่น 4bit) และประมวลผลเลเยอร์ MoE (Mixture of Experts) ส่วนใหญ่ที่ 1.58bit

คุณสมบัติหลัก

  • สเปกขั้นต่ำ: รันบน CPU ได้ด้วย RAM 20GB แต่ความเร็วจะช้า
  • ประสิทธิภาพสูงสุด: ต้องการผลรวมของ VRAM และ RAM อย่างน้อย 80GB ขึ้นไป โดยแนะนำ VRAM 160GB (GPU H100 80GB จำนวน 2 ตัว)
  • เวอร์ชันควอนไทซ์แบบไดนามิก (131GB~212GB) มีให้บน Hugging Face: DeepSeek-R1-GGUF

ประเภทของโมเดลควอนไทซ์แบบไดนามิก

  • มีเวอร์ชันควอนไทซ์ทั้งหมด 4 แบบ:
    • 131GB, 158GB, 183GB, 212GB (2bit แบบทั่วไป)
  • ใช้ importance matrix (imatrix) เพื่อเพิ่มประสิทธิภาพการควอนไทซ์
  • วิธีการควอนไทซ์และความต้องการด้านฮาร์ดแวร์แตกต่างกันไปในแต่ละโมเดล

เบนช์มาร์กและการทดสอบประสิทธิภาพ

  • วัดคะแนน 10 รายการประเมินโดยอิงจากการสร้างเกม Flappy Bird (pass@3)
  • คะแนนของโมเดลควอนไทซ์แบบไดนามิก 1.58bit มีดังนี้:
    • โมเดล 131GB: 6.92
    • โมเดล 158GB: 9.08
    • โมเดล 183GB: 9.17
  • โมเดลควอนไทซ์แบบไม่ไดนามิกสร้างข้อผิดพลาดซ้ำ ๆ หรือผลลัพธ์ที่ไม่ถูกต้อง

การใช้ประโยชน์จากสถาปัตยกรรมของ DeepSeek-R1

  • จากการวิเคราะห์โครงสร้างของ DeepSeek-R1 ส่วนที่ไวต่อการควอนไทซ์ถูกคงไว้ที่ความละเอียดสูง
    • 3 เลเยอร์ dense แรกคงไว้ที่ 4~6bit
    • เลเยอร์ MoE ส่วนใหญ่ถูกควอนไทซ์ที่ 1.58bit
    • โมดูล MLA (Memory Layers Attention) และส่วน down_proj ถูกคงไว้ที่ความแม่นยำสูง
  • มีการควอนไทซ์น้ำหนักประมาณ 88% ที่ 1.58bit จึงทำให้ขนาดโมเดลลดลง

การแก้ปัญหาเทมเพลตแชตและการจัดการโทเค็น

  • ทุกเวอร์ชันใช้โทเค็น <|begin_of_sentence|> และ <|end_of_sentence|> ในเทมเพลตแชต
  • เดิมมีการตั้งค่าโทเค็น EOS ผิดพลาดจนเกิดปัญหาสร้างข้อความไม่สิ้นสุด แต่ได้แก้ไขแล้ว

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

 
GN⁺ 2025-01-29
ความเห็นจาก Hacker News
  • การลดขนาดลง 80% เป็นความสำเร็จที่น่าทึ่ง และเวอร์ชัน 1.58 บิตที่รันได้ที่ 140 โทเคน/วินาทีบน H100 คู่ก็น่าประทับใจ อย่างไรก็ตาม ยังน่าสงสัยว่าจะใช้งานได้จริงสำหรับคนส่วนใหญ่หรือไม่ แม้จะรันได้ด้วย VRAM 24GB หรือ RAM 20GB แต่ก็ช้าเกินไป อีกทั้งยังมีปัญหาการวนซ้ำด้วย การวนซ้ำใน Pygame ทำให้ความหมายของการควอนไทซ์ลดลง แม้จะมีวิธีแก้ แต่ก็ไม่ใช่การแก้ปัญหาที่ต้นเหตุ การทำให้เข้าถึงได้ผ่าน Hugging Face และแนวทาง dynamic quantization นั้นยอดเยี่ยม เหมาะกับทีมเล็ก ๆ แต่ก็ยังต้องใช้ฮาร์ดแวร์ราคาแพง

  • ตอนรัน DeepSeek บน RTX 4090 แม้โมเดลจะต้องพอดีกับ VRAM แต่ก็ยังช้า สถาปัตยกรรมหน่วยความจำแบบรวมของ Apple มีข้อได้เปรียบ Mx Ultra 192GB สามารถจัดการโมเดลขนาดใหญ่ได้อย่างมีประสิทธิภาพ ถึงเวลายกเลิกสมาชิก OpenAI แล้ว

  • การลดขนาดของ DeepSeek-R1 ลง 80% เป็นเรื่องน่าทึ่ง โมเดลขนาดใหญ่เข้าถึงคนได้มากขึ้น ความเร็ว 140 โทเคน/วินาทีบน H100 คู่ด้วยการควอนไทซ์ 1.58 บิตนั้นน่าประทับใจ ธุรกิจขนาดเล็กหรือขนาดกลางสามารถนำไปใช้กับแอปพลิเคชันแบบโลคัลได้ เป็นข้อได้เปรียบอย่างมากสำหรับงานเอเจนต์ที่ต้องการ latency ต่ำ

  • ผลรวมของ VRAM + RAM ควรมีอย่างน้อย 80GB จึงจะได้ประสิทธิภาพที่เหมาะสมที่สุด สามารถลองกับเซิร์ฟเวอร์ที่กินไฟต่ำ/ต้นทุนต่ำได้ สร้างระบบ Ryzen 5500 + RAM 64GB + RTX 3060 12GB จำนวน 7 ใบ ได้ในราคา 1600 ยูโร ใช้พลังงานประมาณ 520 วัตต์ เริ่มจากบอร์ด AM4 และ RTX 3060 12GB มือสอง แล้วต่อ GPU เพิ่มผ่าน pcie riser/extender เหมาะสำหรับการเรียนรู้และเก็บเกี่ยวประสบการณ์

  • ถ้าควอนไทซ์ทุกเลเยอร์เป็น 1.58 บิต จะเกิดการวนซ้ำไม่สิ้นสุด กระบวนการที่ผู้เขียนบล็อกโพสต์นี้ใช้ในการหา seed ที่เฉพาะเจาะจงนั้นน่าสนใจ เป็นงานที่ดี

  • การประเมิน R1 ยังไม่ชัดเจน คำกล่าวอ้างว่าฝึกด้วยเงิน $5M กำลังส่งผลกระทบอย่างมากต่อตลาด อยากรู้ว่าได้รับการตรวจสอบยืนยันแล้วหรือยัง

  • ถ้าลงทุนกับเครื่องระดับ 100x แต่จริง ๆ แล้ว 10x ก็ทำได้ ก็ไม่เข้าใจว่าทำไมถึงไม่ถือเครื่อง 10x ไว้ 10 เครื่องแทน สามารถนำฮาร์ดแวร์และข้อมูลกลับมาใช้ใหม่เพื่อสร้างโมเดลที่มีประสิทธิภาพมากขึ้นได้หลายอินสแตนซ์

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

  • การลดขนาดโมเดลและยังคงรักษาความสม่ำเสมอไว้ได้นั้นน่าทึ่ง แต่ก็ยังสงสัยว่าประสิทธิผลยังคงอยู่มากแค่ไหน Flappy bird เป็นเกมที่รู้จักกันดี แต่การทดสอบที่ดีกว่าคือดูว่า R1 และ o1 สามารถแก้ปัญหาที่โมเดลอื่นแก้ไม่ได้หรือไม่

  • อยากให้โมเดลฐานรุ่นถัดไปถูกออกแบบมาให้ทำ inference แบบ 8 บิตได้บน VRAM 128GB ตัวอย่างเช่น ฐานแบบ MoE ที่ทรงพลังซึ่งมีพารามิเตอร์ที่ active อยู่ 16 พันล้านตัว และมี expert 6~7 ตัว น่าจะรันได้บน MacBook RAM 128GB