UbiquitousLearning/mllm
Fast Multimodal LLM on Mobile Devices
해결하는 문제
mllm은 모바일 및 엣지 디바이스를 위해 특별히 설계된 빠르고 가벼운 멀티모달 LLM 추론 엔진입니다. 스마트폰이나 임베디드 시스템과 같이 리소스가 제한된 하드웨어에서 클라우드 서버에 의존하지 않고 대규모 시각-언어 모델(VLM) 및 LLM을 로컬에서 실행하는 문제를 해결합니다.
작동 원리
이 엔진은 고수준 최적화 알고리즘과 저수준 하드웨어 실행 계층 사이의 가교 역할을 합니다. 변환 도구 (mllm-convertor)를 사용하여 PyTorch 및 SafeTensors 모델을 가져오고, 이를 양자화하여 실행을 위한 독점적인 mllm 형식으로 변환합니다.
주요 기술 구성 요소:
- 하드웨어 백엔드: Arm CPU, OpenCL GPU, QNN NPU, Ascend NPU 지원.
- 최적화: 양자화(예: W4A16, W8A8), 가지치기(pruning), 추측 실행(speculative execution)을 구현하여 메모리 및 연산 요구 사항 감소.
- 아키텍처: Android에서는 In-App Go Server를 사용하는 클라이언트-서버 아키텍처를 채택하여 UI와 무거운 추론 작업을 분리.
- 그래프 실행:
traceAPI를 통해 계산 그래프 추출이 가능하며, 동적 실행을 NPU 통합을 위해 최적화된 정적 표현으로 변환.
대상 사용자
Android, Jetson Orin 및 기타 엣지 디바이스용 온디바이스 AI 애플리케이션을 구축하며, 멀티모달 모델에 대한 고성능 로컬 추론이 필요한 개발자 및 엔지니어.
주요 특징
- 광범위한 하드웨어 지원: Arm CPU, OpenCL GPU, Qualcomm (QNN) 및 Huawei (Ascend)의 NPU에서 실행 가능.
- 엣지에서의 고성능: 특정 모델의 경우 llama.cpp 대비 상당한 프리필(prefill) 속도 향상(Jetson Orin에서 최대 3.12배) 입증.
- 방대한 모델 Zoo: Qwen 시리즈 (Qwen3, Qwen2-VL), MiniCPM, Llama 3, DeepSeek-OCR 등 다양한 모델 지원.
- 개발자 친화적: 모델 작성을 위한 Pythonic API와 통합을 위한 C++ SDK 제공.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트