trybeetle

take it slow!!

Advanced ML with TF on GCP (course 2)振り返り


Posted on Oct. 25, 2018, 2:15 a.m.



CourseraのAdvanced Machine Learning with TensorFlow on Google Cloud Platform Specializationのcourse2の振り返りです。Production Machine Learning systemについてです。


Architecting Production ML systems

ML systemを設計する際に、考えること。trainingとServing時にDynamicとStaticのどちらを採用するか。下記の様にそれぞれにメリットデメリットがあります。

Static Dynamic
High storage Low storage
Low, fix latency Variable latency
Lower Maintenance Higher Maintenance
Space intensive Compute intensive


Ingesting data to cloud

どのようにして、gcp上にbigdataを移すかということについてでした。主に下記の様な方法があります。

  • gsutil を使用して、gcs上に移動させる。その際に下記の様に、multithredオプションを付けること。
    gsutil -m cp -r [source_dir] gs://[backetName]
  • アプライアンスの使用(何テラもあるような非常に大きいテーブルの場合。)
  • gcs transfer service
  • BigQuery transfer service


Adaptable ML system

upstream dataは、変わることがあるため、適宜モニターを重ねながら、データへの変更などが無いかチェックする必要があります。もし変更があれば、そのデータを使用するかどうかも含め再度モデルを定義し直し、実行する必要があります。



High Performance ML system

パフォーマンスの指標として、処理速度があります。Hardwareにボトルネックがある場合、下記の様にInput, CPU, Memoryと部類分けできます。

Constraint Input/Output CPU Memory
Issue Large inputs
Input requres parsing
Expensive Computation Large number of input
Action Store data efficiently
Paralrell Read
Smaller batch size
Upgrade cpu
Simpler model
Add memory
Simpler model

また、システムをアップグレードする場合でも、単体のシステムを使用するか、分散されたシステムを使用するかで異なります。分散システムにも下記のような方法があります。

  • Async Parameter Server
  • Sync All reduce

また、inputの方法としても、csvを読み込む方法、BigQueryから読み込む方法、Apache Beamを使う方法など、色々あります。



Hybrid ML system

全てをクラウドで実行できない場合もあります。onpremiseやmobileで実行したい場合などです。そのために下記の製品があります。

  • kubeflow
  • tensorflow lite

kubeflow は、Comosability, Portablity, Scalabilityを備えており、様々なインフラ環境で実行することができ、また、他の環境に移すことができます。kubernetesでのML system構築をよりシンプルに実行できるようになります。

tensorflow liteは、mobile環境の様な低いHW性能でもinferenceを実行できるようにしています。変数を定数に変換したり、値もは8bitに制限したりと、制約は出てきますが、mobile環境でも実行可能となり、無為に帯域を使用する必要もなくなります。


Category:ML
Tag: tensorflow ML
Oct. 25, 2018, 2:15 a.m.

Comments