TechFeedTechFeed
AI/LLM

Google LiteRT-LM — 온디바이스 LLM 추론 실전 가이드

2026년 4월 Google이 오픈소스 공개한 LiteRT-LM은 Android, iOS, Chrome, Raspberry Pi 등 엣지 디바이스에서 Gemma 4·Llama 3·Phi-4를 프로덕션 수준으로 실행하는 추론 프레임워크다. 설치부터 Android Kotlin 통합, Function Calling 기반 로컬 에이전트, llama.cpp와의 차이, 트러블슈팅까지 실무 중심으로 정리한다.

Google LiteRT-LM은 Android, iOS, Chrome, Raspberry Pi 등 엣지 디바이스에서 LLM을 프로덕션 수준으로 실행할 수 있는 오픈소스 추론 프레임워크다. 클라우드 없이 기기 내에서 Gemma 4, Llama 3, Phi-4 같은 오픈 LLM을 직접 구동하고 싶은 모바일·엣지·MLOps 개발자라면 반드시 읽어야 한다.
Google LiteRT-LM on-device LLM inference
LiteRT-LM은 TFLite의 후속으로, 엣지 디바이스 LLM 추론을 단일 API로 지원한다

LiteRT-LM이란 무엇인가

LiteRT-LM은 Google이 2026년 4월 공개한 온디바이스 LLM 추론 프레임워크다. TensorFlow Lite(현 LiteRT)의 범용 ML 런타임 위에 LLM 전용 레이어를 얹은 구조로, 자동 회귀 생성(autoregressive decoding), KV 캐싱, 토크나이저를 내장하고 있다. Apache 2.0 라이선스로 오픈소스이며 pip install litert-lm 한 줄로 시작할 수 있다.
기존 온디바이스 LLM 추론 도구(llama.cpp, ONNX Runtime, MediaPipe LLM)와 결정적으로 다른 점은 Google 퍼스트파티 하드웨어와의 통합이다. Pixel 스마트폰의 NPU, Chrome Canary, Chromebook Plus에 이미 프로덕션 탑재되어 있어 실험 수준이 아닌 실제 제품 출하 레벨의 검증이 끝난 상태다. 단일 API로 Android·iOS·Web·Desktop·IoT를 모두 커버하는 것도 차별점이다.

지원 플랫폼과 하드웨어 가속

LiteRT-LM은 아래 플랫폼을 단일 Python/C++ API로 지원한다.
GPU 및 NPU 가속은 플랫폼별로 자동 탐지된다. Android에서는 OpenCL/OpenGL ES 기반 GPU 패스와 NNAPI(NPU 위임)를 지원하며, iOS에서는 Metal을 통해 Apple Silicon Neural Engine을 활용할 수 있다. Desktop에서는 CUDA 없이도 CPU 멀티스레딩으로 Gemma 4B 기준 토큰/초 15~30 수준을 확보한다.

지원 모델과 Gemma 4 E2B의 위치

LiteRT-LM이 공식 지원하는 오픈 LLM은 다음과 같다.
Gemma 4 E2B(Efficient 2B)는 LiteRT-LM의 레퍼런스 엣지 모델이다. 기존 Gemma 2 2B 대비 추론 속도 2배 향상, 메모리 사용량 30% 감소를 달성했으며, Android 6GB RAM 기기에서 실시간 텍스트 생성이 가능하다. Function Calling도 내장해 로컬 에이전트 파이프라인 구성이 가능하다.
LiteRT-LM model benchmark on edge devices
Gemma 4 E2B는 Android 6GB RAM 기기에서 토큰/초 20~40을 기록한다

빠른 시작 — Python으로 5분 만에 로컬 LLM 구동

LiteRT-LM은 Python 패키지로 설치하고 Hugging Face Hub에서 모델을 직접 받아 실행할 수 있다. 아래는 Gemma 4 E2B 기준 기본 사용 예시다.
설치
pip install litert-lm
Gemma 4 E2B 텍스트 생성 (Python)
from litert_lm import LlmInference, Backend # 모델 다운로드 (HuggingFace Hub 또는 로컬 경로) llm = LlmInference.from_pretrained( "google/gemma-4-e2b-litert", backend=Backend.CPU, # 또는 Backend.GPU, Backend.NPU ) # 동기 생성 response = llm.generate("Python에서 비동기 프로그래밍을 사용하는 이유는?") print(response) # 스트리밍 생성 for token in llm.generate_stream("Rust와 Go의 차이를 설명해줘"): print(token, end="", flush=True)
Function Calling (로컬 에이전트 파이프라인)
from litert_lm import LlmInference, Tool def get_weather(city: str) -> str: return f"{city}의 현재 기온은 22도입니다." llm = LlmInference.from_pretrained("google/gemma-4-4b-litert") llm.register_tool(Tool.from_function(get_weather)) response = llm.generate("서울 날씨 알려줘") print(response) # 자동으로 get_weather 호출 후 응답 생성
모델 포맷 변환: Hugging Face의 safetensors 모델을 LiteRT-LM 포맷(.task)으로 변환하려면 litert-lm convert --model-path ./my-model --output ./my-model.task를 실행한다. 양자화(INT4/INT8)도 이 단계에서 설정한다.

Android 앱 통합 — Kotlin에서 오프라인 AI 기능 구현

