llama.cpp Android
llama.cpp Android (Android)
llama.cpp는 Android 기기에서도 실행할 수 있어요. GUI 바인딩을 Android Studio로 빌드하는 방법과, Termux 환경에서 CLI를 빌드해 쓰는 방법 두 가지가 대표적이에요.
Android 바인딩은 Arm CPU에서는 최대 SME2까지, x86-64 CPU에서는 AMX까지의 하드웨어 가속을 지원해요. 호스트 하드웨어를 자동으로 감지해서 호환 커널을 로드해요.
Android Studio로 GUI 바인딩 빌드
examples/llama.android 디렉터리를 Android Studio로 import한 뒤 Gradle sync와 빌드를 수행하면 돼요.
바인딩을 쓰는 기본 흐름은 다음과 같아요.
- GGUF 메타데이터 파싱 —
GgufMetadataReader로 공유 저장소의ContentResolver가 제공하는Uri또는 앱 개인 저장소의 로컬File에서 파싱 InferenceEngine인스턴스 얻기 —AiChat파사드를 통해 얻고, 앱 개인 파일 경로로 선택한 모델 로드- 사용자 프롬프트 전송 — 자동 템플릿 포맷, prefill, 배치 디코딩을 수행하고 생성된 토큰을 Kotlin
Flow로 수집
시스템 프롬프트·벤치마크 같은 고급 기능과 모델 관리, Arm 기능 비주얼라이저 같은 UI를 원한다면 Google Play의 Arm AI Chat 앱을 확인해 봐도 좋아요.
Termux로 CLI 빌드
Termux는 루트 권한이 필요 없는 Android 터미널 에뮬레이터이자 Linux 환경 앱이에요. Termux 안에서 llama.cpp를 마치 Linux 환경처럼 설치·실행할 수 있어요.
Termux 셸에 들어가면 먼저 패키지를 설치해요.
$ apt update && apt upgrade -y
$ apt install git cmake libandroid-spawn
그 다음 빌드 가이드, 특히 CMake 부분을 따라 빌드해요. 바이너리가 만들어지면 원하는 모델(예: Hugging Face에서 다운로드)을 준비하고, 성능이 좋도록 ~/ 디렉터리에 두는 걸 권장해요.
더 알아보기
- llama.cpp 설치 가이드: 데스크톱 프리빌드/빌드
- llama.cpp 빌드 가이드: 플랫폼별 빌드 옵션
- llama.cpp CLI 참조: 명령줄 사용