どうもこんにちは。コンです。
現在私はGoogle Cloud Platformが資格として設定している、Professional Machine Learning Engineerの取得に向けて頑張っております。
今はグーグルが無料で提供してくれているオンデマンドビデオで勉強しているのですが
Designing high-performance ML systemsの章のQuizに訓練時間を短くする内容が
あまりビデオで紹介されていない(見逃してるだけ?)と思ったのでここにまとめます。
モデルの訓練スピードを制約する要素
機械学習モデル(AI)は入力データを学習して、初めて使えるようになります。
しかし学習時間がかかってしまうと、ビジネスの納期に間に合わないことが発生したりします。
下記に一般的な学習が進まない例と解決策があります。
Constraint | 内容 | 改善策 |
I/O(input/output) bound | ・入力データ数が大きい ・ストレージからのデータ転送が遅い | ・並列読み込み、バッチサイズの見直し ・ tf.data API を使用して非常に性能の高い TensorFlow 入力パイプラインを構築する |
CPU bound | 計算量が多い | ・GPUやTPUを使う ・モデルをシンプルにする |
Memory bound | メモリが足りない (入力データ数、モデルの複雑さ) | レイヤーを減らす、バッチサイズを減らす |