> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-sandboxes-integrations-placement.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Serverless LoRA アダプター Inference を使用する

> 独自のカスタム LoRA アダプター を持ち込み、Serverless Inference でファインチューニングしたモデルを提供します。


このページでは、W\&B Serverless Inference で独自のカスタム LoRA アダプター アダプターを提供する方法を説明します。インフラストラクチャーを管理することなく、サポート対象のベースモデルのファインチューニング済みバリアントをデプロイしたい開発者や ML 実務者向けの内容です。

LoRA アダプター (Low-Rank Adaptation) を使用すると、完全に新しいモデル全体ではなく、軽量な追加アダプターだけをトレーニングして保存することで、大規模言語モデルをカスタマイズできます。これにより、カスタマイズに必要な容量とコストを削減できます。

LoRA アダプター をトレーニングするかアップロードすることで、ベースモデルに新しい機能を持たせることができます。たとえば、カスタマー サポート、クリエイティブ ライティング、特定の技術分野向けに特化させることができます。これにより、モデル全体を再トレーニングしたり再デプロイしたりすることなく、モデルの動作を調整できます。

<div id="why-use-serverless-inference-for-loras">
  ## LoRAs で Serverless Inference を使用する理由
</div>

LoRAs 向けの Serverless Inference には、次の利点があります。

* 一度アップロードすれば、サーバーを管理せずにデプロイできます。
* アーティファクト のバージョン管理により、どのバージョンが本番稼働中かをトラッキングできます。
* モデル全体の重みではなく、小さな LoRA ファイルを差し替えるだけで、モデルを更新できます。

<div id="workflow">
  ## ワークフロー
</div>

大まかには、カスタム LoRA アダプター を提供するには 3 つの手順があります。

1. LoRA アダプター の重みを W\&B アーティファクトとしてアップロードします
2. API で、モデル名としてアーティファクト URI を指定します
3. W\&B が推論時に重みを動的に読み込みます

以下は、Serverless Inference を使用してカスタム LoRA アダプター モデルを呼び出す例です。以下のセクションでは、ここで参照している LoRA アダプター をアップロードまたはトレーニングする方法について説明します。

```python theme={null}
from openai import OpenAI

model_name = f"wandb-artifact:///{WB_TEAM}/{WB_PROJECT}/qwen_lora:latest"

client = OpenAI(
    base_url="https://api.inference.wandb.ai/v1",
    api_key=API_KEY,
    project=f"{WB_TEAM}/{WB_PROJECT}",
)

resp = client.chat.completions.create(
    model=model_name,
    messages=[{"role": "user", "content": "Say 'Hello World!'"}],
)
print(resp.choices[0].message.content)
```

