← 종합 인덱스
|
AI 미디어 생성·분석 서비스 — 애플리케이션 아키텍처 레퍼런스
AI 미디어 생성·분석 서비스 — 애플리케이션 아키텍처 레퍼런스
(kube-rtx3 잔여 Vast.ai 임차인 자산 종합 분석)
목적: .54 호스트에 남은 제3자 임차인의 솔루션들을 종합해, "임차 GPU 위에서 멀티모달 AI 미디어
서비스를 어떻게 구성했는가" 를 아키텍처 관점으로 정리. 나중에 유사 서비스(예: 동물/사람
모션·상태 분석 서비스)를 개발할 때의 설계 참고서.
작성 2026-06-24. 근거: 호스트 실재 이미지/컨테이너/볼륨 + 빌드 히스토리. 코드 본문 분석은 제외.
표기: [실재] 증거 확인 / [추정] 합리적 추론.
1. 한눈에 — 이 생태계의 정체
한 임차인이 Vast.ai 임차 GPU 위에 올린 멀티모달 AI 미디어 스튜디오 . 네 가지 모달리티를 다룬다:
이미지 생성 (text→image, 워크플로 기반)
이미지/영상 복원·향상 (컬러화·업스케일·배경제거)
이미지/영상 이해·분석 (탐지·분할·자세·깊이·휴먼파싱) ← 말 워커가 여기 속함
영상 생성 / 음성 (i2v 비디오, TTS·보이스클로닝)
공통점: 모델은 런타임에 다운로드 (이미지에 안 굽힘), 임차 GPU에 잡/세션 단위로 분산 , cloudflared 터널로 외부 노출 , 두 가지 서빙 패턴(동기 HTTP / 비동기 워커) 병용 .
2. 솔루션 인벤토리 (기능별 분류)
A. 이미지 이해·분석 (Vision Analysis)
솔루션
상태
기능
핵심 모델
horse-bestview-keypoints-seg-det-dino-worker
[삭제됨]
말 탐지+분할+키포인트+베스트뷰 선별 (비동기 워커)
DINOv3 ViT + YOLO11/horse22-yolo26x + 베스트뷰 분류기
ComfyUI 노드: Depth-Anything-V2, lotus-depth
[실재]
단안 깊이 추정
Depth-Anything-V2-Small / lotus-depth
ComfyUI 노드: fashn-human-parser, RMBG
[실재]
인체 부위 파싱 / 배경 제거
human-parser / RMBG-2.0
ComfyUI 커스텀: zts_depthface_nodes
[실재]
깊이+얼굴 결합 처리(자체 노드)
(커스텀)
B. 이미지 복원·향상 (Restoration / Enhancement) — 사설 ECR, 동기 API
솔루션
기능
모델
진입점
real-esrgan
이미지 업스케일/복원
Real-ESRGAN (GAN SR)
python server.py
ddcolor
흑백→컬러 복원
DDColor (듀얼 디코더)
python server.py
ComfyUI 노드: SeedVR2
영상 업스케일/복원
SeedVR2
(워크플로)
C. 이미지·영상 생성 (Generation)
솔루션
기능
모델
z-image-turbo (ECR, 동기)
텍스트→이미지 (고속)
Z-Image Turbo (distilled diffusion)
ComfyUI + zts-comfyui-docker
노드 기반 생성 워크플로 오케스트레이션
SDXL/FLUX류 + ControlNet/IPAdapter/Impact 등
워크플로: wan2.2 i2v / infinite video
이미지→영상 / 장편 영상
Wan 2.2 (i2v)
sd-webui (볼륨)
AUTOMATIC1111 생성 UI
SD 계열
D. 음성 (Audio) — 볼륨 데이터
솔루션
기능
모델
Applio (V.36552643/36606356)
보이스 클로닝/변환
RVC (Retrieval-based VC)
VoiceBox (V.36548605/36547480)
TTS
VoiceBox 계열
3. 애플리케이션 아키텍처 — 연관 관계
┌──────────────────────────────────────────┐
사용자/상위 서비스 ─▶│ 진입(노출) : cloudflared 터널 / API │
└───────────────┬──────────────────────────┘
│
┌──────────────────────────┴───────────────────────────┐
▼ (동기) ▼ (비동기)
┌───────────────────────┐ ┌────────────────────────────────┐
│ server.py HTTP 서비스 │ │ worker_runtime (잡 워커) │
│ z-image-turbo/ddcolor │ │ orchestrator·queues·storage· │
│ /real-esrgan │ │ providers·inferctl │
│ 요청→즉시 결과 │ │ run-id/executor-id 로 파이프 선택│
└───────────┬───────────┘ │ ex) executor=horse_bestview_kp │
│ └───────────────┬────────────────┘
│ │
┌───────────▼───────────────────────────────────────────────────────▼─────────────┐
│ 공통 모델 레이어 (런타임 다운로드: hf_login_download_weights / provisioning.sh) │
│ 백본: DINOv3 ViT │ 탐지·분할·자세: YOLO11/26 │ 생성: Diffusion(z-image,SDXL) │
│ 복원: Real-ESRGAN·DDColor │ 깊이: Depth-Anything/lotus │ 영상: Wan2.2·SeedVR2 │
└───────────────────────────────────┬─────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────────────────────────┐
│ 실행 기반: Vast.ai 임차 GPU + 도커(/.launch 부팅 래퍼) + NVIDIA 런타임 │
│ 데이터: 컨테이너 볼륨 / HF 캐시(.hf_home) / 잡 스토리지 │
└──────────────────────────────────────────────────────────────────────────────────┘
핵심 설계 패턴 (재사용 가치 ★)
두 가지 서빙 모델 병용 ★★★
동기 HTTP (server.py): 단발 요청→즉시 결과. 가볍고 단순. (복원·생성 서비스)
비동기 잡 워커 (worker_runtime + 큐/스토리지): 무거운/배치/대량을 GPU에 분산. executor-id로 파이프라인 교체. (분석 워커)
→ 같은 기능도 트래픽/지연 요구에 따라 둘 중 선택 가능.
모델 비-내장(런타임 다운로드) ★★ — 이미지 경량화 + 가중치 교체 유연. hf_login_download_weights.py(ECR), config/provisioning.sh(ComfyUI)가 담당.
executor 플러그인 구조 ★★★ — 오케스트레이션은 종/도메인 무관, executor-id만 바꿔 새 파이프라인 추가. (말→다른 동물/사람으로 확장하는 정석 포인트)
임차 GPU 추상화 ★★ — providers가 클라우드/리소스 공급자를, /.launch+cloudflared가 부팅·노출을 표준화 → 특정 클라우드에 안 묶임.
노드 기반 워크플로(ComfyUI) ★★ — 생성·합성은 코드 대신 노드 그래프 + workflow-to-api-converter로 워크플로를 API화.
4. 사용한 모델의 특징 (개발 시 선택 가이드)
모델
부류
특징
적합 용도
DINOv3 ViT (Meta, LVD-1689M)
자기지도 시각 백본
라벨 없이 16억 장 사전학습. 밀집 예측(분할·깊이·대응)에 강한 범용 특징 . 종/도메인 전이 우수. ViT-B/16(정밀)·S/16+(경량)
분할·키포인트·"베스트뷰" 특징, few-shot 도메인 적응
YOLO11 (-seg/-pose) / yolo26x
실시간 탐지·분할·자세
단일 모델로 det/seg/pose. 빠르고 배포 쉬움. 커스텀 데이터 파인튜닝 용이(horse22)
객체·동물·사람 탐지/분할/자세
Real-ESRGAN
GAN 초해상
실사 이미지 실용 업스케일·노이즈/압축 복원
저화질 사진/프레임 향상
DDColor
컬러화(듀얼 디코더)
흑백→자연스런 컬러, 옛 사진 복원 SOTA급
컬러 복원
Z-Image Turbo
distilled diffusion
few-step 고속 text→image
실시간성 필요한 생성
Depth-Anything-V2 / lotus-depth
단안 깊이
한 장에서 깊이/디스패리티. V2-Small=경량
깊이맵, 3D 힌트, ControlNet 입력
fashn-human-parser
인체 파싱
사람 신체/의류 부위 분할
가상피팅, 인체 분석
Wan 2.2 (i2v)
영상 생성
이미지→영상, 장편 라이트닝
모션 콘텐츠 생성
SeedVR2
영상 복원
영상 업스케일/복원
생성/저화질 영상 향상
RMBG
배경 제거
빠른 매팅
누끼/합성 전처리
Applio(RVC) / VoiceBox
음성 변환 / TTS
보이스 클로닝 / 텍스트→음성
더빙·내레이션
백본 전략 핵심: DINOv3(이해) + YOLO(탐지·자세) + Diffusion(생성) + ESRGAN/DDColor(복원) 의 역할 분담. 새 분석 서비스는 보통 DINOv3 특징 + YOLO 검출 + 소형 태스크 헤드(분류/회귀) 조합이면 충분.
5. 예상 사용자 시나리오
S1. 동물/사람 모션·상태 분석 서비스 ★(개발 관심사)
흐름: 상위 서비스가 사진/영상 업로드 → (비동기) executor 선택 → DINOv3+YOLO로 탐지·분할·키포인트 → (영상이면) 프레임 추적으로 모션 집계 → 상태/모션 JSON + 마스크/키포인트 반환 .
재사용: worker_runtime 골격 + executor-id=<species>_pose 추가 + 종별 키포인트 모델 학습. 단발이면 server.py 동기형으로도 래핑.
제품화 예: 반려동물 행동/건강 모니터링, 가축 파행(lameness) 탐지, 사람 운동/물리치료 자세 피드백, 스포츠 바이오메카닉스.
S2. AI 사진관 / 이미지 보정 파이프라인
업로드 → real-esrgan(업스케일) → ddcolor(컬러복원) → RMBG(배경) → (선택) 깊이 기반 리라이팅. 동기 HTTP 체인.
S3. AI 콘텐츠 생성 스튜디오
프롬프트 → z-image-turbo/ComfyUI(이미지) → Wan2.2(이미지→영상) → SeedVR2(영상 업스케일) → VoiceBox/Applio(내레이션·더빙). ComfyUI 워크플로로 묶고 API화.
S4. 가상 피팅 / 인체 분석
인물 사진 → human-parser(부위) + Depth-Anything(깊이) + IPAdapter/ControlNet(생성 가이드) → 합성 결과.
6. 향후 개발 시 권고 (이 사례에서 얻는 교훈)
오케스트레이션과 모델을 분리 하라. executor-id 플러그인 구조 = 도메인 확장의 핵심. 말→타종 확장이 "모델 교체"로 끝나도록.
가중치는 런타임 다운로드 + 매니페스트로 관리(이미지 경량·교체 유연). 단, 사설 가중치는 사라지면 복구 불가하니 출처/체크포인트를 반드시 기록 (이번 말 워커 유실 교훈).
동기/비동기 서빙을 둘 다 지원 할 수 있게 추론 코어(model_server)를 서빙 계층과 분리.
"상태(1장 포즈)" 와 "모션(다프레임 추적)" 을 명확히 구분 해 API/리소스를 설계. 모션은 temporal 단계가 추가됨.
임차 GPU/클라우드 추상화 (providers)로 특정 벤더 종속 회피. 노출은 터널, 데이터는 외부 스토리지(NFS/S3)로.
생성·합성 파이프라인은 ComfyUI 워크플로 + workflow-to-api 로 빠르게 제품화 가능.
부속 문서
말 워커 상세 역분석: horse-worker-analysis.md
자산 매니페스트/호스트 잔존 목록: inventory.yaml
소스 경량본: src-archives/, 데이터 접근법: README.md
kube-rtx3 (.54) 잔여 자산 학습 아카이브 · 제3자 임차인 잔여물 · 열람 후 폐기 예정 · 토큰/공인IP 마스킹됨