機械学習基盤とは
機械学習基盤とは、機械学習を行うために必要な様々なリソースを用意し、迅速に機械学習のモデリングや実験を行えるようにするための設備です。機械学習によるシステム開発を円滑に行うためにはコンテナを利用することが多く、機械学習基盤としてコンテナ型仮想化の技術が使われています。
機械学習によるシステム開発の特徴
機械学習では、実際に作ってみないと予測できないことが多くあり、すぐに期待した通りの成果がでるとは限りません。そのため、実際にモデルを構築してみて、どのくらいの精度が出せるのかを測定して、期待通りでなければ作り直すという、トライアンドエラーを繰り返すことになります。
機械学習のシステム開発には、いくつかのプロセスがあります。
- 学習用データの準備
- 機械学習モデルの作成
- モデルの適用
機械学習基盤は、この各プロセスを効率よく行えるよう支援します。そのため、次のようなことが求められます。
- データ収集や加工に必要なソフトウェアをすぐに利用できる
- 必要に応じて、データ保管に必要な領域を割り当てられる
- 様々なアルゴリズムに対応したライブラリやソフトウェアを利用できる
- 必要に応じてGPUや並列コンピューティング環境の割り当てができる
- 耐障害性があり、学習が中断しない
- 迅速に学習環境を整備でき、不要になったらすぐに破棄できる
- 学習環境を必要に応じて再現できる
- 完成した学習済みモデルを適切に保管できる
- 作成したモデルを、本番システムへ移行できるポータビリティ
- ソフトウェアのバージョン管理ができる
- 運用中にソフトウェアを安全にアップデートできる
- 機密情報を適切に管理できる
機械学習基盤とDockerコンテナ
コンテナ型仮想化は、このような要請に対応できる機械学習基盤として注目されています。中でも、Dockerコンテナが最も有力視されています。それには、次のような理由があります。
- Docker HUBからソフトウェアを自動的にダウンロードし、すぐに使える
- Docker HUBには、機械学習で利用する非常に多くのソフトウェアが収録されている
- 利用するリソースが小さく、少ない予算で効率よくシステムを作成できる
- ソフトウェアのバージョン管理がしやすい
- 従来の仮想サーバに比べて、スクラップ&ビルドに向いている
- コンテナレポジトリをローカルに作成することもでき、機密性も担保できる
- ポータビリティに優れていて、多くのシステムで動作することができる
クラウドベンダーのコンテナ基盤
いくつかのクラウドベンダーから、コンテナ基盤が提供されています。
- Google Cloud Kubernetes Engine
- Amazon ECS(Amazon Elastic Container Service)
- Amazon EKS( Amazon Elastic Container Service for Kubernetes)
- AKS(Azure Kubernetes Service)
機械学習基盤の構築
機械学習基盤を構築する場合には、次のような要素を考慮する必要があります。
- コンテナオーケストレーションツール
- コンテナリポジトリの管理
- 永続ストレージ
- コンテナノードのネットワークと外部ネットワークの接続
クラウドベンダーが提供しているコンテナ基盤の多くでは、Kubernetesというソフトウェアが使われています。Kubernetesは、もともとGoogleが開発したオープンソースソフトウェアで、オンプレミス環境でも利用することができます。そのため、コンテナオーケストレーションツールとしてKubernetesが注目されています。
【カテゴリ】:ビッグデータ  IoT  AI  
【Webセミナー】社内動画でDXを加速!効果的な活用法解説セミナー
日程: | 2月19日(水)Webセミナー「BigBlueButton」を使用します。 |
内容: | 社内にある動画を使ってどのようにDXを促進できるのかご紹介します! |
ご興味のあるかたはぜひご参加ください。 |