본문으로 건너뛰기
버전: 0.1.0

NPU 컴파일

등록된 모델을 RNGD NPU에서 실행 가능한 바이너리로 컴파일합니다. NuFi에서는 아래 세 가지 방식을 지원하며, 상황에 맞는 방식을 선택하여 사용하세요.

방법추천 대상
A. NuFi UI간단한 사용, 로그 실시간 확인 가능
B. furiosa-llm CLI세밀한 옵션 조정이 필요할 때
C. Python SDK스크립트 자동화가 필요할 때

방법 A: NuFi UI로 컴파일

1. 모델 버전 페이지 이동

좌측 사이드바에서 Resources > Models를 클릭하고, 모델을 선택한 뒤 Artifacts 탭에서 컴파일할 아티팩트의 Compile 버튼을 클릭합니다.

Compilations 탭

Artifacts 탭

2. 컴파일 설정 입력

컴파일 설정 항목은 컴파일 설정 가이드를 참고하세요.

Compile 생성 폼

3. 진행 상황 확인

생성된 컴파일 작업은 모델 버전 상세 페이지의 Compilations 탭에 추가됩니다. Phase 컬럼에서 진행 상태를 확인하고, 행을 클릭하면 상세 페이지로 이동해 스텝별 Logs 버튼으로 진행 로그를 확인할 수 있습니다. Config 컬럼의 보기 버튼을 클릭하면 생성 시 사용한 컴파일 설정을 다이얼로그에서 확인할 수 있습니다.

행 우측의 rotate-ccw Re-compile 아이콘은 같은 옵션이 사전 입력된 생성 다이얼로그를 열고, trash Delete 아이콘은 해당 컴파일 이력을 삭제합니다.

Compile 진행 중

4. 완료 확인

상태가 Succeeded로 바뀌면 모델의 아티팩트 목록에 RNGD 아티팩트가 자동으로 추가됩니다.

Compile 완료 — Registered

실패 시 조치:

  • OOM 에러: Max Context Length 또는 Tensor Parallel 값을 줄여서 재시도
  • 플랫폼 에러: 관리자에게 NPU 디바이스 상태 확인 요청

방법 B: Jupyter Lab에서 furiosa-llm CLI로 컴파일

02. 디바이스별 Lab 생성에서 생성한 NPU Lab에 접속한 상태에서 터미널을 열고 진행합니다.

출력 디렉토리 생성

mkdir -p /data/Qwen2.5-0.5B-Instruct-rngd-cli

컴파일 실행

furiosa-llm build \
/data/Qwen2.5-0.5B-Instruct \
/data/Qwen2.5-0.5B-Instruct-rngd-cli \
--tensor-parallel-size 1 \
--max-seq-len-to-capture 4096
인자/옵션설명
첫 번째 인자입력 모델 경로 (볼륨 마운트 경로)
두 번째 인자컴파일 결과물 저장 경로 (반드시 /data/ 하위)
--tensor-parallel-sizeTensor Parallel 크기
--max-seq-len-to-capture최대 컨텍스트 길이
출력 경로 주의

반드시 볼륨 마운트 경로(/data/) 하위에 저장하세요.
/tmp 등 볼륨 외부에 저장하면 Pod 종료 시 삭제됩니다.

컴파일 완료 후 모델 등록

컴파일이 완료되면 04. 모델 등록에서 원본 GPU 모델을 먼저 Add Version으로 등록한 뒤, Artifacts 탭에서 Add Artifact를 클릭하여 컴파일된 RNGD 모델을 등록합니다.

Add Artifact — RNGD

Path 확인 방법

Path는 볼륨 마운트 경로(/data/) 기준의 상대 경로입니다. 위 예시에서는 /data/Qwen2.5-0.5B-Instruct-rngd-cli로 지정했으므로 Path에 Qwen2.5-0.5B-Instruct-rngd-cli를 입력합니다.
다른 경로를 사용한 경우 터미널에서 ls /data/로 실제 디렉토리명을 확인하세요.


방법 C: Python SDK로 컴파일

02. 디바이스별 Lab 생성에서 생성한 NPU Lab에 접속한 상태에서 Jupyter 노트북 또는 터미널에서 진행합니다.

컴파일 스크립트 작성 및 실행

from furiosa_llm.artifact import ArtifactBuilder

builder = ArtifactBuilder(
model_id_or_path="/data/Qwen2.5-0.5B-Instruct",
tensor_parallel_size=1,
max_seq_len_to_capture=4096,
)

builder.build(save_dir="/data/Qwen2.5-0.5B-Instruct-rngd-sdk")
출력 경로 주의

save_dir은 반드시 볼륨 마운트 경로(/data/) 하위로 지정하세요.

컴파일 완료 후 모델 등록

방법 B와 동일하게 NuFi Models에 등록합니다.


다음 단계

06. 모델 서빙 배포 — 컴파일된 모델로 서빙 배포