LiteRT를 사용하면 Android 앱 LiteRT 시스템은 사전 빌드된 맞춤설정 가능한 Android에서 모델을 빠르고 효율적으로 실행하기 위한 여기에는 하드웨어 가속 옵션이 포함되어 있습니다
머신러닝 모델
LiteRT는 더 작은 데이터 세트로 변환되는 TensorFlow 모델을 머신러닝 모델 형식으로 이식할 수 있습니다 사전 빌드된 모델을 빌드하거나 자체 TensorFlow 모델을 LiteRT 형식으로 변환할 수 있습니다.
이 페이지에서는 이미 빌드된 머신러닝 모델을 사용하는 방법을 설명하며 모델 빌드, 학습, 테스트 또는 변환을 다룹니다. 다음에 대해 자세히 알아보기 특정 목적에 맞게 머신러닝 모델을 선택, 수정, 구축 및 LiteRT(모델 페이지)
Android에서 모델 실행
Android 앱 내에서 실행되는 LiteRT 모델은 데이터, 프로세스, 모델의 로직을 기반으로 예측을 생성합니다. TensorFlow 라이트 모델을 실행하려면 특별한 런타임 환경이 필요합니다. 모델에 전달되는 데이터는 특정 데이터 형식, 즉 텐서를 지원합니다. 모델이 추론 실행으로 알려진 데이터를 사용하여 새로운 방식으로 예측 결과를 생성합니다. 텐서를 작성하여 Android 앱으로 전달하여 다음과 같은 조치를 취할 수 있습니다. 사용자에게 결과를 표시하거나 추가 비즈니스 로직을 실행합니다.
그림 1. Android의 LiteRT 모델의 기능 실행 흐름 있습니다.
기능 디자인 수준에서 Android 앱은 다음 요소가 필요합니다. LiteRT 모델을 실행합니다.
- 모델 실행을 위한 LiteRT 런타임 환경
- 데이터를 텐서로 변환하는 모델 입력 핸들러
- 출력 결과 텐서를 수신하고 해석하는 모델 출력 핸들러 예측 결과로 제공
다음 섹션에서는 LiteRT 라이브러리 및 도구를 사용하는 방법을 설명합니다. 이러한 기능 요소를 제공합니다.
LiteRT로 앱 빌드
이 섹션에서는 앱 구현을 위한 가장 일반적인 권장 경로를 설명합니다. Android 앱에서 LiteRT를 사용하세요. 무엇보다 런타임 환경 섹션과 개발 라이브러리 섹션을 참조하세요. 만약 커스텀 모델을 개발한 경우 이 모듈의 고급 개발 경로 섹션을 참조하세요.
런타임 환경 옵션
모델 실행을 위해 런타임 환경을 사용 설정할 수 있는 몇 가지 방법이 있습니다. 할 수 있습니다. 다음과 같은 옵션을 사용하는 것이 좋습니다.
- Google Play 서비스 런타임의 LiteRT 환경 (권장)
- 독립형 LiteRT 런타임 환경
일반적으로 Google Play에서 제공하는 런타임 환경을 사용해야 합니다. 표준 환경보다 더 공간 효율적이므로 동적으로 로드되므로 앱 크기가 작아집니다. 또한 Google Play 서비스에서는 가장 최신의 안정적인 LiteRT 버전을 자동으로 사용합니다. 시간이 지남에 따라 추가 기능과 향상된 성능을 제공합니다. 만약 Google Play 서비스를 포함하지 않는 기기에 앱을 제공하거나 ML 런타임 환경을 면밀히 관리해야 한다면 표준 LiteRT 런타임입니다. 이 옵션은 추가 코드를 ML 런타임을 보다 세밀하게 제어하여 앱 다운로드 크기를 늘리는 데 드는 비용을 줄일 수 있습니다.
TensorFlow를 추가하여 Android 앱에서 이러한 런타임 환경에 액세스합니다. 라이트 개발 라이브러리를 앱 개발 환경에 배포합니다. 정보 앱에서 표준 런타임 환경을 사용하는 방법에 대해서는 섹션으로 이동합니다.
라이브러리
Google Play 서비스를 제공합니다. 이 LiteRT 코어 및 지원 라이브러리를 제공합니다. 대상 LiteRT 라이브러리 및 런타임 사용에 관한 프로그래밍 세부정보 자세한 내용은 Android용 개발 도구를 참고하세요.
모델 가져오기
Android 앱에서 모델을 실행하려면 LiteRT 형식 모델이 필요합니다. 나 사전 빌드된 모델을 사용하거나 TensorFlow로 빌드한 후 Lite로 변환할 수 있음 형식으로 입력합니다. Android 앱의 모델을 가져오는 방법에 관한 자세한 내용은 다음을 참조하세요. LiteRT 모델 페이지
입력 데이터 처리
ML 모델에 전달하는 모든 데이터는 특정 데이터가 있는 텐서여야 합니다. 주로 텐서의 형태라고 부릅니다. 모델로 데이터를 처리하려면 앱 코드는 이미지, 텍스트, 이미지, 오디오 등의 기본 형식에서 오디오 데이터를 모델에 필요한 형태의 텐서로 변환합니다.
추론 실행
모델을 통해 데이터를 처리하여 예측 결과를 생성하는 것을 추론 실행 Android 앱에서 추론을 실행하려면 LiteRT 런타임 환경, 모델, 입력 데이터입니다.
모델이 특정 기기에서 추론을 생성할 수 있는 속도 처리되는 데이터의 크기, 모델의 복잡성 및 또는 특수 프로세서와 같은 사용 가능한 컴퓨팅 리소스를 사용하여 가속기라고 합니다. 머신러닝 모델은 그래픽 처리 장치 (GPU), 텐서와 같은 특수 프로세서 즉, 하드웨어 처리 장치 (TPU)라는 LiteRT 하드웨어 드라이버를 통해 대임 대상입니다. 다음의 위임 및 하드웨어 가속에 대한 자세한 내용은 다음을 참조하세요. 자세한 내용은 하드웨어 가속을 참조하세요. 개요를 참조하세요.
출력 결과 처리
모델은 예측 결과를 텐서로 생성하며 이는 개발자가 처리해야 합니다. Android 앱에서 사용자에게 작업을 실행하거나 결과를 표시합니다. 모델 출력 결과는 단일 결과에 해당하는 숫자만큼 단순할 수 있습니다 (0 = dog, 1 = 고양이, 2 = 새)의 경우 훨씬 더 복잡한 결과까지 얻을 수 있습니다. 예를 들어 이미지의 여러 분류된 객체에 대한 여러 경계 상자와 0과 1 사이의 예측 신뢰도 등급을 제공합니다.
고급 개발 과정
보다 정교하고 맞춤화된 LiteRT 모델을 사용하는 경우 위에 설명된 것보다 더 고급 개발 접근 방식을 사용해야 합니다. 다음 섹션에서는 모델 실행을 위한 고급 기법을 설명하고 Android 앱에서 LiteRT용으로 개발하기만 하면 됩니다.
고급 런타임 환경
표준 런타임 및 Google Play 서비스 런타임 외에도 추가 런타임 환경이 있으므로 몇 가지 옵션이 있습니다. 이러한 환경이 가장 많이 사용되는 경우는 지원되지 않는 ML 작업을 사용하는 머신러닝 모델이 있는 경우 표준 런타임 환경에서 사용합니다
- LiteRT용 Flex 런타임
- 커스텀 빌드된 LiteRT 런타임
LiteRT Flex 런타임을 사용하면 특수 연산자를 사용할 수 있습니다. Compute Engine을 실행하는 고급 옵션으로 Android용 LiteRT를 빌드하여 연산자와 TensorFlow 머신러닝 모델을 실행하는 데 필요한 기타 기능을 살펴봅니다. 자세한 내용은 Android용 LiteRT 빌드를 참고하세요.
C 및 C++ API
LiteRT는 C 및 C++를 사용하여 모델을 실행하기 위한 API도 제공합니다. 만약 Android NDK를 사용하는 경우 이 API를 사용해 보세요. 다음과 같은 경우에도 이 API 사용을 고려할 수 있습니다. 여러 플랫폼 간에 코드를 공유하기를 원합니다. 자세한 내용은 자세히 알아보려면 개발 도구 페이지를 참조하세요.
서버 기반 모델 실행
일반적으로 Android 기기의 앱에서 모델을 실행하여 지연 시간이 단축되고 데이터 개인 정보 보호가 개선된다는 이점이 있습니다. 하지만 기기 외부의 클라우드 서버에서 모델을 실행하는 것이 솔루션을 제공합니다 예를 들어, 모델을 큰 모델로 압축하여 쉽게 압축하지 못하는 경우 사용자의 기기에 맞는 크기로 또는 Android 기기에서 적절한 성능을 발휘해야 합니다. 이 접근 방식은 광범위한 모델에 걸쳐 모델의 일관적인 성능을 최우선 순위입니다
TensorFlow 머신 실행을 위한 전체 서비스 모음을 제공하는 Google Cloud Vertex AI Feature Store의 핵심 기능을 살펴봤습니다 자세한 내용은 Google Cloud의 AI 및 머신 학습 제품 페이지를 참조하세요.
커스텀 모델 개발 및 최적화
고급 개발 경로에는 커스텀 머신 개발이 포함될 가능성이 높습니다. Android 기기에서 사용할 수 있도록 모델을 학습시키고 최적화할 수 있습니다 만약 계획을 세우려면 ML 모델에 양자화 모델을 적용하는 것을 모델을 학습시키는 데 있어 메모리와 처리 비용을 줄일 수 있습니다. 빌드 방법에 대한 자세한 내용은 LiteRT와 함께 사용할 고성능 모델에 대해 자세히 알아보려면 최고의 성능을 확인하세요. 권장사항을 참고하세요.