AI 모델 및 플랫폼
서버리스 추론을 위한 대형 언어 모델의 미래
최근 GPT-4, PaLM와 같은 대형 언어 모델(LLM)의 발전은 자연어 처리 작업에서 변革적인 능력을 제공했습니다. LLM은 채팅봇, 검색 엔진, 프로그래밍 어시스턴트와 같은 다양한 응용 프로그램에 통합되고 있습니다. 그러나 LLM을 대규모로 제공하는 것은 여전히 도전적입니다. 그 이유는 그들의 상당한 GPU와 메모리 요구 때문입니다.
이 문제를 해결하기 위한 접근 방식은 일반적으로 두 가지 주요 범주로 나눌 수 있습니다.
- 모델 압축 기술
이 기술은 모델의 크기를 줄이면서 정확성을 유지하도록 설계되었습니다. 일반적인 접근 방식에는 다음이 포함됩니다.
- 가지치기 – 모델에서冗長하거나 중요하지 않은 매개변수를 제거합니다. 이것은 매개변수가 적은 희소 모델을 생성합니다.
- 양자화 – 가중치를 나타내는 데 int8 또는 bfloat16과 같은 낮은 정밀도 숫자를 사용합니다. 이것은 메모리 사용량을 줄입니다.
- 지식 증류 – 더 작은 “학생” 모델을 대형 “교사” 모델을 모방하도록 훈련합니다. 그런 다음 더 작은 모델을 추론에 사용합니다.
- 선택적 실행
이 기술은 모델의 일부만 선택적으로 실행합니다.
- 희소 활성화 – 0 활성화에 대한 계산을 건너뛰기
- 조건부 계산 – 입력에 따라 특정 레이어만 실행
소프트웨어 아키텍처 측면에서 보완하여 LLM을 빠르게 배포할 수 있는 서버리스 추론 시스템을 가능하게 하는 연구자들이 제안했습니다. 서버리스 아키텍처에서 LLM은 공유 GPU 클러스터에 호스팅되고 동적으로 할당됩니다. 이것은 GPU를 효율적으로 사용하고 개발자 비용을 줄입니다. 주요 구현에는 Amazon (AMZN ) SageMaker, Microsoft Azure ML 및 KServe와 같은 오픈소스 옵션이 포함됩니다.
서버리스 LLM의 약속에도 불구하고 기존 시스템은 대화형 애플리케이션에서 사용자 경험을 저하하는 높은 지연 오버헤드를 나타냅니다.
- 비싼 체크포인트 다운로드 – LLM은 종종 기가바이트에서 테라바이트 크기의 큰 메모리 풋프린트를 가지고 있습니다. 최적화된 네트워크를 사용하여도 원격 저장소에서 체크포인트를 다운로드하는 것은 시간이 걸립니다.
- 효율적이지 않은 체크포인트 로딩 – 로컬 SSD 저장소에도 체크포인트를 GPU 메모리에 로딩하는 것은 텐서 역직렬화 및 할당과 같은 요인으로 인해 수십 초가 걸립니다. 이것은 컨테이너 시작 시간을 넘어서 상당한 지연을 추가합니다.
이 문제를 해결하기 위해 MIT CSAIL의 연구자들은 ServerlessLLM을 제안했습니다. ServerlessLLM은 LLM을 위한 저지연 서버리스 추론을 달성하는 혁신적인 시스템입니다. ServerlessLLM은 LLM 배포를 위한 다단계 서버 저장소의 풍부한 용량과 대역폭을 활용하여 지역성을 향상시킵니다.
ServerlessLLM의 주요 혁신 – ServerlessLLM은 서버리스 환경에서 LLM 로딩 시간을 줄이기 위해 여러 새로운 설계를 통합합니다.
- 신속한 체크포인트 로딩
- 로딩 최적화 체크포인트 형식 – 빠른 순차적 읽기 및 효율적인 인메모리 텐서 주소 지정이 가능합니다.
- 다단계 체크포인트 로딩 파이프라인 – 네트워크, SSD, DRAM 및 GPU 메모리를 통해 대역폭 사용률을 최대화합니다.
- 라이브 마이그레이션을 통한 지역성 주도 추론
- 토큰 기반 마이그레이션 – 네트워크를 통해 필수적인 프롬프트 토큰만 전송합니다.
- 2단계 마이그레이션 – 목적지 서버에서 캐시 상태를 비동기적으로 재계산하여 중단 없는 추론을 허용합니다.
- 지연 최적화 서버 할당
- 서버당 체크포인트 로딩 시간 및 마이그레이션 시간을 예측하는 정확한 모델
- 지역성 인식 스케줄러 – 예상된 시작 지연 시간을 최소화하는 서버를 선택합니다.
이러한 최적화로 ServerlessLLM은 기존 시스템과 비교하여 LLM 로딩 시간을 4-8배, 종단 간 시작 시간을 25배 이상 줄일 수 있습니다.
체크포인트 로딩 가속
ServerlessLLM이 해결하는 첫 번째 주요 병목 현상은 저장소에서 GPU 메모리로 LLM 체크포인트를 로딩하는 높은 지연입니다.
신속한 체크포인트 로딩을 가능하게 하기 위해 ServerlessLLM은 다음을 도입합니다.
- 로딩 최적화 체크포인트 형식
PyTorch와 같은 프레임워크에서 사용되는 표준 체크포인트는 모델 훈련 및 디버깅을 위해 설계되었습니다. 그러나 서버리스 추론을 위해 체크포인트는 읽기 전용이며 반복적으로 액세스됩니다.
이러한 읽기 집중적인 사용을 최적화하기 위해 ServerlessLLM은 체크포인트를 두 가지 주요 속성이 있는 형식으로 변환합니다.
- 순차적 청크 기반 읽기 – 텐서는 per-GPU 이진 파일로 그룹화되어 대규모 순차적 읽기가 가능합니다.
- 효율적인 텐서 주소 지정 – 텐서 이름을 메모리 오프셋으로 매핑하는 인덱스가 있어 역직렬화 없이 직접 인메모리 복원할 수 있습니다.
- 다단계 체크포인트 로딩 파이프라인
ServerlessLLM은 GPU 서버의 계층화된 아키텍처를 활용하여 저장소 미디어와 네트워킹을 통해 GPU와 연결됩니다.
시스템은 모든 계층에서 대역폭 사용률을 최대화하기 위해 다단계 파이프라인을 통합합니다.
- 인메모리 데이터 청크는 빠른 GPU 전송을 위해 고정 메모리를 사용하여 할당됩니다.
- 직접 I/O는 캐싱 오버헤드 없이 효율적인 SSD 읽기를 허용합니다.
- 여러 쓰레드가 다른 저장소 청크를 병렬로 읽습니다.
- 계간 조정은 비동기 작업 큐를 통해 발생합니다.
이것은 빠른 계층인 NVMe RAID의 대역폭 용량을 포화시키는 것을 가능하게 합니다. 실험에 따르면 ServerlessLLM은 PyTorch/TensorFlow보다 6-8배 빠른 로딩을 달성하며, 대형 LLM의 시작 시간을 1분 이상에서 10초 미만으로 줄입니다.
라이브 마이그레이션을 통한 지역성 주도 추론
가속된 로딩으로 ServerlessLLM은 버스 서버에서 로딩된 체크포인트를 지역성으로 활용하는 새로운 도전을 직면합니다.
ServerlessLLM은 GPU 서버 간에 LLM 추론을 라이브 마이그레이션하는 새로운 기술을 도입합니다. 이것은 로컬 체크포인트가 있는 서버로 실행을無중단으로 전송하는 것을 허용합니다.
라이브 LLM 마이그레이션의 주요 활성화 요소:
- 토큰 기반 마이그레이션
전체 모델 상태를 스냅샷으로 찍는 대신 ServerlessLLM은 네트워크를 통해 최소한의 프롬프트 토큰만 마이그레이션합니다. 이것은 스냅샷보다 훨씬 적은 데이터를 전송합니다.
- 2단계 마이그레이션
목적지 서버는 프롬프트 토큰에서 캐시 상태를 비동기적으로事先 계산합니다. 준비되면 소스 서버는 최종 토큰을 전송하기 전에 자원을 해제합니다. 이것은 추론을 중단하는 것을 방지합니다.
실험에 따르면 토큰 기반 마이그레이션은 마이그레이션 시간을 수십 초에서 1초 미만으로 줄입니다. 라이브 마이그레이션은 지역성 주도 할당을 달성할 때 큐잉 지연을 방지하는 데 중요합니다.
지연 최적화 모델 스케줄링
종단 간 지연을 최소화하기 위해 ServerlessLLM은 스케줄러를 지역성을 고려하여 최적화합니다. 이것은 다음을 포함합니다.
- 세분화된 로딩 시간 추정기
모델은 각 서버에서 네트워크, SSD 캐시 및 메모리에서 로딩 시간을 예측합니다.
- 정확한 마이그레이션 시간 예측기
스케줄러는 서버당 마이그레이션 시간을 예측합니다.
- 지역성 인식 할당
각 추론 요청에 대해 스케줄러는 예상된 로딩 및 마이그레이션 시간을 평가하여 예상된 시작 지연 시간을 최소화하는 서버를 선택합니다.
스케줄러는 또한 서버 작업 큐를 유지하고 강력한 일관성 저장소를 사용하여 오류 허용성을 제공합니다. 이러한 혁신은 스케줄링 오버헤드를 줄이며 지역성의 이점을 최대화합니다.
ServerlessLLM 성능 평가
포괄적인 실험은 실제 모델과 Azure 트레이스와 같은 워크로드를 사용하여 ServerlessLLM의 종단 간 효율성을 기존 시스템과 비교합니다.
주요 결과:
- 마이크로 벤치마크 – ServerlessLLM은 PyTorch/TensorFlow보다 3.6-8.2배 빠른 체크포인트 로딩을 가속화합니다.
- 스케줄링 – ServerlessLLM은 무작위 스케줄링과 비교하여 할당 지연을 4-12배 줄입니다.
- 종단 간 제공 – 대형 모델의 경우 ServerlessLLM은 KServe 및 Ray Serve와 같은 시스템보다 99번째 백분위 지연을 28-200배 개선합니다.
이러한 상당한 이점은 ServerlessLLM이 기존 서버리스 구현의 병목 현상을 극복하고 대화형 서비스를 위한 대형 언어 모델의 잠재력을 해방하는能力을 보여줍니다.
ServerlessLLM에 도입된 최적화는 다단계 로딩, 라이브 마이그레이션 및 지연 주도 스케줄링과 같은 것들이 미래 서버리스 아키텍처의 설계에 정보를 제공할 수 있습니다. 시스템의 로딩 및 시작 시간을 줄이는 능력은 대형 언어 모델을 실제 애플리케이션에 대규모로 배포하는 것을 차단합니다.
미래를 향해: 지속적인 도전
대형 언어 모델을 위한 서버리스 추론을 최적화하는 데 중요한 단계이지만 ServerlessLLM은 여전히 대형 언어 모델을 위한 서버리스 추론을 최적화하는 데 첫 번째 단계만을 나타냅니다. 여전히 몇 가지 개방된 문제가 남아 있습니다.
- 실시간 모델 수요를 예측하여 프로비저닝 및 사전 로딩을 안내합니다.
- 서버에 체크포인트를 배치하여 캐시 적중률을 최대화합니다.
- 더 큰 클러스터를 처리하기 위해 스케줄링 알고리즘을 확장합니다.
- 모델 및 개발자 간에 리소스 할당의 공평성을 보장합니다.
- 라이브 마이그레이션과 같은 혁신을 다른 서버리스 워크로드에 일반화합니다.
이러한 영역을 해결하면 서버리스 LLM의 약속을 더욱 실현할 수 있을 것입니다. 또한 대형 모델의 엄청난 탄소 발자국과 잠재적인 피해를 줄이는 것도 긴급한 우선 순위입니다.
ServerlessLLM은 다음 세대 서버리스 아키텍처에서 AI 워크로드에 대한 혁신의巨대한 여유가 있음을 보여줍니다. 대형 언어 모델의 크기와 인気が 증가함에 따라 ServerlessLLM과 같은 솔루션은 그들의 확장성을 해방하는 것이 더욱 중요해질 것입니다. 시스템과 기계 학습 연구의 결합은 AI 모델을 안전하게 제공하고 공유 및 확장하는 새로운 패러다임을 도입할 수 있습니다.













