LiteRT는 효율적인 변환, 런타임, 최적화를 사용하여 에지 플랫폼에서 고성능 ML 및 생성형 AI를 배포하기 위한 Google의 온디바이스 프레임워크입니다.
최신 LiteRT 2.x 출시에서는 하드웨어 가속을 극대화하도록 설계된 최신 런타임 인터페이스인 CompiledModel API가 도입되었습니다. Interpreter API (이전 명칭 TensorFlow Lite)는 이전 버전과의 호환성을 위해 계속 사용할 수 있지만 CompiledModel API는 기기 내 AI 애플리케이션에서 최첨단 성능을 원하는 개발자에게 권장되는 선택입니다.
LiteRT 주요 기능
LiteRT로 개발 간소화
자동 가속기 선택과 명시적 위임 생성 비교 효율적인 I/O 버퍼 처리 및 우수한 성능을 위한 비동기 실행 온디바이스 추론 문서를 참고하세요.
동급 최고의 GPU 성능
ML 드리프트로 구동되며 이제 GPU API에서 ML 및 생성형 AI 모델을 모두 지원합니다. GPU 가속 문서를 참고하세요.
통합 NPU 가속
주요 칩셋 제공업체의 간소화된 NPU 액세스를 사용하여 모델을 가속화하세요. NPU 가속 문서를 참고하세요.
우수한 LLM 지원
LiteRT는 모바일, 데스크톱, 웹 플랫폼 전반에서 생성형 AI 모델을 위한 고성능 배포를 제공합니다. 생성형 AI 배포 문서를 참고하세요.
광범위한 ML 프레임워크 지원
LiteRT는 PyTorch, TensorFlow, JAX 프레임워크에서 .tflite 또는 .litertlm 형식으로의 간소화된 변환을 지원합니다. 모델 변환 문서를 참고하세요.
CompiledModel API 시작하기
클래식 ML 모델의 경우 다음 데모 앱을 참고하세요.
- 이미지 세분화 Kotlin 앱: CPU/GPU/NPU 추론
- 이미지 분할 C++ 앱: async 실행을 사용한 CPU/GPU/NPU 추론
생성형 AI 모델의 경우 다음 데모 앱을 참고하세요.
- EmbeddingGemma 시맨틱 유사성 C++ 앱: CPU/GPU/NPU 추론
개발 워크플로
LiteRT는 Android, iOS, 웹, IoT, 데스크톱/노트북에서 완전히 기기 내 추론을 실행합니다. 기기에 관계없이 다음은 가장 일반적인 워크플로이며, 추가 안내 링크가 포함되어 있습니다.

