피드로 돌아가기
Is Brain Float (bf16) Worth it?
Dev.toDev.to
AI/ML

bfloat16 도입을 통한 64K Context 처리 및 0.5M TPS 달성

Is Brain Float (bf16) Worth it?

xbill2026년 5월 12일7advanced

Context

vLLM 기반 Gemma 4-26B 모델의 TPU v6e-4 클러스터 배포 중 float32 사용으로 인한 메모리 부족 및 시스템 불안정 발생. 128K Context 설정에도 불구하고 모델 가중치의 물리적 한계로 64K 이상의 요청 시 Status 400 에러가 발생하는 제약 상황.

Technical Solution

  • TPU v6e(Trillium) 아키텍처 최적화를 위해 데이터 타입을 bfloat16으로 변경하여 메모리 풋프린트 50% 절감
  • bfloat16 설정을 통한 KV Cache 메모리 효율화로 1,024명 동시 접속 환경의 대규모 배치 처리 안정성 확보
  • 메모리 파편화 방지를 위해 KV Cache Block Size를 16에서 128로 확장하여 Long Context 처리 능력 강화
  • TPU MXU(Matrix Multiply Unit)의 컴퓨팅 한계를 고려한 동시성 조절로 Peak Throughput 최적화
  • 하드웨어 가속기 특성에 맞춘 정밀도 조정을 통해 67M 토큰의 단일 배치 처리 가능 구조 설계

Impact

  • Peak Prefill Throughput: 최대 498,253 tokens/sec 달성
  • Memory Efficiency: float32 대비 가중치 및 KV Cache 메모리 사용량 50% 감소
  • Scalability: 256명 사용자까지 선형적 확장성 확인 및 TTFT 20.13s 유지
  • Stability: 8시간 스트레스 테스트 및 30M 토큰 주입 환경에서 시스템 안정성 검증

Key Takeaway

하드웨어 가속기(TPU)의 특화 데이터 타입(bfloat16) 채택이 단순 성능 향상을 넘어, 대규모 컨텍스트 처리의 물리적 가능 여부를 결정하는 핵심 설계 변수임.


- TPU v6e 사용 시 vLLM의 --dtype bf16 대신 bfloat16 명시적 설정 확인 - Long Context 서비스 설계 시 모델 가중치의 물리적 Attention Limit와 소프트웨어 설정값의 불일치 여부 검증 - 대규모 배치 처리 시 KV Cache Block Size 확장을 통한 메모리 파편화 억제 검토 - 인터랙티브 RAG 서비스의 경우 TTFT 8초 미만을 유지하는 16~64 유저 구간을 최적 Concurrency로 설정

원문 읽기