gpu-optimization

2 개의 포스트

초거대 언어 모델 구동을 위한 기반 구축 (새 탭에서 열림)

Cloudflare의 Workers AI는 Kimi K2.5와 같은 초대형 언어 모델(LLM)을 효율적으로 구동하기 위해 소프트웨어와 하드웨어의 균형을 맞춘 최적화된 인프라를 구축하고 있습니다. 특히 에이전트 기반 서비스에서 발생하는 긴 컨텍스트와 반복되는 입력을 처리하기 위해 입력(Prefill)과 출력(Decode) 단계를 분리하고 캐싱 효율을 극대화하는 전략을 취했습니다. 이를 통해 기존 대비 추론 속도를 3배 향상시키고 지연 시간의 변동성을 대폭 줄이는 성과를 거두었습니다. ### Prefill과 Decode 단계의 분리 (PD Disaggregation) * LLM 추론의 두 단계인 'Prefill'(입력 토큰 처리, 연산 중심)과 'Decode'(출력 토큰 생성, 메모리 대역폭 중심)를 별도의 서버에서 독립적으로 수행하도록 아키텍처를 설계했습니다. * 단일 GPU에서 두 단계가 서로를 방해(Blocking)하며 자원 효율을 떨어뜨리는 문제를 해결하여 GPU 활용도를 극대화했습니다. * 토큰 인식 부하 분산(Token-aware load balancing) 기술을 적용해 각 서버의 처리량을 실시간으로 추정하고 부하를 균등하게 배분합니다. * 이 구조를 통해 첫 토큰 생성 시간(TTFT)의 편차를 줄이고, 토큰 당 생성 시간을 기존 100ms에서 20~30ms 수준으로 개선했습니다. ### 프롬프트 캐싱 및 세션 어피니티 (Prompt Caching) * 에이전트형 서비스의 특성상 시스템 프롬프트나 이전 대화 기록 등 반복되는 긴 입력이 많다는 점에 착안하여 프롬프트 캐싱을 최적화했습니다. * `x-session-affinity` 헤더를 도입하여 동일한 세션의 요청이 이전 입력 텐서가 계산된 리전으로 라우팅되도록 유도했습니다. * 이러한 세션 고정 라우팅을 통해 피크 시간대 입력 토큰 캐시 히트율을 60%에서 80%까지 끌어올렸으며, 전체적인 처리량을 크게 향상시켰습니다. * 사용자가 캐싱을 적극적으로 활용하도록 캐시된 토큰에 대해 할인된 가격을 제공하는 경제적 유인책을 병행합니다. ### KV 캐시 최적화 및 Mooncake 엔진 활용 * 초대형 모델은 여러 GPU에 걸쳐 실행되므로, GPU 간에 KV 캐시(입력 텐서 저장 공간)를 효율적으로 공유하는 것이 필수적입니다. * Moonshot AI의 'Mooncake' 전송 엔진을 활용해 NVLink 및 NVMe over Fabric과 같은 RDMA 프로토콜 기반의 직접 메모리 전송을 구현, CPU 개입 없이 데이터를 빠르게 전달합니다. * LMCache 및 SGLang HiCache를 사용하여 클러스터 내 모든 노드가 캐시를 공유하므로, 특정 노드에 종속되지 않고 캐시를 재사용할 수 있습니다. * 캐시 저장소를 GPU VRAM에서 NVMe 스토리지로 확장하여 세션 유지 시간을 늘리고 더 많은 트래픽을 효율적으로 수용합니다. ### 결론 및 제언 Cloudflare Workers AI에서 대규모 모델을 사용하는 개발자라면 `x-session-affinity` 헤더를 반드시 사용하여 프롬프트 캐싱 혜택을 받는 것이 권장됩니다. 이는 단순한 속도 향상을 넘어 토큰 비용 절감으로 이어지며, 특히 긴 대화 맥락을 유지해야 하는 AI 에이전트 서비스에서 성능 차이를 만드는 핵심 요소가 됩니다.

