TensorFlow Lite

TensorFlow Lite는 개발자가 모바일, 내장형 기기, IoT 기기에서 모델을 실행할 수 있도록 지원하여 기기 내 머신러닝을 사용할 수 있도록 하는 도구 모음입니다.

주요 특징

  • 기기 내 머신러닝에 최적화됨, 5가지 핵심 제약사항 해결: 지연 시간(서버까지의 왕복 없음), 개인 정보 보호(기기에 개인 정보를 남기지 않음), 연결성(인터넷 연결이 필요하지 않음), 크기(모델 및 바이너리 크기 축소), 전력 소비(효율적인 추론 및 네트워크 연결 불필요)
  • 여러 플랫폼 지원: AndroidiOS 기기, 내장형 Linux마이크로 컨트롤러
  • 다양한 언어 지원: 자바, Swift, Objective-C, C++, Python 등
  • 고성능: 하드웨어 가속모델 최적화 사용
  • 포괄적인 : 다양한 플랫폼에서의 일반적인 머신러닝 작업(예: 이미지 분류, 객체 감지, 자세 추정, 질문 답변, 텍스트 분류 등)

개발 워크플로

다음 가이드는 워크플로의 각 단계를 둘러보고 다음 안내에 관한 링크를 제공합니다.

1. TensorFlow Lite 모델 생성

TensorFlow Lite 모델은 FlatBuffers(.tflite 파일 확장자로 식별됨)라는 효율적으로 이동 가능한 특수 형식으로 표현됩니다. TensorFlow 프로토콜 버퍼 모델 형식에 비해 축소된 크기(작은 코드 크기), 추론 속도 개선(추가적인 파싱/압축해제 단계 없이 직접 데이터 액세스) 등의 이점이 있기 때문에 제한적인 컴퓨팅 및 메모리 리소스로도 기기에서 효율적으로 TensorFlow Lite를 실행할 수 있습니다.

TensorFlow Lite 모델은 선택적으로 메타데이터를 포함할 수 있으며 이 메타데이터에는 기기 추론 중에 파이프라인 전처리와 후처리의 자동 생성을 위해 사람이 읽을 수 있는 모델 설명과 머신이 읽을 수 있는 데이터가 포함됩니다. 자세한 내용은 메타데이터 추가를 참고하세요.

다음 방법으로 TensorFlow Lite 모델을 생성할 수 있습니다.

  • 기존 TensorFlow Lite 모델 사용: 기존 모델을 선택하려면 TensorFlow Lite 예를 참고하세요. 모델은 메타데이터를 포함할 수도 있고, 포함하지 않을 수도 있습니다.

  • TensorFlow Lite 모델 생성: TensorFlow Lite Model Maker를 사용하여 자체 맞춤 데이터 세트를 포함하는 모델을 만듭니다. 기본적으로 모든 모델은 메타데이터를 포함합니다.

  • TensorFlow 모델을 TensorFlow Lite 모델로 변환: TensorFlow Lite 변환기를 사용하여 TensorFlow 모델을 TensorFlow Lite 모델로 변환합니다. 변환 중에 최적화(예: 양자화)를 적용하여 정확성의 손실이 없거나 최소화된 상태로 모델 크기와 지연 시간을 줄일 수 있습니다. 기본적으로 모든 모델은 메타데이터를 포함하지 않습니다.

2. 추론 실행

추론은 기기 내의 TensorFlow Lite 모델 실행 과정을 참고하여 입력 데이터에 따라 예측을 실행하는 것입니다. 모델 유형에 따라 다음과 같은 방법으로 추론을 실행할 수 있습니다.

Android와 iOS 기기에서 하드웨어 가속을 사용하여 성능을 향상할 수 있습니다. GPU 위임을 사용할 수 있는 플랫폼 중에서 Android에서는 NNAPI 위임(최신 기기) 또는 Hexagon 위임을 사용할 수 있고 iOS에서는 핵심 ML 위임을 사용할 수 있습니다. 최신 하드웨어 가속기 지원을 추가하려면 자체 위임을 정의하면 됩니다.

시작하기

타겟 기기에 따라 다음 가이드를 참고할 수 있습니다.

기술적 제약

  • 모든 TensorFlow 모델이 TensorFlow Lite 모델로 변환될 수 있는 것은 아닙니다. 연산자 호환을 참고하세요.

  • 기기 내 학습은 지원되지 않지만 Google 로드맵에는 포함되어 있습니다.