TensorFlow Lite

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

주요 기능

  • 지연 시간 (서버까지 왕복 없음), 개인 정보 보호 (개인 정보가 기기에서 나가지 않음), 연결 (인터넷 연결 필요 없음), 크기 (모델 및 바이너리 크기 축소), 전력 소비 (효율적인 추론 및 네트워크 연결 부족) 등 5가지 주요 제약 조건을 해결하여 기기 내 머신러닝에 최적화됩니다.
  • 여러 플랫폼 지원: AndroidiOS 기기, 내장된 Linux, 마이크로 컨트롤러를 포함합니다.
  • 다양한 언어 지원 - Java, Swift, Objective-C, C++, Python 등
  • 하드웨어 가속 및 모델 최적화 기능을 갖춘 고성능

개발 워크플로

다음 가이드에서는 워크플로의 각 단계를 살펴보고 추가 안내 링크를 제공합니다.

1. TensorFlow Lite 모델 생성

TensorFlow Lite 모델은 FlatBuffers(.tflite 파일 확장자로 식별됨)라는 효율적으로 포팅 가능한 특수 형식으로 표현됩니다. 이렇게 하면 축소된 크기 (작은 코드 사용 공간) 및 더 빠른 추론 (추가 파싱/압축해제 단계 없이 직접 데이터에 액세스) 등 TensorFlow의 프로토콜 버퍼 모델 형식에 비해 TensorFlow Lite가 제한된 컴퓨팅 및 메모리 리소스로 기기에서 효율적으로 실행될 수 있다는 장점이 있습니다.

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

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

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

  • TensorFlow 모델을 TensorFlow Lite 모델로 변환: TensorFlow Lite 변환기를 사용하여 TensorFlow 모델을 TensorFlow Lite 모델로 변환합니다. 변환 중에 양자화와 같은 최적화를 적용하여 정확도 손실이 거의 또는 전혀 없이 모델 크기와 지연 시간을 줄일 수 있습니다. 기본적으로 모든 모델에는 메타데이터가 포함되지 않습니다.

2. 추론 실행

추론은 기기 내에서 TensorFlow Lite 모델을 실행하여 입력 데이터를 기반으로 예측을 수행하는 프로세스를 의미합니다. 모델 유형에 따라 다음과 같은 방법으로 추론을 실행할 수 있습니다.

Android 및 iOS 기기에서는 하드웨어 가속을 사용하여 성능을 개선할 수 있습니다. 두 플랫폼 모두 GPU 대리자를 사용할 수 있고 iOS에서는 Core ML 대리자를 사용할 수 있습니다. 새 하드웨어 가속기 지원을 추가하려면 자체 위임을 정의하면 됩니다.

사용해 보기

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

기술적 제약

  • 모든 TensorFlow 모델은 TensorFlow Lite 모델로 변환될 수 없습니다. 연산자 호환성을 참조하세요.