DEV Community

Nokka
Nokka

Posted on

เอาโมเดล 2.78 ล้านล้านพารามิเตอร์ มารันบน CPU แรม 8 GB, วิศวกรคนเดียวเขียน C ทั้งเอนจินเอง เพราะอยากเล่น Kimi K3 ที่บ้าน

เอาโมเดล 2.78 ล้านล้านพารามิเตอร์ มารันบน CPU แรม 8 GB, วิศวกรคนเดียวเขียน C ทั้งเอนจินเอง เพราะอยากเล่น Kimi K3 ที่บ้าน

โดย Nokka (นก-กา) | 11 กันยายน 2026

บทความนี้เขียนโดย AI (GLM-5.3) ผ่าน Hermes Agent ตรวจสอบและเรียบเรียงโดย Nokka

โพสต์หนึ่งจากเพจ Open-Source Projects ที่มีผู้ติดตามหลายแสนกำลังได้รับความสนใจในสัปดาห์นี้ มีข้อความสั้น ๆ ว่า "รัน Kimi K3 ที่ 2.78 ล้านล้านพารามิเตอร์ บน CPU ตัวเดียว แรมแค่ 8.24 GB ไม่ใช้ GPU ไม่ใช้ BLAS ไม่ใช้เฟรมเวิร์ก" [1]

ฟังดูเหมือนโพสต์ปั่น แต่พอไล่ไปที่ต้นทางแล้ว เรื่องนี้จริงและสวยงามกว่าที่หัวข้อบอก

เริ่มจากคนที่เบื่อรอ

Fareed Khan เป็นวิศวกรที่เพิ่งติดตั้ง Kimi K3 โมเดลท็อปของ Moonshot AI ให้บริษัทบน GPU H100 ถึง 32 ตัวไม่นานมานี้ แล้วเขาพบปัญหาเดียวกับคนทำงานสายนี้ทุกคน คือเล่นกับโมเดลตัวนี้ได้แค่ตอนอยู่ที่ทำงาน เพราะไม่มีเครื่องไหนในบ้านเก็บโมเดลที่หนัก 1.56 เทราไบต์ไว้ได้ [2]

คนทั่วไปคงรอซื้อเครื่องแรงขึ้น แต่เขาเลือกเขียนเอนจิน inference ใหม่ทั้งชุดด้วยภาษา C มาตรฐาน C99 ล้วน ๆ คอมไพล์เป็นไบนารีเดียวขนาด 176 KB ไม่พึ่ง BLAS ไม่พึ่ง PyTorch ไม่มีเส้นทาง GPU แม้แต่บรรทัดเดียว

แล้วเอามารันบนเครื่องที่มี GPU สี่ตัวนั่งเฉย ๆ ตลอดงาน

ผลคือโมเดล 2.78 ล้านล้านพารามิเตอร์วิ่งได้บนแรมสูงสุดแค่ 8.24 GB และผลลัพธ์ตรงเป๊ะกับฉบับดั้งเดิมถึงระดับไบต์

ลด 675 เท่าด้วยการคิดใหม่ 4 ชั้น

คนที่เคยลองรันโมเดลใหญ่บนเครื่องส่วนตัวจะรู้ว่ากำแพงไม่ใช่ความเร็ว CPU แต่คือความจุ โมเดลแบบแผนต้องเก็บทุกพารามิเตอร์ในแรม ซึ่งเท่ากับ 5.56 เทราไบต์สำหรับ K3 [3]

เอนจินของ Khan ลดตัวเลขนี้ลงทีละชั้นจนเหลือ 8.24 GB

ขั้น ขนาด มาจากอะไร
โมเดลเต็มแบบ bfloat16 5,560 GB ทุกพารามิเตอร์ในแรม
ไฟล์ checkpoint ที่แจกจริง 1,560 GB experts ถูกบีบมาแล้วครึ่งไบต์ต่อน้ำหนัก
ส่วนที่ต้องอยู่ในแรมจริง 113.49 GB ตัด experts ที่ไม่ได้ทำงานออกไปอยู่ดิสก์
วัดจากเครื่องจริง 8.24 GB ส่วนที่เหลือก็ stream จากดิสก์ทีละชั้น

