Skip to main content
NetApp artificial intelligence solutions
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Union.aiとNetApp FlexCacheを使用したハイブリッドAIトレーニングの導入

共同作成者 sathyaga

NetApp FlexCacheとTrident for Kubernetes ストレージ プロビジョニングを使用した Union.ai オーケストレーションを使用して、ハイブリッド AI トレーニング環境を展開する方法を学びます。

David Espejo 氏、Union.ai Sathish Thyagarajan 氏、 NetApp

概要

Union.ai のハイブリッド オーケストレーション プラットフォームは、 NetApp ONTAPおよびFlexCache とシームレスに統合され、AI/ML トレーニング ワークフローを加速します。このソリューションにより、AI トレーニング ワークロードにクラウドベースの GPU コンピューティングを活用しながら、データをオンプレミスで安全に維持できます。 NetApp FlexCache は、必要なデータのみがクラウドにキャッシュされるようにし、効率的で安全かつスケーラブルなハイブリッド AI/ML パイプラインを実現します。

顧客ユースケース: ハイブリッドクラウド AI トレーニング

  • オンプレミス データ: コンプライアンスとセキュリティのためにNetApp ONTAPに保存されます。

  • クラウド コンピューティング: EKS/GKE/AKS でのスケーラブルな GPU トレーニング。

  • AI/ML オーケストレーション: Union.ai は、環境全体のデータ処理とトレーニングを調整します。

  • ストレージ プロビジョニング: NetApp Trident はPVC/PV プロビジョニングを自動化します。

お客様のメリット

  • NetApp ONTAP のスケールアウト機能を使用して、大規模なデータセットで AI ワークロードを実行します。

  • NetApp のハイブリッド クラウド機能を使用して、オンプレミスとクラウド間でデータを移動および同期します。

  • FlexCacheを使用してオンプレミスのデータをクラウドに素早くキャッ​​シュします。

  • Union.ai は、バージョン管理、系統追跡、成果物管理により、環境間のオーケストレーションを簡素化します。

  • 機密データをオンプレミスに保持しながら、クラウドでトレーニングを実行します。

プラグインの有効化 – 前提条件

要件

詳細

ONTAPバージョン

ONTAP 9.7+(FlexCacheライセンスは不要)

FlexCacheライセンス

ONTAP 9.6以前で必須

Kubernetes

オンプレミスおよびクラウド クラスター (EKS/GKE/AKS)

Trident

オンプレミスとクラウド クラスタの両方にインストール可能

ユニオン.ai

コントロール プレーンがデプロイされている (Union Cloud またはセルフホスト)

ネットワーク

クラスタ間接続( ONTAPクラスタが分離されている場合)

権限

ONTAPおよび Kubernetes クラスターへの管理者アクセス。

✅正しいONTAP認証情報(例:vsadmin)を使用する

Union.ai は初めてですか?

このドキュメントの最後にあるガイドを参照してください

リファレンスアーキテクチャ

次の図は、ハイブリッド AI トレーニング用にNetAppストレージと統合された Union.ai コントロール プレーンを示しています。

Union.ai とNetAppによるハイブリッド AI トレーニング アーキテクチャ
  • Union.ai コントロール プレーン: ワークフローをオーケストレーションし、データの移動を管理し、 NetApp API と統合します。

  • NetApp ONTAP + FlexCache: オンプレミスからクラウドへの効率的なデータ キャッシュを提供します。

  • ハイブリッド トレーニング クラスター: トレーニング ジョブは、オンプレミスからキャッシュされたデータを使用して、クラウド K8s クラスター (EKS など) で実行されます。

ステップ1: FlexCacheボリュームを作成する

ONTAPシステムマネージャの使用

  1. [ストレージ] > [ボリューム] に移動します。

  2. [Add]をクリックします。

  3. [その他のオプション]を選択します。

  4. リモート ボリュームのキャッシュとして追加を有効にします。

  5. ソース (オンプレミス) ボリュームと宛先 (クラウド) ボリュームを選択します。

  6. QoS またはパフォーマンス レベルを定義します (オプション)。

  7. [Create]をクリックします。

💡権限またはアグリゲートの問題によりNetApp DataOps Toolkit が機能しない場合は、 ONTAP System Manager または CLI を使用してFlexCacheボリュームを直接作成します。

ステップ2: Trident を構成する

両方のクラスターにTridentをインストールします。

Tridentバックエンドを作成する

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: ontap-flexcache
spec:
version: 1
storageDriverName: ontap-nas
managementLIF: <ONTAP-MGMT-IP>
dataLIF: <ONTAP-DATA-IP>
svm: <SVM-NAME>
username: vsadmin
password: <password>

Apply: kubectl apply -f backend-flexcache.yaml

401 Unauthorized エラーが発生した場合は、 ONTAPユーザーに十分な API 権限があり、正しいユーザー名 (vsadmin) とパスワードが使用されていることを確認してください。

ストレージクラスの定義

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: flexcache-sc
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
Apply:
kubectl apply -f storageclass-flexcache.yaml