Android에서는 LiteRT-LM의 Java/Kotlin 바인딩을 Gradle로 추가한다. 기기 NPU를 자동으로 탐지해 가속한다.
build.gradle.kts 의존성 추가
dependencies { implementation("com.google.ai.edge:litert-lm-android:1.0.0") }
Kotlin — LLM 초기화 및 텍스트 생성
import com.google.ai.edge.litert.lm.LlmInference import com.google.ai.edge.litert.lm.LlmInferenceOptions val options = LlmInferenceOptions.builder() .setModelPath("/data/local/tmp/gemma-4-e2b.task") .setMaxTokens(512) .setPreferredBackend(LlmInferenceOptions.Backend.GPU) .build() val llm = LlmInference.createFromOptions(context, options) // 비동기 스트리밍 생성 llm.generateResponseAsync("코틀린 코루틴이란?") { partialResult, done -> runOnUiThread { textView.append(partialResult) if (done) progressBar.visibility = View.GONE } }
모델 파일 배포 주의: Gemma 4 E2B 모델 파일(.task)은 약 1.4GB다. APK에 번들하지 말고 앱 설치 후 Play Asset Delivery 또는 백그라운드 다운로드로 전달할 것. 첫 실행 시 GPU 캐시 컴파일에 10~30초 소요된다.
LiteRT-LM Android integration architecture
Android에서 LiteRT-LM은 NNAPI를 통해 Pixel NPU를 자동으로 활용한다

llama.cpp·ONNX Runtime·MediaPipe와 무엇이 다른가

온디바이스 LLM 추론 도구는 이미 여럿 존재한다. LiteRT-LM의 차별점을 정리한다.
llama.cpp는 서버·Desktop에서 양자화 LLM을 돌리는 데 여전히 강력하다. 하지만 모바일 앱에 통합하거나 Google 에코시스템(Pixel, Chrome)을 타깃으로 한다면 LiteRT-LM이 훨씬 낮은 마찰로 프로덕션 수준을 달성한다. ONNX Runtime은 범용성이 높지만 LLM 전용 최적화(KV 캐시, 스트리밍 생성)는 LiteRT-LM이 앞선다.

실무 적용 시나리오 3가지

1. 오프라인 코드 어시스턴트: 인터넷이 없는 환경(항공기, 보안 네트워크)에서 Phi-4 또는 Gemma 4 4B를 기기에서 실행해 코드 자동 완성·설명 기능을 제공한다. Function Calling을 활용하면 파일 시스템 접근, 터미널 명령 실행 등 로컬 에이전트 워크플로우도 구성 가능하다.
2. 프라이버시 우선 채팅봇: 의료·법률·금융 앱에서 사용자 입력을 서버로 전송하지 않고 기기 내에서 응답을 생성한다. 데이터가 기기 밖으로 나가지 않으므로 GDPR, HIPAA 규정 대응이 간단해진다.
3. 엣지 AI 파이프라인: Raspberry Pi 기반 IoT 게이트웨이에서 센서 데이터를 실시간으로 분석하고 요약·알림 생성을 로컬에서 처리한다. 클라우드 레이턴시가 없어 latency-critical 산업 환경에 적합하다.
현재 한계: 멀티모달(이미지 입력)은 2026년 Q3 지원 예정이며, 현재는 텍스트 전용이다. 또한 Gemma 4 12B는 Desktop GPU(8GB VRAM 이상) 환경을 권장하며 스마트폰에서는 12B 모델 실행이 현실적으로 어렵다.

자주 막히는 케이스와 해결법

케이스 1: GPU 가속이 활성화되지 않는다
원인: 드라이버 미지원 또는 OpenCL 비활성화
해결: LlmInference.from_pretrained(..., backend=Backend.CPU)로 폴백 후, llm.get_backend_info()로 실제 사용 중인 가속기 확인.
케이스 2: 모델 변환 시 OOM 오류
원인: 변환 과정에서 fp32 가중치를 풀로드하므로 RAM이 모델 크기의 2~3배 필요
해결: litert-lm convert --low-memory 플래그 사용. 4B 모델 변환에는 최소 12GB RAM 권장.
케이스 3: Android에서 첫 실행이 너무 느리다
원인: GPU 셰이더 컴파일 캐시가 없는 초기 상태
해결: 앱 첫 실행 시 워밍업 시퀀스를 백그라운드 스레드에서 미리 실행. 두 번째 실행부터는 캐시가 재사용되어 정상 속도 회복.
LiteRT-LM troubleshooting guide
GPU 가속 미동작 시 backend 파라미터로 폴백 옵션을 명시적으로 설정한다

지금 당장 시작하는 방법

LiteRT-LM은 아직 급성장 중인 프레임워크다. 2026년 4월 기준 GitHub Star 8K+이며, 커뮤니티 기여가 활발하다. 지금 시작하는 가장 빠른 경로는 공식 Colab 노트북으로, 설치 없이 브라우저에서 Gemma 4 E2B 추론을 체험할 수 있다.
프로덕션 적용을 검토 중이라면: (1) Desktop Python으로 먼저 모델 동작 검증 → (2) Android 에뮬레이터에서 Kotlin 바인딩 테스트 → (3) 실기기(Pixel 권장)에서 GPU 가속 벤치마크 순으로 진행하는 것을 권장한다. 모델 파일 배포 인프라(Play Asset Delivery 또는 자체 CDN)를 사전에 설계해두는 것이 중요하다.
LiteRT-LM 공식 문서 보기
LiteRT-LM온디바이스 AI엣지 AIGemma 4모바일 LLMAndroid AI오픈소스Google AI EdgeLLM 추론on-device AI

관련 포스트

OpenClaw v3.0 — 오픈소스 에이전틱 AI 프레임워크가 바꾸는 에이전트 개발2026-03-22OpenClaw — 21만 스타 오픈소스 AI 에이전트의 가능성과 보안 위기2026-03-23OpenClaw가 GitHub 스타 25만 개를 돌파한 이유 — AI 모델 커머디티화와 에이전트 프레임워크의 부상2026-03-25gstack — Y Combinator CEO가 만든 Claude Code 가상 개발팀 슬래시 커맨드2026-03-28