- Kimi K3 ของ Moonshot AI เป็นโมเดล open weight ที่มีพารามิเตอร์รวม 2.8T·พารามิเตอร์ที่ทำงานจริง 104B พร้อมวิชันแบบเนทีฟและบริบท 1 ล้านโทเค็น โดย Unsloth มีการทำควอนไทซ์ GGUF สำหรับรันแบบโลคัลให้
- การอนุมานแบบความแม่นยำเต็มต้องใช้ 1.56TB แต่ Dynamic 1-bit
UD-IQ1_S ทำได้ราว 78.9% Top-1 accuracy ที่ 594GB และ 2-bit UD-Q2_K_XL ขนาด 861.3GB ทำได้ราว 90%
- Kimi K3 เป็น โมเดลแบบ thinking-only ที่คงร่องรอยการคิดไว้ ไม่รองรับโหมด Instant และเลือก
reasoning_effort เป็น "low", "high", "max" ได้ พร้อมรองรับสูงสุด 1,048,576 โทเค็น
- Unsloth Studio ทำ RAM offloading และตรวจจับหลาย GPU ให้อัตโนมัติ และการรัน
llama.cpp พร้อมความสามารถด้านวิชันต้องใช้ฟอร์กของ Unsloth สำหรับ Kimi K3
- การรัน
UD-IQ1_S ตามที่แนะนำต้องมี RAM อย่างน้อย 610GB และโดยทั่วไปต้องมี RAM+VRAM รวมกันอย่างน้อยเท่าขนาดไฟล์ควอนไทซ์ ไม่เช่นนั้นจะช้าลงมากเพราะ disk offloading
คุณสมบัติของโมเดลและข้อกำหนดสำหรับการรันแบบโลคัล
- Kimi K3 ของ Moonshot AI เป็นโมเดล open weight ขนาด 2.8T พารามิเตอร์ที่มุ่งเน้นงานโค้ดดิ้ง เอเจนต์ บริบทยาว และแชต โดยจะเปิดใช้พารามิเตอร์ 104B ระหว่างการอนุมาน
- รองรับวิชันแบบเนทีฟและหน้าต่างบริบท 1 ล้านโทเค็น และใช้ MXFP4 กับน้ำหนักแบบ MoE
- การอนุมานแบบความแม่นยำเต็มต้องใช้พื้นที่จัดเก็บ 1.56TB
- Kimi-K3-GGUF สามารถรันได้บน Unsloth Studio หรือ
llama.cpp
- รันได้ทั้งบน NVIDIA DGX Station หรือ Mac Studio ที่เชื่อมต่อกับอุปกรณ์ RAM 128GB
- ความต้องการฮาร์ดแวร์คำนวณจากผลรวมของ RAM และ VRAM หรือ unified memory โดยช่วงการจัดสเปกอยู่ที่ 610GB~1.6TB
วิธีการติดตั้งใช้งาน GGUF
- ติดตั้งบนพื้นฐานของ llama.cpp PR และ ฟอร์กของ Unsloth เพิ่มการรองรับวิชันและแก้บั๊ก
- vision tower คล้ายกับ Kimi K2.5 แต่มีความต่างดังนี้
- ใช้ RMSNorm และไม่มี bias
- QKV ที่ฟิวส์แล้วไม่เป็นสี่เหลี่ยม และ
qkv width != n_embd
- ใช้ normalization หลัง projector
- ในแบตช์ขนาดใหญ่ งบ
n_tokens * 40 ใช้งานไม่ได้ จึงเพิ่มเป็น n_tokens * 160
- แปลง chat template ของ Kimi เป็นรูปแบบ Jinja
- ค่าการฝึกเริ่มต้นเปิดใช้
preserved thinking จึงคงร่องรอยการคิดไว้โดยไม่ลบออก
วิธีการควอนไทซ์และคุณภาพ
UD-Q8_K_XL คงโครงสร้าง MXFP4 ของน้ำหนัก MoE และ BF16 ของน้ำหนักส่วนที่เหลือไว้ตามเดิม จึงถือเป็น การควอนไทซ์แบบไม่สูญเสียข้อมูล
UD-Q4_K_XL เก็บ residual tensor บางส่วน เช่น normalization tensor เป็น Q8_0 ยกเว้นบางส่วน ทำให้ใกล้เคียงกับความแม่นยำเต็ม และมีขนาด 1.51TB
UD-Q8_K_XL แบบไม่สูญเสียข้อมูลมีขนาด 1.56TB ซึ่งใหญ่กว่า 50GB เมื่อเทียบกับ UD-Q4_K_XL
- ผลการควอนไทซ์หลักมีดังนี้
UD-IQ1_S: 594.0GB, perplexity 2.5789, Top-1 accuracy 78.875±0.107%
UD-IQ1_M: 648.9GB, perplexity 2.3639, Top-1 accuracy 81.219±0.103%
UD-IQ2_XXS: 711.1GB, perplexity 2.1266, Top-1 accuracy 84.127±0.096%
UD-Q2_K_XL: 861.3GB, perplexity 1.7359, Top-1 accuracy 90.390±0.077%
UD-Q4_K_XL: 1,510GB, perplexity 1.4579
UD-Q8_K_XL: 1,560GB, perplexity 1.4581
- การสร้าง imatrix และการปรับเทียบควอนไทซ์ใช้
UD-Q8_K_XL แบบไม่สูญเสียข้อมูลขนาด 1.56TB
- Dynamic 1-bit มีขนาดเล็กกว่าเวอร์ชันไม่สูญเสียข้อมูล 62% แต่ยังทำ Top-1 accuracy ได้ราว 79%
- 2-bit
UD-Q2_K_XL มีขนาดเล็กลง 45% แต่ยังทำความแม่นยำได้ราว 90%
- ขนาด 1-bit คือ 553.2GiB และกำลังตรวจสอบว่าสามารถลดให้ต่ำกว่า 512GiB ได้หรือไม่โดยไม่ทำให้โมเดลเสียหาย
-
เทียบกับการควอนไทซ์จากชุมชน
IQ1_M จากชุมชนขนาด 618.9GB ใหญ่กว่า UD-IQ1_S ขนาด 594GB แต่ perplexity เพิ่มเป็น 54.56 ทำให้แย่ลง 21 เท่า
IQ2_XXS จากชุมชนทำ perplexity 96 ที่ 725GB ขณะที่เวอร์ชันของ Unsloth ทำได้ 2.12 ที่ 711GB จึงต่างกันราว 45 เท่า
- การควอนไทซ์แบบไดนามิกและการปรับเทียบที่เหมาะสมส่งผลต่อทั้งขนาดไฟล์และคุณภาพพร้อมกัน
การตั้งค่าการอนุมานและประสิทธิภาพ
- Kimi K3 เป็น โมเดลแบบ thinking-only โดย
preserve_thinking จะเปิดตลอดเวลา และระดับการคิดเริ่มต้นคือ max
- ไม่รองรับโหมด Instant และสามารถระบุ
"low", "high", "max" ในฟิลด์คำขอ reasoning_effort ได้
- ความยาวบริบทสูงสุดคือ 1,048,576 โทเค็น และใน Unsloth สามารถสลับระดับการคิดได้ 3 ระดับ
- การตั้งค่าการอนุมานประกอบด้วย
temperature=1.0, top_p=0.95 หรือ top_p=1.0
- เมื่อโหลดโมเดลเข้าเมมโมรีแล้ว จะสร้างได้ราว 20 โทเค็น/วินาที บน B200 และได้ throughput มากกว่า 120 โทเค็น/วินาที
- เมื่อคำนึงถึงสมดุลระหว่างขนาดและคุณภาพ แนะนำ 594GB
UD-IQ1_S
- ผลรวมของ RAM และ VRAM ควรใกล้เคียงกับขนาดไฟล์ควอนไทซ์ และแม้จะรันได้หากไม่พอ แต่จะช้าลงมากจาก disk offloading
รันบน Unsloth Studio
- Unsloth Studio เป็นเว็บ UI โอเพนซอร์สสำหรับ AI แบบโลคัล รองรับ macOS, Windows, Linux
- ค้นหา ดาวน์โหลด และรันโมเดล GGUF และ safetensors ได้ พร้อมการอนุมานแบบ CPU+GPU บนพื้นฐาน
llama.cpp
- ตรวจจับ RAM offloading และการตั้งค่าหลาย GPU ได้อัตโนมัติ
- คำสั่งติดตั้งและรันมีดังนี้
# macOS, Linux, WSL
curl -fsSL https://unsloth.ai/install.sh | sh
# Windows PowerShell
irm https://unsloth.ai/install.ps1 | iex
unsloth studio
- หลังรันแล้ว ให้เปิด
http://127.0.0.1:8888 หรือที่อยู่ที่แสดงในเบราว์เซอร์ และตั้งรหัสผ่านเพื่อปกป้องบัญชีเมื่อใช้งานครั้งแรก
- รองรับการรันผ่าน HTTPS ด้วย Cloudflare tunnel ฟรีด้วย
unsloth studio --secure
- ค้นหา Kimi K3 ใน Model hub แล้วดาวน์โหลดควอนไทซ์ที่ต้องการเพื่อรัน
- พารามิเตอร์การอนุมานจะถูกตั้งค่าให้อัตโนมัติ แต่สามารถเปลี่ยนระดับการคิด ความยาวบริบท และ chat template ได้เอง
- ดูรายละเอียดเพิ่มเติมได้ที่ คู่มือการอนุมานของ Unsloth Studio
รันบน llama.cpp
- สำหรับการอนุมานแบบโลคัลที่รวดเร็วรวมถึง CPU ให้ใช้ llama.cpp
- หากต้องการเปิดใช้วิชันของ Kimi K3 ต้อง build ฟอร์กเฉพาะของ Unsloth ไม่ใช่เวอร์ชันทั่วไป
git clone https://github.com/unslothai/llama.cpp
cd llama.cpp
git fetch origin pull/48/head:kimi-k3-fullsize-vision
git checkout kimi-k3-fullsize-vision
cd ..
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first \
--target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
- หากไม่มี GPU หรือใช้การอนุมานบน CPU อย่างเดียว ให้เปลี่ยนเป็น
-DGGML_CUDA=OFF
- Apple Mac และอุปกรณ์ Metal ก็ใช้
-DGGML_CUDA=OFF เช่นกัน และรองรับ Metal โดยเปิดไว้เป็นค่าเริ่มต้น
- สามารถให้
llama.cpp ดาวน์โหลดโมเดลและรันได้โดยตรง แต่การดาวน์โหลดอาจช้ามาก
export LLAMA_CACHE="unsloth/Kimi-K3-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/Kimi-K3-GGUF:UD-IQ1_S \
--temp 1.0 \
--top-p 0.95
hf download unsloth/Kimi-K3-GGUF \
--local-dir unsloth/Kimi-K3-GGUF \
--include "*mmproj-BF16*" \
--include "*UD-IQ1_S*"
- หากต้องการเวอร์ชันไม่สูญเสียข้อมูล ให้เปลี่ยนแพตเทิร์นดาวน์โหลดเป็น
*UD-Q8_K_XL*
- สามารถระบุไฟล์โลคัลและ vision projector เพื่อรันในโหมดสนทนาได้
./llama.cpp/llama-cli \
--model unsloth/Kimi-K3-GGUF/UD-IQ1_S/Kimi-K3-UD-IQ1_S-00001-of-00014.gguf \
--mmproj unsloth/Kimi-K3-GGUF/mmproj-BF16.gguf \
--temp 1.0 \
--top-p 0.95
- รองรับทั้งคำถามแบบข้อความและอินพุตรูปภาพผ่าน
mmproj-BF16.gguf
ขอบเขตของเบนช์มาร์ก
- การประเมินครอบคลุมด้าน reasoning·knowledge, coding, agent, vision
- เบนช์มาร์กที่ใช้ได้แก่ GPQA Diamond, HLE-Full, DeepSWE, Terminal-Bench 2.1, BrowseComp, GDPval-AA v2, OSWorld 2.0, MMMU-Pro, MathVision
- ในผลลัพธ์ DeepSWE นั้น Kimi K3 แสดงประสิทธิภาพที่มีประสิทธิผล
1 ความคิดเห็น
พอลองรันดูแล้ว ดีมากกก~ ตอนนี้ขอแค่ทังจามยอน&ดากังก็พอ