1 คะแนน โดย GN⁺ 2 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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
  • สำหรับการดาวน์โหลดแบบแมนนวล ให้ติดตั้ง huggingface_hub แล้วใช้ hf download และหากมีปัญหาให้ดู Hugging Face Hub XET debugging
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 ความคิดเห็น

 
plumpmath 21 분 전

พอลองรันดูแล้ว ดีมากกก~ ตอนนี้ขอแค่ทังจามยอน&ดากังก็พอ