Zoomer: 지능형 디버 (새 탭에서 열림)

Meta는 수십만 개의 GPU를 운용하는 대규모 AI 인프라의 효율성을 극대화하기 위해 자동화된 디버깅 및 최적화 플랫폼인 **Zoomer**를 도입했습니다. Zoomer는 트레이닝과 추론 워크로드 전반에 걸쳐 심층적인 성능 인사이트를 제공하여 에너지 소비를 줄이고 워크플로우를 가속화하는 역할을 합니다. 이를 통해 Meta는 모델 트레이닝 시간을 단축하고 초당 쿼리 처리 수(QPS)를 유의미하게 개선하며 AI 인프라 최적화의 표준을 구축했습니다. **통합 분석을 위한 3계층 아키텍처** * **인프라 및 플랫폼 계층**: Meta의 블롭 스토리지 플랫폼인 Manifold를 기반으로 분산 저장 시스템을 구축하여, 수천 대의 호스트에서 발생하는 방대한 트레이스 데이터를 안정적으로 수집하고 처리합니다. * **분석 및 인사이트 엔진**: Kineto와 NVIDIA DCGM을 통한 GPU 분석, StrobeLight 기반의 CPU 프로파일링, dyno 원격 측정을 통한 호스트 지표 분석을 결합합니다. 이를 통해 분산 학습 시 발생하는 스트래글러(straggler) 감지, 메모리 할당 패턴 분석, 통신 패턴 최적화 등의 기능을 수행합니다. * **시각화 및 UI 계층**: 복잡한 성능 데이터를 직관적인 타임라인, 히트맵, 대시보드로 변환합니다. Perfetto와 통합되어 커널 수준의 검사가 가능하며, 하드웨어 활용도가 낮은 outlier를 신속하게 식별할 수 있는 요약 정보를 제공합니다. **지능형 프로파일링 트리거 및 데이터 수집** * **자동화된 트리거**: 트레이닝 워크로드의 경우 초기 시작 시점의 노이즈를 피해 안정적인 상태인 550~555회 반복(iteration) 시점에서 자동으로 프로파일링을 수행합니다. 추론 워크로드는 온디맨드 방식이나 자동화된 부하 테스트 시스템과 연동하여 트리거됩니다. * **포괄적 데이터 캡처**: SM 활용도, 텐서 코어 가동률, GPU 메모리 대역폭 등 하위 레벨 지표뿐만 아니라 CPU, 네트워크 I/O, 스토리지 액세스 패턴을 동시에 수집하여 시스템 전반의 병목 현상을 파악합니다. * **추론 및 통신 특화 분석**: 추론 환경에서는 서버 레이턴시와 요청당 메모리 할당 패턴을 정밀 분석하며, 분산 학습 환경에서는 NCCL 집합 통신 작업과 노드 간 통신 효율성을 집중적으로 검사합니다. **실제 적용 성과 및 운영 효율화** * Zoomer는 광고 추천, 생성형 AI(GenAI), 컴퓨터 비전 등 Meta의 핵심 모델 서비스에 적용되어 매일 수만 개의 프로파일링 보고서를 생성하고 있습니다. * 성능 안티 패턴을 자동으로 감지하고 실행 가능한 최적화 권고 사항을 제공함으로써, 엔지니어가 수동으로 병목 지점을 찾는 데 드는 시간을 대폭 줄였습니다. * 불필요한 리소스 낭비를 제거하여 확보된 컴퓨팅 자원을 더 큰 모델 트레이닝이나 사용자 서비스 확대에 재투자함으로써 인프라 전반의 선순환 구조를 실현했습니다. Zoomer는 대규모 GPU 클러스터를 운영하는 조직에서 성능 튜닝을 자동화하고 표준화하는 것이 얼마나 중요한지를 보여주는 사례입니다. 인프라의 1% 효율 개선이 막대한 비용 절감과 혁신 가속화로 이어지는 만큼, Zoomer와 같은 통합 최적화 플랫폼은 생성형 AI 시대의 핵심 인프라 기술로 평가받습니다.