概要
Kubernetes は、コードを多様な環境で一貫して再現可能で、可搬性があり、拡張性に優れたものにすることで、AI/ML のワークロードを支援することができます。Kubernetes は、コンテナ化されたアプリケーションのデプロイとスケーリングに伴う多くの手動プロセスを排除することで、Linux コンテナ運用を自動化するオープンソース・プラットフォームです。Kubernetes は、データサイエンティストが ML モデルのトレーニング、テスト、デプロイを行うためのアジリティ、柔軟性、可搬性、スケーラビリティを提供するため、AI/ML のライフサイクルの効率化において重要な役割を果たします。
AI/ML 開発におけるコンテナの役割
機械学習対応アプリケーションを構築する場合、ワークフローは直線的ではなく、チームが継続的インテグレーション/継続的デリバリー (CI/CD) に取り組む中で、研究、開発、プロダクションの各段階は絶え間なく動き続けます。新しいデータ、アルゴリズム、アプリケーションのバージョンを構築、テスト、統合、デプロイするプロセスでは、多くの管理対象が発生するため、管理が複雑になります。そこで役立つのがコンテナです。
Linux のテクノロジーであるコンテナでは、実行に必要なすべてのライブラリや依存関係とともにアプリケーションをパッケージ化して分離することができます。コンテナはオペレーティングシステム全体を必要とせず、動作に必要なコンポーネントだけを必要とするため、軽量で可搬性があります。これによって、運用面ではデプロイメントが容易になり、開発者は異なるプラットフォームやオペレーティングシステム上でもまったく同じようにアプリケーションが動作するという確信を得ることがでます。
その他のメリットとして、コンテナを使用すると責任範囲を分離できるため、開発チームと運用チーム間の対立が少なくなります。また、開発者がアプリケーションに集中し、運用チームがインフラストラクチャに集中できるようになると、ライフサイクル全体を通じて成長、進化するアプリケーションに新しいコードを統合することが、よりシームレスかつ効率的になります。
Red Hat のリソース
Kubernetes が AI/ML ワークロードにもたらすもの
スケーラビリティ:Kubernetes により、ユーザーは必要に応じて ML ワークロードをスケールアップまたはスケールダウンできます。このため、プロジェクトの他の要素を妨害することなく、機械学習パイプラインで大規模な処理およびトレーニングに対応できます。
効率性:Kubernetes は、可用性と容量に基づいてワークロードをノードにスケジュールすることで、リソース割り当てを最適化します。コンピューティング・リソースを意図的に使用することで、ユーザーはコスト削減とパフォーマンス向上を期待できます。
可搬性:Kubernetes はプラットフォームに依存しない標準化された環境を提供するので、データサイエンティストは 1 つの ML モデルを開発して複数の環境とクラウド・プラットフォームにデプロイできます。互換性の問題やベンダーロックインを気にする必要はありません。
フォールトトレランス:Kubernetes は、組み込みのフォールトトレランスおよび自己修復機能を備えているため、ハードウェアやソフトウェアに障害が発生した場合でも、ML パイプラインを継続的に稼働させることができるという信頼感を持てます。
Kubernetes に ML モデルをデプロイする
機械学習のライフサイクルは多くの異なる要素で構成されており、別々に管理すれば、運用と維持に多大な時間とリソースを要することになります。Kubernetes アーキテクチャにより、組織は ML のライフサイクルの一部を自動化することができ、手作業による介入の必要性を排除し、効率性を高めることができます。
Kubeflow のようなツールキットを実装することで、開発者は Kubernetes 上で学習済みの ML ワークロードを効率的に運用、提供できるようになります。Kubeflow は、ML モデルのトレーニングや 広範にわたるデプロイを単純化する一連のツールと API を提供することで、機械学習パイプラインのオーケストレーションに関わる多数の課題を解決します。Kubeflow はまた、機械学習運用 (MLOps) の標準化と整理にも役立ちます。
Red Hat のサポート内容
Kubernetes は AI/ML ワークロードの効率化に役立ちますが、モデルの実験や提供、アプリケーションの提供を行うためのプラットフォームは別途必要です。
Red Hat® AI は、Red Hat のお客様の信頼を得ているソリューションに基づいて構築された AI 製品のポートフォリオです。これを基盤として、当社製品の信頼性、柔軟性、拡張性が維持されます。
Red Hat AI のサポートによって以下のことが可能になります。
- AI を迅速に導入してイノベーションを実現する
- AI ソリューションの提供における複雑さを解消できる
- どこにでもデプロイできる
柔軟性を損なうことなく拡張
Red Hat AI には、予測 AI モデルと生成 AI モデルの両方のライフサイクルを管理できる統合 MLOps プラットフォームである Red Hat OpenShift® AI が含まれています。
この AI プラットフォームは、オンプレミスのデータセンターや、データが配置されている場所により近い環境で、AI/ML ワークロードの構築、トレーニング、デプロイ、監視を行うための環境を提供します。これにより、必要に応じてクラウドやエッジに運用を拡張することが容易になります。
Kubernetes 上に Red Hat AI を導入することで、ハイブリッドクラウド環境全体で AI アプリケーションを提供する際に、高い俊敏性を維持できます。
ソリューションパターン:Red Hat と NVIDIA AI Enterprise による AI アプリケーション
RAG アプリケーションを作成する
Red Hat OpenShift AI は、データサイエンス・プロジェクトを構築し、AI 対応アプリケーションを提供するためのプラットフォームです。独自の参照ドキュメントから AI の回答を取得する手法の 1 つである検索拡張生成 (RAG) をサポートするために必要なすべてのツールを統合できます。OpenShift AI を NVIDIA AI Enterprise に接続すると、大規模言語モデル (LLM) を試して、アプリケーションに最適なモデルを見つけることができます。
ドキュメントのパイプラインを構築する
RAG を利用するには、まずドキュメントをベクトルデータベースに取り込む必要があります。サンプルアプリでは、一連の製品ドキュメントを Redis データベースに埋め込んでいます。これらのドキュメントは頻繁に変更されるため、定期的に実行するこのプロセス用のパイプラインを作成すると、常に最新バージョンのドキュメントを入手できます。
LLM のカタログを閲覧する
NVIDIA AI Enterprise ではさまざまな LLM のカタログにアクセスできるため、さまざまな選択肢を試して、最良の結果が得られるモデルを選択できます。モデルは NVIDIA API カタログでホストされています。API トークンを設定したら、OpenShift AI から直接 NVIDIA NIM モデル提供プラットフォームを使用してモデルをデプロイできます。
適切なモデルを選択する
さまざまな LLM をテストする際、ユーザーは生成される応答をそれぞれ評価することができます。Grafana モニタリング・ダッシュボードを設定して、各モデルの評価だけでなく、レイテンシーと応答時間も比較できます。そのデータを使用して、プロダクションで使用する最適な LLM を選択できます。

Red Hat OpenShift Virtualization を導入すべき 15 の理由
Red Hat OpenShift Virtualization は単一のプラットフォームで仮想マシンとコンテナを実行し、IT 運用を統合および単純化できます。その詳細をご覧ください。