Gemma 추론 최적화: Dataflow와 vLLM 결합으로 효율 23배 향상
구글은 Dataflow 파이프라인에 vLLM을 결합해 Gemma 2B 모델을 효율적으로 서비스하는 방식을 공개했다. vLLM의 연속 배치와 Dataflow 모델 관리자를 통해 몇 줄의 코드만으로 파이프라인을 구축하며, 테스트 결과 추론 효율이 23배 이상 개선됐다.

구글이 오픈소스 추론 엔진 vLLM을 자사 데이터 처리 서비스인 Dataflow와 연동해 Gemma 모델을 효율적으로 구동하는 파이프라인 구성법을 공개했다. 개발자는 복잡한 분산 환경 설정 없이 최소한의 코드만으로 대규모 스트리밍 추론 파이프라인을 구축할 수 있다.
대규모 언어 모델을 실제 프로덕션 환경의 데이터 파이프라인에 배포할 때 가장 큰 걸림돌은 전통적인 배치 처리 방식의 비효율성이었다. 일반적인 GPU 배치는 입력 데이터를 한데 묶어 처리하지만, LLM은 토큰을 하나씩 반복 생성한다. 짧은 답변을 요구하는 요청과 긴 분석을 요구하는 요청이 한 배치로 묶이면 긴 요청이 끝날 때까지 GPU 전체가 대기 상태에 빠져 막대한 컴퓨팅 자원이 낭비된다.
연속 배치와 모델 관리자의 결합
vLLM은 연속 배치 기술을 통해 이 병목을 해결한다. 토큰 생성 주기마다 배치를 동적으로 재구성하여 작업이 끝난 요청은 먼저 결과를 반환하고, 대기열의 새 요청을 즉시 빈자리에 밀어 넣는다.
하지만 이를 스트리밍 데이터 파이프라인에 얹는 일은 까다롭다. Dataflow는 기본적으로 가용 CPU 코어마다 독립된 워커 프로세스를 띄우는데, 프로세스마다 Gemma 같은 대형 모델을 전부 적재하면 곧바로 메모리 부족 오류가 발생한다. 그렇다고 개발자가 직접 복잡한 멀티프로세스 통신과 네트워크 토폴로지를 작성하는 것은 부담이 크다.
Dataflow의 모델 관리자는 이 과정을 자동화한다. 파이프라인 내에 단 하나의 vLLM 전용 추론 프로세스를 띄우고, 각 워커 프로세스가 들어오는 데이터를 비동기 방식으로 vLLM 큐에 전달하도록 조율한다. 개발자는 RunInference 변환을 활용해 데이터 읽기, 추론, 저장을 포함한 전체 파이프라인을 핵심 코드 5줄 안팎으로 완성할 수 있다.
23배 이상의 자원 효율 개선
성능 검증을 위해 구글은 T4 GPU를 장착한 단일 워커 환경에서 P3 데이터셋의 프롬프트 10,000건을 google/gemma-2b 모델로 처리하는 비교 테스트를 진행했다.
고정 크기 배치를 사용하는 기본 파이프라인은 10,000건을 처리하는 데 59.137 vCPU 시간이 소요됐다. 반면 vLLM의 연속 배치를 적용한 파이프라인은 단 2.481 vCPU 시간 만에 작업을 마쳤다. vCPU 사용량 기준으로 23배가 넘는 효율 향상을 기록한 셈이다.
두 파이프라인 모두 추가 튜닝을 거치지 않은 상태로 측정된 결과인 만큼, 기본 방식 역시 배치 크기를 정밀하게 조율하면 격차가 다소 줄어들 수는 있다. 그러나 별도의 최적화 작업 없이도 20줄 미만의 코드로 고성능 서빙 파이프라인을 얻을 수 있다는 점이 vLLM의 실질적인 강점이다. 모델 핸들러의 이름 문자열만 바꾸면 다른 모델도 즉시 테스트할 수 있으며, 관련 실행 노트북은 구글 클라우드 공식 문서에 공개되어 있다.
왜 중요한가
Dataflow나 Apache Beam 환경에서 대규모 텍스트 분류, 요약, 데이터 정제 같은 스트리밍 ETL 파이프라인을 운영 중인 엔지니어라면 당장 도입을 검토해 볼 만하다. 복잡한 GPU 프로세스 배포와 메모리 충돌 문제를 건드리지 않고도 대형 오픈소스 모델을 파이프라인의 일반적인 데이터 변환 단계처럼 다룰 수 있게 해 준다.
자체 폐쇄형 API 사용만을 유도하는 대신, 검증된 오픈소스 추론 프레임워크를 자사 클라우드 플랫폼에 매끄럽게 흡수한 구글의 설계 방식은 매우 실용적이다. 다만 이 방식은 전체 처리량 극대화에 초점이 맞춰져 있으므로, 단일 요청의 응답 지연 시간이 극도로 중요한 대화형 서비스보다는 대규모 데이터 파이프라인에 최적화되어 있다는 점을 염두에 둘 필요가 있다.
출처 (1)
- developers.googleblog.com(새 탭에서 열림)원문developers.googleblog.com