AI・機械学習
中級

Unsloth(アンスロス)

LLMのLoRA/QLoRAファインチューニングを2〜5倍高速化するライブラリ。TritonとCUDAカーネルを手書き最適化し、同じGPUでAxolotl/HuggingFaceより少ないVRAMで速く学習できる。Llama・Mistral・Gemma・Qwen・Phi等に対応。

0 回閲覧
0 いいね
2026/6/5 更新
関連タグ
ai
llm
fine-tuning
lora
qlora
optimization
cuda

Unslothとは

Daniel HanとMichael Hanが開発したLLMファインチューニング高速化ライブラリ。PyTorchとHugging Face Transformersの上に最適化されたTriton/CUDAカーネルを重ね、LoRA/QLoRA学習を標準実装より2〜5倍高速化し、VRAMを20〜40%削減する。2024年にGitHub上で急速に注目を集め、個人開発者・研究者のファインチューニング環境を大幅に民主化した。

速度改善の仕組み

1. RoPE(Rotary Position Embedding)カーネル最適化
   - 標準PyTorch: Pythonループ + 複数CUDA ops
   - Unsloth: 単一Tritonカーネルに融合 → 30〜60%高速化

2. Flash Attention 2統合
   - メモリバンド幅効率の最大化
   - シーケンス長4096〜8192でも安定動作

3. SwiGLU/GeGLU活性化関数融合
   - LLaMA/Mistralの主要活性化関数を単一opに

4. LoRAの行列演算をカーネル内で直接計算
   - W + AB (LoRA) を融合演算

Google Colab での使用例

!pip install unsloth

from unsloth import FastLanguageModel
import torch

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit",
    max_seq_length = 2048,
    dtype = None,
    load_in_4bit = True,
)

model = FastLanguageModel.get_peft_model(
    model,
    r = 16,
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                      "gate_proj", "up_proj", "down_proj"],
    lora_alpha = 16,
    lora_dropout = 0,
    bias = "none",
    use_gradient_checkpointing = "unsloth",
    use_rslora = False,
)

from trl import SFTTrainer
from transformers import TrainingArguments

trainer = SFTTrainer(
    model = model,
    tokenizer = tokenizer,
    train_dataset = dataset,
    dataset_text_field = "text",
    max_seq_length = 2048,
    args = TrainingArguments(
        per_device_train_batch_size = 2,
        gradient_accumulation_steps = 4,
        num_train_epochs = 3,
        learning_rate = 2e-4,
        fp16 = not torch.cuda.is_bf16_supported(),
        bf16 = torch.cuda.is_bf16_supported(),
        optim = "adamw_8bit",
        output_dir = "outputs",
    ),
)
trainer.train()

VRAMと速度の比較

設定標準HF+PEFTUnsloth削減率
Llama-3.1-8B QLoRA6.5GB VRAM4.3GB VRAM34%
Llama-3.1-8B LoRA14GB VRAM9.2GB VRAM34%
学習速度(8B QLoRA)1×2.3×-
学習速度(8B LoRA)1×1.8×-

対応モデル(2025年時点)

  • Llama系: Llama-3.1/3.2/3.3(8B/70B/405B)
  • Mistral系: Mistral-7B、Mixtral-8x7B
  • Google系: Gemma 2(2B/9B/27B)
  • Alibaba系: Qwen2.5(0.5B〜72B)
  • Microsoft: Phi-3/Phi-3.5
  • DeepSeek: DeepSeek-R1-Distill系

Free版 vs Pro版

機能FreePro/Plus
シングルGPU LoRA/QLoRA○○
マルチGPU×○
70B+完全学習×○
Vision model△○
料金無料$49〜/月
この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/5