รวมเป็นการลด 675 เท่าจากตัวเลขจริง โดยไม่ตัดน้ำหนักสักตัวและไม่ประมาณผลลัพธ์แม้แต่นิดเดียว

กุญแจอยู่ที่โมเดลหลับ 96.3 เปอร์เซ็นต์

เหตุผลที่ทำได้เพราะ K3 เป็นโมเดลแบบผสมผู้เชี่ยวชาญ มี experts 896 ตัวในแต่ละชั้น แต่โทเคนหนึ่งตัวปลุกทำงานแค่ 16 ตัวเท่านั้น ตัวที่เหลือ 880 นอนเฉย

รวมทั้งโมเดลมี experts ทั้งสิ้น 82,432 ตัวหนักรวม 1.45 เทราไบต์ ซึ่งเอนจินนี้ไม่โหลดขึ้นแรมเลยแม้แต่ตัวเดียว พอถึงตาที่ต้องใช้ตัวไหนค่อยอ่านตัวนั้นจาก NVMe ตรงเข้าคูณเลขจากรูปแบบบีบ 4 บิต โดยไม่ต้องคลายกลับเป็นเลขทศนิยมเต็ม [3]

ส่วนแกนหนาของโมเดลอีก 113 GB ก็ถูก repack เป็นไฟล์เดียวที่รู้ว่าชั้นที่ L อยู่ตรงไหนของดิสก์ แล้วไหลเข้ามาทีละชั้น เท่าไรที่จะเก็บในแรมเป็นค่าที่ผู้ใช้หมุนปรับได้เองเหมือนบิดไดออล

ที่น่าทึ่งที่สุดคือสถาปัตยกรรมของ K3 เองมาช่วยโดยไม่รู้ตัว ชั้นความสนใจแบบ Kimi Delta Attention ซึ่งกิน 69 จาก 93 ชั้น เก็บความจำแบบเมทริกซ์ขนาดคงที่ 128 คูณ 128 ต่อหัว

ไม่ว่าคุยยาว 10 โทเคนหรือล้านโทเคน รวมทั้งโมเดลก็ 626 เมกะไบต์เท่านั้น ต่างจาก attention แบบเก่าที่ความจำโตไปเรื่อย ๆ ตามความยาวบทสนทนา [3]

ความจริงที่ต้องพูดตรง ๆ: ครึ่งนาทีต่อโทเคน

คนที่รีบคิดว่าจะเอาไปใช้แทน ChatGPT คืนนี้คงต้องหยุดก่อน เพราะความเร็วคือราคาที่จ่ายแลกกับแรม 8 GB บนเครื่อง EPYC 124 คอร์ของเขา ใช้เวลา 32.7 วินาทีต่อโทเคนหนึ่งตัว

และเมื่อปรับแรมขึ้นไป 224 GB เต็มตัว ก็เหลือ 19.2 วินาทีต่อโทเคนเท่านั้น

แปลง่าย ๆ ว่าแรมมากขึ้น 28 เท่า ได้ความเร็วเพิ่งแค่ 1.7 เท่า คอขวดจริงของงานนี้คือดิสก์ไม่ใช่แรม เพราะที่แรมน้อยสุดระบบต้องอ่านข้อมูลจาก NVMe ราว 135 GB ต่อโทเคนหนึ่งตัว ใครไม่มีดิสก์เร็วระดับนั้นก็ช้ากว่านี้อีก ทาง Reddit คำนวณให้ฟังว่าด้วยความเร็วนี้คุณได้คำตอบสั้น ๆ วันละราว 2,000 โทเคน

แถมด้วยดิสก์ว่าง 1.7 เทราไบต์ที่ต้องเตรียมไว้ก่อนอ่าน checkpoint เต็ม

ตัว Khan เองสรุปชัดตั้งแต่ต้นว่าเขาไม่ได้สร้างมาให้ใช้งานจริง "ผมสร้างมันเพื่อทำความเข้าใจสถาปัตยกรรมด้วยการลงมือเขียน ไม่ใช่เพราะควรเอาไปรันโปรดักชัน" [2]

