# Qwen3.5 ファインチューニングガイド

これでファインチューニングできるようになりました [Qwen3.5](https://unsloth.ai/docs/jp/moderu/qwen3.5) モデルファミリー（0.8B、2B、4B、9B、27B、35B‑A3B、122B‑A10B）を [**Unsloth**](https://github.com/unslothai/unsloth)で。サポートには [ビジョン](#vision-fine-tuning)、テキスト、および [RL](#reinforcement-learning-rl) ファインチューニングの両方が含まれます。 **Qwen3.5‑35B‑A3B** - bf16 LoRA は **74GB VRAM**

* Unsloth は Qwen3.5 の学習を **1.5倍高速化** し、 **50%少ないVRAM** を FA2 セットアップより使用します。
* Qwen3.5 bf16 LoRA の VRAM 使用量: **0.8B**: 3GB • **2B**: 5GB • **4B**: 10GB • **9B**: 22GB • **27B**: 56GB
* ファインチューニング **0.8B**, **2B** と **4B** bf16 LoRA を当社の **無料の** **Google Colab ノートブック経由で**:

| [Qwen3.5-**0.8B**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(0_8B\)_Vision.ipynb) | [Qwen3.5-**2B**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(2B\)_Vision.ipynb) | [Qwen3.5-**4B**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(4B\)_Vision.ipynb) | [Qwen3.5-4B **GRPO**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(4B\)_Vision_GRPO.ipynb) |
| --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |

* もし **推論能力を維持したい** 場合、推論スタイルの例と直接的な回答を混在させることができます（最低でも 75% は推論を維持してください）。そうでなければ、完全に出力しても構いません。
* **完全ファインチューニング（FFT）** も動作します。なお、4倍多くの VRAM を使用します。
* Qwen3.5 は 201 言語をサポートしているため、多言語ファインチューニングに強力です。
* ファインチューニング後、 [GGUF](#saving-export-your-fine-tuned-model) （llama.cpp/Ollama など向け）または [vLLM](#saving-export-your-fine-tuned-model)
* [強化学習](https://unsloth.ai/docs/jp/meru/reinforcement-learning-rl-guide) （RL）を Qwen3.5 用に [VLM RL](https://unsloth.ai/docs/jp/meru/reinforcement-learning-rl-guide/vision-reinforcement-learning-vlm-rl) も Unsloth 推論経由で動作します。
* 当社には **A100** Colab ノートブックがあります。対象: [Qwen3.5‑27B](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen_3_5_27B_A100\(80GB\).ipynb) と [Qwen3.5‑35B‑A3B](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_MoE.ipynb).

古いバージョンを使用している場合（またはローカルでファインチューニングする場合）は、まず更新してください:

{% columns %}
{% column %}
Unsloth Studio:

{% code expandable="true" %}

```bash
unsloth studio update
```

{% endcode %}
{% endcolumn %}

{% column %}
Unsloth コードベース:

```bash
pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo
```

{% endcolumn %}
{% endcolumns %}

{% hint style="warning" %}
**以下を使用してください `transformers v5` を Qwen3.5 用に。古いバージョンは動作しません。Unsloth は現在、デフォルトで transformers v5 を自動的に使用します（Colab 環境を除く）。**

学習が **通常より遅い**ように見える場合、それは Qwen3.5 がカスタム Mamba Triton カーネルを使用しているためです。これらのカーネルのコンパイルには通常より時間がかかることがあり、特に T4 GPU では顕著です。

Qwen3.5 モデルでは、MoE でも dense でも、通常より大きい量子化差異のため、QLoRA（4-bit）学習は推奨されません。
{% endhint %}

### MoE ファインチューニング（35B、122B）

次のような MoE モデルでは **Qwen3.5‑35B‑A3B / 122B‑A10B / 397B‑A17B**:

* 当社の [Qwen3.5‑35B‑A3B（A100）](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_MoE.ipynb) ファインチューニング ノートブック
* 最近の約12倍高速な [MoE 学習アップデート](https://unsloth.ai/docs/jp/ji-ben/faster-moe) をサポートしており、VRAM を 35% 以上削減しつつ、コンテキスト長を約6倍にできます
* **bf16 セットアップ（例: LoRA または完全ファインチューニング）を使うのが最適です** （MoE QLoRA 4-bit は BitsandBytes の制限により推奨されません）。
* Unsloth の MoE カーネルはデフォルトで有効になっており、異なるバックエンドを使用できます。次で切り替え可能です `UNSLOTH_MOE_BACKEND`.
* 安定性のため、ルーターレイヤーのファインチューニングはデフォルトで無効です。
* Qwen3.5‑122B‑A10B - bf16 LoRA は 256GB VRAM で動作します。マルチGPU を使用している場合は、     `device_map = "balanced"` を追加するか、当社の [multiGPU ガイド](https://unsloth.ai/docs/jp/ji-ben/multi-gpu-training-with-unsloth).

### クイックスタート

#### 🦥 Unsloth Studio ガイド

Qwen3.5 は [Unsloth Studio](https://unsloth.ai/docs/jp/xin-zhe/studio)で実行およびファインチューニングできます。これはローカル AI 向けの当社の新しいオープンソース Web UI です。Unsloth Studio では、モデルをローカルで **MacOS、Windows**、Linux および以下で実行できます:

{% columns %}
{% column %}

* [LLM を学習](https://unsloth.ai/docs/jp/xin-zhe/studio#no-code-training) 70% 少ない VRAM で 2 倍高速に
* 検索、ダウンロード、 [GGUF を実行](https://unsloth.ai/docs/jp/xin-zhe/studio#run-models-locally) および safetensor モデル
* [**自己修復型の** ツール呼び出し](https://unsloth.ai/docs/jp/xin-zhe/studio#execute-code--heal-tool-calling) + **Web 検索**
* [**コード実行**](https://unsloth.ai/docs/jp/xin-zhe/studio#run-models-locally) （Python、Bash）
* [自動推論](https://unsloth.ai/docs/jp/xin-zhe/studio#model-arena) パラメータ調整（temp、top-p など）
* llama.cpp 経由の高速 CPU + GPU 推論
  {% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F6HTkhiz3DUtrtcqASpTy%2Fobserve%20skinny.png?alt=media&#x26;token=1981fe89-eccf-4c3d-ba92-d76f3123b05f" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% stepper %}
{% step %}

#### Unsloth をインストール

ターミナルで実行してください:

**MacOS、Linux、WSL:**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows PowerShell:**

```bash
irm https://unsloth.ai/install.ps1 | iex
```

{% hint style="success" %}
**インストールはすぐに完了し、約 1～2 分かかります。**
{% endhint %}
{% endstep %}

{% step %}

#### Unsloth を起動

**MacOS、Linux、WSL、および Windows:**

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

**その後、 `http://localhost:8888` をブラウザで開いてください。**
{% endstep %}

{% step %}

#### Qwen3.5 を学習

初回起動時には、アカウントを保護するためのパスワードを作成し、後で再度サインインする必要があります。その後、モデル、データセット、基本設定を選ぶための簡単なオンボーディングウィザードが表示されます。いつでもスキップできます。

検索バーで Qwen3.5 を検索し、希望するモデルとデータセットを選択してください。次に、ハイパーパラメータやコンテキスト長を必要に応じて調整します。

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FKljuGLmIAlo7s8J4LLOc%2FScreenshot%202026-04-02%20at%202.08.54%E2%80%AFAM.png?alt=media&#x26;token=8cb779f7-fbd3-49e5-95e7-cc615558d854" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### 学習の進行状況を監視

学習開始をクリックすると、モデルの学習進行状況を監視および確認できます。学習損失は着実に減少していくはずです。\
完了すると、モデルは自動的に保存されます。

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fhm21EMxnAiLJBgP3Tvtq%2FScreenshot%202026-04-02%20at%202.13.21%E2%80%AFAM.png?alt=media&#x26;token=babaecda-2b28-47d8-818b-4a74f4595325" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### ファインチューニング済みモデルをエクスポート

完了すると、Unsloth Studio ではモデルを GGUF、safetensor などの形式にエクスポートできます。

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FZvedfVVAmectHAEHHlGg%2FScreenshot%202026-04-02%20at%202.14.40%E2%80%AFAM.png?alt=media&#x26;token=4ddefe19-657b-4861-86da-cbfd983f75ba" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

#### Unsloth Core（コードベース）ガイド:

以下は最小限の SFT レシピです（「テキストのみ」のファインチューニングで動作します）。こちらもご覧ください: [ビジョン ファインチューニング](https://unsloth.ai/docs/jp/ji-ben/vision-fine-tuning) セクション。

{% hint style="info" %}
Qwen3.5 は「Vision Encoder を備えた Causal Language Model」（統合型 VLM）なので、必要に応じて通常のビジョン依存関係（`torchvision`, `pillow`）がインストールされていることを確認し、Transformers を最新の状態に保ってください。Qwen3.5 には最新の Transformers を使用してください。

**もし** [**GRPO**](https://unsloth.ai/docs/jp/meru/reinforcement-learning-rl-guide)**を行いたい場合、fast vLLM inference を無効にして代わりに Unsloth inference を使えば、Unsloth で動作します。当社の** [**Vision RL**](https://unsloth.ai/docs/jp/meru/reinforcement-learning-rl-guide/vision-reinforcement-learning-vlm-rl) **ノートブック例に従ってください。**
{% endhint %}

{% code expandable="true" %}

```python
from unsloth import FastLanguageModel
import torch
from datasets import load_dataset
from trl import SFTTrainer, SFTConfig

max_seq_length = 2048  # まずは小さく始める; 動作したら拡大する

# データセット例（ご自身のものに置き換えてください）。"text" 列が必要です。
url = "https://huggingface.co/datasets/laion/OIG/resolve/main/unified_chip2.jsonl"
dataset = load_dataset("json", data_files={"train": url}, split="train")

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "Qwen/Qwen3.5-27B",
    max_seq_length = max_seq_length,
    load_in_4bit = False,     # MoE QLoRA は推奨されませんが、dense 27B は問題ありません
    load_in_16bit = True,     # bf16/16-bit LoRA
    full_finetuning = False,
)

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",
    # "unsloth" チェックポイントは非常に長いコンテキスト + より少ない VRAM を意図しています
    use_gradient_checkpointing = "unsloth",
    random_state = 3407,
    max_seq_length = max_seq_length,
)

trainer = SFTTrainer(
    model = model,
    train_dataset = dataset,
    tokenizer = tokenizer,
    args = SFTConfig(
        max_seq_length = max_seq_length,
        per_device_train_batch_size = 1,
        gradient_accumulation_steps = 4,
        warmup_steps = 10,
        max_steps = 100,
        logging_steps = 1,
        output_dir = "outputs_qwen35",
        optim = "adamw_8bit",
        seed = 3407,
        dataset_num_proc = 1,
    ),
)

trainer.train()
```

{% endcode %}

{% hint style="info" %}
OOM が発生した場合:

* 下げる `per_device_train_batch_size` を **1** および/または `max_seq_length`.&#x20;
* 維持する `use_`[`gradient_checkpointing`](https://unsloth.ai/docs/jp/burogu/500k-context-length-fine-tuning#unsloth-gradient-checkpointing-enhancements)`="unsloth"` を有効のままにしてください（VRAM 使用量を削減し、コンテキスト長を拡張するように設計されています）。
  {% endhint %}

**MoE 用ローダー例（bf16 LoRA）:**

```python
import os
import torch
from unsloth import FastModel

model, tokenizer = FastModel.from_pretrained(
    model_name = "unsloth/Qwen3.5-35B-A3B",
    max_seq_length = 2048,
    load_in_4bit = False,     # MoE QLoRA は推奨されませんが、dense 27B は問題ありません
    load_in_16bit = True,     # bf16/16-bit LoRA
    full_finetuning = False,
)
```

ロード後は、LoRA アダプターをアタッチし、上記の SFT 例と同様に学習します。

### ビジョン ファインチューニング

Unsloth は [ビジョン ファインチューニング](https://unsloth.ai/docs/jp/ji-ben/vision-fine-tuning) をマルチモーダル Qwen3.5 モデル向けにサポートしています。以下の Qwen3.5 ノートブックを使用し、各モデル名を希望する Qwen3.5 モデル名に変更してください。

| [Qwen3.5-**0.8B**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(0_8B\)_Vision.ipynb) | [Qwen3.5-**2B**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(2B\)_Vision.ipynb) | [Qwen3.5-**4B**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(4B\)_Vision.ipynb) | Qwen3.5-**9B** |
| --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------- |

* [Qwen3-VL GRPO/GSPO RL ノートブック](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_VL_\(8B\)-Vision-GRPO.ipynb) （モデル名を Qwen3.5-4B などに変更）

**Vision の無効化 / テキストのみのファインチューニング:**

ビジョンモデルをファインチューニングするために、現在ではモデルのどの部分をファインチューニングするか選択できるようになっています。ビジョン層のみ、言語層のみ、あるいは attention / MLP 層のみをファインチューニングすることも可能です。デフォルトではすべて有効になっています！

{% code expandable="true" %}

```python
model = FastVisionModel.get_peft_model(
    model,
    finetune_vision_layers     = True, # ビジョン層をファインチューニングしない場合は False
    finetune_language_layers   = True, # 言語層をファインチューニングしない場合は False
    finetune_attention_modules = True, # attention 層をファインチューニングしない場合は False
    finetune_mlp_modules       = True, # MLP 層をファインチューニングしない場合は False

    r = 16,                           # 大きいほど精度は高くなりますが、過学習する可能性があります
    lora_alpha = 16,                  # 少なくとも alpha == r を推奨
    lora_dropout = 0,
    bias = "none",
    random_state = 3407,
    use_rslora = False,               # rank stabilized LoRA をサポートしています
    loftq_config = None,               # LoftQ もサポートしています
    target_modules = "all-linear",    # 現在は任意です！必要に応じてリストを指定できます
    modules_to_save=[
        "lm_head",
        "embed_tokens",
    ],
)
```

{% endcode %}

複数画像で Qwen3.5 をファインチューニングまたは学習するには、 こちらの [**マルチイメージ ビジョンガイド**](https://unsloth.ai/docs/jp/ji-ben/vision-fine-tuning#multi-image-training)**.**

### 強化学習 (RL)

これで Qwen3.5 を RL、GSPO、GRPO などで学習できるようになりました。 [当社の無料ノートブック](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_\(4B\)_Vision_GRPO.ipynb):

{% embed url="<https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_5_(4B)_Vision_GRPO.ipynb>" %}

vLLM でサポートされていなくても、Unsloth では Qwen3.5 RL を実行できます。次を設定してください `fast_inference=False` モデルのロード時に:

```python
from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Qwen3.5-4B",
    fast_inference=False,
)
```

### ファインチューニング済みモデルの保存 / エクスポート

以下に関する当社の専用推論 / デプロイガイドをご覧いただけます [Unsloth Studio](https://unsloth.ai/docs/jp/xin-zhe/studio/export), [llama.cpp](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment/saving-to-gguf), [vLLM](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment/vllm-guide), [llama-server](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment/llama-server-and-openai-endpoint), [Ollama](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment/saving-to-ollama).

#### GGUF に保存

Unsloth は GGUF への直接保存をサポートしています:

```python
model.save_pretrained_gguf("directory", tokenizer, quantization_method = "q4_k_m")
model.save_pretrained_gguf("directory", tokenizer, quantization_method = "q8_0")
model.save_pretrained_gguf("directory", tokenizer, quantization_method = "f16")
```

または GGUF を Hugging Face にプッシュ:

```python
model.push_to_hub_gguf("hf_username/directory", tokenizer, quantization_method = "q4_k_m")
model.push_to_hub_gguf("hf_username/directory", tokenizer, quantization_method = "q8_0")
```

エクスポートしたモデルの挙動が別のランタイムで悪化する場合、Unsloth は最も一般的な原因を示します: **推論時の誤ったチャットテンプレート / EOS トークン** （学習時と同じチャットテンプレートを使用する必要があります）。

#### vLLM に保存

{% hint style="warning" %}
vLLM バージョン `0.16.0` は Qwen3.5 をサポートしていません。 `0.170` まで待つか、Nightly リリースを試してください。
{% endhint %}

vLLM 用に 16-bit で保存するには、次を使用してください:

{% code overflow="wrap" %}

```python
model.save_pretrained_merged("finetuned_model", tokenizer, save_method = "merged_16bit")
## または HuggingFace にアップロードするには:
model.push_to_hub_merged("hf/model", tokenizer, save_method = "merged_16bit", token = "")
```

{% endcode %}

LoRA アダプターのみを保存するには、次のいずれかを使用します:

```python
model.save_pretrained("finetuned_lora")
tokenizer.save_pretrained("finetuned_lora")
```

または、組み込み関数を使用します:

{% code overflow="wrap" %}

```python
model.save_pretrained_merged("finetuned_model", tokenizer, save_method = "lora")
## または HuggingFace にアップロード
model.push_to_hub_merged("hf/model", tokenizer, save_method = "lora", token = "")
```

{% endcode %}

詳細については、当社の推論ガイドをお読みください:

{% columns %}
{% column width="50%" %}
{% content-ref url="../../ji-ben/inference-and-deployment" %}
[inference-and-deployment](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment)
{% endcontent-ref %}

{% content-ref url="../../ji-ben/inference-and-deployment/saving-to-gguf" %}
[saving-to-gguf](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment/saving-to-gguf)
{% endcontent-ref %}
{% endcolumn %}

{% column width="50%" %}
{% content-ref url="../../xin-zhe/studio/export" %}
[export](https://unsloth.ai/docs/jp/xin-zhe/studio/export)
{% endcontent-ref %}

{% content-ref url="../../ji-ben/inference-and-deployment/vllm-guide" %}
[vllm-guide](https://unsloth.ai/docs/jp/ji-ben/inference-and-deployment/vllm-guide)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}
