Show HN: Tinh chỉnh Llama nhanh hơn 80%, dùng ít bộ nhớ hơn 50%, không mất độ chính xác
(github.com/unslothai)- Unsloth cung cấp Unsloth Studio để chạy và huấn luyện mô hình cục bộ, cùng Unsloth Core dựa trên mã nguồn; xử lý các mô hình văn bản, âm thanh, embedding và thị giác trên Windows, Linux, WSL, macOS
- Tính năng huấn luyện hỗ trợ fine-tuning, RL và pretraining cho hơn 500 mô hình, với các mục tiêu hiệu năng chính là huấn luyện nhanh hơn tới 2 lần, dùng ít VRAM hơn tới 70% và không mất độ chính xác
- Tính năng suy luận bao gồm tìm kiếm, tải xuống và chạy mô hình GGUF, adapter LoRA, mô hình safetensors; xuất mô hình, tool calling, tìm kiếm web, chạy mã và endpoint API suy luận cục bộ
- Unsloth Studio mặc định bind vào localhost;
--securedùng đường hầm HTTPS của Cloudflare, còn-H 0.0.0.0có thể mở cổng thô ra bên ngoài, nên việc bảo vệ API key và dùng--disable-toolslà rất quan trọng - Giấy phép có cấu trúc kép Apache 2.0 và AGPL-3.0; gói Core dùng Apache 2.0, còn một số thành phần tùy chọn như Studio UI dùng AGPL-3.0
Unsloth cung cấp gì
- Unsloth Studio (Beta) là web UI để chạy và huấn luyện mô hình cục bộ
- Unsloth Core là phiên bản dựa trên mã nguồn, có yêu cầu khác với Studio
- Lệnh cài đặt khởi đầu được cung cấp theo từng hệ điều hành
- macOS, Linux, WSL:
curl -fsSL https://unsloth.ai/install.sh | sh - Windows:
irm https://unsloth.ai/install.ps1 | iex
- macOS, Linux, WSL:
Tính năng suy luận
- Hỗ trợ tìm kiếm, tải xuống và chạy mô hình; các định dạng đích bao gồm GGUF, adapter LoRA và safetensors
- Có thể lưu hoặc xuất mô hình sang GGUF, safetensors 16-bit và các định dạng khác
- Tool calling hỗ trợ tool calling tự phục hồi và tìm kiếm web
- Chạy mã cho phép LLM kiểm thử mã trong Claude artifacts và môi trường sandbox
- Có thể triển khai và chạy LLM cục bộ cùng Claude Code, Codex tools thông qua endpoint API suy luận
- Có thể kết nối với nhà cung cấp API như OpenAI, Anthropic hoặc các server như vLLM, Ollama
- Có thể chat với hình ảnh, âm thanh, PDF, mã, DOCX, v.v.
- Cho biết đã trực tiếp hợp tác với các đội ngũ liên quan đến gpt-oss, Qwen3, Llama 4, Mistral, Gemma 1-3, Phi-4 để sửa các lỗi giúp cải thiện độ chính xác của mô hình
Tính năng huấn luyện và hiệu năng
- Unsloth hỗ trợ huấn luyện và RL cho hơn 500 mô hình
- Huấn luyện nhanh hơn tới 2 lần
- Dùng ít VRAM hơn tới 70%
- Không mất độ chính xác
- Sử dụng Triton tùy chỉnh và kernel toán học
- Có liên kết tới trường hợp hợp tác với PyTorch về reinforcement learning FP8
- Có liên kết tới trường hợp hợp tác với Hugging Face về MoE nhanh hơn
- Data Recipes tự động tạo dataset từ PDF, CSV, DOCX, v.v. và cho phép chỉnh sửa dữ liệu trong workflow node trực quan
- Reinforcement learning được nêu là dùng ít VRAM hơn tới 80% cho GRPO, FP8, v.v.
- Các phương thức huấn luyện được hỗ trợ bao gồm full fine-tuning, RL, pretraining, huấn luyện 4-bit, 16-bit, FP8
- Tính năng observability cho phép giám sát trạng thái huấn luyện theo thời gian thực và hỗ trợ loss, mức dùng GPU, tùy chỉnh biểu đồ
- Hỗ trợ huấn luyện Multi-GPU, với các cải tiến lớn sắp được cung cấp
Điều kiện cài đặt và chạy
- Unsloth Studio hoạt động trên Windows, Linux, WSL, macOS
- CPU: hiện hỗ trợ Chat và Data Recipes
- NVIDIA: hỗ trợ huấn luyện trên RTX 30/40/50, Blackwell, DGX Spark, Station, v.v.
- macOS: hỗ trợ đầy đủ huấn luyện, MLX và suy luận GGUF
- AMD: hỗ trợ Chat và Data; huấn luyện dùng Unsloth Core, hỗ trợ Studio dự kiến sớm được cung cấp
- Multi-GPU: hiện đã có thể dùng và dự kiến có nâng cấp lớn
- Lệnh chạy Studio là
unsloth studio -p 8888 - Image Docker được cung cấp dưới dạng container unsloth/unsloth
- Cài đặt Unsloth Core cung cấp ví dụ dựa trên
uvvà Python 3.13- Linux, WSL: sau
uv venv unsloth_env --python 3.13, chạyuv pip install unsloth --torch-backend=auto - Windows: cài Python 3.13 và
astral-sh.uv, rồi cài theo cùng cách - Trên Windows,
pip install unslothchỉ hoạt động khi đã cài PyTorch
- Linux, WSL: sau
- Cài đặt GPU AMD và Intel lần lượt theo AMD Guide, Intel Guide
Truy cập từ xa và điều kiện bảo mật
- Theo mặc định,
unsloth studiobind vào 127.0.0.1, nên chỉ có thể truy cập từ máy hiện tại --securechỉ được cung cấp qua liên kết HTTPS Cloudflare miễn phí- Studio vẫn duy trì trên localhost
- Nếu tunnel không khởi động, nó hoạt động theo cơ chế fail-closed và không mở cổng thô
-H 0.0.0.0bind cổng thô vào mọi giao diện mạng- Có thể truy cập từ bất kỳ đâu trong mạng, nên chỉ dùng trên mạng đáng tin cậy
- Các công cụ phía server như tìm kiếm web, Python, chạy mã terminal được thực thi với quyền của người dùng và được bật mặc định
- Người có quyền truy cập server và có API key có thể chạy mã trên máy đó, nên cần giữ API key riêng tư và dùng
--disable-toolskhi mở Studio ra bên ngoài
Notebook miễn phí và ví dụ mô hình được hỗ trợ
- Có thể chạy và huấn luyện mô hình trong web UI bằng Unsloth Studio notebook miễn phí
- Các ví dụ notebook được cung cấp kèm số liệu hiệu năng và mức tiết kiệm bộ nhớ theo từng mô hình
- Gemma 4 (E2B): nhanh hơn 1,5 lần, giảm 50% bộ nhớ
- Qwen3.5 (4B): nhanh hơn 1,5 lần, giảm 60% bộ nhớ
- gpt-oss (20B): nhanh hơn 2 lần, giảm 70% bộ nhớ
- gpt-oss (20B): GRPO: nhanh hơn 2 lần, giảm 80% bộ nhớ
- Llama 3.1 (8B) Alpaca: nhanh hơn 2 lần, giảm 70% bộ nhớ
- Orpheus-TTS (3B): nhanh hơn 1,5 lần, giảm 50% bộ nhớ
- Danh sách notebook cho Kaggle, GRPO, TTS, embedding, Vision cũng được cung cấp riêng
- Có thể xem toàn bộ mô hình tại Unsloth Catalog, toàn bộ notebook tại Unsloth notebooks
Các tính năng gần đây
- Connections: hỗ trợ kết nối với nhà cung cấp API như OpenAI, Anthropic hoặc server như vLLM, Ollama
- MTP: hỗ trợ chạy Qwen3.6 MTP, tự động chỉ định thiết lập MTP theo phần cứng
- Qwen3.6: có thể huấn luyện và chạy Qwen3.6-35B-A3B trong Unsloth Studio
- Gemma 4: có thể trực tiếp chạy và huấn luyện mô hình mới của Google trong Unsloth
- MoE LLM: nêu mức huấn luyện nhanh hơn 12 lần và dùng ít VRAM hơn 35% cho DeepSeek, GLM, Qwen, gpt-oss
- Embedding models: hỗ trợ fine-tuning embedding nhanh hơn khoảng 1,8–3,3 lần
- 7x longer context RL: cung cấp RL với context dài gấp 7 lần so với các thiết lập khác nhờ thuật toán batching mới
- 500K Context: có thể huấn luyện mô hình 20B với context vượt 500K trên GPU 80GB
- FP8 & Vision RL: có thể thực hiện FP8 và VLM GRPO trên GPU tiêu dùng
Giấy phép và dự án nền tảng
- Unsloth sử dụng mô hình giấy phép kép Apache 2.0 và AGPL-3.0
- Gói Unsloth cốt lõi duy trì Apache 2.0
- Một số thành phần tùy chọn như Unsloth Studio UI áp dụng AGPL-3.0
- Dự án nhắc đến llama.cpp, Hugging Face transformers, TRL, PyTorch, Torch AO, NVIDIA NeMo DataDesigner, v.v.
1 bình luận
Các ý kiến trên Hacker News
Tôi chưa tự chạy mã, nhưng không rõ làm sao điều này có thể xảy ra
Nếu profiling fine-tuning QLoRA Llama-2-70B bằng PyTorch, phần lớn thời gian chạy nằm ở các phép nhân ma trận lớn trong tầng MLP, cộng thêm một chút ở attention
Bên trong, repo này có vẻ cũng gọi
torch.matmul()cho MLP vàflash_attn_func()cho attention, dùng cùng đường đi như HuggingFace, nên tôi thắc mắc làm sao nó có thể nhanh hơn nhiều đến vậyCó vài kernel Triton, nhưng dường như Triton không được dùng cho MLP hay attention, vốn là phần lớn nút thắt cổ chai
Họ cũng nhắc tới các cải tiến đơn giản như inline hàm hoặc tối ưu bộ nhớ, và những phần này hoàn toàn có tiềm năng tối ưu
Tuy vậy, tôi không chắc các lợi ích đó có còn nằm trong bản “pro” mã nguồn đóng hay không
Nếu đó là những quả dễ hái, các triển khai mã nguồn mở nhiều khả năng sẽ sớm lấy được
Tạm bỏ qua các phê bình về giá ở đây, tốt nhất là nên tìm ngay một nhân viên sales hoặc solution engineer từng làm ở công ty cơ sở dữ liệu giai đoạn đầu, rồi bắt đầu cold call tới các khách hàng cao cấp có hàng nghìn GPU
Để bán thứ này, con đường có khả năng nhất có vẻ là các giao dịch B2B từ 200.000–300.000 USD trở lên
Dành cho những ai quan tâm, chúng tôi vừa công bố một bài blog mới bao quát tất cả các tối ưu hóa
Cũng có 59 benchmark hoàn toàn có thể tái lập: https://unsloth.ai/blog/mistral-benchmark
Kết quả trông đầy hứa hẹn nên tôi muốn tự dùng thử
Tôi có câu hỏi về benchmark hiệu năng: vì sao mọi kết quả dùng 2 GPU và DDP lại mất nhiều thời gian hơn so với một GPU đơn?
Cả hai benchmark đều làm cùng lượng công việc trong một epoch huấn luyện, nên việc scale ngược như vậy khá bất ngờ
Thứ nhất, bản thân DDP có overhead. Ở mỗi bước huấn luyện, GPU0 và GPU1 phải đồng bộ bằng cách chuyển gradient về GPU0
Thứ hai, HuggingFace có vẻ chưa được tối ưu tốt cho DDP do việc di chuyển dữ liệu kém hiệu quả, và chúng tôi đã sửa phần này. Điều thú vị là nó cũng nhanh hơn ngay cả trên một GPU đơn
Giá mà có một dòng thời gian tổng hợp các nỗ lực kiểu này. Có quá nhiều biến thể nên tôi đã mất dấu từ khá lâu rồi
Việc đó có lẽ sẽ là một công việc khá lớn, trừ khi cứ coi các chỉ số tự báo cáo là chân lý
Mà ngay cả như vậy thì cũng luôn phải kèm điều kiện theo phần cứng và phạm vi sử dụng
Để đủ hữu ích, cần một pipeline CI/CD với nhiều cấu hình máy và benchmark, cùng một cách truyền đạt kết quả hợp lý
Nếu ai đó làm được, họ sẽ trở thành một thứ thật sự không thể thiếu
Tôi đang viết một bài blog tại https://colab.research.google.com/drive/1AOuhMVILE06mD-Go7-R..., trong đó tôi trình bày từng bước tất cả thay đổi mình đã thực hiện, kèm đo thời gian và mức giảm bộ nhớ
Nếu bạn quan tâm, khi hoàn thành tôi sẽ đăng lên
Tôi tò mò điều này so với các tối ưu hóa Sam và llama2 của PyTorch Labs như thế nào
https://github.com/pytorch-labs/segment-anything-fast
https://github.com/pytorch-labs/gpt-fast
Trong tương lai chúng tôi cũng có kế hoạch inference nhanh hơn
Tôi đã xem GPT Fast của Chillee, nó thực sự nhanh kinh khủng
Hơi liên quan, tôi thắc mắc liệu dùng P100 hoặc P40 vẫn còn đáng không
Tôi từng định mua một cái, nhưng có vẻ Pascal đang dần bị ngày càng nhiều dự án ngừng hỗ trợ
Về mặt kỹ thuật, mã có thể chạy, nhưng cần chỉnh để loại bỏ các thay đổi liên quan đến Triton
Trông rất thú vị, nhưng tôi bối rối không hiểu vì sao lại khóa phiên bản tăng tốc tối đa chỉ cho enterprise
Có vẻ hợp lý hơn nếu chỉ tạo khác biệt hiệu năng giữa gói Free và Paid, còn Enterprise thì phân biệt bằng các yếu tố như hỗ trợ
Tất cả chuyện này đều mới với chúng tôi, nên chúng tôi đang vừa làm vừa định hình
Họ nhắc đến GPU từ sau năm 2018, nhưng tôi thắc mắc vì sao ví dụ như 1080 Ti lại không chạy được
Nhìn sơ thông số phần cứng thì có vẻ nó hỗ trợ CUDA 8 trở lên, còn ở đây lại ghi là 7.5
Có ai giải thích thêm được không?
Lý do chính là từ Turing trở đi có Tensor Cores, khiến phép nhân ma trận chuyển sang dựa trên Tensor Cores