34 人が閲覧(直近 30 日) LLM・RAG

Unslothとは?読み方・使い方とDesktop・Studio・Coreの違い【2026年9月】

Unslothとは?読み方・使い方とDesktop・Studio・Coreの違い【2026年9月】

Unsloth(アンスロス)は、LLMのファインチューニングを少ないGPUメモリで速く回すためのオープンソースです。2026年9月時点では、デスクトップアプリの「Unsloth Desktop」、ブラウザで操作する「Unsloth Studio」、Pythonから呼ぶ「Unsloth Core」の3形態で提供されています。この記事では、読み方と開発元、3形態の選び方、必要なVRAM、GUIとコードそれぞれの使い方、メモリ不足の対処までを、公式ドキュメントとPyPI上のソースコード(unsloth 2026.9.12)で確かめた内容で整理します。

まとめ:Unslothの要点

  • 読み方は「アンスロス」。開発元は米サンフランシスコのUnsloth AI(2023年創業・Y Combinator 2024年夏期)です。
  • 料金は無料。本体はApache-2.0、Studio UIなど一部のコンポーネントはAGPL-3.0のデュアルライセンスです。
  • 形態は3つ。コードを書かずに学習するならDesktop、サーバーに入れてブラウザから使うならStudio、学習を自動化するならCoreです。
  • 公称値は「2倍速・VRAM 70%削減・精度低下なし」。ただしモデルごとに1.5倍・50%削減など幅があり、いずれも開発元の計測です。
  • VRAMの目安は、QLoRA(4bit)で8Bモデルが6GB、70Bモデルが41GB(公式の最小値)です。
  • 学習データの形式や件数はファインチューニング用データセットの作り方、手法の比較はPEFTとLoRAの違いで扱っています。

Unslothの読み方・開発元・ライセンス

読み方「アンスロス」と名前の由来

Unslothは「アンスロス」と読みます。sloth(ナマケモノ、怠惰)に否定の接頭辞un-を付けた造語で、ロゴとドキュメントのアイコンにもナマケモノが使われています。「遅い学習を速くする」という製品の狙いがそのまま名前になっています。公式リポジトリを探すときは、unslothai/unslothで検索すると確実です。

開発元Unsloth AIの概要

開発元はUnsloth AIです。Y Combinatorの企業ページでは、創業2023年、バッチはSummer 2024、所在地はサンフランシスコ、チーム12名と記載されています。創業者はDaniel HanとMichael Hanの兄弟で、Daniel HanはNVIDIAでアルゴリズムの高速化に携わっていた経歴を公開しています。2026年9月29日時点で、GitHubリポジトリのスターは約7.7万、Hugging Faceのunsloth組織が公開するモデルは1,460件です。量子化済みのモデルを大量に配布している組織でもあるため、Unslothを使わない人もHugging Face上でこの名前を目にします。

料金とライセンス:本体はApache-2.0、Studio UIはAGPL-3.0

Unslothは無料で使えます。GitHubのREADMEでは「Apache 2.0とAGPL-3.0のデュアルライセンス」と説明されており、PyPIで配布される本体パッケージはApache-2.0、Unsloth Studio UIなど一部のオプションコンポーネントはAGPL-3.0です。Core(ライブラリ)を社内の学習パイプラインに組み込むだけならApache-2.0の条件で扱えます。AGPL-3.0の対象部分を改変してネットワーク経由で利用させる場合は、利用者に対応するソースを提供する義務を確認してください。この条件は社外への提供に限定されません。

Unsloth Desktop・Studio・Coreの違いと選び方

2026年3月17日にWeb UIのStudio(ベータ)、8月11日にネイティブアプリのDesktopが公開され、従来のPythonライブラリはCoreと呼ばれるようになりました。3つとも同じGitHubリポジトリで開発されています。

形態 操作 導入方法 向いている用途
Desktop アプリのGUI OS別インストーラー 個人PCで試す
Studio ブラウザのGUI install.sh / Docker GPUサーバーを共用する
Core Pythonコード pip / uv 学習の自動化・CI

