lucienhuangfu/eLLM
eLLM: Run Long-Horizon Inference Faster on CPUs Than on GPUs
해결하는 문제
eLLM은 대규모 언어 모델(LLM)을 실행할 때 CPU의 메모리 대역폭 한계를 극복하기 위해 설계되었습니다. GPU(HBM)에 비해 CPU(DDR)는 훨씬 더 많은 메모리 용량을 갖추고 있지만, 처리 속도는 느립니다. eLLM은 "저장소를 계산으로 바꾸는" 전략을 사용하여, 다중 턴 에이전트 워크플로우나 수백만 토큰의 컨텍스트 창과 같은 장기적 작업에서 CPU 기반 추론이 GPU를 능가하도록 합니다.
작동 방식
프레임워크는 반복적인 계산과 메모리 접근을 줄이기 위해 실행 파이프라인을 최적화합니다:
- 유연한 정적 계산 그래프: 차원 우선 레이아웃을 사용하여, 입력 길이가 달라도 그래프를 다시 빌드하지 않고 동일한 그래프를 사용할 수 있습니다.
- 정적 크기의 KV 캐시: 페이지 기반 블록 관리를 미리 할당된 고정 크기 텐서로 대체하여 메타데이터 오버헤드를 줄이고 메모리 접근 패턴을 개선합니다.
- 거대 차원의 텐서: 큰 시퀀스 차원을 미리 확보하여 전체 단일 패스 프리필을 가능하게 하여, 프롬프트를 청크로 나누거나 파라미터를 반복적으로 다시 로드할 필요가 없습니다.
- 세션 캐시: 여러 번의 상호작용에 걸쳐 KV 상태를 유지하여, 시스템이 새로운 입력만 순차적으로 프리필하면 되고, 전체 이력을 다시 계산할 필요가 없습니다.
대상 사용자
컴퓨터 사용 에이전트, 대규모 리포지토리용 코드 코파일럿, 기업 지식 기반용 RAG 시스템, 수시간에서 수일에 걸쳐 상태를 유지하는 심층 연구 에이전트와 같은 장기적 AI 에이전트를 개발하거나 연구하는 개발자 및 연구자에게 적합합니다.
주요 특징
- GPU를 능가하는 성능: 장기적 추론에서 GPU를 능가하며, 기존 CPU 추론 프레임워크(SGLang)보다 큰 속도 향상을 제공합니다.
- vLLM API 호환성: 기존 LLM 생태계에 직접 통합 가능합니다.
- 장기 컨텍스트 지원: TB 규모의 DDR 메모리를 활용해 거의 무제한의 컨텍스트 창을 지원합니다.
- 순수 CPU 추론: GPU나 NPU가 필요 없어 하드웨어 비용과 에너지 소비를 줄일 수 있습니다.
- 일관된 결과: 추론 결과는 GPU 기반 출력과 완전히 일치합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트