모든 ML Kit 기능은 기본적으로 Google 학습 모델 (기본 모델)을 사용합니다. 이 가이드는 기본 모델에만 적용됩니다. 커스텀 모델에 대한 안내는 여기를 참조하세요.
ML Kit API의 모델은 다음 세 가지 방법 중 하나로 설치할 수 있습니다.
- 번들되지 않음: Google Play 서비스를 통해 모델이 다운로드되고 관리됩니다.
- 번들됨: 모델이 빌드 시간에 앱에 정적으로 연결됩니다.
- 동적으로 다운로드됨: 모델이 요청 시 다운로드됩니다.
각 API에 지원되는 설치 경로
아래 표는 각 ML Kit 기능에서 지원되는 모델 설치 경로를 보여줍니다.
번들되지 않음 | 번들 | 동적으로 다운로드됨 | |
텍스트 인식 v2 | ✅ | ✅ | |
얼굴 인식 | ✅ | ✅ | |
얼굴 메시 감지 | ✅ | ||
포즈 감지 | ✅ | ||
셀카 세분화 | ✅ | ||
바코드 스캔 | ✅ | ✅ | |
이미지 라벨 지정 | ✅ | ✅ | |
객체 감지 및 추적 | ✅ | ||
디지털 잉크 인식 | ✅ | ||
문서 스캐너 | ✅ | ||
주제 분류 | ✅ | ||
Google 코드 스캐너 | ✅ | ||
언어 식별 | ✅ | ✅ | |
번역과 | ✅ | ||
스마트 답장 | ✅ | ✅ | |
항목 추출 | ✅ |
API별 가이드에서는 지정된 API에서 사용할 수 있는 설치 옵션을 보여줍니다.
설치 옵션 간의 주요 차이점
번들되지 않음 | 번들 | 동적으로 다운로드됨 | |
모델은 어디에 저장되나요? | Google Play 서비스에 있으며 이 앱에서 사용하는 저장용량에 계산되지 않음 | 설치 후 앱별 저장소에 저장됨 | 모델 다운로드 후 앱별 저장소에 저장됨 |
모델 크기는 앱 크기에 어떤 영향을 미치나요? | 앱 크기에 영향을 미치지 않음 | 앱 크기에 직접적인 기여 | 앱 크기에는 기여하지 않지만 앱별 저장소는 증가합니다. |
모델은 언제 업데이트되나요? | 최신 버전이 출시되면 자동으로 업데이트됩니다. | 모델을 업데이트하려면 앱을 업데이트해야 함 | 모델을 업데이트하려면 앱을 업데이트해야 함 |
모델은 언제 다운로드되나요? | 사용하기 전에 모델을 다운로드해야 함 | 앱 설치 시 모든 모델과 기능이 포함되므로 즉시 사용할 수 있습니다. | 모델 다운로드, 업데이트, 삭제는 RemoteModelManager API를 사용하여 수동으로 관리해야 합니다. |
모델은 언제 기기에서 삭제되나요? | Google Play 서비스는 이 모델에 종속된 모든 앱이 제거된 경우에만 스토리지에서 모델을 삭제합니다. | 앱이 제거되면 앱별 저장소에서 모델이 삭제됩니다. | 앱이 제거되면 다운로드한 모델은 앱별 저장소에서 삭제됩니다. |
번들로 묶음과 번들로 묶이지 않은 것 중에서 선택하는 방법
API가 번들 및 번들 해제된 설치 옵션을 모두 지원하는 경우:
다음과 같은 사항이 우선이라면 번들 옵션을 사용하세요.
- 앱 설치 후 즉시 기능 기능 완료
- 앱 설치 후 네트워크 연결 없이 기능 작동
우선순위가 높은 경우 번들로 묶이지 않은 옵션을 사용하세요.
- 앱 크기 축소
- Google Play 서비스를 통한 자동 모델 업데이트
모델 다운로드 방법
번들로 묶이지 않은 모델 옵션을 사용할 때는 모델을 기기에 다운로드하는 방법을 지정할 수 있습니다.
앱의
AndroidManifest.xml
파일에 선언을 추가하여 설치 시간 모델 다운로드를 사용 설정할 수 있습니다. 예를 들어 아래 코드 스니펫은 Play 스토어에서 앱을 설치한 후 바코드 스캔 모델을 자동으로 다운로드하도록 앱을 구성하는 방법을 보여줍니다.<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode" > <!-- To use multiple models: android:value="barcode,model2,model3" --> </application>
Google Play 서비스 ModuleInstallClient API를 통해 명시적 다운로드를 요청할 수 있습니다.
설치 시 모델 다운로드를 사용 설정하지 않거나 명시적 다운로드를 요청하지 않으면 기능을 처음 실행할 때 모델이 다운로드됩니다. 다운로드가 완료될 때까지 추론 요청이 실패합니다.
모델을 업데이트하는 방법
번들 모델 또는 동적으로 다운로드한 모델 옵션을 사용할 때 모델을 업데이트하려면 다음 안내를 따르세요.
최신 ML Kit 기능 클라이언트 라이브러리를 사용하도록 앱의 Gradle 파일을 업데이트합니다.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.2.0' // The latest version number of the API }
앱을 다시 빌드합니다.
일부 API에서 동적으로 다운로드되는 모델을 제공하는 이유
일부 ML Kit API에는 모델 옵션이 너무 많아서 번들로 묶을 수 없습니다. 예를 들어 디지털 잉크 인식은 300개 이상의 언어를 지원하며 설치 중에 항상 모든 언어를 기능 내에 포함할 필요는 없습니다. 이를 위해 설치 후 요청 시 모델을 다운로드하는 세 번째 설치 옵션을 제공합니다. 현재 디지털 잉크 인식, 번역, 항목 추출에서만 이 옵션을 사용할 수 있습니다.