2 điểm bởi GN⁺ 2023-12-03 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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; --secure dùng đường hầm HTTPS của Cloudflare, còn -H 0.0.0.0 có thể mở cổng thô ra bên ngoài, nên việc bảo vệ API key và dùng --disable-tools là rất quan trọng
  • Giấy phép có cấu trúc kép Apache 2.0AGPL-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

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 uv và Python 3.13
    • Linux, WSL: sau uv venv unsloth_env --python 3.13, chạy uv 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 unsloth chỉ hoạt động khi đã cài PyTorch
  • 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 studio bind vào 127.0.0.1, nên chỉ có thể truy cập từ máy hiện tại
  • --secure chỉ đượ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.0 bind 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-tools khi 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.0AGPL-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

 
GN⁺ 2023-12-03
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ậy
    Có 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ọ giải thích là nhờ custom autograd đã được tối ưu hóa; autograd là thành phần cốt lõi của tính toán đạo hàm nên nghe có lý
      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
    • Giải thích chi tiết hơn có ở https://unsloth.ai/introducing
    • Những tuyên bố khá lớn lại bị khóa sau bản pro trả phí. Trông như một tín hiệu đáng ngại
  • 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ờ

    • Có hai lý do chính
      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 cũng nghĩ đúng như vậy
      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

    • Cái đó dành cho inference, còn mã của chúng tôi dành cho huấn luyện
      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ợ

    • P100 có lẽ được Flash Attention của Xformers hỗ trợ, nhưng Triton hỗ trợ Compute Capability 7.0 trở lên, trong khi P100 là 6.0 nên đây là vấn đề
      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ợ

    • Góp ý hay. Chúng tôi cũng đã nghĩ đến điểm này, và vì vẫn đang tiếp tục điều chỉnh chính sách giá nên mọi đề xuất đều được hoan nghênh
      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?

    • Tiếc là với 1080 Ti, vì Triton và Xformers hỗ trợ CUDA 7.0, nên chừng nào OpenAI và Meta còn chưa hỗ trợ CUDA 6.0 thì chúng tôi cũng khó hỗ trợ
      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
    • CUDA Compute Capability của 1080 Ti là 6.1