ステップ3:Union.aiワークフローをデプロイする

Union は PVC を使用してFlexCacheボリュームをトレーニング ジョブにマウントします。

PodTemplateの例

apiVersion: v1
kind: PodTemplate
metadata:
name: netapp-podtemplate
namespace: flytesnacks-development
template:
metadata:
labels:
default-storage: netapp
spec:
containers:
- name: primary
volumeMounts:
- name: flexcache-storage
mountPath: /data/flexcache
volumes:
- name: flexcache-storage
persistentVolumeClaim:
claimName: flexcache-pvc

ワークフローの例

ユニオンインポートタスク、ワークフローから

@task(pod_template="netapp-podtemplate")

def train_model(pvc_path: str):

PVCからのデータをロードしてトレーニングする

@workflow

def training_pipeline():

train_model(pvc_path="/data/flexcache")

ユニオンオペレーターは次のことを行います。

  • PVCを作成する

  • FlexCacheボリュームをマウントする

  • クラウドK8sクラスターでジョブをスケジュールする

ステップ4: 統合の検証_

タスク 検証

PVCマウント

トレーニングポッドは /data/flexcache を正常にマウントする必要があります

データ アクセス

トレーニングジョブはFlexCacheから読み書きできる

キャッシュの動作

ONTAPのキャッシュ ヒット/ミスを監視します。アグリゲートがFlexCacheをサポートしていることを確認する

パフォーマンス

トレーニングワークロードのレイテンシとスループットを検証する

パフォーマンスを監視するには、 NetApp BlueXPまたはONTAP CLI を使用します。

セキュリティに関する考慮事項

  • FSx for NetApp ONTAPに VPC エンドポイントを使用する

  • 転送中および保存中の暗号化を有効にする

  • ONTAPアクセスに RBAC/IAM を適用する

  • Union.aiは顧客データにアクセスしたり保存したりしません

監視と最適化

道具

目的

NetAppBlueXP

FlexCacheの使用状況とパフォーマンスを監視する

Union.ai UI

パイプラインのステータスとメトリクスを追跡する

Tridentログ

PVC またはバックエンドの問題をデバッグする

オプションの機能強化

  • BlueXP APIを使用してFlexCacheの作成を自動化する

  • トレーニング前にUnion SDKを使用してキャッシュをウォームアップする

  • トレーニング後にバッチ推論またはモデルサービングパイプラインを追加する

  • DataOps Toolkit が失敗した場合は、System Manager 経由で手動でFlexCacheを作成します。

トラブルシューティング

問題 解決

PVCが保留中

Tridentのログとバックエンドの設定を確認する

401 ONTAP APIからの不正アクセス

vsadminを使用して権限を確認する

ジョブ失敗: 適切なストレージがありません

ONTAPアグリゲートがFlexCache/ FabricPoolをサポートしていることを確認する

トレーニングパフォーマンスの低下

キャッシュヒット率とネットワーク遅延を確認する

データが同期されない

ONTAPでFlexCache関係の健全性を検証する

次のステップ

  1. テストデータでFlexCacheを検証する

  2. Union.ai トレーニング パイプラインをデプロイする

  3. パフォーマンスを監視および最適化する

  4. 顧客固有の設定を文書化する

まとめ

これで、Union.ai とNetApp FlexCacheを使用した検証済みのハイブリッド AI トレーニング環境が完成しました。トレーニング ジョブは、データセット全体を複製したりガバナンスを損なうことなく、オンプレミス データに安全かつ効率的にアクセスしながらクラウドで実行できます。

Union.ai - コンパニオンガイド

ステップ1: 導入モデルの選択

オプションA:ユニオンクラウド

オプションB: セルフホスト

  • フォローする:https://docs.union.ai/platform/latest/deployment/self-hosted/["セルフホストガイド"]

  • Helm 経由でデプロイ:

helmリポジトリにunionaiを追加 https://unionai.github.io/helm-charts/

helm インストール union unionai/union -n union-system -f values.yaml

ステップ2: Union Operatorをインストールする

kubectl を適用 -fhttps://raw.githubusercontent.com/unionai/operator/main/deploy/operator.yaml[]

kubectl get pods -n ユニオンシステム

ステップ3: Union CLIをインストールする

pip インストール unionai

組合ログイン

ステップ4: ワークフローを登録する

ユニオンプロジェクトがハイブリッドAIを作成

ユニオンレジスタ training_pipeline.py --project hybrid-ai

ステップ5: 実行と監視

union run training_pipeline --project hybrid-ai

ユニオンウォッチトレーニングパイプライン

ログを表示する "ユニオンUI"

ステップ6: コンピューティングクラスターの登録 (オプション)

ユニオンクラスターレジスタ --name cloud-k8s --kubeconfig ~/.kube/config

ステップ7: アーティファクトと系統を追跡する

Union は自動的に次のものを追跡します:

  • 入力/出力パラメータ

  • データバージョン

  • ログとメトリクス

  • 実行系統