DesktopはmacOS・Windows・Linux(x64とARM64のdeb、AppImage)向けに配布され、Windows ARM64版もあります。Studioはunsloth studioコマンドでローカルにWebサーバーを立て、--secureを付けるとCloudflareトンネル経由のHTTPSで外部から開けます。Dockerイメージはunsloth/unsloth、AMD GPU向けはunsloth/unsloth-rocmです。

選び方ははっきりしています。初めて触るならDesktop、研究室や部署でGPUサーバー1台を共有するならStudio、学習を再現可能なスクリプトとしてGitで管理したいならCoreです。DesktopとStudioは2026年9月時点でもリリース名に-betaが付き、9月だけで10回以上更新されています。本番の定期学習ジョブはCoreでパッケージのバージョンを固定して組み、GUIは実験と確認に使う分担が安全です。

Unslothが速く省メモリな理由と公称値の読み方

Tritonカーネルと手書きの逆伝播

Unslothは、Transformerの主要な演算をOpenAIのTriton言語で書き直しています。unsloth 2026.9.12のソースを見ると、unsloth/kernels/にRMSNorm、RoPE、SwiGLU、GeGLU、クロスエントロピー損失などの実装が並び、@triton.jit付きの関数が18個あります。LoRAを適用したMLPやQKV射影はtorch.autograd.Functionを継承したクラスで、逆伝播(backward)を自動微分に任せず手で書いています。中間テンソルを保存しない分だけメモリが減り、近似を使わないため精度が落ちないというのが開発元の説明です。

もう1つの柱が、use_gradient_checkpointing = "unsloth"で有効になる独自の勾配チェックポイントです。公式ノートブックのコメントでは「VRAMを30%減らし、2倍大きいバッチが入る」とされています。4bit量子化したベースモデルにLoRAを載せるQLoRAの仕組みそのものはQLoRAの仕組みとVRAM目安で解説しています。

モデル別の公称速度・VRAM削減率と計測条件

READMEは「2倍速・VRAM 70%削減・精度低下なし」をうたっていますが、同じREADMEの無料ノートブック一覧を見ると数字はモデルごとに違います。

ノートブック 速度 メモリ削減
gpt-oss (20B) 2倍 70%
gpt-oss (20B) GRPO 2倍 80%
Llama 3.1 (8B) 2倍 70%
Qwen3.5 (4B) Vision 1.5倍 60%
Gemma 4 (E2B) Vision 1.5倍 50%
EmbeddingGemma (300M) 2倍 20%

計測したのは開発元です。公式のベンチマークページでは比較対象を「Hugging Face+Flash Attention 2」とし、H100でAlpacaデータ、バッチサイズ2、rank 32のQLoRAという条件を明記しています。速度とは別条件(バッチサイズ1・rank 32で全線形層にQLoRA)の系列長ベンチマークでは、Llama 3.1(8B)を16GBのGPUで学習した場合、最大コンテキスト長はUnslothが40,724トークン、比較対象が2,551トークンです。差がいちばん大きく出るのは速度より扱える系列長です。一方、速度やメモリ削減率はモデルと学習条件で変わり、上の表の20%削減はEmbeddingGemma(300M)の公称値です。

自社のGPUで効果を確かめるなら、同じデータとバッチサイズで両方を回し、torch.cuda.max_memory_allocated()とステップあたりの秒数を比べます。公式ページは、torch.compileのウォームアップに5分前後かかるため、読み込みが終わった後のスループットで測るよう注意しています。

Unslothに必要な環境とVRAMの目安

