텐서플로 , 커넥티드 디바이스에 AI를 가지고 오다


Network
source: Pixabay
원문 : TensorFlow brings AI to the connected device



Mitchell Weiss는 DigitasLBi 에서 데이터 사이언스 및 머신 러닝 개발팀을 이끌고 있으며, 클라이언트와 업계의 문제를 모두 해결할 수 있는 첨단 기술과 솔루션을 도입하는 업무를 담당하고 있습니다. 그는 내부 제품 개발에 핵심적인 기여를 하고 있으며, AI 와 머신 러닝 분야의 클라이언트를 위한 데이터와 기술의 한계를 지속적으로 넓혀가고 있습니다. Mitchell 은 Amherst 의 Massachusetts 대학교에서 경제학 학사 학위와 응용 경제학 석사 학위를 받았습니다.


정성국 옮김



소비자는 인공지능 비서와 상호 작용을 하든 애플리케이션에서 맞춤형 콘텐츠를 기대하든, 자신의 디바이스와 더 많은 AI 중심의 상호 작용을 기대하기 시작했습니다. 하지만, 현재 이용 가능한 AI 애플리케이션 환경을 고려해볼 때, 이 애플리케이션들은 제조사 중심으로 크게 치우쳐 있습니다. 그렇다면, 서드파티 앱 개발자는 어떻게 시리Siri나 구글 어시스턴트 같은 내장 AI와 같이 성능 그리고 상호 작용면에서 유사한 경험을 제공할 수 있을까요?


모바일 경험을 풍부하게 하는 TensorFlow Lite

이것이 바로 TensorFlow Lite 출시가 아주 중요한 이유입니다. TensorFlow는 지난 11월 TensorFlow Mobile을 개선한 TensorFlow Lite를 출시했습니다. TensorFlow Lite는 서드파티 개발자가 모바일 디바이스에서 머신 러닝을 성공적으로 수행하기 위한 몇가지 장벽을 낮추는데 집중합니다. 모델의 복잡도와 입력 데이터의 크기에 따라 다르지만, TensorFlow 기본 버전도 모바일 애플리케이션에서 사용할 모델을 개발할 수 있습니다. 그리고 현재 버전에서 계산 자체는 디바이스 외부에서 수행하는게 효과적일 수 있습니다. 

하지만, 개인화된 상호 작용이 점점 더 보편화 됨에 따라 계산 및 추론 중 일부는 디바이스 자체와 더 가까운 곳에서 수행되어야 할 필요가 있습니다. 또한, 로컬에서 더 많은 계산을 수행함으로써 디바이스 간 데이터 전송이 필요 없어지므로 보안 및 오프라인 상호 작용이 향상됩니다.


기존 TensorFlow 모델을 가지고 TensorFlow Lite converter를 통해 실행함으로써 이 작업을 수행할 수 있습니다. TensorFlow Lite는 덜 제한된 하드웨어에서 개발된 기존의 학습된trained 모델을 가져와 모바일에 최적화된 버전으로 변환하도록 설계됐습니다. 확장 가능한 인프라스트럭처에서 학습training 모델의 유연성 및 확장성을 모두 확보하고 있지만, 일단 해당 모델을 확보하고 나면, 더 이상 동일한 하드웨어를 사용하여 애플리케이션을 배포하지 않아도 됩니다.

 

fig1.png

 [그림1] 이미지 제공 - TensorFlow

 

구체적인 예로, 어떤 물체가 핫도그인지 아닌지 판단하는 애플리케이션을 만든다고 해보겠습니다(HBO 의 Silicon Valley 에서 차용). 이미지 분류 기술은 꽤나 잘 알려져 있지만, 기본 데이터는 꽤 큰편이며, 특히 현재 모바일 카메라의 해상도에서는 더욱 그러합니다. 이는 우리를 조금 난처하게 합니다(not hotdog). 우리는 소비자가 낮은 지연시간, 높은 정확도 및 데이터 요금에 영향을 적게 미칠 것을 기대한다는 점을 알고 있습니다. 그래서, 우리는 무엇을 해야할까요? (hotdog/not hotdog 관련 영상 - https://www.youtube.com/watch?v=mrk95jFVKqY)

TensorFlow Lite가 나오기 전, 이러한 이미지를 확장 가능한 하드웨어에서 처리 및 평가되도록 하기 위해 클라우드로 전송하는 것을 고려해야만 했습니다. 이는 소비자의 기대를 만족시키는데 실패했다는 의미라고 해도 틀리지 않을 것입니다. 애플리케이션을 통한 사진 제출 시점과 응답 회신 시점 사이에 신경쓰일만한 시간이 발생할 수 있고, 모델의 정확도에는 영향이 없겠지만, 디바이스에서 촬영한 이미지를 전송하는 동안 소비자의 데이터 요금에 확실히 영향을 줄 것입니다.

그래서 더 뛰어나며 효과적인 경험을 제공하기 위해, Weissman score-defying 압축 알고리즘을 통해 클라우드로 전송할 입력 데이터의 크기를 줄이거나, TensorFlow Lite로 기존 모델을 변환하여 로컬에서 계산할 수 있습니다.


두번째 옵션을 원한다면, 다음을 보시기 바랍니다 : 

  1. 손으로 이미지를 분류하기 위해 대학원생을 모으거나, mechanical turk 서비스를 사용합니다.
  2. 모델의 요구사항에 따라 이를 충족시키기 위해 리소스를 확장할 수 있는 클라우드에서 분류기를 학습시킵니다.
  3. 모바일 디바이스에서 더 나은 성능 및 계산을 하기 위해 TensorFlow Lite로 학습된 모델을 변환합니다.

 

TensorFlow Lite에서의 모델 형식format인 tflite는 모델 자체의 형식을 최적화 및 개선하고, 추론 및 계산에 더 나은 메모리 성능을 낼 수 있도록 하였으며, 가능할 경우에 모바일 디바이스의 하드웨어와 직접 상호 작용하기 위한 인터페이스를 제공함으로써 이러한 사용 사례가 가능하도록 개발되었습니다.

TensorFlow Lite의 출시는 모바일 경험에 AI 를 도입하는데 있어 중요한 진전입니다. 모바일 하드웨어와 운영 체제를 위해 TensorFlow의 기존 모델을 최적화함으로써, 서드파티 애플리케이션은 디바이스에 더 수준 높은 AI 애플리케이션을 직접 통합할 수 있습니다. 저는 이러한 이점이 증강현실AR과 자연어 애플리케이션에서 구체화 될 것으로 기대합니다.