메인 콘텐츠로 건너뛰기
LoRA(Low-Rank Adaptation)를 사용하면 완전히 새로운 모델 전체를 만드는 대신, 가벼운 ‘추가 모듈’만 트레이닝하고 저장해 대규모 언어 모델을 개인화할 수 있습니다. 이렇게 하면 맞춤화가 더 빠르고, 비용도 적게 들며, 배포도 쉬워집니다. LoRA를 트레이닝하거나 업로드해 베이스 모델에 새로운 기능을 추가할 수 있습니다. 예를 들어 고객 지원, 창의적 글쓰기, 또는 특정 기술 분야에 특화되도록 만들 수 있습니다. 이를 통해 전체 모델을 다시 트레이닝하거나 재배포하지 않고도 모델의 동작을 조정할 수 있습니다.

LoRAs에 W&B Inference를 사용하는 이유는 무엇인가요?

  • 한 번 업로드하면 즉시 배포할 수 있으며, 관리할 서버도 필요 없습니다.
  • artifact 버전 관리를 통해 현재 서비스 중인 버전을 정확하게 추적할 수 있습니다.
  • 전체 모델 가중치 대신 작은 LoRA 파일만 교체해 몇 초 만에 모델을 업데이트할 수 있습니다.

워크플로

  1. LoRA 가중치를 W&B artifact로 업로드합니다
  2. API에서 artifact URI를 모델 이름으로 레퍼런스합니다
  3. W&B가 Inference를 위해 가중치를 동적으로 로드합니다
다음은 W&B Inference를 사용해 커스텀 LoRA 모델을 call하는 예시입니다:
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를 생성해 artifact로 W&B에 업로드하는 방법을 대화형으로 보여주는 이 시작하기 노트북을 확인해 보세요.

사전 요구 사항

다음이 필요합니다:

LoRA를 추가하고 사용하는 방법

두 가지 방법으로 W&B 계정에 LoRA를 추가하고 바로 사용할 수 있습니다.
직접 만든 커스텀 LoRA 디렉터리를 W&B artifact로 업로드합니다. LoRA를 다른 환경(로컬 환경, cloud provider 또는 파트너 서비스)에서 트레이닝한 경우에 적합합니다.이 Python 코드는 로컬에 저장된 LoRA 가중치를 버전 관리되는 W&B artifact로 업로드합니다. 필수 메타데이터(베이스 모델 및 storage region)가 포함된 lora 유형 artifact를 생성하고, 로컬 디렉터리의 LoRA 파일을 추가한 다음, Inference에 사용할 수 있도록 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는 지원되는 베이스 모델 섹션에 나열된 모델 중 하나로 트레이닝되어 있어야 합니다.
  • LoRA는 PEFT 형식으로 저장되어 있어야 하며, W&B 계정에 lora 유형 artifact로 존재해야 합니다.
  • 지연 시간을 최소화하려면 LoRA가 storage_region="coreweave-us"에 저장되어 있어야 합니다.
  • 업로드할 때 트레이닝에 사용한 베이스 모델 이름(예: meta-llama/Llama-3.1-8B-Instruct)을 포함하세요. 그래야 W&B가 올바른 모델과 함께 LoRA를 로드할 수 있습니다.
LoRA가 artifact로 프로젝트에 추가되면, 다음과 같이 Inference call에서 해당 artifact의 URI를 사용하세요.
# 트레이닝이 완료되면 artifact를 직접 사용하세요
model_name = f"wandb-artifact:///{WB_TEAM}/{WB_PROJECT}/your_trained_lora:latest"

지원되는 베이스 모델

Inference는 현재 다음 LLM을 지원합니다(wandb.base_model에는 아래 문자열을 정확히 사용하세요). 더 많은 모델이 곧 추가될 예정입니다:
API 사용 시 모델 ID최대 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

가격

서버리스 LoRA Inference는 간단하고 비용 효율적입니다. 상시 실행 서버나 전용 GPU 인스턴스에 비용을 지불하는 대신, 실제로 사용한 저장소와 실행한 Inference에 대해서만 비용을 지불하면 됩니다.
  • 저장소 - LoRA 가중치를 저장하는 비용은 저렴하며, 특히 자체 GPU infrastructure를 유지하는 것과 비교하면 더욱 그렇습니다.
  • Inference 사용 - LoRA Artifacts를 사용하는 call에는 표준 모델 Inference와 동일한 요금이 청구됩니다. 커스텀 LoRA를 서빙하는 데에는 추가 요금이 없습니다.