第14章 Kubernetesで機械学習を実行する Kubernetesでマシンラーニングを実行する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
マイクロサービス、分散システム、クラウドの時代は、機械学習モデルとツールの民主化のための完璧な環境条件を提供した。スケールの大きなインフラはコモディティ化し、マシンラーニングのエコシステムを取り巻くツールは成熟しつつある。Kubernetesは、機械学習のワークフローとライフサイクルを実現する完璧な環境として、開発者、データサイエンティスト、そして幅広いオープンソースコミュニティの間で人気が高まっているプラットフォームの1つだ。GPT-4や DALL-Eのような大規模な機械学習モデルによって機械学習が脚光を浴びるようになり、OpenAIのような組織は、これらのモデルをサポートするためにKubernetesを使用していることを公言している。この章では、Kubernetesがマシン学習に最適なプラットフォームである理由を取り上げ、機械学習ワークロードを実行する際にKubernetesを最大限に活用する方法について、クラスタ管理者とデータサイエンティストの双方にベストプラクティスを提供する。特に、Kubernetesのようなプラットフォームでディープラーニングが急速にイノベーションの領域になっているため、従来のマシンラーニングではなく、 ディープラーニングに焦点を当てる。
なぜKubernetesはマシンラーニングに最適なのか?
Kubernetesは、ディープラーニングにおける急速なイノベーションの拠点となった。TensorFlowのようなツールとライブラリの合流によって、このテクノロジーは多くのデータサイエンティストにとってより身近なものになっている。Kubernetesがディープラーニングのワークロードを実行するのにこれほど適している理由は何だろうか?Kubernetesが提供するものについて説明しよう:
- ユビキタス
-
Kubernetesはどこにでもある。主要なパブリッククラウドはすべてサポートしているし、プライベートクラウドやインフラ向けのディストリビューションもある。Kubernetesのようなプラットフォームにエコシステムのツールを基づかせることで、ユーザはディープラーニングのワークロードをどこでも実行できるようになる。
- スケーラブル
-
Deep Learningワークフローでは通常、マシン学習モデルを効率的にトレーニングするために、大量のコンピューティングパワーを利用する必要がある。Kubernetesにはネイティブのオートスケーリング機能が搭載されているため、データサイエンティストはモデルの学習に必要なレベルのスケールを簡単に実現し、微調整することができる。
- 拡張可能
-
マシン学習モデルを効率的にトレーニングするには、通常、特殊化したハードウェアへのアクセスが必要だ。Kubernetesでは、クラスタ管理者はKubernetesのソースコードを変更することなく、新しいタイプのハードウェアを迅速かつ容易にスケジューラに公開できる。また、カスタムリソースやコントローラをKubernetes APIにシームレスに統合し、ハイパーパラメータチューニングなどの特殊化ワークフローをサポートすることもできる。
- セルフサービス
-
データサイエンティストはKubernetesを使用することで、Kubernetes自体の特殊化された知識を必要とせずに、オンデマンドでセルフサービスのマシン学習ワークフローを実行できる。 ...