Show HN: ไฟน์จูน Llama เร็วขึ้น 80%, ใช้หน่วยความจำน้อยลง 50%, ความแม่นยำไม่ลดลง
(github.com/unslothai)- Unsloth มี Unsloth Studio สำหรับรันและฝึกโมเดลในเครื่อง และ Unsloth Core แบบใช้โค้ด โดยรองรับโมเดลข้อความ·เสียง·embedding·vision บน Windows·Linux·WSL·macOS
- ฟีเจอร์การฝึกรองรับการ fine-tuning·RL·pretraining ของ โมเดลมากกว่า 500 รุ่น โดยมีเป้าหมายด้านประสิทธิภาพหลักคือ ฝึกได้เร็วขึ้นสูงสุด 2 เท่า, ใช้ VRAM น้อยลงสูงสุด 70%, และความแม่นยำไม่ลดลง
- ฟีเจอร์ inference ครอบคลุมการค้นหา·ดาวน์โหลด·รันโมเดล GGUF·LoRA adapter·safetensors, การ export โมเดล, tool calling, การค้นเว็บ, การรันโค้ด และ endpoint สำหรับ local API inference
- โดยค่าเริ่มต้น Unsloth Studio จะ bind กับ localhost;
--secureใช้ Cloudflare HTTPS tunnel และ-H 0.0.0.0อาจเปิดเผย raw port ออกสู่ภายนอกได้ ดังนั้นการ ปกป้อง API key และการใช้--disable-toolsจึงสำคัญ - ไลเซนส์เป็นโครงสร้างคู่ระหว่าง Apache 2.0 และ AGPL-3.0 โดยแพ็กเกจ Core เป็น Apache 2.0 ส่วนคอมโพเนนต์เสริมบางส่วน เช่น Studio UI เป็น AGPL-3.0
สิ่งที่ Unsloth มีให้
- Unsloth Studio (Beta) คือเว็บ UI สำหรับรันและฝึกโมเดลในเครื่อง
- Unsloth Core เป็นเวอร์ชันแบบใช้โค้ด และมีข้อกำหนดต่างจาก Studio
- มีคำสั่งติดตั้งเริ่มต้นแยกตาม OS
- macOS, Linux, WSL:
curl -fsSL https://unsloth.ai/install.sh | sh - Windows:
irm https://unsloth.ai/install.ps1 | iex
- macOS, Linux, WSL:
ฟีเจอร์ inference
- รองรับการค้นหา·ดาวน์โหลด·รันโมเดล โดยรูปแบบเป้าหมายรวมถึง GGUF, LoRA adapter และ safetensors
- สามารถ บันทึกหรือ export โมเดลเป็น GGUF, 16-bit safetensors และรูปแบบอื่น ๆ ได้
- Tool calling รองรับ self-healing tool calling และการค้นเว็บ
- การรันโค้ด ช่วยให้ LLM ทดสอบโค้ดได้ใน Claude artifacts และสภาพแวดล้อมแบบ sandbox
- สามารถ deploy และรัน local LLM ร่วมกับ Claude Code, Codex tools ได้ผ่าน API inference endpoint
- เชื่อมต่อกับ API provider เช่น OpenAI, Anthropic หรือเซิร์ฟเวอร์อย่าง vLLM, Ollama ได้
- สามารถแชทกับรูปภาพ, เสียง, PDF, โค้ด, DOCX ฯลฯ ได้
- ระบุว่าได้แก้บั๊กที่ช่วยปรับปรุงความแม่นยำของโมเดลจากการทำงานร่วมโดยตรงกับทีมที่เกี่ยวข้องกับ gpt-oss, Qwen3, Llama 4, Mistral, Gemma 1-3, Phi-4
ฟีเจอร์การฝึกและประสิทธิภาพ
- Unsloth รองรับการฝึกและ RL ของ โมเดลมากกว่า 500 รุ่น
- ฝึกได้เร็วขึ้นสูงสุด 2 เท่า
- ใช้ VRAM น้อยลงสูงสุด 70%
- ความแม่นยำไม่ลดลง
- ใช้ Triton แบบปรับแต่งเองและ kernel ทางคณิตศาสตร์
- มีลิงก์ไปยังกรณีความร่วมมือด้าน FP8 reinforcement learning กับ PyTorch
- มีลิงก์ไปยังกรณีความร่วมมือด้าน MoE ที่เร็วขึ้นกับ Hugging Face
- Data Recipes สร้าง dataset อัตโนมัติจาก PDF, CSV, DOCX ฯลฯ และแก้ไขข้อมูลได้ใน visual node workflow
- Reinforcement learning ระบุว่าใช้ VRAM น้อยลงสูงสุด 80% สำหรับ GRPO, FP8 เป็นต้น
- รูปแบบการฝึกที่รองรับรวมถึง full fine-tuning, RL, pretraining, 4-bit, 16-bit และ FP8 training
- ฟีเจอร์ observability ช่วยมอนิเตอร์สถานะการฝึกแบบเรียลไทม์ และรองรับ loss, การใช้ GPU, การปรับแต่งกราฟ
- รองรับการฝึกแบบ Multi-GPU และจะมีการปรับปรุงสำคัญตามมาเร็ว ๆ นี้
เงื่อนไขการติดตั้งและการรัน
- Unsloth Studio ทำงานได้บน Windows, Linux, WSL, macOS
- CPU: ปัจจุบันรองรับ Chat และ Data Recipes
- NVIDIA: รองรับการฝึกบน RTX 30/40/50, Blackwell, DGX Spark, Station ฯลฯ
- macOS: รองรับทั้งการฝึก, MLX และ GGUF inference
- AMD: รองรับ Chat และ Data; การฝึกใช้ Unsloth Core; การรองรับ Studio จะตามมาเร็ว ๆ นี้
- Multi-GPU: ใช้งานได้แล้วในปัจจุบัน และมีอัปเกรดใหญ่ตามแผน
- คำสั่งรัน Studio คือ
unsloth studio -p 8888 - Docker image มีให้เป็นคอนเทนเนอร์ unsloth/unsloth
- การติดตั้ง Unsloth Core มีตัวอย่างบนพื้นฐาน
uvและ Python 3.13- Linux, WSL: รัน
uv venv unsloth_env --python 3.13แล้วตามด้วยuv pip install unsloth --torch-backend=auto - Windows: ติดตั้ง Python 3.13 และ
astral-sh.uvแล้วติดตั้งด้วยวิธีเดียวกัน - บน Windows คำสั่ง
pip install unslothจะทำงานก็ต่อเมื่อติดตั้ง PyTorch ไว้แล้วเท่านั้น
- Linux, WSL: รัน
- การติดตั้งสำหรับ GPU ของ AMD และ Intel ให้ทำตาม AMD Guide, Intel Guide ตามลำดับ
การเข้าถึงระยะไกลและเงื่อนไขด้านความปลอดภัย
- โดยค่าเริ่มต้น
unsloth studioจะ bind กับ 127.0.0.1 ทำให้เข้าถึงได้เฉพาะจากเครื่องปัจจุบันเท่านั้น --secureให้ใช้งานผ่านลิงก์ Cloudflare HTTPS ฟรีเท่านั้น- Studio ยังคงอยู่บน localhost
- หาก tunnel เริ่มทำงานไม่ได้ จะทำงานแบบ fail-closed และไม่เปิดเผย raw port
-H 0.0.0.0จะ bind raw port กับทุก network interface- ทำให้เข้าถึงได้จากทุกที่ในเครือข่าย จึงควรใช้เฉพาะบนเครือข่ายที่เชื่อถือได้เท่านั้น
- เครื่องมือฝั่งเซิร์ฟเวอร์อย่างการค้นเว็บ, Python และการรันโค้ดใน terminal จะรันด้วยสิทธิ์ของผู้ใช้ และถูกเปิดใช้งานเป็นค่าเริ่มต้น
- ผู้ที่เข้าถึงเซิร์ฟเวอร์และมี API key จะสามารถรันโค้ดบนเครื่องนั้นได้ ดังนั้นต้องเก็บ API key ให้เป็นส่วนตัว และเมื่อเปิด Studio ออกภายนอกจำเป็นต้องใช้
--disable-tools
โน้ตบุ๊กฟรีและตัวอย่างโมเดลที่รองรับ
- สามารถรันและฝึกโมเดลในเว็บ UI ได้ด้วย Unsloth Studio notebook ฟรี
- ตัวอย่างโน้ตบุ๊กที่ให้มาแสดงตัวเลขประสิทธิภาพและการลดหน่วยความจำแยกตามโมเดล
- Gemma 4 (E2B): เร็วขึ้น 1.5 เท่า, หน่วยความจำลดลง 50%
- Qwen3.5 (4B): เร็วขึ้น 1.5 เท่า, หน่วยความจำลดลง 60%
- gpt-oss (20B): เร็วขึ้น 2 เท่า, หน่วยความจำลดลง 70%
- gpt-oss (20B): GRPO: เร็วขึ้น 2 เท่า, หน่วยความจำลดลง 80%
- Llama 3.1 (8B) Alpaca: เร็วขึ้น 2 เท่า, หน่วยความจำลดลง 70%
- Orpheus-TTS (3B): เร็วขึ้น 1.5 เท่า, หน่วยความจำลดลง 50%
- มีรายการโน้ตบุ๊กสำหรับ Kaggle, GRPO, TTS, embedding และ Vision แยกต่างหากด้วย
- ดูโมเดลทั้งหมดได้ที่ Unsloth Catalog และดูโน้ตบุ๊กทั้งหมดได้ที่ Unsloth notebooks
รายการฟีเจอร์ล่าสุด
- Connections: รองรับการเชื่อมต่อกับ API provider เช่น OpenAI, Anthropic หรือเซิร์ฟเวอร์อย่าง vLLM, Ollama
- MTP: รองรับการรัน Qwen3.6 MTP และกำหนดค่า MTP ตามฮาร์ดแวร์โดยอัตโนมัติ
- Qwen3.6: สามารถฝึกและรัน Qwen3.6-35B-A3B ใน Unsloth Studio ได้
- Gemma 4: สามารถรันและฝึกโมเดลใหม่ของ Google ได้โดยตรงใน Unsloth
- MoE LLM: ระบุการฝึกที่เร็วขึ้น 12 เท่าและใช้ VRAM น้อยลง 35% สำหรับ DeepSeek, GLM, Qwen, gpt-oss
- Embedding models: รองรับการ fine-tuning embedding ให้เร็วขึ้นประมาณ 1.8~3.3 เท่า
- 7x longer context RL: ให้งาน RL ที่มี context ยาวกว่า 7 เท่าเมื่อเทียบกับการตั้งค่าอื่น ๆ ด้วย batching algorithm ใหม่
- 500K Context: สามารถฝึกโมเดล 20B ด้วย context เกิน 500K บน GPU 80GB ได้
- FP8 & Vision RL: สามารถทำ FP8 และ VLM GRPO บน GPU สำหรับผู้บริโภคได้
ไลเซนส์และโปรเจกต์พื้นฐาน
- Unsloth ใช้โมเดลไลเซนส์คู่ระหว่าง Apache 2.0 และ AGPL-3.0
- แพ็กเกจหลักของ Unsloth ยังคงเป็น Apache 2.0
- คอมโพเนนต์เสริมบางส่วน เช่น Unsloth Studio UI ใช้ AGPL-3.0
- โปรเจกต์กล่าวถึง llama.cpp, Hugging Face transformers, TRL, PyTorch, Torch AO, NVIDIA NeMo DataDesigner ฯลฯ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ผมยังไม่ได้ลองรันโค้ดเอง แต่ไม่ค่อยเข้าใจว่ามันเป็นไปได้อย่างไร
ถ้าโปรไฟล์ การ fine-tune QLoRA Llama-2-70B ด้วย PyTorch จะเห็นว่าเวลารันส่วนใหญ่หมดไปกับการคูณเมทริกซ์ขนาดใหญ่ในเลเยอร์ MLP และมี attention เพิ่มเข้ามาอีกเล็กน้อย
ภายใน repo นี้ก็ดูเหมือนจะเรียก
torch.matmul()สำหรับ MLP และflash_attn_func()สำหรับ attention ใช้เส้นทางเดียวกับ HuggingFace แล้วมันเร็วกว่ามากขนาดนี้ได้อย่างไรจึงน่าสงสัยมี Triton kernel อยู่สองสามตัวก็จริง แต่ดูเหมือนจะไม่มี Triton สำหรับ MLP หรือ attention ซึ่งเป็นคอขวดหลักส่วนใหญ่
ยังพูดถึงการปรับปรุงง่าย ๆ อย่าง function inlining หรือการปรับหน่วยความจำให้เหมาะสม ซึ่งส่วนเหล่านี้ก็มีโอกาสปรับแต่งได้มาก
แต่ไม่แน่ใจนักว่าประโยชน์เหล่านั้นจะยังเหลืออยู่ในเวอร์ชัน “pro” แบบซอร์สปิดหรือไม่
ถ้าเป็นผลไม้ที่ห้อยต่ำ ไม่นาน implementation แบบโอเพนซอร์สก็น่าจะหยิบไปใช้ได้
ตัดคำวิจารณ์เรื่องราคาออกไปก่อน ผมว่าควรรีบหาพนักงานขายหรือ solution engineer ที่เคยทำงานในบริษัทฐานข้อมูลระยะเริ่มต้น แล้วเริ่ม cold call ไปหา ลูกค้าระดับสูงที่มี GPU หลายพันตัว
ถ้าจะขายสิ่งนี้ เส้นทางที่เป็นไปได้มากที่สุดน่าจะเป็น ดีล B2B มูลค่า 200,000–300,000 ดอลลาร์ขึ้นไป
สำหรับคนที่สนใจ เพิ่งเผยแพร่บล็อกโพสต์ใหม่ที่ครอบคลุมการปรับแต่งทั้งหมด
มี benchmark ที่ทำซ้ำได้อย่างสมบูรณ์ 59 รายการด้วย: https://unsloth.ai/blog/mistral-benchmark
ผลลัพธ์ดูมีแวว เลยอยากลองใช้เอง
มีคำถามเกี่ยวกับ performance benchmark ว่าทำไมผลลัพธ์ทั้งหมดที่ใช้ GPU 2 ตัวกับ DDP ถึงใช้เวลานานกว่า GPU ตัวเดียว
benchmark ทั้งสองทำงานปริมาณเท่ากันด้วย epoch การเทรนหนึ่งครั้งเหมือนกัน ดังนั้นการ scale ถอยหลังแบบนี้จึงค่อนข้างน่าแปลกใจ
ข้อแรก DDP เองมี overhead เพราะในแต่ละ training step GPU0 กับ GPU1 ต้องส่ง gradient ไปยัง GPU0 และซิงโครไนซ์กัน
ข้อสอง HuggingFace ดูเหมือนจะไม่ได้ปรับให้เหมาะกับ DDP ดีพอเพราะมีการย้ายข้อมูลที่ไม่มีประสิทธิภาพ และเราแก้ส่วนนี้แล้ว ที่น่าสนใจคือแม้แต่ GPU ตัวเดียวก็เร็วขึ้นด้วย
คงดีถ้ามี ลำดับเหตุการณ์ ที่รวบรวมความพยายามต่าง ๆ แบบนี้ไว้ ตอนนี้มีตัวแปรแตกแขนงเยอะมากจนผมตามกระแสไม่ทันตั้งนานแล้ว
เว้นแต่จะยอมรับตัวชี้วัดที่แต่ละเจ้ารายงานเองว่าเป็นคำตอบที่ถูกต้องไปเลย งานนี้น่าจะใหญ่มาก
ถึงอย่างนั้นก็ยังต้องมีเงื่อนไขตามฮาร์ดแวร์และขอบเขตการใช้งานเสมอ
ถ้าจะทำให้มีประโยชน์พอจริง ๆ ต้องมี CI/CD pipeline ที่มีหลาย configuration ของเครื่องและ benchmark หลายชุด รวมถึงวิธีนำเสนอผลลัพธ์อย่างสมเหตุสมผล
ถ้าใครทำสำเร็จ จะกลายเป็นสิ่งที่ขาดไม่ได้จริง ๆ
กำลังเขียนบล็อกโพสต์อยู่ที่ https://colab.research.google.com/drive/1AOuhMVILE06mD-Go7-R... โดยจะแสดงการเปลี่ยนแปลงทั้งหมดที่ผมทำทีละขั้น พร้อมการวัดเวลาและการลดการใช้หน่วยความจำ
ถ้าสนใจ พอเสร็จแล้วจะเอามาโพสต์
อยากรู้ว่าสิ่งนี้เทียบกับการปรับแต่ง Sam และ llama2 ของ PyTorch Labs อย่างไร
https://github.com/pytorch-labs/segment-anything-fast
https://github.com/pytorch-labs/gpt-fast
ต่อไปก็มีแผนทำ inference ให้เร็วขึ้นด้วย
ได้ดู GPT Fast ของ Chillee แล้ว เร็วมากจริง ๆ
เกี่ยวข้องกันนิดหน่อย อยากรู้ว่ายังมีคุณค่าพอไหมที่จะใช้ P100 หรือ P40
กำลังคิดจะซื้อสักตัว แต่ดูเหมือน Pascal จะถูกถอดการรองรับออกจากโปรเจกต์มากขึ้นเรื่อย ๆ
ในทางเทคนิคโค้ดอาจรันได้ แต่ต้องแก้เพื่อเอาการเปลี่ยนแปลงของ Triton ออก
ดูน่าสนใจมาก แต่สับสนว่าทำไมถึงกัน เวอร์ชันที่เพิ่มความเร็วได้สูงสุด ไว้เฉพาะ enterprise
น่าจะสมเหตุสมผลกว่าถ้าให้แผน Free กับ Paid ต่างกันด้านประสิทธิภาพ แล้วให้ Enterprise แตกต่างด้วยองค์ประกอบอย่างการสนับสนุน
เรื่องพวกนี้เราเพิ่งทำเป็นครั้งแรก เลยกำลังสร้างไปพร้อมกับลงมือทำจริง
เห็นพูดถึง GPU หลังปี 2018 เลยสงสัยว่าทำไมตัวอย่างเช่น 1080 Ti ถึงใช้ไม่ได้
ดูสเปกฮาร์ดแวร์คร่าว ๆ เหมือนจะรองรับ CUDA 8 ขึ้นไป แต่ที่นี่บอกว่า 7.5
มีใครอธิบายเพิ่มได้ไหม?
เหตุผลหลักคือเริ่มตั้งแต่ Turing มี Tensor Cores ทำให้การคูณเมทริกซ์เปลี่ยนไปอิงกับ Tensor Cores