สรุปสั้น ๆ
- โมเดลแบบเปิดอยู่บน Hugging Face บน Mac ให้มองหาบิลด์ MLX (มักมาจาก mlx-community) หรือไฟล์ GGUF สำหรับ llama.cpp, Ollama และ LM Studio
- หน่วยความจำกำหนดว่าอะไรใส่ได้: โมเดล MLX 4 บิตใช้ราว 0.56 GB ต่อพารามิเตอร์หนึ่งพันล้าน บวกพื้นที่สำหรับคอนเท็กซ์และ macOS
- โมเดล gated ต้องมีบัญชี Hugging Face ฟรี ยอมรับสัญญาอนุญาต และมีโทเค็น
- รันได้ด้วย MLX Harness, mlx-lm, LM Studio หรือ Ollama
1หาโมเดลได้ที่ไหน
Hugging Face เป็นแหล่งรวมโมเดล open-weight ส่วนใหญ่ โมเดลเดียวกันมักมีหลายบิลด์ และฟอร์แมตเป็นตัวกำหนดว่าแอปไหนรันได้:
| ฟอร์แมต | หน้าตาเป็นอย่างไร | รันใน |
|---|---|---|
| MLX | โฟลเดอร์ของไฟล์ safetensors พร้อม config.json ชื่อแบบ Model-4bit | mlx-lm, LM Studio, MLX Harness |
| GGUF | ไฟล์ .gguf หนึ่งหรือไม่กี่ไฟล์ ชื่อแบบ Q4_K_M | llama.cpp, Ollama, LM Studio |
| ค่าน้ำหนักต้นฉบับ | safetensors ความแม่นยำเต็มจากผู้สร้างโมเดล | แปลงเป็น MLX ก่อน หรือเลือกบิลด์สำเร็จรูป |
ไม่แน่ใจว่าจะใช้รันไทม์ไหน MLX vs Ollama vs llama.cpp เปรียบเทียบไว้ให้ เพิ่งเริ่มต้นใช่ไหม เริ่มจากการรัน LLM บน Mac
2เลือกขนาดที่พอดีกับหน่วยความจำ
ค่าน้ำหนักของโมเดลต้องใส่ในหน่วยความจำได้โดยเหลือที่ว่าง MLX เก็บค่าน้ำหนักที่ควอนไทซ์แล้วเป็นบิตของมัน บวกสเกลและไบแอสที่ใช้ร่วมกันสำหรับทุกกลุ่มค่าน้ำหนัก 64 ตัว เพิ่มขึ้นราวครึ่งบิตต่อค่าน้ำหนัก (MLX) ดังนั้น 4 บิตใช้ราว 0.56 GB ต่อพารามิเตอร์หนึ่งพันล้าน และ 8 บิตราว 1.06 GB
| พารามิเตอร์ | 4 บิต (MLX) | 8 บิต (MLX) | 16 บิต |
|---|---|---|---|
| 3 พันล้าน | ราว 1.7 GB | ราว 3.2 GB | 6 GB |
| 8 พันล้าน | ราว 4.5 GB | ราว 8.5 GB | 16 GB |
| 14 พันล้าน | ราว 7.9 GB | ราว 14.9 GB | 28 GB |
| 32 พันล้าน | ราว 18 GB | ราว 34 GB | 64 GB |
| 70 พันล้าน | ราว 39 GB | ราว 74 GB | 140 GB |
โดยค่าเริ่มต้น macOS ให้ GPU ใช้หน่วยความจำรวมได้เพียงบางส่วน หน้าเปรียบเทียบถือว่าใช้ได้ราวสามในสี่ และ README ของ mlx-lm แสดงวิธีเพิ่มขีดจำกัดบน macOS 15 ขึ้นไปด้วย sudo sysctl iogpu.wired_limit_mb=N (mlx-lm) สำหรับโมเดล mixture-of-experts พารามิเตอร์ทั้งหมดกำหนดหน่วยความจำ และพารามิเตอร์ที่ทำงานอยู่กำหนดความเร็ว หน้าเปรียบเทียบคำนวณเรื่องนี้ให้ทุกโมเดลยอดนิยมและทุกชิปของ Apple และMac ที่ดีที่สุดสำหรับรัน LLM บนเครื่องอธิบายว่าทำไมแบนด์วิดท์จึงกำหนดความเร็ว
3ควอนไทเซชัน: 4 บิต 8 บิต และอื่น ๆ
ควอนไทเซชันเก็บค่าน้ำหนักแต่ละตัวด้วยบิตที่น้อยลง โมเดลจึงใช้หน่วยความจำน้อยลงและรันเร็วขึ้น แลกกับคุณภาพที่ลดลงบ้าง 4 บิตคือจุดเริ่มต้นที่นิยมบน Mac ส่วน 8 บิตใกล้ต้นฉบับมากกว่าและใหญ่เป็นสองเท่า ต่ำกว่า 4 บิตไฟล์จะเล็กลง แต่คุณภาพคำตอบลดลงเร็วกว่า จึงควรลองเฉพาะเมื่อโมเดลที่ใหญ่กว่าใส่ไม่ได้ด้วยวิธีอื่น
- บิลด์ MLX บอกไว้ในชื่อ: -4bit, -8bit และบางครั้งเป็นบิลด์ความแม่นยำผสมที่เก็บเลเยอร์ที่อ่อนไหวไว้ด้วยบิตมากกว่า
- ไฟล์ GGUF ใช้ชื่อแบบ llama.cpp: Q4_K_M, Q5_K_M, Q8_0 เป็นต้น เมื่อคุณรันรีโพซิทอรี GGUF จาก Hugging Face ใน Ollama โดยไม่ระบุไฟล์ Ollama จะเลือก Q4_K_M หากมี (Hugging Face)
- สร้างเอง บิลด์ MLX จากค่าน้ำหนักต้นฉบับ:
mlx_lm.convert --model mistralai/Mistral-7B-Instruct-v0.3 -qจะเขียนสำเนา 4 บิต (mlx-lm)
4พื้นที่ดิสก์และที่เก็บโมเดล
ไฟล์ดาวน์โหลดมีขนาดใกล้เคียงกับค่าน้ำหนักในตารางด้านบน โมเดล 8B แบบ 4 บิตจึงมีขนาดไม่กี่กิกะไบต์ ส่วนโมเดล 70B มีขนาดหลายสิบกิกะไบต์ การลองหลายขนาดหรือหลายบิลด์ของโมเดลเดียวกันจะกินพื้นที่เพิ่มขึ้นอย่างรวดเร็ว
mlx-lm และเครื่องมืออื่นของ Hugging Face เก็บไฟล์ดาวน์โหลดไว้ใน ~/.cache/huggingface/hub ตั้งค่า HF_HOME หรือ HF_HUB_CACHE เพื่อย้ายที่เก็บ hf cache ls แสดงสิ่งที่มีอยู่ และ hf cache rm ลบโมเดล (Hugging Face) Ollama และ LM Studio เก็บโมเดลในโฟลเดอร์ของตัวเองและจัดการเอง
5โมเดล gated และโทเค็น Hugging Face
บางโมเดล เช่น Llama เป็นแบบ gated: คุณต้องยอมรับเงื่อนไขของผู้สร้างก่อนจึงจะดาวน์โหลดได้ (Hugging Face)
- ลงชื่อเข้าใช้บัญชี Hugging Face ฟรี แล้วเปิดหน้าของโมเดล
- ยอมรับเงื่อนไขด้วยปุ่มบนหน้านั้น (ค่าเริ่มต้นคือ Agree and send request to access repo) ผู้สร้างบางรายอนุมัติคำขอด้วยตนเอง ซึ่งใช้เวลานานกว่า
- สร้าง access token ในการตั้งค่า Hugging Face ของคุณ
- ส่งโทเค็นให้เครื่องมือ: รัน
hf auth loginใน Terminal สำหรับ mlx-lm และเครื่องมืออื่นของ Hugging Face (Hugging Face) หรือวางในช่องโทเค็น Hugging Face ของแอป
6รันได้สี่วิธี
mlx-lm: MLX ของ Apple ใน Terminal
ติดตั้งด้วย pip แล้วระบุชื่อโมเดล MLX ใดก็ได้บน Hugging Face การรันครั้งแรกจะดาวน์โหลดให้ (mlx-lm)
pip install mlx-lm
mlx_lm.generate --model mlx-community/Llama-3.2-3B-Instruct-4bit --prompt "How tall is Mt Everest?"
mlx_lm.chat --model mlx-community/Llama-3.2-3B-Instruct-4bitmlx_lm.server ให้บริการโมเดลผ่าน API แบบ OpenAI ที่ localhost:8080 สำหรับแอปอื่น (mlx-lm):
mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit
curl localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "Say this is a test!"}]}'LM Studio: แอปพร้อมตัวค้นหาโมเดล
LM Studio ค้นหาและดาวน์โหลดโมเดลจาก Hugging Face ภายในแอป และรันโมเดล MLX บน Apple Silicon รวมถึง GGUF ผ่าน llama.cpp ต้องใช้ Apple Silicon และ macOS 14 ขึ้นไป และแนะนำหน่วยความจำ 16 GB ขึ้นไป (LM Studio)
Ollama: คำสั่งเดียว
Ollama รันโมเดลจากคลังของตัวเอง และรันรีโพซิทอรี GGUF ใดก็ได้บน Hugging Face โดยตรง จะระบุแท็กควอนไทเซชันด้วยก็ได้ (Hugging Face):
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_MMLX Harness: แอปฟรีของเรา
MLX Harness คือแอป Mac ฟรีของเราที่สร้างบน vMLX: ค้นหาโมเดล MLX บน Hugging Face แชต รันเครื่องมือและโมเดลภาพ และให้บริการทุกอย่างผ่าน API ในเครื่อง เกตเวย์ของแอปใช้พอร์ต 8080 เช่นกัน จึงไม่ควรรันพร้อมกับ mlx_lm.server บนพอร์ตเดียวกัน เมื่อคุณไม่ได้ใช้ Mac MLX Node จะให้ MLX Network ยืมเครื่องแทนได้
7คำถาม
- ดาวน์โหลด LLM สำหรับ Mac ได้ที่ไหน
- จาก Hugging Face มองหาบิลด์ MLX ซึ่งหลายตัวเผยแพร่โดย mlx-community หรือไฟล์ GGUF LM Studio และ Ollama ค้นหาและดาวน์โหลดให้คุณได้
- ควรดาวน์โหลดโมเดลขนาดเท่าไร
- ขนาดที่ค่าน้ำหนักใส่ในหน่วยความจำของ Mac ได้อย่างสบาย: ที่ 4 บิตราว 0.56 GB ต่อพารามิเตอร์หนึ่งพันล้าน ราว 4.5 GB สำหรับโมเดล 8B และ 39 GB สำหรับ 70B บวกพื้นที่สำหรับคอนเท็กซ์ หน้าเปรียบเทียบบน mlx.app ตรวจให้สำหรับ Mac ของคุณ
- บน Mac ควรใช้ MLX หรือ GGUF
- ทั้งสองรันได้ดีบน Apple Silicon บิลด์ MLX สร้างมาสำหรับ MLX ของ Apple และรันใน mlx-lm, LM Studio และ MLX Harness ส่วนไฟล์ GGUF รันใน llama.cpp, Ollama และ LM Studio
- ต้องมีบัญชี Hugging Face ไหม
- ไม่ต้องสำหรับโมเดลสาธารณะ โมเดล gated ต้องมีบัญชีฟรี ยอมรับสัญญาอนุญาต และมี access token
- รันโมเดลที่ดาวน์โหลดแล้วแบบออฟไลน์ได้ไหม
- ได้ เมื่อไฟล์อยู่บน Mac แล้ว โมเดลจะรันได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต และพรอมต์ของคุณอยู่บน Mac
แหล่งที่มา
- Hugging Facehuggingface.co
- mlx-communityhuggingface.co
- mlx-lmgithub.com
- MLXml-explore.github.io
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- mlx-lmgithub.com
- LM Studiolmstudio.ai
- LM Studiolmstudio.ai
- Ollamaollama.com