通過 DSW(Data Science Workshop)的內建 Notebook 或 VSCode,在雲端開發、訓練並部署深度學習模型。本文以 MNIST 手寫數字識別為例,示範完整流程。
MNIST 手寫數字識別是深度學習經典入門任務,目標是訓練模型識別 10 個手寫數字(0~9)。
一. 前提條件
主帳號已開通 PAI 並建立工作空間。如尚未開通,訪問PAI 控制台,在頁面左上方選擇目標地區,完成一鍵授權和產品開通。
二. 計費說明
本文使用公用資源群組建立 DSW 執行個體和 EAS 模型服務,隨用隨付。計費詳情參見DSW 計費說明和EAS 計費說明。
三. 建立 DSW 執行個體
進入 DSW 頁面。
訪問PAI 控制台。
在頁面左上方選擇目標地區。
在左側導覽列單擊工作空间列表,進入目標工作空間。
在左側導覽列選擇。
在配置实例嚮導頁面配置以下參數,其他保持預設。
资源类型:選擇公共资源(隨用隨付)。
资源规格:選擇
ecs.gn7i-c8g1.2xlarge。該規格庫存不足時,可選擇其他 GPU 執行個體。
镜像配置:選擇官方镜像,搜尋鏡像
modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04。建議使用相同鏡像以避免環境相容問題。
存储挂载:持久化儲存模型開發檔案。本文使用Object Storage Service。單擊 OSS,單擊表徵圖
,選擇 Bucket 並建立目錄(例如pai_test)。如果當前地區沒有可用 Bucket,參考以下步驟建立:
Uri:
oss://**********oss-cn-hangzhou-internal.aliyuncs.com/pai_test/挂载路径:
/mnt/data/
單擊确定建立執行個體。
執行個體啟動失敗時,參見建立DSW執行個體排查。
四. 在 DSW 中開發模型
在執行個體列表單擊打开,進入 DSW 開發環境。在啟動台單擊建立 Notebook。
編寫模型代碼。本文已提供 MNIST 訓練代碼:下載mnist.ipynb,然後在 DSW 左上方單擊
表徵圖上傳檔案。
訓練模型。開啟
mnist.ipynb,找到訓練代碼儲存格,單擊
執行。代碼將自動下載 MNIST 資料集到dataSet目錄,並將訓練後的模型儲存至output目錄。訓練約需 10 分鐘。

訓練過程輸出模型在驗證集上的準確率(反映泛化能力)。本次訓練驗證集準確率為 98%,可進入後續步驟。
查看訓練曲線。執行以下儲存格,單擊 TensorBoard 地址
http://localhost:6006/。
TensorBoard 顯示 train_loss(訓練集損失)和 validation_loss(驗證集損失)曲線。

查看完曲線後,單擊儲存格的
表徵圖停止 TensorBoard。未停止 TensorBoard 將導致後續儲存格無法執行。測試模型效果。執行以下儲存格,展示 20 張測試圖片及其真實標籤(label)和模型預測結果(predict)。

樣本輸出:

持久化模型檔案。本文使用公用資源群組建立 DSW 執行個體,檔案儲存體在免費雲端硬碟中。執行個體停機超過 15 天后,雲端硬碟內容將被自動清空。將模型檔案拷貝至 OSS,以便後續使用 PAI-EAS 部署。

訪問OSS 控制台查看已拷貝的檔案:

模型開發完成後,可將模型部署為線上服務,參見五. 使用 EAS 部署模型服務。
本文使用公用資源建立 DSW 執行個體,隨用隨付。不使用時請在執行個體列表頁面右側,停止或刪除執行個體,避免持續計費。
五. 使用 EAS 部署模型服務
模型訓練完成後,可以通過EAS(Elastic Algorithm Service)快速部署為線上推理服務或AI-Web應用。EAS支援異構資源,結合自動擴縮容、一鍵壓測、灰階發布、即時監控等能力,以更低成本保障高並發情境下的服務穩定性與商務持續性。
編寫模型 Web 介面並拷貝至 OSS。本文提供了 Web 介面代碼和拷貝命令,執行以下儲存格即可。

(可選)在 DSW 中驗證 Web 介面。執行以下儲存格安裝依賴並啟動服務。

測試介面。在頁面上方單擊 WebIDE,左側單擊
request_web.py,單擊
執行代碼。
返回結果:
{"prediction": 7}說明通過公網訪問 DSW 中的 Web 服務需配置 VPC、NAT Gateway和 EIP,詳情參見通過公網訪問執行個體中的服務。
建立 EAS 服務。在 PAI 控制台左側導覽列單擊模型在线服务(EAS) > 部署服务 > 自定义部署。
配置以下參數,其他保持預設:
部署方式:镜像部署
镜像配置:選擇镜像地址,粘貼 DSW 使用的鏡像地址。
DSW 已驗證該鏡像可正常運行模型代碼,部署時使用相同鏡像可避免環境問題。

存储挂载:模型檔案和 Web 介面代碼已拷貝至 OSS。單擊 OSS,選擇對應路徑。
Uri:oss://*****/pai_test/
挂载路径:/mnt/data/
运行命令:
web.py已掛載至/mnt/data/,需調整路徑。運行命令為:python /mnt/data/web.py端口号:填寫
web.py使用的連接埠號碼9000。三方库配置:所選鏡像缺少 bottle 庫,在此處添加
bottle。资源类型:選擇公共资源,资源规格選擇
ecs.gn7i-c8g1.2xlarge。配置系统盘:設定為 20GB。
鏡像體積較大,系統硬碟空間不足時會導致執行個體啟動失敗,建議設定為 20 GB 或以上。
單擊部署建立服務。建立約需 5 分鐘,狀態變為运行中時代表部署成功。
擷取調用資訊。在服務詳情頁單擊查看调用信息,擷取公网调用地址和Token。
調用服務。將以下代碼中的公网调用地址和Token替換為實際值,然後執行代碼。
import requests """ 測試圖片url: label為7 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg label為2 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_2_No_1.jpg label為1 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_1_No_2.jpg label為0 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_0_No_3.jpg label為4 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_4_No_4.jpg label為5 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_9_No_5.jpg """ image_url = 'http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg' # 由用戶端下載圖片,得到位元據 img_response = requests.get(image_url, timeout=10) # 根據狀態代碼自動檢測請求是否成功 img_response.raise_for_status() img_bytes = img_response.content # header資訊 <EAS_TOKEN>需替換為實際的Token # 實際生產中建議您將Token設定為環境變數,防止敏感資訊洩漏 # 環境變數配置方法請參見:https://www.alibabacloud.com/help/zh/sdk/developer-reference/configure-the-alibaba-cloud-accesskey-environment-variable-on-linux-macos-and-windows-systems headers = {"Authorization": "Token"} # 把位元據作為POST請求的body,發送到模型服務 resp = requests.post('調用地址/predict_image', data=img_bytes, headers=headers) print(resp.json())返回結果:
{"prediction": 7}
本文使用公用資源建立 EAS 服務,隨用隨付。不使用時請在服務列表頁面右側,停止或刪除服務,避免持續計費。
六. 相關文檔
DSW 啟動失敗排查參見建立DSW執行個體。
DSW 計費說明參見互動式建模(DSW)計費說明。
DSW 核心功能參見DSW概述。
在公網訪問 DSW Web 服務參見通過公網訪問執行個體中的服務。
EAS 核心功能參見EAS概述。