ข้อควรระวังก่อนตื่นเต้นตามไปลอง

  • ค่าที่โพสต์อวดคือแรมสูงสุดที่วัดได้จริงบนเครื่องระดับเวิร์กสเตชัน EPYC 7763 แรม 228 GB ดิสก์ NVMe ความเร็ว 3.2 GB ต่อวินาที ไม่ใช่สเปคแล็ปท็อปทั่วไป ถ้าดิสก์ช้ากว่า ตัวเลขครึ่งนาทีต่อโทเคนจะบานไปอีกมาก บน network storage ทดสอบได้ช้ากว่าถึง 2.2 เท่า [3]
  • ตัวเลข 26.5 วินาทีต่อโทเคนสำหรับแล็ปท็อป 8 GB ที่ README ย้ำ มาจากเครื่องอ่านดิสก์ช้ากว่า ส่วนเลข 5.6 วินาทีต่อโทเคนบนเวิร์กสเตชัน 128 GB เฉพาะเมื่อโมเดลเข้าแรมเต็มตัวแล้วเท่านั้น [3]
  • ทุกตัวเลขยืนยันด้วยระบบตรวจแบบเปิด เขียนด้วย cgroup บังคับลิมิตแรมจริง แล้วเทียบ id โทเคนที่ได้ทั้ง 12 งบประมาณ ปรากฏว่าตรงกันเป๊ะทุกไบต์ นี่คือความน่าเชื่อถือของงานนี้ที่ควรชม ไม่ใช่แค่ตัวเลขอวด [3]

ทำไมคนเขียน C จากศูนย์ทั้งที่มี Colibri ให้ใช้แล้ว

คำถามที่เจอบน Reddit คือมีเอนจินสายเดียวกันอย่าง Colibri ที่รัน K3 ได้อยู่แล้ว จะเขียนใหม่ทำไม Khan ตอบสั้น ๆ ว่าเขาใช้ตัวนั้นเป็นเกณฑ์เทียบมาก่อนแล้ว แต่จุดประสงค์ของเขาไม่ใช่แข่งเร็ว แต่คือการทำความเข้าใจโดยการสร้าง [2]

นี่คือจิตวิญญาณเดียวกับคนที่เคยมีกระแสในวงการนี้มาตลอด ตั้งแต่ Karpathy เขียน nanoGPT ให้เห็นว่า GPT ทั้งใหญ่คือโค้ดหลักร้อยกว่าบรรทัด จนถึง llama.cpp ที่เริ่มจากการอยากรันโมเดลบน MacBook คนเดียว เครื่องมือใหญ่ที่สุดของวงการ local AI หลายตัวเริ่มจากคนที่ "อยากเล่นที่บ้าน" ธรรมดา ๆ นี่แหละ

และประโยชน์จริงที่เรียงมาถึงแล้ว ไม่ใช่การรัน K3 บนแล็ปท็อป แต่คือชุดความรู้สามอย่างที่เอนจินนี้พิสูจน์เป็นตัวเลข ได้แก่ ความจำของ KDA ที่คงที่ไม่โตตามความยาวสนทนา วิธีอ่าน experts บีบ 4 บิตตรงเข้าคูณโดยไม่ต้องคลาย และการหมุนปรับสัดส่วนแรมกับความเร็วแบบไดออลที่ผลลัพธ์ไม่เปลี่ยนเลย

ครั้งหน้าที่มีคนถามว่าแล็ปท็อป 8 GB จะรันโมเดลใหญ่สุดของโลกได้ไหม คำตอบเป็นทางการคือได้จริง แค่ต้องอดทนรอครึ่งนาทีต่อคำหนึ่ง และมีดิสก์ว่างสองเทราไบต์แปลก ๆ อยู่ในบ้าน

แหล่งอ้างอิง

[1] Open-Source Projects (@the_osps), "Run a 2.78-trillion-parameter Kimi K3 inference on a single CPU in 8.24 GB of RAM", X (9 ก.ย. 2026), https://x.com/the_osps/status/2097644188074692650

[2] Khan, F., "I pushed Kimi K3 onto one CPU with 8 GB of RAM", r/LocalLLaMA (ส.ค. 2026), https://www.reddit.com/r/LocalLLaMA/comments/1vd874t/i_pushed_kimi_k3_onto_one_cpu_with_8_gb_of_ram/

[3] Khan, F., kimi-k3-in-c (GitHub, v1.0.0, Apache 2.0, ส.ค. 2026), https://github.com/FareedKhan-dev/kimi-k3-in-c

Top comments (0)