문헌 검토: 주머니 속의 거대 언어 모델 이해: COTS 모바일 기기에 대한 성능 연구 | 스마트폰에서의 LLM 벤치마킹
요약
스마트폰과 같은 모바일 엣지 디바이스에서 1B~7B 규모의 LLM 성능을 벤치마킹한 연구를 분석합니다. 다양한 SoC 환경에서 지연 시간, 메모리 점유율, 양자화 방식 및 최적의 스레드 설정 등 실질적인 배포 지표를 다룹니다.
핵심 포인트
- 모바일 SoC(Snapdragon, Apple 등)별 LLM 성능 및 최적화 지표 분석
- 양자화(Quantization)를 통한 메모리 점유율 감소 및 모델 배포 전략
- 성능 코어와 기본 코어 수를 고려한 최적의 스레드 설정 제안
- CPU와 GPU 추론 성능 및 안정성 비교
논문을 다 읽었습니다: Understanding Large Language Models in Your Pockets: Performance Study on COTS Mobile Devices
저는 엣지 디바이스(edge devices), 특히 스마트폰에서 LLM을 벤치마킹하기 시작했습니다. 그래서 지금까지 무엇이 이루어졌고 현재 무엇이 진행 중인지에 대해 많이 읽고 있으며, 이러한 논문들을 읽어온 과정과 제 견해를 공유하고자 합니다.
이것은 무엇에 관한 내용인가요?
이 논문은 Snapdragon 8/8+, Dimensity 9300, Kirin 9000E/985 및 Apple의 SoC(System on Chip)를 탑재한 Huawei, iPad, Vivo Pad, Xiaomi와 같은 모바일 기기에서 1B에서 7B 모델 크기에 이르는 LLM(Llama3.2, Gemma3)의 성능 벤치마킹에 관한 것입니다.
이 연구는 TTFT(Time To First Token), Latency(지연 시간), e2e(end-to-end), tok/s(초당 토큰 수)뿐만 아니라, DVFS, 온도, 스로틀링(throttling), RAM 및 GPU 활용도, 동시성을 위한 최적의 스레드 수, 양자화(quantization) 및 각기 다른 종류의 SoC에 대한 ISA(Instruction Set Architecture, 명령어 집합 구조)와 같이 엣지 디바이스에서 이러한 LLM을 최적화하여 배포하기 위한 개발자 특화 지표에도 초점을 맞추고 있습니다.
DVFS는 DVFS(dynamic voltage and frequency scaling, 동적 전압 및 주파수 스케일링)를 의미하며, 기본적으로 스마트폰의 SoC에 있는 모든 구성 요소에 충분한 자원을 할당하여 배터리가 한 시간 만에 방전되지 않도록 하는 방식입니다(ㅎㅎ!).
ISA는 상당히 중요합니다. INT 연산(정수 연산)에 매우 능숙한 CPU가 LLM의 행렬 곱셈(matmuls)에는 더 느린 smmla 대 dot과 같은 최적화된 명령어와 결합될 수 있기 때문입니다. 이는 CPU 전용 추론(inference)에 있어 매우 중요합니다.
7B 모델을 네이티브 bf16 형식으로 배포하는 것은 8/16GB RAM 스마트폰에서 실행이 불가능하기 때문에 양자화(quantization) 유형도 탐구되었습니다. 따라서 우리는 이를 8비트와 같은 낮은 정밀도로 양자화하여 로드하는 데 필요한 메모리 점유율을 절반으로 줄입니다.
탐구된 CPU는 모두 작은 명령어 집합을 갖추어 더 빠른 Armv8-A 및 Armv9-A 시리즈였습니다. 탐구된 GPU는 Adreno(Qualcomm)와 Mali(MediaTek) 두 가지였습니다. 참고로, Mali는 Adreno보다 GFLOPs가 높고 하드웨어가 더 좋지만, 성능 면에서는 여전히 Adreno에 뒤처집니다.
llama.cpp는 주로 CPU 추론 (Inference) 벤치마킹에 사용되며, MLC-LLM은 GPU용으로 사용되지만 저자들이 언급했듯이 매우 불안정합니다.
결과 (및 개인적인 의견):
최적의 스레드 (Thread) 수는 주로 성능 코어 (Performance cores) + 기본 코어 (Primary cores)의 수(주로 4-6개)로 설정해야 합니다. 왜냐하면 스마트폰에서 LLM만 사용하는 것은 아니기 때문에 일부 스레드를 비워두어야 하기 때문입니다. 저자들도 음악 앱을 백그라운드에서 재생하거나 객체 삭제를 위한 YOLO 모델을 실행하는 것과 같이, 결과적으로 모든 스레드를 독점하지 않는 것이 더 낫다는 방식으로 진행했습니다.
Q4_0는 빠르지만 Q4_K_M보다 정확도가 떨어질 수 있습니다. 또한 더 복잡한 양자화 (Quantization) 단계(혼합 정밀도 및 K 시리즈 블록 양자화)로 인해 특정 기기에서는 더 느릴 수 있습니다. 하지만 Q8_0는 1B 이하의 모델에 권장되며, 더 큰 모델에는 Q4_K_M/Q4_0가 권장됩니다.
CPU 성능은 GPU보다 훨씬 안정적이지만, GPU가 작동할 때는 확실히 더 빠릅니다. 다만 GPU 활용률(Utilization)은 3%(Mali)에서 20%(Adreno) 수준이며, 이는 ALU 활용률을 의미합니다. 이 범주에서는 Apple만이 압도적인 성능을 보여줍니다.
DVFS(동적 전압 및 주파수 스케일링)는 주로 짧은 프롬프트(64/128)에서 작동하지만, 긴 프롬프트(512/128)에서는 안정화됩니다. 이는 온도와 스로틀링 (Throttling)이 지배적이기 때문이며, 이 지점에서 Apple은 비-Apple 기기들에 비해 상당히 큰 불안정성을 보여줍니다.
논문 링크
제출자: /u/East-Muffin-6472
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기