LiteRT (Lite 런타임의 줄임말)는 이전에 TensorFlow Lite로 알려졌던 Google의 기기 내 AI용 고성능 런타임입니다. 다양한 ML/AI 작업을 위한 실행 준비가 완료된 LiteRT 모델을 찾거나 AI Edge 변환 및 최적화 도구를 사용하여 TensorFlow, PyTorch, JAX 모델을 TFLite 형식으로 변환하고 실행할 수 있습니다.
주요 특징
기기 내 머신러닝에 최적화됨: LiteRT는 지연 시간 (서버 왕복 없음), 개인 정보 보호 (기기에서 개인 정보가 유출되지 않음), 연결성 (인터넷 연결 필요 없음), 크기 (모델 및 바이너리 크기 감소), 전원 소모(효율적인 추론 및 네트워크 연결 없음)라는 5가지 주요 ODML 제약 조건을 해결합니다.
다중 프레임워크 모델 옵션: AI Edge는 TensorFlow, PyTorch, JAX 모델의 모델을 FlatBuffers 형식(
.tflite
)으로 변환하는 도구를 제공하므로 LiteRT에서 다양한 최신 모델을 사용할 수 있습니다. 또한 정량화 및 메타데이터를 처리할 수 있는 모델 최적화 도구에 액세스할 수 있습니다.다양한 언어 지원: Java/Kotlin, Swift, Objective-C, C++, Python용 SDK를 포함합니다.
고성능: GPU 및 iOS Core ML과 같은 특수 대리자를 통한 하드웨어 가속
개발 워크플로
LiteRT 개발 워크플로는 ML/AI 문제를 식별하고, 이 문제를 해결하는 모델을 선택하고, 기기에서 모델을 구현하는 과정을 포함합니다. 다음 단계에서는 워크플로를 안내하고 추가 안내 링크를 제공합니다.
1. ML 문제에 가장 적합한 솔루션 파악
LiteRT는 머신러닝 문제 해결과 관련하여 사용자에게 높은 수준의 유연성과 맞춤설정 기능을 제공하므로 특정 모델이나 전문적인 구현이 필요한 사용자에게 적합합니다. 플러그 앤 플레이 솔루션을 찾는 사용자는 객체 감지, 텍스트 분류, LLM 추론과 같은 일반적인 머신러닝 태스크를 위한 기성 솔루션을 제공하는 MediaPipe Tasks를 선호할 수 있습니다.
다음 AI Edge 프레임워크 중 하나를 선택합니다.
- LiteRT: 다양한 모델을 실행할 수 있는 유연하고 맞춤설정이 가능한 런타임입니다. 사용 사례에 맞는 모델을 선택하고 필요한 경우 LiteRT 형식으로 변환한 후 기기에서 실행합니다. LiteRT를 사용하려면 계속 읽어보세요.
- MediaPipe Tasks: 맞춤설정이 가능한 기본 모델이 포함된 플러그 앤 플레이 솔루션입니다. AI/ML 문제를 해결하는 태스크를 선택하고 여러 플랫폼에 구현합니다. MediaPipe Tasks를 사용하려면 MediaPipe Tasks 문서를 참고하세요.
2. 모델 선택
LiteRT 모델은 .tflite
파일 확장자를 사용하는 FlatBuffers라는 효율적으로 이동 가능한 형식으로 표현됩니다.
다음과 같은 방법으로 LiteRT 모델을 사용할 수 있습니다.
기존 LiteRT 모델 사용: 가장 간단한 방법은 이미
.tflite
형식인 LiteRT 모델을 사용하는 것입니다. 이러한 모델에는 추가 전환 단계가 필요하지 않습니다. Kaggle 모델에서 LiteRT 모델을 찾을 수 있습니다.모델을 LiteRT 모델로 변환: TensorFlow 변환기, PyToch 변환기 또는 JAX 변환기를 사용하여 모델을 FlatBuffers 형식(
.tflite
)으로 변환하고 LiteRT에서 실행할 수 있습니다. 시작하려면 다음 사이트에서 모델을 찾아보세요.- Kaggle Models 및 Hugging Face의 TensorFlow 모델
- Hugging Face 및
torchvision
의 PyTorch 모델 - Hugging Face의 JAX 모델
LiteRT 모델은 선택적으로 메타데이터를 포함할 수 있으며 이 메타데이터에는 기기 추론 중에 파이프라인 전처리와 후처리의 자동 생성을 위해 사람이 읽을 수 있는 모델 설명과 머신이 읽을 수 있는 데이터가 포함됩니다. 자세한 내용은 메타데이터 추가를 참고하세요.
3. 앱에 모델 통합
LiteRT 모델을 구현하여 웹, 삽입된 기기, 휴대기기에서 완전히 기기 내에서 추론을 실행할 수 있습니다. LiteRT에는 Python, Android용 Java 및 Kotlin, iOS용 Swift, 마이크로 기기용 C++ API가 포함되어 있습니다.
다음 가이드를 사용하여 원하는 플랫폼에서 LiteRT 모델을 구현하세요.
- Android에서 실행: Java/Kotlin API를 사용하여 Android 기기에서 모델을 실행합니다.
- iOS에서 실행: Swift API를 사용하여 iOS 기기에서 모델을 실행합니다.
- Micro에서 실행: C++ API를 사용하여 삽입된 기기에서 모델을 실행합니다.
Android와 iOS 기기에서 하드웨어 가속을 사용하여 성능을 향상할 수 있습니다. 두 플랫폼 모두 GPU 위임을 사용할 수 있으며 iOS에서는 Core ML 위임을 사용할 수 있습니다. 최신 하드웨어 가속기 지원을 추가하려면 자체 위임을 정의하면 됩니다.
모델 유형에 따라 다음과 같은 방법으로 추론을 실행할 수 있습니다.
메타데이터가 없는 모델: LiteRT Interpreter API를 사용합니다. Java, Swift, C++, Objective-C, Python과 같은 여러 플랫폼과 언어에서 지원됩니다.
메타데이터가 있는 모델: LiteRT 지원 라이브러리를 사용하여 맞춤 추론 파이프라인을 빌드할 수 있습니다.
TF Lite에서 이전
TF Lite 라이브러리를 사용하는 애플리케이션은 계속 작동하지만 모든 새로운 활성 개발 및 업데이트는 LiteRT 패키지에만 포함됩니다. LiteRT API는 TF Lite API와 동일한 메서드 이름을 포함하므로 LiteRT로 이전할 때 세부적인 코드 변경이 필요하지 않습니다.
자세한 내용은 이전 가이드를 참고하세요.
다음 단계
신규 사용자는 LiteRT 빠른 시작을 시작해야 합니다. 자세한 내용은 다음 섹션을 참고하세요.
모델 변환
플랫폼 가이드