瞭解 NVIDIA GPU 上 TorchServe 的 AI 語音產生推論
您可以使用 NVIDIA GPU 上的 TorchServe,設計要在 Oracle Cloud Infrastructure Kubernetes Engine 上執行的文字轉語音服務。此技術也可套用至其他推論工作負載,例如影像分類、物件偵測、自然語言處理和建議系統。
推論伺服器是專門的系統,可代管受過訓練的機器學習模型,並使用 API 提供其預測 (推論)。它處理調整、分批和監控的關鍵生產挑戰:將靜態模型轉換為可靠、高效能的 Web 服務。
TorchServe 是 PyTorch 的官方模型服務架構。
其工作是採用受過訓練的 .mar
檔案 (封裝的模型檔案),然後從 RESTful API 或 gRPC 端點取得該檔案。您不必編寫自訂 Web 伺服器和邏輯,而是將模型封裝並交給 TorchServe。立即為您提供:
- 擴展性:自動管理工作者處理大量流量。
- 低延遲效能:使用多模型批次處理等進階功能,將要求分組以有效率地處理。
- 模型管理:可讓您在不停機的情況下註冊、啟動模型版本及倒回模型。
- 內建監控:追蹤立即可用的推論延遲和每秒要求等指標。
基本上,TorchServe 會橋接 PyTorch 實驗與生產部署之間的差距,將您的強大模型以最少的心力轉換成強大的預測服務。這是將 PyTorch 從研究實驗室帶到現實世界的重要工具。
附註:
TorchServe 目前處於有限的維護模式。雖然部分現有客戶仍可免費使用,但對於特定使用案例或測試便利性,我們建議評估其長期適合生產部署。請檢閱 PyTorch TorchServe 官方文件 (網址為 https://docs.pytorch.org/serve/),瞭解最新狀態和考量事項。這些是市場上部分推論伺服器:
伺服器 | 開發人員 | 主要功能 | 最適合 | 架構支援 |
---|---|---|---|---|
NVIDIA Triton | NVIDIA |
|
高效能的多模型部署 | PyTorch、TF、ONNX、TensorRT |
TorchServe | PyTorch (先前為 Meta) |
|
PyTorch 導向的部署 | 僅 PyTorch |
TensorFlow 服務 |
|
TensorFlow 生態系統 | TensorFlow |
架構
此架構顯示 AI 語音產生推論部署的範例。
經過訓練和自訂的語音模型,從基礎 Hugging Face 模型微調,部署在 TorchServe 上進行推論。TorchServe 可作為服務層,有效代管模型及管理內送使用者要求。
當使用者傳送文字輸入時,TorchServe 會處理要求、呼叫模型,並將輸出轉譯為高品質的合成語音。
對於文字轉語音區隔,每個文件可包含多個區塊,而每個區塊則是由區隔所組成。舉例而言:
Document (chapter)
└── Block (paragraph)
└── Segment (sentence)
此架構支援下列元件:
- OCI 地區
OCI 區域是本地化的地理區域,包含一或多個代管可用性網域的資料中心。區域獨立於其他地區,且遠距離能夠分離它們 (跨國家,甚至是大陸)。
- OCI 虛擬雲端網路與子網路
虛擬雲端網路 (VCN) 是您在 OCI 區域中設定的可自訂軟體定義網路。與傳統資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的無類別網域間路由 (CIDR) 區塊,您可以在建立 VCN 之後變更這些區塊。您可以將 VCN 分隔到子網路中,而子網路的作用領域可以調整到某個區域或可用性網域。每個子網路都是由連續的位址範圍所組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用網路。
- OCI 登錄
Oracle Cloud Infrastructure Registry 是 Oracle 管理的服務,可讓您簡化從開發到生產的工作流程。登錄可讓您輕鬆儲存、共用及管理開發使用者自建物件,例如 Docker 映像檔。
- OCI Object Storage
OCI Object Storage 可讓您存取任何內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料,以及豐富的內容 (例如影像和影片)。您可以直接從應用程式或雲端平台內安全地儲存資料。您可以擴展儲存,而不會發生任何效能或服務可靠性的降低情況。
針對需要快速、立即及頻繁存取的「熱」儲存使用標準儲存。將封存儲存用於保留一段很長的時間和很少或很少存取的「冷」儲存。
- OCI 檔案儲存
Oracle Cloud Infrastructure File Storage 提供持久、可擴展、安全的企業級網路檔案系統。您可以從 VCN 中的任何裸機、虛擬機器或容器執行處理連線至 OCI 檔案儲存。您也可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN,從 VCN 外部存取 OCI File Storage 。
- OCI 區塊磁碟區
您可以使用 Oracle Cloud Infrastructure Block Volumes 建立、連附、連線及移動儲存磁碟區,以及變更磁碟區效能以符合您的儲存、效能和應用程式需求。將磁碟區連附並連線至執行處理之後,就可以像使用一般硬碟一樣使用磁碟區。您也可以中斷磁碟區連線並將其連附至另一個執行處理,而不會遺失資料。
- 負載平衡器
Oracle Cloud Infrastructure Load Balancing 提供從單一進入點到多部伺服器的自動化流量分配功能。
- OCI Kubernetes 引擎
Oracle Cloud Infrastructure Kubernetes Engine ( OCI Kubernetes Engine 或 OKE) 是完全託管、可擴展且高可用性的服務,可用來將容器化應用程式部署到雲端。您可以指定應用程式所需的運算資源,然後確定在現有租用戶的 OCI 上佈建這些資源。OKE 使用 Kubernetes 將跨主機叢集的容器化應用程式部署、調整規模及管理自動化。
- 服務閘道
服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。從 VCN 到 Oracle 服務的流量會透過 Oracle 網路結構傳送,而不會周遊網際網路。
- 網際網路閘道
網際網路閘道允許 VCN 中公用子網路與公用網際網路之間的流量。
- OCI 記錄日誌Oracle Cloud Infrastructure Logging 是可高度擴展且完全受管理的服務,可讓您從雲端資源存取下列類型的日誌:
- 稽核日誌:與 OCI Audit 產生之事件相關的日誌。
- 服務日誌:由個別服務 (例如 OCI API Gateway 、 OCI Events 、 OCI Functions 、 OCI Load Balancing 、 OCI Object Storage 和 VCN 流量日誌) 發布的日誌。
- 自訂日誌:包含自訂應用程式、其他雲端提供者或內部部署環境之診斷資訊的日誌。
- OCI 監控
Oracle Cloud Infrastructure Monitoring 主動並被動監控您的雲端資源,並使用警訊在指標符合指定的觸發器時通知您。
- 原則
Oracle Cloud Infrastructure Identity and Access Management 原則會指定誰可以存取哪些資源,以及存取方式。會在群組和區間層級授予存取權,這表示您可以撰寫一個原則,讓群組在特定區間或租用戶內擁有特定類型的存取權。
- OCI 保存庫
Oracle Cloud Infrastructure Vault 可讓您建立並集中管理加密金鑰,這些加密金鑰可保護您的資料,以及用來保護雲端資源存取的安全機密證明資料。預設金鑰管理是 Oracle 管理的金鑰。您也可以使用使用使用 OCI Vault 的客戶管理金鑰。OCI Vault 提供一組豐富的 REST API 來管理保存庫和金鑰。
- Hugging Face
Hugging Face 是一個適用於機器學習的協作平台和中心,為 AI 應用程式提供預先訓練的 AI 模型、開發工具和託管基礎架構,讓全球開發人員能夠使用先進的機器學習。