OS・GPU・Pythonの要件

  • Desktop・Studioでの学習:NVIDIA、AMD、Intel GPUとMac(MLX)に対応。PythonはStudioの手動導入で3.11以上3.14未満。GPUが無くてもチャットとData Recipes(データセット作成)は動きます。
  • Coreでの学習:LinuxとWindows(WSL含む)。NVIDIAはCUDA Compute Capability 7.0以上(V100、T4、RTX 20以降、A100、H100など)。AMDとIntelは専用ガイドの手順で導入し、Apple Silicon(MLX)対応は「開発中」と明記されています。
  • 依存ライブラリ:unsloth 2026.9.12はtorch 2.4以上2.13未満、trl 0.24.0以下、transformers 5.5.0以下を要求します。既存環境に入れると版が動くので、専用の仮想環境を作ってください。

Macで学習したい場合はCoreではなくDesktopかStudioを選びます。手元にGPUが無ければ、公式の無料Colabノートブックか、RunpodなどのGPUクラウドで時間単位に借りる方法があります。

モデル規模ごとの必要VRAM

公式ドキュメント(Unsloth Requirements)が「絶対最小値」として示す値の抜粋です。バッチサイズや系列長を増やすとこれより多く必要になります。

パラメータ数 QLoRA(4bit) LoRA(16bit)
3B 3.5GB 8GB
8B 6GB 22GB
14B 8.5GB 33GB
32B 26GB 76GB
70B 41GB 164GB

16GBのGPU(T4やRTX 4060 Ti 16GBなど)では8B〜14BのQLoRAが候補になります。系列長やモデル構造によっては8Bでも余裕がなくなるので、バッチサイズ1から始めて増やします。LoRA(16bit)の必要VRAMはこの表でQLoRAの約2.3〜4倍あり、3B程度ならコンシューマーGPUでもLoRAで学習できますが、8B以上を16GB前後のGPUで扱うならQLoRAを選びます。

Unslothの使い方1:Desktop・StudioのGUI学習手順

Studioのホーム画面はModel・Dataset・Parameters・Training/Configの4領域に分かれていて、上から順に埋めれば学習が始まります。

  1. 起動:Desktopはアプリを開くだけです。Studioはcurl -fsSL https://unsloth.ai/install.sh | sh(WindowsはPowerShellでinstall.ps1)で導入し、unsloth studio -H 0.0.0.0 -p 8888で起動して、初回にパスワードを設定します。
  2. モデルと手法:Text・Vision・Audio・Embeddingsから種類を選び、Hugging Faceのモデル名を検索して指定します。手法はQLoRA・LoRA・Full Fine-tuningの3択で、ハイパーパラメータには既定値が自動で入ります。GGUF形式のモデルは推論専用で、学習には使えません。
  3. データセット:Hugging Face Hubから検索するか、JSONL・JSON・CSV・Parquetのほか、PDFやDOCXをアップロードします。列の対応付けと学習・検証の分割も画面で設定できます。
  4. 学習と書き出し:実行中は損失の推移とGPU使用状況がライブで表示されます。終わったらExport画面でGGUFなどに変換し、同じアプリのチャット画面で試せます。

Llama系やGemma系のようなゲート付きモデルは、Hugging Faceのアクセストークンを入力しないと読み込めません。

Unslothの使い方2:Core(Python)のQLoRA学習手順

uvでのインストール

公式ドキュメントはuvでの導入を推奨しています。--torch-backend=autoを付けると、GPUに合ったPyTorchのビルドを選んで入れます。

curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv unsloth_env --python 3.13
source unsloth_env/bin/activate
uv pip install "unsloth==2026.9.12" "trl==0.24.0" --torch-backend=auto

版は、この記事のコードを確認したunsloth 2026.9.12と、それが対応するTRLの上限0.24.0に固定しています。最新版を使うなら版指定を外します。uvを使わない場合はpip install unslothでも入ります。

モデルの読み込みとLoRAアダプタの設定

読み込みはFastLanguageModel.from_pretrained、アダプタの付与はFastLanguageModel.get_peft_modelで行います。引数名と既定値はunsloth 2026.9.12のソースで確認しました。

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Llama-3.1-8B",
    max_seq_length = 2048,
    load_in_4bit = True,        # QLoRA。False にすると16bitのLoRA
)

