0%

이건희(Invest Crypto, GDG 판교 운영자)

개요

  1. Google DevFest 에서 이미 발표된 것이고, Google I/O를 통해 새로 발표함.
  2. High-Level APIs
    • TF Extension, TF Hub and TF Serving
    • Opportunities, challenges, and strategies to develop AI for everyone
  3. Codelab 적용 가능

본 세션

1. Tensorflow.js

  1. 기존은 Python 기반이었음. 그러나 이번에는 JavaScript 로도 돌릴 수 있음.

  2. 브라우저에서 작동하는 Tensorflow

    • 설치가 필요 없고, 상호작용이 가능하며, 머신러닝에 필요한 센서들을 작동 또는 입력에 따른 출력값을 취득할 수 있음.
  3. Layers API (Keras Model) - Core API (Tensorflow SavedModel)

    • Deeplearn.js Low-Level 선형대수 연산을 Core API 로 작동하여 연산함.
    • Keras Model 과 SavedModel 구동 코드와 방식이 다르기 때문에 잘 생각하여 코딩해야한다.
  4. CDN으로 불러올 수 있기 때문에, 환경 설치에 대한 어려움이 덜 한다. 그러나 네트워크의 영향이 매우 크다.

  5. Core API가 기초적인 사칙연산을 수행한다.

  6. Demo : EMOJI SCAVENGER HUNT

    실시간으로 카메라로 받아오는 코드

    JavaScript
    1
    2
    3
    const pixels = tfc.fromPixels(camera.videoElement);
    // 서버단에서 받아와 추론하면 cost 가 다량 발생할 수 있기 때문에, 클라이언트가 처리한다.
    // 클라이언트가 곧바로 추론하는 방식.
  7. Node.js 에서도 GPU 연산이 가능하다. (Eco System + V8 speed)

    express 백엔드와 Tensorflow 를 하나로 묶을 수 있다.

  8. JavaScript 프로그래밍에 익숙해져있는 사람들은 굳이 Python 언어를 추가적으로 배울 필요가 없다.
    (성능상에 차이가 정말 미묘한 근소차이기 때문이다.)

  9. chromeOS 에 Linux Apps 실행이 가능하도록 개발되었다. 이런 점을 고려하자면 Tensorflow.js 도 충분히 만들 이유가 있겠다고 유추한다.

  10. 모바일앱과 IoT는 Tensorflow LITE, 모바일/데스크탑 브라우저는 Tensorflow.js


Tensorflow LITE

  1. 클라이언트와 서버의 영상데이터를 추론하는 동안 막대한 네트워크 비용이 발생된다.
  2. 큰 모델의 크기를 감당할 만한 클라이언트가 아직 존재하지 않거나 그 기술이 미미하기 때문에 많이 보완해야한다.
  3. 공식홈페이지에서 데모를 제공하고 있기 때문에 확인해보자.

Tensorflow HUB

  1. 모델을 로컬에 저장하고 로드하는 것이 아닌, HUB로부터 링크를 이용하여 로드하는(서비스를 제공하는) 방식.
  2. 미리 학습된 가중치와 그래프를 포함하는 모듈들, 재사용 및 재학습 가능.
  3. 사용법 : hub.Module(“링크…//<Module 이름>/[,trainable=True])
    • trainable : 내가 가지고 있는 모듈을 재학습해주는 파라미터 기능
  4. Google 이 제공하는 Modules
    1. Image - Inception, Mobilenet, NASNet, PNASNet, ResNet
    2. Text : NNLM (한국어 지원)
    3. Etc : Progan, Delf, I3D
  5. 기존 모델 재사용 용이, 중복 배포 방지, 진입장벽 낮춤

Tensorflow Model Analysis

  1. Tensorflow 평가 라이브러리, 많은 양 데이터 분산 평가, Jupyter 통한 시각화 처리
  2. Tensorflow Model Analysis → Eval Graph → Tensorflow Serving 순으로 진행

Tensorflow Serving

  1. Service → (데이터 전달) → 서버 → 학습 → 모델 → Service 의 문제 해결점을 Tensorflow Serving 이 그 사이에서 Serving 하여, 다중 모델, Thread Isolation, 높은 처리량, 적용을 한다.
  2. Service → (데이터 전달) → 서버 → 학습 → 모델 → (gRPC 이용) → Serving → Service
  3. RESTful API 적용 가능. (2018. 7. 7 기준 아직 미공개)

요약

- Tensorflow 는 백엔드 뿐만 아니라 클라이언트 확장도 이뤄지고있다.
- 점점 다양한 개발자를 수용하기 위해 개발 편의성을 늘리고 있다.
- 다양한 플랫폼으로 Tensorflow 가 진출하고 있다.
- Tensorflow 를 배우자