โหลดไฟล์ .gguf มาแล้วแต่ไม่รู้จะรันยังไง? ทางที่เร็วที่สุด: ollama run hf.co/<repo>:Q4_K_M — Ollama ดึง GGUF จาก Hugging Face มาให้ตรง ๆ แล้วเปิดให้ใช้ได้เลย GGUF เป็นฟอร์แมตโมเดลไฟล์เดียวที่ llama.cpp เป็นผู้ริเริ่ม และตอนนี้เครื่องมือ LLM ในเครื่องทุกตัวพูดภาษานี้ได้ ไฟล์เดียวกันจึงรันได้ใน Ollama, llama.cpp, LM Studio, Jan และ (อย่างมีข้อแม้) vLLM บทความนี้ไล่ให้ครบทีละตัวพร้อมคำสั่ง copy-paste วิธีเลือกระดับ quant ให้พอดี VRAM และ error ตอนโหลดที่คุณจะเจอจริง
ไฟล์ GGUF คืออะไร?
GGUF (GGML Universal File) เป็นฟอร์แมตคอนเทนเนอร์สำหรับโมเดลภาษาที่ถูก quantize แล้ว ไฟล์เดียวเก็บทั้งน้ำหนักโมเดล tokenizer และเมทาดาทา — ไม่ต้องโหลดอย่างอื่นเพิ่ม ไม่มีคอนฟิกกองเป็นภูเขา น้ำหนักข้างในถูก quantize: บีบจาก float 16-bit ลงเป็นเลขจำนวนเต็ม 4-bit (หรือต่ำกว่า) โมเดล 9B ที่ต้องใช้ราว 18 GB แบบเต็มความละเอียดจึงกระจุกอยู่ในไฟล์ Q4 ที่ ~5.5 GB และรันได้บนการ์ดเกมมิ่งหรือแม้แต่ CPU
ในชื่อไฟล์ GGUF มีสองอย่างที่ต้องอ่าน:
- โมเดลฐาน —
gemma-3-4b-it-GGUFคือ Gemma 3 ขนาด 4B ที่ผ่านการ fine-tune แล้วเอ็กซ์พอร์ตเป็น GGUF - แท็ก quant —
Q4_K_M,Q8_0,IQ4_XSและเพื่อน ๆ บอกว่าบีบน้ำหนักแน่นแค่ไหน เรื่องการเลือกมีต่อด้านล่าง
Ollama รันโมเดล GGUF ได้ไหม?
ได้ — GGUF เป็นฟอร์แมตแม่ของ Ollama และตั้งแต่ปี 2024 มันดึงไฟล์จาก Hugging Face มาตรง ๆ โดยที่คุณไม่ต้องแตะไฟล์เลย:
# ดึง quant GGUF จาก Hugging Face แล้วคุยกับมัน
ollama run hf.co/bartowski/gemma-2-9b-it-GGUF:Q4_K_M
# แท็ก quant หลังโคลอนเลือกไฟล์ภายใน repo
ollama run hf.co/ggml-org/gemma-3-4b-it-GGUF:Q8_0 โหลดไฟล์ .gguf ไว้เองแล้ว? ชี้ Modelfile ไปที่มัน:
# Modelfile — หนึ่งบรรทัดก็พอ
FROM ./gemma-2-9b-it-Q4_K_M.gguf ollama create gemma9b -f Modelfile
ollama run gemma9b Ollama ตัดสินใจ GPU offload ให้เองอัตโนมัติ และเปิด API ที่รองรับ OpenAI บนพอร์ต 11434 อะไรที่พูดภาษา API นี้ใช้โมเดลได้หมด ข้อแลกคือการควบคุม: คุณไม่ได้เลือกว่าจะย้าย layer ไป GPU กี่ชั้น
รันไฟล์ GGUF ใน llama.cpp อย่างไร?
llama.cpp คือแหล่งกำเนิดของ GGUF — ฟอร์แมตนี้เกิดมาเพื่อมัน — การรองรับจึงลึกและสดที่สุด ไฟล์ llama-server ให้ทั้งหน้า UI แชตและ endpoint ที่รองรับ OpenAI:
# โหลดตรงจาก Hugging Face (เลือก GGUF ให้เข้ากับเครื่องคุณ)
llama-server -hf ggml-org/gemma-3-4b-it-GGUF --port 8080
# หรือรันไฟล์ที่มีอยู่แล้ว พร้อม offload เต็มที่ไป GPU
llama-server -m ./gemma-2-9b-it-Q4_K_M.gguf -ngl 99 --port 8080 -ngl 99 ดัน 99 layer ขึ้น GPU ตั้งต่ำกว่าที่ VRAM รับได้แล้วส่วนที่เหลืออยู่บน CPU ลูกบิด offload บางส่วนนี่คือพลังพิเศษของ llama.cpp — โมเดล 9B รันได้สบายบนการ์ด 6 GB ด้วยการย้าย 20 จาก 48 layer เพียงแต่ช้าลง ถ้าจะส่งพรอมต์ครั้งเดียวโดยไม่ต้องเปิดเซิร์ฟเวอร์ เปลี่ยน llama-server เป็น llama-cli โดยใช้ -m แบบเดิม
LM Studio คือเอนจินตัวเดียวกันในชุดเดสก์ท็อป: ลากไฟล์ .gguf ไปวางในโฟลเดอร์โมเดล (หรือค้นหา Hugging Face ในแอป) แล้วกดโหลด ส่วนการเลือกเครื่องมือ การเปรียบเทียบ Ollama กับ LM Studio บอกได้ว่าควรวางตัวไหนใต้โมเดลของคุณ
ควรโหลด quant ระดับไหน?
คำตอบค่าเริ่มต้น: Q4_K_M มันคือจุดหวานของชุมชน — คุณภาพห่างจาก full precision ไม่เกินหนึ่งถึงสองเปอร์เซ็นต์ที่ขนาดราวหนึ่งในสี่ บันไดเรียงจากใหญ่ไปเล็ก:
- Q8_0 — แทบไม่เสียอะไร ใช้เมื่อ VRAM คุณกลืน 8.5 บิตต่อน้ำหนักได้โดยไม่สะดุด
- Q6_K / Q5_K_M — ลดขนาดหนึ่งขั้น ยังเยี่ยมสำหรับโมเดล 30B ขึ้นไป
- Q4_K_M — ค่าเริ่มต้น สำหรับโมเดล 7–14B นี่คือจุดที่คุณภาพต่อกิกะไบต์พีค
- IQ4_XS / Q3_K_M — สำหรับบีบโมเดลใหญ่ลงการ์ดเล็ก คุณภาพที่หายไปเริ่มเห็นได้ชัด
- Q2_K และต่ำกว่า — ทางสุดท้าย โมเดลเริ่มเสื่อมกลายเป็นเรื่องไร้สาระกลางประโยค
กฎการจัดพื้นที่: ขนาดไฟล์เป็นกิกะไบต์ บวก overhead ของ context อีก ~1–2 GB ต้องลงตัวใน VRAM ไฟล์ Q4_K_M ขนาด 4.7 GB ของโมเดล 9B อยู่สบายบนการ์ด 8 GB เลือก โมเดลเล็กลงแต่ quant สูงขึ้น ดีกว่าโมเดลใหญ่ที่ quant โหด — Q8 ของ 4B ปกติชนะ Q2 ของ 9B
GGUF vs Safetensors: ต้องใช้ฟอร์แมตไหน?
Safetensors คือฟอร์แมตอาร์ไวฟ์ ยังไม่ quantize — น้ำหนักเต็มความละเอียดสำหรับการเทรน fine-tune และเครื่องมืออย่าง transformers กับ ComfyUI ส่วน GGUF คือฟอร์แมต quantize แล้วรันได้ สำหรับ inference บนฮาร์ดแวร์ของคุณ ไม่สามารถ fine-tune GGUF ได้ และรันไฟล์ safetensors ใน Ollama หรือ llama.cpp ไม่ได้จนกว่าจะแปลงก่อน (สคริปต์ convert_hf_to_gguf.py ใน llama.cpp มีไว้ทำงานนี้) กฎคือ: เทรนหรือ pipeline งานภาพ → safetensors; แชตในเครื่องกับการเปิดให้ใช้งาน → GGUF ถ้าคุณค้นมาจากคำว่า “gguf vs safetensors” การแบ่งแบบนี้คือคำตอบทั้งหมด
ควรใช้ตัวรัน GGUF ตัวไหน?
| ตัวรัน | เหมาะกับ | การติดตั้ง | GPU offload | API รองรับ OpenAI |
|---|---|---|---|---|
| Ollama | Service ตั้งแล้วลืม | curl บรรทัดเดียว | อัตโนมัติ | มี (:11434/v1) |
| llama.cpp | ควบคุมสูงสุด ฟีเจอร์ใหม่สุด | build หรือ package manager | บิด -ngl เอง | มี (llama-server) |
| LM Studio | GUI เดสก์ท็อป เลือกดูโมเดล | โหลดแอป | อัตโนมัติ | มี (local server) |
| vLLM | เสิร์ฟหลายผู้ใช้พร้อมกันเป็นชุด | pip install vllm | อัตโนมัติ | มี (native) |
เลือก Ollama ถ้าอยากให้มันรันตอนบูตและหายไปจากสายตา — ผมใช้ตัวนี้บน homelab แจกโมเดลให้ทุกอย่างในเครือข่าย เลือก llama.cpp เมื่อต้องการฟีเจอร์ตั้งแต่วันเปิดตัว (สถาปัตยกรรมใหม่มาถึงที่นั่นก่อนเพื่อน) หรืออยากคุมหน่วยความจำระดับ layer เลือก LM Studio ถ้าอยากได้ GUI เลือก vLLM เฉพาะเมื่อโมเดลหนึ่งตัวต้องเสิร์ฟผู้ใช้พร้อมกันหลายคน — การรองรับ GGUF ของมันใช้ได้ แต่นั่งแท่นรองเท้าหลัง native formats
ทำไมโมเดล GGUF ของผมโหลดไม่ขึ้น?
สี่ error ที่ครอบคลุมเกือบทุกกรณี:
unknown model architecture— ไฟล์ GGUF ใช้สถาปัตยกรรมที่ใหม่กว่า runtime ของคุณ (โมเดล MoE และ vision ตัวใหม่มาไม่หยุด) อัปเดต Ollama หรือ build llama.cpp ใหม่ ไม่มีวิธีแก้อื่น- หน่วยความจำไม่พอตอนโหลด — quant ใหญ่เกินไปสำหรับ VRAM บวก context ของคุณ ลงหนึ่งขั้น (
Q4_K_M→Q3_K_M) ลด-nglหรือย่อ context ด้วย-c 4096 - โหลดค้างหรือไฟล์เสีย — GGUF โหลดล้มด้วย error เรื่อง magic number หรือเมทาดาทา โหลดใหม่แล้วเทียบ SHA256 ที่แสดงบนหน้า Hugging Face
ollama run ./model.ggufไม่ยอม — เป็นเรื่องปกติ:runของ Ollama รับชื่อโมเดล ไม่ใช่พาธไฟล์ ให้ใช้วิธี Modelfile ที่โชว์ไว้ข้างบน
มุมสุดท้ายที่ควรรู้: endpoint GGUF ในเครื่องจับคู่กับเครื่องมือ coding แบบ agentic ได้ดี — ชี้ client ที่รองรับ OpenAI มาที่มัน แล้วค่า completion เหลือแค่ค่าไฟ LLM ในเครื่องที่ดีที่สุดสำหรับเขียนโค้ด ได้ทดสอบไว้แล้วว่าโมเดลไหนสมควรได้เก้าอี้นั้นเมื่องานประปาในบทความนี้พร้อม
— mrsaynothing
— mrsaynothing
บันทึกหน้างานเรื่อง AI, Linux และ self-hosted
คุยต่อโพสต์นี้บน dev.to dev.to ↗
รับวิธีแก้ฉบับถัดไปทางอีเมล
อีเมลหนึ่งฉบับต่อหนึ่งโพสต์ แก้เสร็จแล้วไปต่อ
นี่คืออะไร?Git sync fork กับ upstream: 3 วิธีที่ปลอดภัย
ถ้าอ่านแล้วชอบ — ผมสร้างงานแบบนี้เป็นอาชีพ จ้างผม