제16장. 대규모 추론 자질, 디버깅 및 튜닝
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
대규모 LLM 추론 클러스터를 운영하려면 모든 것이 예상대로 실행되고 있는지 확인하는 모니터링 및 디버깅 도구가 필요합니다. 또한 성능이 목표치에서 벗어날 때 병목 현상을 신속하게 식별하는 데도 도움이 됩니다.
이 장에서는 자질을 위한 NVIDIA Nsight Systems, 클러스터 전체 텔레메트리 관리를 위한 Prometheus/Grafana와 같은 도구를 활용해 이러한 복잡한 시스템을 모니터링하고 디버깅하는 방법을 보여줍니다. 또한 GPU 사용률, 메모리 압박, 테일 지연 시간 백분위수, 캐시 적중률, 토큰별 타이밍 등 핵심 메트릭을 수집하고 해석하는 방법도 소개합니다. 이러한 메트릭은 추론 엔진 성능 최적화를 위한 지침이 됩니다.
다음으로 운영 성능 튜닝을 논의합니다. 여기에는 대규모 클러스터에서 GPU 활용도 최적화, 추론 지연 시간 감소, 처리량 증대를 위한 생산 환경 검증 방법을 포함합니다. 계산과 통신 중첩, 요청 스케줄링 및 배치 처리, NVLink, NVSwitch, InfiniBand 같은 고속 상호 연결 기술의 효과적 활용 기법이 포함됩니다.
또한 추론을 위한 실시간 양자화 기법을 비교합니다. 여기에는 일반화된 사후 훈련 양자화(GPTQ) 및 활성화 인식 가중치 양자화(AWQ)와 같은 구현을 사용하여 모델을 8비트 및 4비트 정밀도로 압축하는 방법이 포함됩니다. 이 과정에서 가중치만 양자화하는 것과 가중치와 활성화를 모두 양자화하는 것 사이의 장단점을 논의합니다. 모델 정확도를 유지하면서 메모리 사용량을 줄이고 처리량을 높이기 위해 서비스 파이프라인에 양자화를 적용하는 실용적인 지침을 제공합니다.
마지막으로, 저수준 성능 튜닝을 보완하는 애플리케이션 수준 최적화 기법을 고려합니다. 여기에는 prompt 압축, 프리픽스 캐싱, 중복 제거, 쿼리 라우팅(예: 폴백 모델), 부분 출력 스트리밍 등의 전략이 포함됩니다.
추론 성능 자질, 디버깅 및 튜닝
현대 LLM 추론 엔진 에는 특히 분리된 프리필 및 디코딩에서 많은 움직이는 부분이 있습니다. 일반적인 요청의 라이프사이클은 그림 16-1과 같이 여러 구성 요소를 포함합니다.
그림 16-1. 분산 프리필 및 디코드 LLM 추론 시스템에서 일반적인 요청의라이프사이클
이러한 복잡성으로 인해 추론 성능 튜닝 워크플로는 매우 반복적입니다. 신중한 튜닝과 지속적인 검증이 필요합니다.
먼저 메트릭을 관찰하여 현재 병목 현상(예: GPU 활용도 미달 또는 예상보다 높은 지연 시간)을 파악해야 합니다. 다음으로 "배치 크기 증가" 또는 "작업 X에 대한 통신-계산 중첩 증가"와 같은 개선 가설을 수립합니다. 그런 다음 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access