제15장. 다중 노드 추론, 병렬 처리, 디코딩 및 라우팅 최적화
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
LLMs은 계속해서 파라미터 수가 에 달하는 거대한 규모로 확장되고 있습니다. 특히, 내장된 전문가 게이트 메커니즘을 통해 다수의 전문 서브네트워크("전문가")를 결합하는 혼합 전문가(MoE) LLMs의 등장으로 모델 파라미터 크기는 수백억에서 수조 단위로 증가했습니다. 주어진 입력에 대해 활성화되는 매개변수는 극히 일부에 불과하지만, 이처럼 거대한 모델 규모에서 추론을 수행하려면 작업 부하를 여러 GPU에 분산해야 합니다.
본 장에서는 최신 NVIDIA GPU를 활용하여 이러한 초대형 LLMs에 대한 효율적이고 고성능의 다중 노드 추론을 수행하기 위한 고급 최적화 기법에 초점을 맞춥니다. 하드웨어와 알고리즘 혁신을 모두 활용하여 지연 시간을 최소화하고 처리량을 극대화하는 분산 추론 시스템 설계 방식을 논의할 것입니다.
먼저 추론 작업 부하를 독립적으로 조정 가능한 별개의 단계로 분할하는 분산 프리필 및 디코드(PD, 분산 PD) 아키텍처 에 대해 논의합니다. 다음으로 데이터, 텐서, 파이프라인, 전문가, 컨텍스트와 같은 핵심 추론 중심 병렬화 전략을 탐구하고, 이를 조합하여 다수의 GPU에 걸쳐 대규모 모델을 서비스하는 방법을 살펴봅니다.
이후 메두사(Medusa), 이글(EAGLE), 초안-검증(draft-and-verify) 방식 등 추측적 디코딩 기법을 다룹니다. 이는 기존 자동회귀형 대규모 언어모델(LLMs)의 단일 토큰 생성 방식과 달리, 추론 과정에서 다중 토큰을 생성 및 평가할 수 있게 하여 순차적 디코딩 병목 현상을 극복합니다. 또한 출력 형식 강제 적용을 위한 제약 디코딩(예: 사용자 정의 JSON 스키마)과 MoE 모델의 동적 라우팅 전략을 논의하여 시스템의 전문가 게팅 및 부하 분산 효율성을 개선합니다.
분리형 프리필 및 디코드 아키텍처
앞서 언급한 바와 같이, 현대 LLaMA의 추론 워크플로우 는 프리필(prefill)과 디코드(decode)라는 두 가지 서로 다른 단계로 구성됩니다. 우리는 이 단계를 분리하기 위해 분산형 프리필 및 디코드를 구현할 수 있습니다. 이를 통해 프리필 및 디코드 클러스터를 독립적으로 확장할 수 있으며(서로 다른 하드웨어 플랫폼에서도 가능), 이 장 후반부에 자세히 설명하듯이 대규모 LLaMA 서비스 성능을 크게 향상시킬 수 있습니다.
크로스 벤더 또는 크로스 아키텍처 배포 시에는 양측 간 KV 캐시 레이아웃과 데이터 유형(dtypes)이 일치해야 합니다. 실제 운영 환경에서는 프리필(prefill)과 디코딩(decode)을 호환 가능한 GPU 계열에서 수행해야 합니다. 이렇게 하면 동일한 수치 형식을 사용하여 KV 캐시 전송과 데이터 재사용을 손쉽게 구현할 수 있습니다.
프리필 단계에서 모델은 입력 prompt 전체(종종 수천, 수만, 심지어 수백만 개의 토큰)를 단일 전방 ...
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