model = FastLanguageModel.get_peft_model(
    model,
    r = 16,
    lora_alpha = 16,
    lora_dropout = 0,           # 0 が最適化された経路
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                      "gate_proj", "up_proj", "down_proj"],
    use_gradient_checkpointing = "unsloth",
    random_state = 3407,
)

from unsloth import ...はtrlやtransformersより先に書きます。Unslothは読み込み時にこれらのライブラリへパッチを当てるため、順序が逆だと最適化が効きません。rとlora_alphaの決め方はLoRAの仕組みと使い方で扱っています。

SFTTrainerでの学習と保存

学習ループはHugging FaceのTRLをそのまま使います。以下はTRL 0.24の引数名に合わせたコード例で、データセットはtext列に整形済みの文章が入っている前提です。実行前に、作業ディレクトリへtrain.jsonlを用意してください。各行は{"text": "学習させる文章"}というJSONオブジェクトです。

from datasets import load_dataset
from trl import SFTConfig, SFTTrainer

dataset = load_dataset("json", data_files = "train.jsonl", split = "train")

trainer = SFTTrainer(
    model = model,
    processing_class = tokenizer,
    train_dataset = dataset,
    args = SFTConfig(
        dataset_text_field = "text",
        max_length = 2048,
        per_device_train_batch_size = 2,
        gradient_accumulation_steps = 4,
        max_steps = 60,
        learning_rate = 2e-4,
        optim = "adamw_8bit",
        logging_steps = 1,
        seed = 3407,
        output_dir = "outputs",
        report_to = "none",
    ),
)
trainer.train()

model.save_pretrained("lora_model")       # LoRAアダプタだけを保存
tokenizer.save_pretrained("lora_model")

アダプタのファイルは数十〜数百MBで、元のモデルと組み合わせて読み込みます。

GGUF・マージ済みモデルへの書き出し

Ollamaやllama.cppで動かすならGGUF、vLLMで配信するならアダプタを統合した16bitモデルに書き出します。

# llama.cpp / Ollama 向け(q4_k_m は公式の推奨量子化)
model.save_pretrained_gguf("model_gguf", tokenizer, quantization_method = "q4_k_m")

# vLLM など向け:LoRA をベースモデルに統合して16bitで保存
model.save_pretrained_merged("model_merged", tokenizer, save_method = "merged_16bit")

save_methodには"lora"、"merged_16bit"、"merged_4bit"を指定できます。4bitでの統合は精度が落ちるため、ソース上でもmerged_4bit_forcedと明示しない限り止まる作りです。GGUFの量子化形式の違いはLLM量子化の仕組みとGGUFの違い、統合後の配信はvLLMの仕組みと使い方を参照してください。

Unslothで学習できるモデルと手法

READMEに挙がる学習手法は、LoRA、QLoRA、フルファインチューニング、事前学習、強化学習(GRPO、DPO)、FP8学習です。GRPOは報酬関数で推論能力を伸ばす手法で、仕組みはGRPOとはで解説しています。

無料ノートブックが用意されている学習対象は、gpt-oss(20B)、Qwen3・Qwen3.5、Gemma 4、Llama 3.1・3.2、EmbeddingGemma、Orpheus-TTSなどです。テキストのLLMに加えて、画像を扱う視覚言語モデル、埋め込みモデル、音声合成(TTS)、画像・動画の拡散モデルも学習できます。READMEのニュース欄に並ぶDeepSeek-V4やGLM-5.2のように、配布されたGGUFを「動かす」ことが主目的の大型モデルもあるため、学習できるかどうかは対象モデルのノートブックかドキュメントの有無で確かめてください。一覧は公式のUnsloth Notebooksにまとまっています。

