인공지능

Tensorflow Lite + Android = Android ML Platform

뽕다르 2021. 8. 5. 17:59

[요약]

  • Tensor Flow Lite for Android: Tensorflow Lite가 이제 Google Play Service에 포함되어 배포
  • Automatic Acceleration : 디바이스에 따라 하드웨어 가속을 포함하여 자동으로 최적의 연산을 결정 
  • Android 버전을 포괄하는 일관된 API : 정기적인 Google Play Service 업데이트를 통한 API 업데이트
  • 이런 구성을 통합해 Android ML Platform이라고 명칭

 

구글이 Tensorflow Lite를 안드로이드에 통합하고, 자동 가속 기능을 포함한 Android ML Platform을 발표했습니다.

 

Tensorflow Lite는 구글이 만든 인공지능 모델 개발, 추론을 위한 Tensorflow의 모바일 버전으로, 스마트폰이나 임베디드 같은 제한된 리소스 환경에서 최적의 인공 지능 추론 연산을 위한 딥러닝 프레임워크입니다. 지금까지 안드로이드 앱 개발자가 딥러닝 기술을 활용하기 위해서는 안드로이드용 Tensorflow Lite 패키지를 앱에 추가 후 개발해야 했는데, 이렇게 되면 많은 문제점이 있습니다.

 

먼저 앱 사이즈 문제인데요. 요즘 같이 네트워크 속도가 빨라지고, 스마트폰의 저장 공간이 커졌다고 해도 앱 용량은 앱 개발자에게 큰 압박이게 사실입니다. 그런데 딥러닝 추론 연산만을 위해 수 메가의 tensorflow lite aar를 포함해야 하기 때문에 전체 앱 사이즈에서 상당한 비용을 치러야 합니다.

 

두 번째는 딥러닝 연산 성능의 일관성 문제입니다. 딥러닝 추론 연산은 디바이스의 메모리 또는 계산 능력에 따라 연산 시간, 연산 결과, 동작 안정성에 많은 차이가 발생합니다. 애플리케이션 개발자 입장에서는 이런 모든 디바이스의 상황을 고려해 개발할 수 없기 때문에 검증된 일부 디바이스를 제외하고는 정상적인 동작과 성능을 보장할 수 없게 됩니다. 결국 이런 일관성 없는 동작은 유저 경험을 망치게 되고 전체 안드로이드 생태계에 부정적인 영향을 끼치게 됩니다.

 

세 번째는 두 번째 문제와 관련해서 개발자들은 최대한 많은 디바이스에서 동작과 성능을 보장하기 위해 가능하면 오래된 API, 딥러닝 모델을 선택할 수밖에 없다는 점입니다. 아주 좋은 성능의 딥러닝 모델이 있더라도, 최신의 일부 디바이스에서만 쓸수 있다면 개발자 입장에서는 쓸 이유가 없기 때문입니다.

 

이런 문제를 해결하기 위해 구글은 먼저 Tensorflow Lite를 앱 개발자가 신경 쓰지 않고 쓸 수 있도록 Google Play Service에 포함시킬 예정이라고 발표했습니다. Google Play Service 자체가 이렇게 안드로이드 버전 별로 파편화된 Google Service 관련 API를 모아 놓은 패키지 이기 때문에 사실상 이제야 제대로 된 자리를 찾았다고 볼 수 있습니다. 덕분에 최신 딥러닝 기술을 위한 API, 호환성 등은 이제 앱 개발자가 신경 쓰지 않아도 가능한 많은 디바이스에서 최신 기술을 쓸 수 있게 되는 것입니다. 다른 의미론 Tensorflow Lite가 이제 안드로이드의 핵심 API에 포함되었다는 점에서도 큰 의미가 있습니다.

 

뿐만 아니라 디바이스별로 성능 파편화를 최대한 막기 위한 자동 가속 기능을 공개했습니다. 지금은 앱 개발자가 모바일에서 딥러닝 연산을 가속하기 위해 특정 하드웨어 가속 장치(GPU, DSP, NPU)를 임의로 셋팅 해야 하는데, 이 때문에 디바이스 간에 성능 차이가 많이 발생하게 됩니다. 자동 가속 기능은 이런 문제를 해결하기 위해 디바이스에 있는 하드웨어 가속 가속 장치에서 최적의 가속기를 찾아 자동으로 적용해 주게 됩니다. 실제로 안드로이드 NNAPI가 이미 이러한 기능을 하고 있고 Tensorflow Lite에서도 NN API가 연동 되어 있는데, 앞으론 유기적으로 통합될 것으로 보입니다.

 

이렇게 Tensorflow Lite와 Google Play Service를 통합하고 Android NN API를 통해 딥러닝 성능의 상향 평준화를 목표로 하는 것이 바로 Android ML Platform입니다. Android ML Platform는 안드로이드에서 AI는 이제 하나의 기능이 아니라 안드로이드 그 자체가 AI플랫폼이 되는 첫발이라는 점에서 의미가 큰것 같습니다. 정식 적용은 올해 말에 예정되어 있습니다.

 

 

Announcing Android’s updateable, fully integrated ML inference stack

Posted by Oli Gaymond , Product Manager, Android ML On-Device Machine Learning provides lower latency, more efficient battery usage, ...

android-developers.googleblog.com