メインコンテンツへスキップ
LoRA (Low-Rank Adaptation) を使用すると、完全な新しいモデルではなく、軽量な「追加モジュール」だけをトレーニングして保存することで、大規模言語モデルを目的に合わせて調整できます。これにより、カスタマイズをより迅速かつ低コストで行え、デプロイも容易になります。 LoRA をトレーニングするかアップロードすることで、ベースモデルに新しい機能を持たせることができます。たとえば、顧客サポート、クリエイティブライティング、特定の技術分野向けに特化させることができます。これにより、モデル全体を再トレーニングしたり再デプロイしたりすることなく、モデルの挙動を調整できます。

LoRAs で W&B Inference を使用する理由

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

ワークフロー

  1. LoRA の重みを W&B アーティファクトとしてアップロードします
  2. API で、モデル名としてアーティファクト URI を指定します
  3. W&B が推論時に重みを動的に読み込みます
以下は、W&B Inference を使用してカスタム LoRA モデルを呼び出す例です。
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 にアップロードする方法を対話形式で示したデモについては、このスタートガイドノートブックをご覧ください。

前提条件

以下が必要です。

LoRA を追加して使用する方法

LoRA は、2 つの方法で W&B アカウントに追加して使用を開始できます。
独自のカスタム LoRA ディレクトリを W&B アーティファクト としてアップロードします。これは、LoRA を別の環境 (ローカル環境、cloud provider、またはパートナーサービス) でトレーニングした場合に最適です。この Python コードは、ローカルに保存された LoRA の重みを、バージョン管理された アーティファクト として W&B にアップロードします。必要なメタデータ (ベースモデル と storage region) を含む lora タイプの アーティファクト を作成し、ローカルディレクトリから LoRA ファイルを追加して、推論で使用できるよう W&B プロジェクトにログします。
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 は適切なモデルで読み込めます。
LoRA が アーティファクト としてプロジェクトに追加されたら、次のように推論 call で アーティファクト の URI を使用します。
# トレーニング完了後、artifact を直接使用する
model_name = f"wandb-artifact:///{WB_TEAM}/{WB_PROJECT}/your_trained_lora:latest"

サポートされているベースモデル

Inference は現在、以下の LLM をサポートしています (wandb.base_model には以下の文字列を正確に使用してください) 。今後さらに多くのモデルに対応予定です。
モデル ID (API 用)最大 LoRA ランク
meta-llama/Llama-3.1-70B-Instruct16
meta-llama/Llama-3.1-8B-Instruct16
openai/gpt-oss-120b64
OpenPipe/Qwen3-14B-Instruct16
Qwen/Qwen3-30B-A3B-Instruct-250716

料金

Serverless LoRA Inference はシンプルでコスト効率が高く、常時稼働のサーバーや専用 GPU インスタンスではなく、実際に使用したストレージと実行した推論分に対してのみ料金が発生します。
  • ストレージ - LoRA の重みの保存は低コストで、特に独自の GPU インフラストラクチャーを維持する場合と比べると安価です。
  • 推論使用量 - LoRA アーティファクトs を使用する call には、標準的なモデル推論と同じ料金率が適用されます。カスタム LoRA の提供に追加料金はかかりません。