ML 과제에 가장 적합한 솔루션 식별
LiteRT는 머신러닝 문제 해결과 관련해 높은 수준의 유연성과 맞춤설정 기능을 제공하므로 특정 모델이나 전문 구현이 필요한 사용자에게 적합합니다. 플러그 앤 플레이 솔루션을 찾는 사용자는 객체 감지, 텍스트 분류, LLM 추론과 같은 일반적인 머신러닝 작업을 위한 즉시 사용 가능한 솔루션을 제공하는 MediaPipe Tasks를 선호할 수 있습니다.
모델 획득 및 준비
LiteRT 모델은 .tflite 파일 확장자를 사용하는 FlatBuffers라는 효율적으로 이동 가능한 형식으로 표현됩니다.
다음과 같은 방법으로 LiteRT 모델을 획득할 수 있습니다.
선행 학습된 모델 획득: 이미지 세분화, 객체 감지 등 인기 있는 ML 워크로드용
가장 간단한 방법은 이미
.tflite형식인 LiteRT 모델을 사용하는 것입니다. 이러한 모델에는 추가 전환 단계가 필요하지 않습니다.모델 유형 선행 학습된 모델 소스 클래식 ML
(.tflite형식)Kaggle 또는 HuggingFace를 방문하세요.
예: 이미지 세분화 모델 및 샘플 앱생성형 AI
(.litertlm형식)LiteRT Hugging Face 페이지
예: Gemma Family사전 학습된 모델을 사용하지 않으려면 선택한 PyTorch, TensorFlow 또는 JAX 모델을 LiteRT 모델로 변환합니다. [PRO USER]
모델 프레임워크 샘플 모델 변환 도구 PyTorch Hugging Face
Torchvision링크 TensorFlow Kaggle 모델
Hugging Face링크 잭스 Hugging Face 링크 생성형 API를 사용하여 추가 최적화를 위해 LLM 작성 [전문가 사용자]
Google의 생성형 API 라이브러리는 모바일 친화적인 추상화를 사용하여 Gemma, TinyLlama, 기타와 같은 트랜스포머 모델을 구성하기 위한 PyTorch 내장 빌딩 블록을 제공합니다. 이를 통해 Google은 모바일 런타임인 LiteRT에서 변환과 성능이 우수한 실행을 보장할 수 있습니다. 생성형 API 문서를 참고하세요.
양자화[전문 사용자]
고급 개발자를 위한 AI Edge Quantizer는 변환된 LiteRT 모델을 양자화하는 도구입니다. 고급 사용자가 리소스 요구 모델 (예: 생성형 AI 모델).
자세한 내용은 AI Edge Quantizer 문서를 참고하세요.
에지 플랫폼의 앱에 모델 통합
LiteRT를 사용하면 Android, iOS, 웹, 데스크톱, IoT 플랫폼에서 고성능으로 ML 모델을 완전히 온디바이스로 실행할 수 있습니다.
다음 가이드를 사용하여 원하는 플랫폼에 LiteRT 모델을 통합하세요.
| 지원되는 플랫폼 | 지원되는 기기 | 지원되는 API |
|---|---|---|
| Android에서 실행 | Android 휴대기기 | C++/Kotlin |
| iOS/macOS에서 실행 | iOS 휴대기기, MacBook | C++/Swift |
| LiteRT.js를 사용하여 웹에서 실행 | Chrome, Firefox 또는 Safari가 설치된 기기 | 자바스크립트 |
| Linux에서 실행 | Linux 워크스테이션 또는 Linux 기반 IoT 기기 | C++/Python |
| Windows에서 실행 | Windows 워크스테이션 또는 노트북 | C++/Python |
| IoT에서 실행 | 삽입된 기기 | C++ |
다음 코드 스니펫은 Kotlin과 C++의 기본 구현을 보여줍니다.
Kotlin
// Load model and initialize runtime
val compiledModel = CompiledModel.create(
"/path/to/mymodel.tflite",
CompiledModel.Options(Accelerator.CPU))
// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()
// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
// Invoke
compiledModel.run(inputBuffers, outputBuffers)
// Read the output
val output = outputBuffers.get(0).readFloat()
C++
// Load model and initialize runtime
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
하드웨어 가속기 선택
LiteRT에 백엔드를 통합하는 가장 간단한 방법은 런타임의 내장 인텔리전스를 사용하는 것입니다. CompiledModel API를 사용하면 LiteRT에서 타겟 백엔드를 옵션으로 지정하는 기능을 통해 설정을 크게 간소화합니다. 자세한 내용은 온디바이스 추론 가이드를 참고하세요.
| Android | iOS / macOS | 웹 | Linux / Windows | IoT | |
|---|---|---|---|---|---|
| CPU | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | WebGPU OpenCL |
WebGPU Metal |
WebGPU | WebGPU OpenCL |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - |
추가 문서 및 지원
LiteRT-Samples GitHub 저장소에서 더 많은 LiteRT 샘플 앱을 확인하세요.
TensorFlow Lite 기존 사용자는 마이그레이션 가이드를 참고하세요.
성능, 프로파일링, 오류 보고 등을 위한 LiteRT 도구 페이지