メモリ不足(OOM)と導入時のトラブル対処

  • 学習中のOOM:公式ドキュメントが最初に挙げる原因はバッチサイズの過大です。per_device_train_batch_sizeを1〜2に下げ、減らした分はgradient_accumulation_stepsで補います。それでも足りなければmax_seq_lengthを短くし、load_in_4bit = Trueにします。
  • 評価ループでのOOM:SFTConfigにfp16_full_eval = True(bf16対応GPUならbf16_full_eval = True)を指定すると、評価時のメモリがおよそ半分になります。
  • 保存時のOOM:save_pretrained_mergedのmaximum_memory_usage(既定0.75)を0.5などに下げます。
  • インストール後に既存環境が壊れた:pip install unslothはtorchやtransformersの版を入れ替えます。プロジェクトごとに仮想環境を分け、Dockerイメージunsloth/unslothを使うと依存の衝突を避けられます。
  • Studioを外部公開したい:--secureや-H 0.0.0.0で公開するとサーバー側のツール実行も有効なままです。READMEは強いパスワードの設定と、必要に応じた--disable-toolsを勧めています。

Unslothを選ばないほうがよい場面

次の条件に当てはまるなら、Unslothを入れる前に別の手段を検討してください。

  • 社内文書を答えさせたいだけ:知識の追加が目的ならファインチューニングよりRAGのほうが更新も検証も安く済みます。判断基準はRAGとファインチューニングの違いと使い分けにまとめています。
  • MacでCoreを使った学習パイプラインを組みたい:CoreのApple Silicon対応は開発中です。MacではDesktop・Studio経由の学習に限られます。
  • Studioを改変して社外向けのサービスにしたい:Studio UIはAGPL-3.0です。ソース開示を避けたいなら、Apache-2.0のCoreだけで自前のUIを作ります。
  • GGUFしか手元にないモデルを学習したい:Unsloth StudioはGGUFを推論専用として扱い、学習の対象から外しています。Unslothで学習するならsafetensors形式などの元の重みを入手してください。なお、Transformersには対応アーキテクチャのGGUFを逆量子化して通常のモデルとして読み込む機能があります。

逆に、単一のコンシューマーGPUやColabの無料枠で7B〜14BクラスのモデルをQLoRAで学習するなら、UnslothはTRL単体より先に試す価値のある選択肢です。学習環境全体の組み方はファインチューニングの実行環境と実装で解説しています。

Unslothに関するよくある質問

Unslothの読み方は?

「アンスロス」です。sloth(ナマケモノ)に否定のun-を付けた造語で、学習を速くするという製品の目的を表しています。

Unslothは無料ですか?

無料です。本体はApache-2.0、Studio UIなど一部のコンポーネントはAGPL-3.0のオープンソースで、DesktopもGitHub Releasesから無料で入手できます。GPUを借りる場合はクラウドの利用料が別にかかります。

Unsloth Studioとは何ですか?

コードを書かずにモデルの学習・チャット・書き出しを行える、ローカルで動くWeb UIです。2026年3月にベータ公開されました。同じ機能をネイティブアプリにしたものがUnsloth Desktopです。

UnslothはMacで使えますか?

DesktopとStudioは、macOS 12以降のMacで学習とMLX・GGUFでの推論に対応しています。Python版のCoreは、2026年9月時点でApple Silicon対応が開発中です。

Unslothには何GBのVRAMが必要ですか?

公式の最小値は、QLoRA(4bit)で8Bモデルが6GB、14Bモデルが8.5GB、70Bモデルが41GBです。16bitのLoRAでは8Bモデルでも22GBが必要です。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

ほか 4 件の記事からもリンクされています。

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.14 テックブログ Commune不正アクセス:約30.7万人漏えいの対象確認と共通署名鍵の教訓
  2. 2026.10.14 テックブログ ブックオフ不正アクセス:約638万人の対象確認と本物メールの見分け方
  3. 2026.10.15 テックブログ リゾートトラスト不正アクセス:会員2.6万件・カハラ横浜3.6万件の対象確認と窓口
  4. 2026.10.08 コラム 特定商取引法に基づく表記の書き方:必須15項目のテンプレートと置き場所
  5. 2026.10.09 テックブログ ユニリタの不正アクセス:SaaS文書管理から漏れた顧客の認証情報と回す手順

RELATED POSTS 関連記事

目次