技術總覽
本節著重於 NetApp 的 OpenSource MLOps 技術概覽。
人工智慧
AI是一項電腦科學訓練、訓練電腦模擬人類思維的認知功能。AI開發人員訓練電腦、以類似甚至優於人類的方式學習及解決問題。深度學習和機器學習是AI的子領域。企業組織越來越採用AI、ML和DL來支援其關鍵業務需求。以下是一些範例:
-
分析大量資料、發掘先前未知的商業洞見
-
使用自然語言處理功能直接與客戶互動
-
自動化各種業務流程與功能
現代化的AI訓練和推斷工作負載需要大量平行運算功能。因此、GPU越來越常用於執行AI作業、因為GPU的平行處理能力遠優於通用CPU。
容器
容器是獨立的使用者空間執行個體、可在共享主機作業系統核心上執行。容器的採用率正在迅速增加。Container提供許多與虛擬機器(VM)相同的應用程式沙箱效益。不過、由於虛擬機器所仰賴的Hypervisor和客體作業系統層已經被淘汰、因此容器的重量遠較輕。下圖說明虛擬機器與容器的視覺化。
容器也能直接透過應用程式、有效封裝應用程式相依性、執行時間等項目。最常用的容器包裝格式是Docker容器。以Docker Container格式容器化的應用程式、可在任何能夠執行Docker Container的機器上執行。即使應用程式的相依性並不存在於機器上、也一樣、因為所有相依性都封裝在容器本身。如需詳細資訊、請參閱 "Docker網站"。
Kubernetes
Kubernetes是開放原始碼的分散式容器協調平台、最初由Google設計、現在由Cloud Native Computing Foundation(CNCF)維護。Kubernetes可將容器化應用程式的部署、管理及擴充功能自動化。近年來、Kubernetes已成為主要的容器協調平台。如需詳細資訊、請參閱 "Kubernetes網站"。
NetApp Trident
"Trident"可在所有常見的 NetApp 儲存平台、公有雲或內部部署(包括 ONTAP ( AFF 、 FAS 、 Select 、 Cloud 、 Amazon FSX ONTAP )、 Azure NetApp Files 服務和 Google Cloud NetApp Volumes )中、使用和管理儲存資源。Trident 是符合 Container Storage Interface ( CSI )規範的動態儲存協調器、可與 Kubernetes 原生整合。
NetApp DataOps工具套件
這 "NetApp DataOps工具套件" 是一套以 Python 為基礎的工具、可簡化開發 / 訓練工作區的管理、以及以高效能橫向擴充 NetApp 儲存設備為後盾的推斷伺服器。主要功能包括:
-
快速配置以高效能橫向擴充 NetApp 儲存設備為後盾的全新高容量工作區。
-
以近乎即時的方式複製高容量工作空間、以便進行實驗或快速迭代。
-
近乎即時地儲存高容量工作區的快照、以供備份及 / 或追蹤 / 基準處理。
-
近乎即時地配置、複製及快照高容量、高效能的資料磁碟區。
Apache Airflow
Apache Airflow是開放原始碼的工作流程管理平台、可針對複雜的企業工作流程、進行程式化的撰寫、排程及監控。它通常用於自動化ETL和資料管線工作流程、但不限於這些類型的工作流程。氣流專案是由Airbnb發起、但後來在業界廣受歡迎、現在由Apache Software Foundation贊助。氣流是以Python撰寫、氣流工作流程是透過Python指令碼建立、氣流是以「組態為程式碼」的原則設計。 許多企業氣流使用者現在都在Kubernetes上執行氣流。
定向Acyclic圖表(DAG)
在氣流中、工作流程稱為「導向Acyclic Graphs(DAG)(導向型Acyclic Graphs(DAG))」。DAG是由依順序、平行或兩者組合執行的工作所組成、視DAG定義而定。氣流排程器會在一組工作人員上執行個別工作、並遵循DAG定義中指定的工作層級相依性。DAG是透過Python指令碼來定義和建立。
Jupyter筆記型電腦
Jupyter 筆記本是類似 wiki 的文件、包含即時程式碼及說明文字。Jupyter筆記型電腦在AI和ML社群中廣為使用、可用來記錄、儲存及分享AI和ML專案。如需 Jupyter 筆記型電腦的詳細資訊、請參閱 "Jupyter網站"。
Jupyter筆記型電腦伺服器
Jupyter 筆記型電腦伺服器是開放原始碼的網路應用程式、可讓使用者建立 Jupyter 筆記型電腦。
JupyterHub
JupyterHub 是一種多使用者應用程式、可讓個別使用者配置及存取自己的 Jupyter 筆記型電腦伺服器。如需有關 JupyterHub 的詳細資訊、請參閱 "JupyterHub 網站"。
MLflow
MLflow 是熱門的開放原始碼 AI 生命週期管理平台。MLflow 的主要功能包括 AI / ML 實驗追蹤和 AI / ML 模型儲存庫。如需 MLflow 的詳細資訊、請參閱 "MLflow 網站"。
Kubeflow
Kubeflow是Kubernetes的開放原始碼AI和ML工具套件、最初由Google開發。Kubeflow專案讓Kubernetes上的AI和ML工作流程部署變得簡單、可攜且可擴充。Kubeflow 將 Kubernetes 的複雜性抽象化、讓資料科學家能夠專注於他們最瞭解的資料科學。如需視覺化功能、請參閱下圖。Kubeflow 是適合偏好一體化 MLOps 平台的組織、是理想的開放原始碼選項。如需詳細資訊、請參閱 "Kubeflow網站"。
Kubeflow Pipines
Kubeflow Pipines是Kubeflow的重要元件。Kubeflow Pipines是定義及部署可攜式且可擴充的AI和ML工作流程的平台和標準。如需詳細資訊、請參閱 "官方Kubeflow文件"。
Kubeflow 筆記型電腦
Kubeflow簡化了Kubernetes上Jupyter筆記型電腦伺服器的資源配置與部署。有關 Kubeflow 環境中 Jupyter 筆記本電腦的詳細信息,請參閱 "官方Kubeflow文件"。
Katib
Katib 是 Kubernetes 原生的自動化機器學習( AutoML )專案。Katib 支援超參數調校、早期停止和神經架構搜尋( NAS )。Katib 是與機器學習( ML )架構不相關的專案。它可以調整以使用者選擇的任何語言寫入的應用程式超頻參數、並原生支援許多 ML 架構、例如 TensorFlow 、 MXNet 、 PyTorch 、 XGBoost 、 及其他。Katib 支援許多不同的 AutoML 演算法、例如 Bayesia 最佳化、 Parzen Estimators 樹、隨機搜尋、 Covariance Matrix Adaptation Evolution Strategy 、 Hyperband 、高效神經架構搜尋、差異化架構搜尋等。如需Kubeflow內容中Jupyter Notebooks的詳細資訊、請參閱 "官方Kubeflow文件"。
NetApp ONTAP
NetApp最新一代的儲存管理軟體、即支援企業將基礎架構現代化、並移轉至雲端就緒的資料中心。ONTAP利用領先業界的資料管理功能ONTAP 、無論資料位於何處、只要使用一組工具、即可管理及保護資料。您也可以自由地將資料移至任何需要的位置:邊緣、核心或雲端。支援眾多功能、可簡化資料管理、加速及保護關鍵資料、並在混合雲架構中提供新一代基礎架構功能。ONTAP
簡化資料管理
資料管理對於企業IT營運和資料科學家而言至關重要、因此可將適當的資源用於AI應用程式和訓練AI/ML資料集。下列關於NetApp技術的其他資訊超出此驗證範圍、但可能會因您的部署而有所差異。
包含下列功能的資料管理軟體、可簡化及簡化作業、並降低您的總營運成本:ONTAP
-
即時資料精簡與擴充重複資料刪除技術。資料壓縮可減少儲存區塊內的空間浪費、重複資料刪除技術可大幅提升有效容量。這適用於本機儲存的資料、以及分層至雲端的資料。
-
最低、最大及可調適的服務品質(AQO)。精細的服務品質(QoS)控制有助於維持高共享環境中關鍵應用程式的效能等級。
-
NetApp FabricPool自動將冷資料分層至公有和私有雲端儲存選項、包括Amazon Web Services(AWS)、Azure和NetApp StorageGRID 等儲存解決方案。如需FabricPool 更多有關資訊、請參閱 "TR-4598:FabricPool 最佳實務做法"。
加速並保護資料
提供優異的效能與資料保護、並以下列方式擴充這些功能:ONTAP
-
效能與較低的延遲。以最低的延遲提供最高的處理量。ONTAP
-
資料保護:支援所有平台的通用管理功能、可提供內建的資料保護功能。ONTAP
-
NetApp Volume Encryption(NVE)。支援內建和外部金鑰管理、提供原生Volume層級的加密功能。ONTAP
-
多租戶和多因素驗證。支援以最高安全等級共享基礎架構資源。ONTAP
符合未來需求的基礎架構
下列功能可協助滿足嚴苛且不斷變化的業務需求:ONTAP
-
無縫擴充與不中斷營運。支援在不中斷營運的情況下、將容量新增至現有控制器和橫向擴充叢集。ONTAP客戶可以升級至最新技術、而無需昂貴的資料移轉或中斷運作。
-
雲端連線:ONTAP 是最具雲端連線能力的儲存管理軟體、可在所有公有雲中選擇軟體定義儲存設備和雲端原生執行個體。
-
與新興應用程式整合。利用支援現有企業應用程式的相同基礎架構、為新一代平台和應用程式提供企業級資料服務、例如自動駕駛車輛、智慧城市和產業4.0。ONTAP
NetApp Snapshot複本
NetApp Snapshot複本是磁碟區的唯讀時間點映像。此映像會佔用最小的儲存空間、並產生可忽略的效能負荷、因為它只會記錄自上次建立Snapshot複本以來所建立的檔案變更、如下圖所示。
Snapshot複本的效率歸功於核心ONTAP 的不穩定儲存虛擬化技術WAFL 、亦即Write Anywhere File Layout(簡稱「Write Anywhere File Layout」、簡稱「Write Anywhere」)。如同資料庫、WAFL 利用中繼資料指向磁碟上的實際資料區塊。但是WAFL 、不像資料庫、不像是使用什麼功能來覆寫現有的區塊。它會將更新的資料寫入新的區塊、並變更中繼資料。這是因為ONTAP 當我們建立Snapshot複本時、不需要複製資料區塊、而是參考中繼資料、所以Snapshot複本非常有效率。如此可免除其他系統在尋找要複製的區塊時所需的搜尋時間、以及複本本身的成本。
您可以使用Snapshot複本來還原個別檔案或LUN、或還原磁碟區的完整內容。此功能可將Snapshot複本中的指標資訊與磁碟上的資料進行比較、以重建遺失或損壞的物件、而不會造成停機或重大效能成本。ONTAP
NetApp FlexClone技術
NetApp FlexClone技術會參考Snapshot中繼資料、以建立磁碟區的可寫入時間點複本。複本會與父實體共用資料區塊、除非中繼資料需要的資料、否則不會佔用任何儲存空間、直到將變更寫入複本為止、如下圖所示。在傳統複本需要數分鐘甚至數小時才能建立的地方、FlexClone軟體可讓您幾乎即時複製最大的資料集。這使得它非常適合您需要多個相同資料集複本(例如開發工作區)或資料集暫存複本(針對正式作業資料集測試應用程式)的情況。
NetApp SnapMirror資料複寫技術
NetApp SnapMirror軟體是一款具成本效益且易於使用的統一化複寫解決方案、適用於整個資料架構。它可透過LAN或WAN高速複寫資料。它可為各種應用程式提供高資料可用度及快速資料複寫、包括虛擬與傳統環境中的業務關鍵應用程式。當您將資料複寫到一或多個NetApp儲存系統、並持續更新次要資料時、資料會保持最新狀態、而且隨時可供使用。不需要外部複寫伺服器。請參閱下圖、瞭解運用SnapMirror技術的架構範例。
SnapMirror軟體透過ONTAP 網路僅傳送變更的區塊、充分發揮NetApp的效能。SnapMirror軟體也使用內建的網路壓縮功能來加速資料傳輸、並減少高達70%的網路頻寬使用率。有了SnapMirror技術、您可以利用單一精簡複寫資料串流來建立單一儲存庫、同時維護作用中鏡像和先前的時間點複本、最多可減少50%的網路流量。
NetApp BlueXP 複製與同步
"BlueXP 複製與同步" 是一項 NetApp 服務、可快速安全地同步資料。無論您需要在內部部署的 NFS 或 SMB 檔案共用、 NetApp StorageGRID 、 NetApp ONTAP S3 、 NetApp Cloud Volumes Service 、 Azure NetApp Files 、 AWS S3 、 AWS EFS 、 Azure Blob 、 Google Cloud Storage 或 IBM Cloud Object Storage 、 BlueXP 複製與同步功能可快速安全地將檔案移至所需的位置。
資料傳輸完成後、即可在來源和目標上完全使用。BlueXP 複製與同步可在觸發更新時隨需同步資料、或根據預先定義的排程持續同步資料。不過、 BlueXP 複製與同步只會移動資料量、因此將用於資料複寫的時間與金錢降到最低。
BlueXP 複製與同步是一種軟體即服務( SaaS )工具、設定與使用極為簡單。BlueXP 複製與同步所觸發的資料傳輸是由資料代理人執行。BlueXP 複製與同步資料代理人可以部署在 AWS 、 Azure 、 Google Cloud Platform 或內部部署。
NetApp XCP
"NetApp XCP" 是適用於任何對 NetApp 和 NetApp 對 NetApp 資料移轉和檔案系統洞見的用戶端型軟體。XCP的設計旨在利用所有可用的系統資源來處理大量資料集和高效能移轉、以擴充並達到最大效能。XCP可讓您利用產生報告的選項、全面掌握檔案系統。
NetApp ONTAP FlexGroup 產品區
訓練資料集可能是數十億個檔案的集合。檔案可以包含文字、音訊、視訊及其他形式的非結構化資料、這些資料必須儲存和處理才能並行讀取。儲存系統必須儲存大量的小型檔案、而且必須平行讀取這些檔案、才能執行連續和隨機I/O
例如下圖所示、一個包含多個組成成員磁碟區的單一命名空間。FlexGroup從儲存管理員的觀點來看、FlexGroup 可管理一個不實的功能、就像NetApp FlexVol 的一套功能。將某個資料區中的檔案FlexGroup 分配給個別成員磁碟區、而不會跨磁碟區或節點進行等量分佈。這些功能可實現下列功能:
-
支援多PB容量、可預測低延遲的高中繼資料工作負載。FlexGroup
-
在同一個命名空間中支援高達4000億個檔案。
-
它們支援跨CPU、節點、集合體及組成FlexVol 的等量資料磁碟區、在NAS工作負載中進行平行化作業。