PRIMA.CPP: Speeding Up 70B-Scale LLM Inference on Low-Resource Everyday Home Clusters
Created by
Haebom
저자
Zonghang Li, Tao Li, Wenjiao Feng, Mohsen Guizani, Hongfang Yu
개요
본 논문은 가정용 장치에서 최첨단 대규모 언어 모델(LLM)을 실행하는 데 있어 성능 장벽을 돌파한 DeepSeek R1 및 QwQ 32B의 등장에도 불구하고, 기존의 엔드사이드 솔루션이 여전히 일반적인 가정용 클러스터가 처리할 수 있는 수준을 훨씬 넘어서는 GPU 클러스터, 대용량 RAM/VRAM 및 높은 대역폭을 필요로 한다는 점을 지적합니다. 이에 따라 본 논문에서는 CPU/GPU, 저 RAM/VRAM, Wi-Fi 및 크로스 플랫폼 지원을 혼합하여 일상적인 가정용 장치에서 70B 규모의 모델을 실행하는 분산 추론 시스템인 prima.cpp를 소개합니다. prima.cpp는 모델 가중치 관리에 mmap을 사용하고, 디스크 로딩을 숨기기 위해 프리페칭이 있는 파이프드 링 병렬 처리를 도입합니다. 계산, 통신, 디스크, 메모리(및 메모리 관리 동작) 및 OS의 이질성을 모델링하여 각 장치의 CPU와 GPU에 모델 레이어를 최적으로 할당하여 토큰 대기 시간을 줄입니다. 이 NP-hard 할당 문제를 해결하기 위해 Halda라는 우아한 알고리즘을 제안합니다. 4노드의 일반적인 가정용 클러스터에서 prima.cpp를 평가한 결과, 메모리 압력을 6% 미만으로 유지하면서 30B 이상의 모델에서 llama.cpp, exo, dllama를 능가하는 성능을 보였습니다. 이를 통해 Llama 3, DeepSeek R1, Qwen 2.5 및 QwQ와 같은 최첨단 30B-70B 모델을 가정용 어시스턴트에 제공하여 개인에게 고급 AI를 실제로 접근 가능하게 합니다. 코드는 오픈소스이며 https://github.com/Lizonghang/prima.cpp에서 이용 가능합니다.
시사점, 한계점
•
시사점:
◦
가정용 장치에서 70B 규모의 LLM 실행을 가능하게 하는 prima.cpp 시스템 제시.
◦
기존 시스템보다 향상된 성능과 낮은 메모리 압력 달성.
◦
Halda 알고리즘을 통한 효율적인 모델 레이어 할당.
◦
최첨단 LLM의 개인 접근성 향상.
◦
오픈소스 공개를 통한 연구 및 개발 확장 가능성 제공.
•
한계점:
◦
4노드의 가정용 클러스터를 기반으로 평가되었으므로, 더 큰 규모의 클러스터나 다른 환경에서는 성능이 달라질 수 있음.
◦
특정 하드웨어 및 소프트웨어 환경에 최적화되어 있을 가능성이 있으므로, 다른 환경에서의 일반화 가능성에 대한 추가 연구 필요.