はじめに
こんにちは、サイオステクノロジーの小野です。昨今のAI開発において、便利なプラットフォームが数多く登場していますが、その中でもOpenShift AIに対する需要が高まっていると感じています。したがってこの度、OpenShift AIの調査検証を行うことになりました。それにつきまして、これからOpenShift AIについての記事を記載します。今回は初回なので、OpenShift AIの概要について紹介します。
OpenShift AIとは
OpenShift AIの概要
コンテナ技術を利用して、MLOpsを実現させるためのプラットフォームであるOpenShift AIは、データの収集と準備、モデル1の学習と評価、モデルの提供と監視を可能にします。
Red Hat OpenShift上でデプロイされるため、オンプレミスかクラウドかデプロイする環境を柔軟に選ぶことが可能です。
また、OpenShift AIでは、機械学習のモデルの開発や管理に必要な複数のOSSを利用しています。
OpenShift AIで利用しているOSS
Open Data Hub
MLOpsに必要なkubeflowやJupyterなどの以下に記載されているコンポーネントを提供するプラットフォーム。
Kubeflow
Kubernetes上で機械学習のワークフローを簡単に構築、デプロイ、管理するためのプラットフォーム。
Jupyter
ソースコード、説明テキスト、数式、グラフなどを1つのドキュメントにまとめることができ、簡単に共有が可能なプラットフォーム。
Tensorflow
モデルの構築、学習を行うためのライブラリ。簡単に実装が可能。ビジネス方面で強い。
Pytorch
モデルの構築、学習を行うためのライブラリ。一からモデルを構築することや既存のモデルのカスタマイズがしやすい。研究方面で強い。
Scikit-learn
データ加工やデータ分析を行うためのライブラリ。
MLOpsとは
DevOpsの概念を機械学習の分野に応用し、機械学習のプロジェクトを効率的に進めるためのワークフローを「MLOps」といいます。
MLOpsは以下の流れで機械学習のプロジェクトが進んでいきます。
- データの収集
- 様々なデータソースからデータを収集します。
- データの分析
- 収集したデータを分析してデータの特性を理解したり、モデルに必要なデータの準備の手法を特定したりします。
- データの準備
- データをモデルの学習がしやすい形式に変換したり、学習用のデータと評価用のデータを分けたりします。
- モデルの学習
- 準備された学習用データを用いて機械学習のモデルを学習していきます。
- モデルの評価
- 学習が完了したモデルを評価用のデータで評価します。
- モデルの検証
- 評価されたモデルの予測パフォーマンスが目標の品質に到達しているかどうか検証します。
- モデルの提供
- 検証されたモデルを本番環境にデプロイします。
- モデルの監視
- モデルの予測パフォーマンスを監視します。必要に応じてデータの収集からやり直してモデルを改修します。
MLOpsのメリットとしては、監視からモデルを再開発しデプロイするまで迅速に行えるのでデータドリフトを防ぐことができます。
- データドリフトとは、予測する対象が時間が経過することによって変化していくことで過去のモデルが現在の対象を予測できなくなる現象を言います。
また、ワークフローを定めることによって、機械学習プロジェクトを効率よく進めることができます。
他AIプラットフォーム比較
AIプラットフォームとして代表的なDify、Azure AI Studio、OpenShift AIの3つを比較します。
Dify
誰でも簡単にAIアプリを開発することができるOSSです。ローカルとSaaS両方で利用可能です。LLM(大規模言語モデル)2を中心とした機能が豊富で、RAG3もドキュメントをドラッグ&ドロップするだけで実装できます。ノーコードで構築できたり、無料版があったりとにかく気軽に開発ができるので、プログラミング初心者、AI初心者におすすめのプラットフォームです。しかし、自由にモデルをカスタマイズできないので、複雑なタスクを行うことは難しいです。
Azure AI Studio
クラウドプラットフォームであるMicrosoft Azureで提供されるAIサービスです。画像分類や物体検出もできますが、LLMに特化したサポートが充実しています。また、Difyのようにノーコードで開発できます。最大のメリットとしては、Azureの豊富なクラウドリソースを活用することができることです。機械学習に必要なMLOpsのプロセスをすべてAzure内で完結させることができます。そのメリットの反面、Azureの環境に大きく依存するデメリットがあります。
OpenShift AI
Red HatのOpenShiftを基盤とするAIプラットフォームです。オンプレミスとクラウド環境を選ぶことができます。Kubernetesのスケーラビリティ、自動化、高可用性を活用して、MLOpsにおけるモデルの開発、デプロイ、管理を効率的に行えます。また、LLM以外のモデルの開発も可能です。OpenShiftの環境構築やノーコードでの開発は難しいですが、柔軟なモデル構築が可能です。
最後に
2024年5月にRed Hatの年次カンファレンスであるRed Hat Summit 2024が開催されました。また、2024年10月17日にRed Hat Summit: Connect Tokyo 2024が開催されました。どちらもAIが中心にトピックされて、OpenShift AIも大きく紹介されました。それぐらいOpenShift AIは今最もホットなソリューションです。サイオステクノロジーはこの動向に積極的に追従して情報を発信していこうと思いますので、今後ともよろしくお願いいたします。
注釈
- モデル:ある入力に対して結果を出力する関数のこと。入力されたデータのパターンや関係性を分析し、そのデータに対して理想の結果を出力するように関数を調整することを「モデルの学習」という。
- LLM:大量のテキストデータから学習したモデル。代表的なモデルにGPTやBERTがある。
- RAG:LLMでテキストを生成する際に、外部の情報を参照させる技術のこと。
参考
- OpenShift AI:https://www.redhat.com/ja/technologies/cloud-computing/openshift/openshift-ai
- MLOps:https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning
- Dify:https://dify.ai/jp
- Azure AI Studio:https://azure.microsoft.com/ja-jp/products/ai-studio
- Red Hat Summit: Connect Tokyo 2024:https://www.redhat.com/ja/summit/connect/apac/tokyo-2024