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

아키텍처

시스템 아키텍처

NuFi는 Kubernetes 클러스터 위에서 동작하는 NPUOps 플랫폼입니다. 핵심 워크로드는 Kubernetes 리소스와 NuFi CRD를 중심으로 관리됩니다.

NuFi 시스템 구성​

주요 컴포넌트​

컴포넌트역할
Dashboard웹 UI — 사용자가 직접 상호작용하는 프론트엔드
API ServerREST API 처리, Custom Resource 생성/관리, Lab 워크로드(Kubeflow Notebook / File Manager Pod) 직접 생성, Optimizer 실행 흐름 관리
NuFi Controller (K8s Operator)NuFi CRD를 감지하여 Serving Pod 및 각종 Job 등 K8s 리소스를 자동 생성
nufi-proxyServing마다 함께 배포되는 리버스 프록시(별도 Deployment/Service). 클라이언트 요청이 VirtualService를 거쳐 nufi-proxy에 전달된 뒤 추론 서버로 전달됩니다. 비동기 큐(Async Queue), Transformer 전/후처리 체이닝, 메트릭 수집을 담당합니다. 로드 밸런싱은 NuFi Controller가 NpuDeploy 설정으로 생성하는 Istio DestinationRule이, 온도 기반 트래픽 차단은 Temperature Sidecar가 담당합니다.
nufi-notebook-serversLab(개발 환경)용 Jupyter/VS Code/LlamaFactory 컨테이너 이미지
nufi-file-managerVolume 내 파일 업로드/다운로드/관리를 위한 파일 매니저

Custom Resource (CRD) 와 산출물​

NuFi Controller가 관리하는 CRD와 각 CRD가 만들어내는 워크로드는 다음과 같습니다.

CRD산출 워크로드
NpuDeployServing (Inference Server + nufi-proxy + Transformer + Temperature Sidecar + Service + VirtualService)
ModelImportModel Import Job (Hugging Face / MLflow → Registry)
NpuPortingPipelineNPU Compile Job (디바이스별 컴파일)
DatasetImportRunDataset Import Job (Upload / Hugging Face Import)
DatasetProfileRunDataset Profile Job (Parquet 프로파일 생성)
EvaluationRunEvaluation Job (lm-eval 등)
노트

Lab(Notebook Server, File Manager) 은 NuFi Controller가 아닌 API Server가 직접 생성합니다. Notebook은 Kubeflow의 Notebook CR을 통해, File Manager는 Pod을 직접 생성하는 방식입니다.

컴파일 옵션 최적화 및 평가 도구​

API Server 내부에는 NPU 컴파일 후보를 검증하고 비교하기 위한 도구가 포함됩니다.

  • Optimizer: 모델 Artifact별 compile option 후보를 생성하고 trial 실행을 관리합니다. 각 trial은 컴파일 결과와 평가 지표를 함께 기록해 운영 목표에 맞는 NPU artifact를 선택할 수 있게 합니다.

트래픽 & 스케일링​

Serving 런타임을 보조하는 구성 요소입니다.

  • Auto-scaling (KEDA): NpuDeploy 기반 서빙 워크로드의 스케일링
  • Async Queue: nufi-proxy의 비동기 요청 버퍼링

인프라 의존성:

  • Istio / VirtualService: Serving 및 Lab의 외부 트래픽 라우팅에 사용됩니다. 각 Serving마다 VirtualService가 생성되어 엔드포인트 URL을 통한 추론 요청을 라우팅합니다.

요청 흐름​

모델 배포 흐름​

사용자가 Dashboard에서 Serving를 생성하면 NuFi Controller가 K8s 리소스를 자동으로 프로비저닝합니다.

추론 요청 흐름​

배포된 서비스로 들어오는 추론 요청이 nufi-proxy를 거쳐 추론 서버에 전달됩니다.


배포 구조​

NuFi는 Helm 차트 중심으로 Kubernetes 클러스터에 설치됩니다. 폐쇄망 환경에서는 필요한 이미지와 차트를 사전에 반입한 뒤 같은 Helm 배포 흐름을 사용합니다.

특징설명
Helm 기반 배포NuFi 앱과 필수 인프라 구성을 Helm values로 조정해 배포
Kubernetes 운영 모델주요 컴포넌트가 K8s 리소스로 관리됩니다. 운영·배포·관측을 Kubernetes 방식으로 수행할 수 있어 기존 K8s 운영 도구(kubectl, Helm, Prometheus 등)를 그대로 활용할 수 있습니다.

지원 디바이스​

벤더디바이스지원 기능
NVIDIACUDA 지원 GPULab, Serving
FuriosaAIRNGDLab, Serving

지원 디바이스는 NuFi 릴리스와 함께 제공되는 내장 catalog로 관리됩니다.