テクノロジの概要
このセクションでは、NetAppを使用したOpenSource MLOpsのテクノロジの概要について説明します。
人工知能
AI とは、人間の心の認識機能を模倣するためにコンピュータが訓練されているコンピュータ科学分野です。AI 開発者は、人間に似た方法、または人間に比べて優れた方法で、コンピュータをトレーニングして問題を解決します。ディープラーニングと機械学習は AI のサブフィールドです。組織は、重要なビジネスニーズに対応するために、 AI 、 ML 、 DL を導入する傾向に迫られています。次に例を示します。
-
未知のビジネスに大量のデータを分析しています 分析
-
自然言語処理を使用して顧客と直接やり取りする
-
さまざまなビジネスプロセスと機能を自動化します。
最新の AI トレーニングと推論のワークロードには、超並列処理機能が必要です。そのため、 GPU の並列処理機能は汎用 CPU よりもはるかに優れているため、 GPU を使用した AI 処理も増えています。
コンテナ
コンテナは、共有ホストオペレーティングシステムカーネル上で実行される独立したユーザスペースインスタンスです。コンテナの採用が急速に増加しています。コンテナは、仮想マシン( VM )が提供するものと同じアプリケーションのサンドボックス化のメリットの多くを提供します。ただし、 VM が依存するハイパーバイザーレイヤとゲストオペレーティングシステムレイヤが排除されているため、コンテナの軽量化が大幅に向上しています。次の図に、仮想マシンとコンテナを視覚的に示します。
コンテナを使用すると、アプリケーションの依存関係や実行時間などをアプリケーションで直接効率的にパッケージングできます。最も一般的に使用されるコンテナパッケージ形式は Docker コンテナです。Docker コンテナ形式でコンテナ化されたアプリケーションは、 Docker コンテナを実行できる任意のマシンで実行できます。これは、アプリケーションの依存関係がマシンに存在しない場合でも当てはまります。これは、すべての依存関係がコンテナ自体にパッケージ化されているためです。詳細については、を参照してください "Docker Web サイト"。
Kubernetes
Kubernetes は、 Google が当初設計した、オープンソースの分散型コンテナオーケストレーションプラットフォームであり、 Cloud Native Computing Foundation ( CNCF )によって管理されています。Kubernetes を使用すると、コンテナ化されたアプリケーションの導入、管理、拡張の機能を自動化できます。近年、 Kubernetes は主要なコンテナオーケストレーションプラットフォームとして登場しています。詳細については、を参照してください "Kubernetes Web サイト"。
NetApp Trident
"Trident"ONTAP(AFF、FAS、Select、Cloud、Amazon FSx ONTAP)、Azure NetApp Files Service、Google Cloud NetApp Volumeなど、パブリッククラウドやオンプレミスで一般的なすべてのNetAppストレージプラットフォームのストレージリソースを消費、管理できます。Tridentはコンテナストレージインターフェイス(CSI)に準拠した動的ストレージオーケストレーションツールで、Kubernetesとネイティブに統合されます。
NetApp DataOps ツールキット
は "NetApp DataOps ツールキット" Pythonベースのツールで、ハイパフォーマンスなスケールアウトNetAppストレージを基盤とする開発/トレーニングワークスペースと推論サーバの管理を簡易化します。主な機能は次のとおりです。
-
ハイパフォーマンスなスケールアウトNetAppストレージを基盤とする新しい大容量ワークスペースを迅速にプロビジョニング
-
大容量ワークスペースのクローンをほぼ瞬時に作成し、実験や迅速な反復を可能にします。
-
大容量ワークスペースのスナップショットをほぼ瞬時に保存し、バックアップやトレーサビリティ/ベースライン化を実現します。
-
ほぼインスタンス化することなく、大容量でハイパフォーマンスなデータボリュームをプロビジョニング、クローニング、およびSnapshot作成する。
Apache の通気
Apache Airflow は、複雑なエンタープライズワークフローのプログラムによるオーサリング、スケジューリング、監視を可能にするオープンソースのワークフロー管理プラットフォームです。ETL やデータパイプラインのワークフローを自動化する目的でよく使用されますが、こうした種類のワークフローに限定されるわけではありません。Airflow プロジェクトは Airbnb が開始しましたが、業界で非常に人気があり、現在は Apache Software Foundation の後援を受けています。空気の流れは Python で書かれており、 Python スクリプトを使用して空気の流れが作られています。また、空気の流れは、「コードとしての設定」という原則に基づいて設計されています。 現在、多くの企業のエアフローユーザが Kubernetes の上で通気を実行しています。
ダイレクト非周期グラフ( DAG )
エアーフローでは、ワークフローは Directed Acyclic Graphs ( DAG )と呼ばれます。DAG は、 DAG の定義に応じて、順番に実行されるタスク、並列タスク、またはその組み合わせで実行されるタスクで構成されます。エアーフロースケジューラは、 DAG 定義で指定されているタスクレベルの依存関係を維持しながら、一連のワーカーに対して個々のタスクを実行します。DAG は Python スクリプトを使用して定義および作成されます。
Jupyter ノートブック
Jupyter NotebookはWikiに似たドキュメントで、ライブコードと説明テキストが含まれています。Jupyter Notebook は、 AI プロジェクトと ML プロジェクトを文書化、保存、共有する手段として、 AI と ML のコミュニティで広く使用されています。Jupyter Notebookの詳細については、を参照してください "Jupyter のウェブサイト"。
Jupyter Notebook Server の 2 つのツールを使用
Jupyter Notebook Serverは、ユーザーがJupyter Notebookを作成できるオープンソースのWebアプリケーションです。
JupyterHub
JupyterHubは、個 々 のユーザーが自分のJupyter Notebookサーバーをプロビジョニングしてアクセスできるようにするマルチユーザーアプリケーションです。JupyterHubの詳細については、を参照して "JupyterHub Webサイト"ください。
MLflow
MLflowは、人気のあるオープンソースのAIライフサイクル管理プラットフォームです。MLflowの主な機能には、AI / ML実験追跡とAI / MLモデルリポジトリがあります。MLflowの詳細については、を参照して "MLflow Webサイト"ください。
クビフロー
Kubeflow は Kubernetes 向けのオープンソースの AI / ML ツールキットで、 Google が開発したものです。Kubeflow プロジェクトでは、 Kubernetes での AI ワークフローと ML ワークフローの導入を、シンプル、ポータブル、拡張性に優れた方法で実施します。KubeflowはKubernetesの複雑さを抽象化することで、データサイエンティストがデータサイエンスという自社が最もよく知っていることに集中できるようにします。表示については、次の図を参照してください。Kubeflowは、オールインワンMLOpsプラットフォームを希望する組織に適したオープンソースオプションです。詳細については、を参照してください "Kubeflow の Web サイト"。
Kubeflow パイプライン
Kubeflow Pipelines は Kubeflow の主要コンポーネントです。Kubeflow Pipelines は、移植性と拡張性に優れた AI および ML ワークフローを定義、導入するためのプラットフォームと標準です。詳細については、を参照してください "Kubeflow の公式ドキュメント"。
Kubeflowノートブック
Kubeflow を使用すると、 Kubernetes での Jupyter Notebook Server のプロビジョニングと導入が簡単になります。Kubeflowのコンテキスト内でのJupyter Notebookの詳細については、を参照してください "Kubeflow の公式ドキュメント"。
カティブ
Katibは、自動機械学習(AutoML)向けのKubernetesネイティブプロジェクトです。Katibはハイパーパラメータチューニング、早期停止、ニューラルアーキテクチャ検索(NAS)をサポートしている。Katibは、機械学習(ML)フレームワークに依存しないプロジェクトです。ユーザが選択した任意の言語で記述されたアプリケーションのハイパーパラメータを調整でき、TensorFlow、MXNet、PyTorch、XGBoostなどの多くのMLフレームワークをネイティブでサポートします。 その他。Katibは、Bayesian最適化、Tree of Parzen Estimators、Random Search、Covariance Matrix Adaptation Evolution Strategy、Hyperband、Efficient Neural Architecture Search、Differentiable Architecture Searchなど、さまざまなAutoMLアルゴリズムをサポートしています。Kubeflow のコンテキスト内の Jupyter Notebook の詳細については、を参照してください "Kubeflow の公式ドキュメント"。
NetApp ONTAP
ネットアップが提供する最新世代のストレージ管理ソフトウェアONTAP 9を使用すれば、インフラを最新化し、クラウド対応のデータセンターに移行できます。ONTAP は、業界をリードするデータ管理機能を活用して、データの格納場所に関係なく、単一のツールセットでデータの管理と保護を実現します。エッジ、コア、クラウドなど、必要な場所に自由にデータを移動することもできます。ONTAP 9には、データ管理の簡易化、重要なデータの高速化と保護、ハイブリッドクラウドアーキテクチャ全体で次世代インフラ機能を実現する多数の機能が搭載されています。
データ管理を簡易化
データ管理は、AIアプリケーションの運用やAI / MLデータセットのトレーニングに適切なリソースを使用できるように、エンタープライズIT運用とデータサイエンティストにとって非常に重要です。以下に記載するネットアップテクノロジに関する追加情報 は、この検証の対象外ですが、導入環境によっては関連性がある場合もあります。
ONTAP データ管理ソフトウェアには、運用を合理化および簡易化し、総運用コストを削減するための次の機能が含まれています。
-
インラインデータコンパクション、強化された重複排除:データコンパクションはストレージブロック内の無駄なスペースを削減し、重複排除は実効容量を大幅に増やします。この環境データはローカルに格納され、データはクラウドに階層化されます。
-
最小、最大、アダプティブのQuality of Service(AQoS)。きめ細かいサービス品質(QoS)管理機能により、高度に共有された環境で重要なアプリケーションのパフォーマンスレベルを維持できます。
-
NetApp FabricPool の略。Amazon Web Services(AWS)、Azure、NetApp StorageGRID ストレージ解決策 など、パブリッククラウドとプライベートクラウドのストレージオプションへコールドデータを自動的に階層化します。FabricPool の詳細については、を参照してください "TR-4598:『FabricPool best bests』"。
データの高速化と保護
ONTAP は、卓越したパフォーマンスとデータ保護を実現し、以下の方法でこれらの機能を拡張します。
-
パフォーマンスとレイテンシの低下:ONTAP は、可能なかぎり最小のレイテンシで最高のスループットを提供します。
-
データ保護ONTAP には、組み込みのデータ保護機能が用意されており、すべてのプラットフォームを共通の管理機能で管理できます。
-
NetApp Volume Encryption(NVE):ONTAP は、オンボードと外部キー管理の両方をサポートし、ボリュームレベルでのネイティブな暗号化を実現します。
-
マルチテナンシーおよび多要素認証ONTAP を使用すると、最高レベルのセキュリティでインフラリソースを共有できます。
将来のニーズにも対応できるインフラ
ONTAP は、次の機能を備えており、要件が厳しく、絶えず変化するビジネスニーズに対応できます。
-
シームレスな拡張とノンストップオペレーションONTAP を使用すると、既存のコントローラとスケールアウトクラスタに無停止で容量を追加できます。お客様は、コストのかかるデータ移行やシステム停止を行うことなく、最新のテクノロジにアップグレードできます。
-
クラウドへの接続:ONTAPは、ほとんどのクラウドに対応したストレージ管理ソフトウェアで、すべてのパブリッククラウドでSoftware-Defined Storageとクラウドネイティブインスタンスを選択できます。
-
新しいアプリケーションとの統合:ONTAP は、既存のエンタープライズアプリケーションをサポートするインフラを使用して、自律走行車、スマートシティ、インダストリー4.0などの次世代プラットフォームやアプリケーション向けにエンタープライズクラスのデータサービスを提供します。
NetApp Snapshot コピー
NetApp Snapshot コピーは、ボリュームの読み取り専用のポイントインタイムイメージです。次の図に示すように、イメージには Snapshot コピーが最後に作成されたあとに作成されたファイルへの変更だけが記録されるため、ストレージスペースは最小限しか消費せず、パフォーマンスのオーバーヘッドもわずかです。
Snapshot コピーの効率性は、 ONTAP の中核的なストレージ仮想化テクノロジである Write Anywhere File Layout ( WAFL )によって実現します。WAFL は、データベースと同様に、メタデータを使用してディスク上の実際のデータブロックを参照します。ただし、データベースとは異なり、 WAFL は既存のブロックを上書きしません。更新されたデータは新しいブロックに書き込まれ、メタデータが変更されます。ONTAP では、 Snapshot コピーの作成時にデータブロックをコピーするのではなくメタデータを参照するため、非常に効率的です。他のシステムと違ってコピーするブロックを探すシーク時間もなければ、コピー自体を作成するコストもかかりません。
Snapshot コピーを使用して、個々のファイルまたは LUN をリカバリしたり、ボリュームの内容全体をリストアしたりできます。ONTAP は、 Snapshot コピーのポインタ情報をディスク上のデータと比較することで、ダウンタイムや多大なパフォーマンスコストなしで損失オブジェクトや破損オブジェクトを再構築します。
NetApp FlexClone テクノロジ
NetApp FlexClone テクノロジは、 Snapshot メタデータを参照してボリュームの書き込み可能なポイントインタイムコピーを作成します。コピーと親でデータブロックが共有されるため、次の図に示すように、コピーに変更が書き込まれるまではメタデータに必要な分しかストレージは消費されません。従来の手法でコピーを作成すると数分から数時間かかりますが、 FlexClone ソフトウェアを使用すれば大規模なデータセットのコピーもほぼ瞬時に作成できます。そのため、同じデータセットのコピーが複数必要な状況(開発用ワークスペースなど)や一時的にデータセットのコピーが必要な状況(本番環境のデータセットでアプリケーションをテストする場合など)に適しています。
NetApp SnapMirror データレプリケーションテクノロジ
NetApp SnapMirror ソフトウェアは、データファブリック全体にわたる、コスト効率に優れた使いやすいユニファイドレプリケーション解決策です。LAN または WAN 経由でデータを高速で複製します。仮想環境と従来の環境の両方でビジネスクリティカルなアプリケーションを含む、あらゆるタイプのアプリケーションに対し、高いデータ可用性と高速なデータレプリケーションを提供します。1 つ以上のネットアップストレージシステムにデータをレプリケートし、セカンダリデータを継続的に更新すると、データが最新の状態に保たれ、必要なときにいつでも使用できます。外部レプリケーションサーバは必要ありません。SnapMirror テクノロジを利用したアーキテクチャの例については、次の図を参照してください。
SnapMirror ソフトウェアは、変更されたブロックのみをネットワーク経由で送信することで、 NetApp ONTAP の Storage Efficiency 機能を活用します。SnapMirror ソフトウェアには、組み込みのネットワーク圧縮機能も使用して、データ転送を高速化し、ネットワーク帯域幅の使用量を最大 70% 削減します。SnapMirror テクノロジを使用すると、 1 つのシンレプリケーションデータストリームを利用して単一のリポジトリを作成し、アクティブなミラーと以前のポイントインタイムコピーの両方を保持できるため、ネットワークトラフィックを最大 50% 削減できます。
NetApp BlueXPのコピーと同期
"BlueXPのコピーと同期" 高速でセキュアなデータ同期を実現するNetAppサービスです。オンプレミスのNFSまたはSMBファイル共有、NetApp StorageGRID、NetApp ONTAP S3、Google Cloud NetApp Volumes、Azure NetApp Files、AWS S3、AWS EFS、Azure Blob、Google Cloud Storage、IBM Cloud Object Storageの間でファイルを転送する必要がある場合でも、BlueXP Copy and Syncはファイルを必要な場所に迅速かつセキュアに移動します。
転送されたデータは、ソースとターゲットの両方で完全に使用できます。BlueXPのCopy and Syncは、更新がトリガーされたときにオンデマンドでデータを同期したり、事前定義されたスケジュールに基づいてデータを継続的に同期したりできます。いずれにせよ、BlueXPのCopy and Syncは差分のみを移動するため、データレプリケーションにかかる時間とコストを最小限に抑えることができます。
BlueXPのCopy and Syncは、セットアップと使用が非常に簡単なソフトウェアサービス(SaaS)ツールです。BlueXPのCopyとSyncによってトリガーされるデータ転送は、データブローカーによって実行されます。BlueXPのCopy and Syncデータブローカーは、AWS、Azure、Google Cloud Platform、オンプレミスに導入できます。
NetApp XCP
"NetApp XCP" あらゆる環境からネットアップ環境、ネットアップ環境からネットアップ環境へのデータ移行やファイルシステムの分析に役立つクライアントベースのソフトウェアです。XCP は、大量のデータセットとハイパフォーマンスな移行を処理するために、利用可能なすべてのシステムリソースを活用することで、最大限のパフォーマンスを実現するように設計されています。ファイルシステムを完全に可視化するために XCP を使用すると、レポート生成オプションが利用できます。
NetApp ONTAP FlexGroup Volume の略
トレーニングデータセットは、数十億に及ぶ可能性のあるファイルの集まりです。ファイルには、テキスト、オーディオ、ビデオなどの形式の非構造化データを含めることができます。これらのデータは、並行して読み込まれるように保存して処理する必要があります。ストレージシステムは、多数の小さなファイルを格納し、シーケンシャル I/O とランダム I/O でそれらのファイルを並行して読み取る必要があります
FlexGroup ボリュームは、次の図に示すように、複数のコンスティチュエントメンバーボリュームで構成される単一のネームスペースです。ストレージ管理者の視点で見ると、 FlexGroup ボリュームは管理され、 NetApp FlexVol ボリュームのように機能します。FlexGroup ボリューム内のファイルは、個々のメンバーボリュームに割り当てられ、複数のボリュームやノードにまたがってストライプされることはありません。次の機能が有効になります。
-
FlexGroup ボリュームは、数ペタバイトの容量と、メタデータ比率の高いワークロード向けの予測可能な低レイテンシを提供します。
-
同じネームスペースで最大 4 、 000 億個のファイルをサポートします。
-
CPU 、ノード、アグリゲート、コンスティチュエント FlexVol ボリューム全体で NAS ワークロードの並列処理をサポートします。