LoRA アダプター を作成し、それをアーティファクトとして W\&B にアップロードする方法を対話形式で示したデモについては、この[スタートガイドノートブック](https://wandb.me/lora_nb)をご覧ください。

<div id="prerequisites">
  ## 前提条件
</div>

以下が必要です。

* [W\&B APIキー](/ja/models/integrations/add-wandb-to-any-library#create-an-api-key)。
* [W\&Bプロジェクト](/ja/models/track/project-page)。
* `openai` と `wandb` パッケージがインストールされた Python 3.8+: `pip install wandb openai`。

<div id="add-and-use-loras">
  ## LoRA アダプター を追加して使用する
</div>

LoRA アダプター は、2 つの方法で W\&B アカウントに追加して使用を開始できます。LoRA アダプター をトレーニングした場所に応じて、対応するタブを選択してください。

<Tabs>
  <Tab title="別の環境でトレーニングした LoRA アダプター をアップロードする">
    独自のカスタム LoRA アダプター ディレクトリを W\&B アーティファクト としてアップロードします。LoRA アダプター を別の環境 (ローカル環境、cloud provider、またはパートナーサービス) でトレーニングした場合は、この方法を使用します。

    この Python コードは、ローカルに保存された LoRA アダプター の重みを、バージョン管理された アーティファクト として W\&B にアップロードします。必要なメタデータ (ベースモデル と storage region) を含む `lora` タイプの アーティファクト を作成し、ローカルディレクトリから LoRA アダプター ファイルを追加して、推論で使用できるよう W\&B のプロジェクトにログします。

    ```python theme={null}
    import wandb

    run = wandb.init(entity=WB_TEAM, project=WB_PROJECT)

    artifact = wandb.Artifact(
        "qwen_lora",
        type="lora",
        metadata={"wandb.base_model": "OpenPipe/Qwen3-14B-Instruct"},
        storage_region="coreweave-us",
    )

    artifact.add_dir("[PATH-TO-LORA-WEIGHTS]")
    run.log_artifact(artifact)
    ```

    ### 主な要件

    独自の LoRA アダプター を Inference で使用するには、次の点を満たしていることを確認してください。

    * LoRA アダプター は、[サポートされているベースモデル](#supported-base-models) section に記載されているモデルのいずれかを使用してトレーニングされている必要があります。
    * LoRA アダプター は、W\&B アカウント内に `lora` タイプの アーティファクト として PEFT 形式で保存されている必要があります。
    * 低レイテンシを実現するため、LoRA アダプター は `storage_region="coreweave-us"` に保存されている必要があります。
    * アップロード時には、トレーニングに使用した ベースモデル の名 (たとえば `meta-llama/Llama-3.1-8B-Instruct`) を含めてください。これにより、W\&B は適切なモデルで読み込めます。
  </Tab>

  <Tab title="W&B で新しい LoRA アダプター をトレーニングする">
    [Serverless RL](/ja/serverless-training) を使用して新しい LoRA アダプター をトレーニングします。LoRA アダプター は自動的に W\&B アーティファクト となり、そのまま直接使用できます。

    独自の LoRA アダプター をトレーニングする方法の詳細については、[OpenPipe's ART quickstart](https://art.openpipe.ai/getting-started/quick-start) を参照してください。

    トレーニングが完了すると、LoRA アダプター は自動的に アーティファクト として利用できるようになります。
  </Tab>
</Tabs>

使用した方法に関係なく、LoRA アダプター を アーティファクト としてプロジェクトに追加した後は、その URI をモデル名として渡すことで、任意の推論 call から参照できます。

```python theme={null}
# トレーニングが完了したら、アーティファクトを直接使用する
model_name = f"wandb-artifact:///{WB_TEAM}/{WB_PROJECT}/your_trained_lora:latest"
```

<div id="supported-base-models">
  ## サポートされているベースモデル
</div>

LoRA アダプターは、以下のいずれかのベースモデルに対してトレーニングされている必要があります。`wandb.base_model` を設定する際は、正確なモデル ID の string を使用してください。これにより、W\&B は推論時にアダプターを正しいベースモデルと対応付けることができます。

| モデル ID (API 用)                      | 最大 LoRA ランク |
| ----------------------------------- | ----------- |
| `meta-llama/Llama-3.1-70B-Instruct` | 16          |
| `meta-llama/Llama-3.1-8B-Instruct`  | 16          |
| `openai/gpt-oss-120b`               | 64          |
| `OpenPipe/Qwen3-14B-Instruct`       | 16          |
| `Qwen/Qwen3.6-27B`                  | 16          |
| `Qwen/Qwen3-30B-A3B-Instruct-2507`  | 16          |

<div id="pricing">
  ## 料金
</div>

常時稼働のサーバーや専用 GPU インスタンスではなく、ストレージと実行した推論分に対してのみ料金が発生します。料金は次の 2 つの要素で構成されます。

* [**ストレージ**](https://wandb.ai/site/pricing/): LoRA アダプター の重みを保持するストレージに対して課金されます。
* **推論使用量**: LoRA アダプター アーティファクトを使用する Call には、[標準的なモデル推論](/ja/inference/usage-limits#account-tiers-and-default-usage-caps)と同じ料金率が適用されます。
