Mooncake
무엇인가
Mooncake는 LLM 서빙 시스템입니다. MASS 환경에서 중요한 질문은 MASS가 Mooncake 내부 런타임 구성 요소를 대체하느냐가 아니라, Mooncake가 모델 서빙에 필요한 공유 파일을 어디에 둘 것인가입니다.
MASS에서 왜 중요한가
- 모델 가중치, 토크나이저, 프롬프트 코퍼스, 평가 데이터셋, 로그, 내보낸 trace를 위한 공유 스토리지
- 여러 서빙 노드가 같은 아티팩트를 함께 사용해야 할 때의 중앙화된 데이터 접근 경로
- 단일 호스트 수명보다 오래 유지되어야 하는 대형 서빙 자산의 지속 스토리지
MASS와 함께 사용하는 방법
- 모델 아티팩트와 그 외 배포가 공유할 지속 데이터 크기에 맞춰 MASS 볼륨을 생성합니다.
- 각 서빙 노드에 그 볼륨을 마운트하거나, Mooncake를 실행하는 플랫폼 계층을 통해 노출합니다.
- 공유 모델 저장소, 설정 파일, 프롬프트 데이터셋, 출력 아티팩트를 MASS 경로에 저장합니다.
- 모든 서빙 노드가 같은 위치에서 같은 자산을 해석하도록 Mooncake 설정을 해당 공유 경로로 맞춥니다.
- 노드 로컬 hot cache나 임시 scratch 영역은 upstream Mooncake 배포가 권장하는 로컬 매체에 두고, MASS는 서빙 시스템 주변의 공유 영속 계층으로 사용합니다.
참고
- MASS는 배포 주변의 공유 영속 자산에 가장 적합합니다. Mooncake 구성 요소가 가장 뜨거운 캐시 계층에서 호스트 로컬 메모리나 로컬 NVMe를 기대한다면 그 계층은 로컬에 유지하세요.
- 실제 운영과 같은 모델 크기와 클라이언트 동시성으로 모델 로드 시간과 steady-state 처리량을 검증하세요.
- 컨테이너나 Kubernetes에서 배포한다면 MASS 기반 볼륨을 파드에 마운트하고, 복제본 간 컨테이너 내부 경로를 일관되게 유지하세요.