Passer au contenu principal
Cette page explique comment servir vos propres adaptateurs LoRA personnalisés sur Serverless Inference de W&B. Elle s’adresse aux développeurs et aux spécialistes ML qui souhaitent déployer des variantes fine-tunées de modèles de base pris en charge, sans avoir à gérer l’infrastructure. LoRA (Low-Rank Adaptation) vous permet de personnaliser de grands modèles de langage en n’entraînant et en ne stockant qu’un module léger, plutôt qu’un tout nouveau modèle complet. Cela réduit la taille et le coût de la personnalisation. Vous pouvez entraîner ou téléverser un LoRA pour ajouter de nouvelles capacités à un modèle de base, par exemple pour le spécialiser pour l’assistance client, l’écriture créative ou un domaine technique particulier. Cela vous permet d’adapter le comportement du modèle sans réentraîner ni redéployer l’ensemble du modèle.

Pourquoi utiliser Serverless Inference pour les LoRAs

Serverless Inference pour les LoRAs offre les avantages suivants :
  • Téléversez une fois, déployez sans gérer de serveurs.
  • Suivez la version en production grâce à la gestion des versions des artifacts.
  • Mettez à jour les modèles en remplaçant de petits fichiers LoRA plutôt que l’ensemble des poids du modèle.

Flux de travail

Dans les grandes lignes, servir un LoRA personnalisé comporte trois étapes :
  1. Téléversez vos poids LoRA en tant qu’artifact W&B.
  2. Utilisez l’URI de l’artifact comme nom de votre modèle dans l’API.
  3. W&B charge dynamiquement vos poids pour l’inférence.
L’exemple suivant montre comment appeler votre modèle LoRA personnalisé avec Serverless Inference. Les sections suivantes décrivent comment téléverser ou entraîner le LoRA mentionné ici.
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)
Voir ce notebook premiers pas pour une démonstration interactive montrant comment créer une LoRA et la téléverser vers W&B en tant qu’artifact.

Prérequis

Vous devez disposer des éléments suivants :

Ajouter et utiliser des LoRA

Vous pouvez ajouter des LoRA à votre compte W&B et commencer à les utiliser de deux manières. Choisissez l’onglet correspondant à l’endroit où votre LoRA a été entraîné :
Téléversez votre propre répertoire LoRA personnalisé en tant qu’artifact W&B. Utilisez cette méthode si vous avez entraîné votre LoRA ailleurs (dans un environnement local, chez un fournisseur cloud ou via un service partenaire).Ce code Python téléverse les poids de votre LoRA stockés localement dans W&B en tant qu’artifact versionné. Il crée un artifact de type lora avec les métadonnées requises (modèle de base et région de stockage), ajoute vos fichiers LoRA depuis un répertoire local, puis l’enregistre dans votre projet W&B pour l’utiliser avec Inférence.
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)

Exigences clés

Pour utiliser vos propres LoRA avec Inférence, assurez-vous des points suivants :
  • Le LoRA doit avoir été entraîné à l’aide de l’un des modèles listés dans la section Modèles de base pris en charge.
  • Le LoRA doit être enregistré au format PEFT en tant qu’artifact de type lora dans votre compte W&B.
  • Le LoRA doit être stocké dans storage_region="coreweave-us" pour garantir une faible latence.
  • Lors du téléversement, indiquez le nom du modèle de base sur lequel il a été entraîné (par exemple, meta-llama/Llama-3.1-8B-Instruct). Cela garantit que W&B peut le charger avec le bon modèle.
Après avoir ajouté votre LoRA à votre projet en tant qu’artifact, quelle que soit la méthode utilisée, vous pouvez y faire référence dans n’importe quel appel d’inférence en transmettant son URI comme nom de modèle :
# Une fois l'entraînement terminé, utilisez votre artifact directement
model_name = f"wandb-artifact:///{WB_TEAM}/{WB_PROJECT}/your_trained_lora:latest"

Modèles de base pris en charge

Votre LoRA doit être entraîné à partir de l’un des modèles de base suivants. Utilisez la chaîne d’ID du modèle exacte lorsque vous définissez wandb.base_model, afin que W&B puisse associer votre adaptateur au bon modèle de base au moment de l’inférence.
ID du modèle (pour une utilisation via l’API)Rang LoRA maximal
meta-llama/Llama-3.1-70B-Instruct16
meta-llama/Llama-3.1-8B-Instruct16
openai/gpt-oss-120b64
OpenPipe/Qwen3-14B-Instruct16
Qwen/Qwen3.6-27B16
Qwen/Qwen3-30B-A3B-Instruct-250716

Tarification

Vous ne payez que le stockage et les inférences que vous exécutez, au lieu de payer pour des serveurs toujours actifs ou des instances GPU dédiées. La tarification comporte deux éléments :
  • Stockage : le stockage qui contient vos poids LoRA vous est facturé.
  • Utilisation de l’inférence : Les appels qui utilisent des Artifacts LoRA sont facturés aux mêmes tarifs que l’inférence de modèle standard.