> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/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를 트레이닝하거나 업로드하면 기본 모델에 새로운 기능을 더할 수 있습니다. 예를 들어 고객 지원, 창작 글쓰기, 특정 기술 분야 등에 특화된 모델로 만들 수 있습니다. 전체 모델을 다시 트레이닝하거나 재배포하지 않고도 모델의 동작을 조정할 수 있습니다.

<h2 id="why-use-serverless-inference-for-loras">
  LoRA에 Serverless Inference를 사용하는 이유
</h2>

LoRA용 Serverless Inference는 다음과 같은 이점을 제공합니다.

* 한 번 업로드하면 서버를 관리할 필요 없이 배포할 수 있습니다.
* 아티팩트 버전 관리로 현재 서비스 중인 버전을 추적할 수 있습니다.
* 전체 모델 가중치 대신 크기가 작은 LoRA 파일만 교체하여 모델을 업데이트할 수 있습니다.

<h2 id="workflow">
  워크플로
</h2>

커스텀 LoRA 서빙은 크게 세 단계로 이루어집니다.

1. LoRA 가중치를 W\&B 아티팩트로 업로드합니다.
2. API에서 아티팩트 URI를 모델 이름으로 지정합니다.
3. W\&B가 가중치를 동적으로 로드하여 추론에 사용합니다.

다음 예시는 Serverless Inference로 커스텀 LoRA 모델을 호출하는 방법을 보여줍니다. 여기서 사용하는 LoRA를 업로드하거나 트레이닝하는 방법은 이어지는 섹션에서 설명합니다.

```python theme={"system"}
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)을 참조하세요.

<h2 id="prerequisites">
  사전 요구 사항
</h2>

다음이 필요합니다.

* [W\&B API 키](/ko/products/wandb/integrations/add-wandb-to-any-library#create-an-api-key)
* [W\&B 프로젝트](/ko/products/wandb/track/project-page)
* `openai` 및 `wandb` 패키지가 설치된 Python 3.8 이상: `pip install wandb openai`

<h2 id="add-and-use-loras">
  LoRA 추가 및 사용
</h2>

두 가지 방법으로 W\&B 계정에 LoRA를 추가하고 사용할 수 있습니다. LoRA를 트레이닝한 위치에 맞는 탭을 선택하세요.

<Tabs>
  <Tab title="다른 곳에서 트레이닝한 LoRA 업로드">
    커스텀 LoRA 디렉터리를 W\&B 아티팩트로 업로드합니다. 로컬 환경, 클라우드 제공업체, 파트너 서비스 등 다른 곳에서 LoRA를 트레이닝했다면 이 방법을 사용하세요.

    이 Python 코드는 로컬에 저장된 LoRA 가중치를 버전 관리되는 아티팩트로 W\&B에 업로드합니다. 필수 메타데이터(기본 모델 및 저장소 리전)를 포함한 `lora` 유형의 아티팩트를 생성하고, 로컬 디렉터리의 LoRA 파일을 추가한 다음, 추론에 사용할 수 있도록 W\&B 프로젝트에 로깅합니다.

    ```python theme={"system"}
    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)
    ```

    <h3 id="key-requirements">
      주요 요구 사항
    </h3>

    Inference에서 자체 LoRA를 사용하려면 다음 사항을 확인하세요.

    * LoRA는 [지원되는 기본 모델](#supported-base-models) 섹션에 나열된 모델 중 하나로 트레이닝되어야 합니다.
    * LoRA는 PEFT 형식으로 W\&B 계정에 `lora` 유형의 아티팩트로 저장되어 있어야 합니다.
    * 지연 시간을 줄이려면 LoRA를 `storage_region="coreweave-us"`에 저장해야 합니다.
    * 업로드할 때 트레이닝에 사용한 기본 모델의 이름(예: `meta-llama/Llama-3.1-8B-Instruct`)을 포함하세요. 그래야 W\&B가 올바른 모델로 LoRA를 로드합니다.
  </Tab>

  <Tab title="W&B로 새 LoRA 트레이닝">
    [Serverless RL](/ko/products/post-training/serverless-training)로 새 LoRA를 트레이닝합니다. 트레이닝한 LoRA는 자동으로 W\&B 아티팩트가 되므로 바로 사용할 수 있습니다.

    LoRA를 직접 트레이닝하는 방법에 대한 자세한 내용은 [OpenPipe의 ART 퀵스타트](https://art.openpipe.ai/getting-started/quick-start)를 참조하세요.

    트레이닝이 완료되면 LoRA를 아티팩트로 바로 사용할 수 있습니다.
  </Tab>
</Tabs>

어떤 방법을 사용했든 LoRA를 프로젝트에 아티팩트로 추가한 후에는 해당 URI를 모델 이름으로 전달하여 모든 추론 Call에서 참조할 수 있습니다.

```python theme={"system"}
# 트레이닝이 완료되면 아티팩트를 바로 사용할 수 있습니다
model_name = f"wandb-artifact:///{WB_TEAM}/{WB_PROJECT}/your_trained_lora:latest"
```

<h2 id="supported-base-models">
  지원되는 기본 모델
</h2>

LoRA는 다음 기본 모델 중 하나를 기반으로 트레이닝되어야 합니다. 추론 시 W\&B가 어댑터를 올바른 기본 모델과 연결할 수 있도록 `wandb.base_model`을 설정할 때 정확한 모델 ID 문자열을 사용하세요.

| 모델 ID (API 사용 시) | 최대 LoRA 랭크 |
| - | - |
| `google/gemma-4-26B-A4B-it` | 16 |
| `meta-llama/Llama-3.1-70B-Instruct` | 16 |
| `meta-llama/Llama-3.1-8B-Instruct` | 16 |
| `OpenPipe/Qwen3-14B-Instruct` | 16 |
| `Qwen/Qwen3.8-27B` | 16 |
| `Qwen/Qwen3.6-35B-A3B` | 16 |
| `Qwen/Qwen3.6-27B` | 16 |
| `Qwen/Qwen3-30B-A3B-Instruct-2507` | 16 |

<h2 id="pricing">
  가격
</h2>

상시 가동되는 서버나 전용 GPU 인스턴스 비용 없이, 사용한 저장소와 실행한 추론에 대해서만 비용을 지불합니다. 가격은 다음 두 가지 컴포넌트로 구성됩니다.

* [**저장소**](https://coreweave.com/forge-pricing): LoRA 가중치를 보관하는 저장소에 대한 요금이 청구됩니다.
* **추론 사용량**: LoRA 아티팩트를 사용하는 Call에는 [표준 모델 추론](/ko/products/inference/serverless/usage-limits#account-tiers-and-default-usage-caps)과 동일한 요율이 적용됩니다.
