- 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 ความคิดเห็น
ความเห็นจาก 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