TL;DR

Unsloth và NVIDIA vừa công bố hướng dẫn chung, mô tả 3 tối ưu hoá phần mềm giúp tăng tốc độ training LLM lên ~25% khi kết hợp, không cần nâng cấp phần cứng. Ba kỹ thuật này nhắm vào các bottleneck ẩn mà hầu hết framework bỏ sót: metadata bị rebuild mỗi layer, checkpoint copy chạy tuần tự với backward pass, và MoE routing gọi dynamic index lặp đi lặp lại.

Unsloth x NVIDIA - How to Make LLM Training Faster

Bottleneck ẩn sau khi tối ưu hoá cơ bản

Sau khi đã tối ưu các thành phần chính của training pipeline (attention kernels, optimizer, loss computation), một lớp bottleneck khác xuất hiện và thường bị bỏ qua hoàn toàn:

  • GPU stall trên metadata-dependent work giữa các layer
  • Runtime rebuild cùng một cấu trúc dữ liệu mỗi iteration
  • Copy stream và compute stream chạy tuần tự thay vì chồng lên nhau

Đây chính là mục tiêu của Unsloth x NVIDIA: loại bỏ từng bottleneck ẩn bằng 3 tối ưu hoá cụ thể, đo được bằng số liệu thực.

Ba tối ưu hoá cốt lõi

1. Packed-sequence metadata caching

Khi training với packed sequences (nhồi nhiều sample vào 1 tensor để tận dụng VRAM), framework phải tính toán boundary info - lengths, cumulative offsets, SDPA packed mask - cho mỗi layer. Với Qwen3-0.6B (28 layer), metadata này được rebuild 28 lần mỗi step, mỗi lần tốn ~13.7 ms.

Fix: cache toàn bộ metadata một lần per batch và reuse qua tất cả layers. Kết quả đo trên Qwen3-14B QLoRA SFT: +43.3% forward pass, +5.8% backward, +14.3% per batch tổng thể. Tiết kiệm ~319 ms/step trên Qwen3-0.6B (giảm 14.8% end-to-end step time).

2. Double-buffered checkpoint reloads

Gradient checkpointing tiết kiệm VRAM bằng cách discard activation sau forward pass rồi recompute khi cần trong backward. Vấn đề: copy stream phải chờ backward pass hoàn tất mới load activation tiếp theo - serialized hoàn toàn, lãng phí thời gian chờ.

Fix: dùng 2 buffer - trong khi backward compute trên buffer A, copy stream đã preload activation tiếp theo vào buffer B. Copy latency bị ẩn hoàn toàn sau useful compute. Benchmark trên NVIDIA B200:

ModelTrướcSauTăngVRAM thêm
8B0.3739 steps/s0.4053 steps/s+8.4%+0.37 GB
14B0.2245 steps/s0.2395 steps/s+6.7%+0.47 GB
32B0.1979 steps/s0.2070 steps/s+4.6%+0.23 GB

3. Faster MoE routing

MoE router thường gọi dynamic indexing riêng cho từng expert, tạo ra synchronization overhead lớn ở mỗi step. Fix: dùng argsortbincount để group tất cả token assignment một lần duy nhất thay vì per-expert. Kết quả trên GPT-OSS MoE: ~10-15% overall speedup; targeted routing path tăng +23% forward, +13% backward.

So sánh với các framework khác

Unsloth không chỉ nhanh hơn mà còn xử lý được context mà framework khác bị OOM:

BenchmarkĐối thủUnsloth
gpt-oss BF16 MoE, 16K contextHF Transformers v5 + TRL: OOM7x nhanh hơn, 36% ít VRAM
Qwen3-30B trên H100, 8K ctxHF v5: OOMÍt VRAM hơn HF ở 4K ctx
Llama 3.1 8B, RTX 5090 max ctxFlash Attention 2: 9,711 tokens122,181 tokens, 2x nhanh hơn

So với Flash Attention 3: Unsloth vẫn 1.7x-3x nhanh hơn (lên đến 5x với sequence dài). So với HuggingFace Transformers v4: 12x-30x MoE speedup với custom Triton kernels.

Ai nên thử ngay

  • Researcher / sinh viên: Fine-tune 7B-14B trên RTX 3090 (24 GB) với QLoRA - tiết kiệm ~25% thời gian, không đổi code.
  • Team cần privacy: Banking (COBOL legacy modernization), healthcare (X-ray AI, HIPAA compliant) - fine-tune on-premise, data không rời khỏi premises.
  • Dùng MoE models: Qwen3-MoE, GPT-OSS 20B - hưởng lợi trực tiếp từ MoE routing optimization với native_torch backend, zero code change.
  • Blackwell GPU (RTX 5090, DGX Spark): Fine-tune model tới 40B params trên 1 GPU đơn lẻ, context window 12x dài hơn so với Flash Attention 2.

Tiếp theo trên roadmap

Collaboration được công bố ngày 6/5/2026 - bài hướng dẫn đầy đủ có thể đọc tại unsloth.ai/blog/nvidia-collab. Roadmap gần:

  • Nemotron 3 Super & Ultra (H1 2026) - dành cho multi-agent và complex AI applications
  • Unsloth nâng notebook coverage từ 80% lên 100% (120 notebooks, trl==0.27.1 + transformers==5.1.0)

Unsloth là open-source và hoàn toàn miễn phí: pip install unsloth. Hỗ trợ từ RTX 2080, RTX 3090 đến Blackwell B200 và DGX Spark - không cần thay đổi code khi scale lên enterprise.

Nguồn: Unsloth Blog, NVIDIA Technical Blog.