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

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

共同作成者 sathyaga netapp-jsnyder

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 は自動的に次のものを追跡します:

  • 入力/出力パラメータ

  • データバージョン

  • ログとメトリクス

  • 実行系統