三分鐘搞定你的深度學習開發環境,青雲QingCloud 上線推理引擎服務

2019-11-12     科技百分百

隨著人工智慧應用場景越來越廣泛,深度學習在圖像識別、語音語義、自動駕駛、大數據學習等實踐場景下都取得了不俗的成績,如何快速部署一套深度學習平台從而滿足業務需求,已經成為企業討論的熱門話題。

為了更快地幫助企業構建深度學習平台,青雲QingCloud 推出了 Inference Engine 推理引擎服務,為用戶提供一站式的模型部署與推理方案。

1 推理引擎是什麼?

訓練和推理是機器/深度學習的兩個重要組成部分。用戶通過各種深度學習框架如 Tensorflow, PyTorch 等訓練好模型後,將模型部署到生產環境、管理模型版本並提供 API 用於推理,是機器/深度學習產生價值的不可或缺的環節。

一個成熟的推理產品除了要支持多種推理框架、多種加速器(CPU/GPU)之外,還需要支持諸如推理 API (HTTP/GPRC) 負載均衡、模型上傳、模型存儲、模型部署、水平/垂直伸縮、推理引擎日誌/推理 API 訪問日誌查看等諸多功能。

Inference Engine 推理引擎旨在解決上述問題,為用戶提供一站式的模型部署與推理方案,並為以後模型市場的推出打下堅實的基礎。

架構圖

Inference Engine 由三種角色構成:

邊緣代理/負載均衡器( Edge Proxy & Load Balancing ) :採用雲原生技術棧里的 Envoy 用作邊緣代理和負載均衡器;

模型服務( Model Serving ) :加載模型並提供 HTTP/GRPC 推理服務的引擎,這裡以Tensorflow Serving 舉例;

模型庫( Model Repo ) :用於存儲訓練好的模型。用戶既可以使用能私有部署、適用於私有雲等不能訪問外網環境並且兼容 S3 協議的私有對象存儲 MinIO,也可以使用 QingCloud 公有雲對象存儲, 來存儲模型並供模型服務加載。此外,用戶也可以上傳模型到模型服務節點本地磁碟相應目錄,並加載到 Tensorflow Serving,用做單節點試驗用。

2 推理引擎服務優勢

一鍵部署 靈活易用

Inference Engine 推理引擎通過 AppCenter 交付,可一鍵完成雲端部署,並提供應用全生命周期管理能力(創建、擴容、監控、健康監測等),開發者僅需上傳模型即可快速擁有生產環境可用的 AI 推理引擎。

支持主流推理框架

集成針對 Intel CPU 優化的 CPU 版 Tensorflow Serving ,未來還將陸續支持 ONNX Runtime / OpenVINO 等主流推理框架,助力用戶快速部署機器/深度學習推理環境。

支持 CPU、GPU 多種加速模式

支持使用 GPU 或僅使用 CPU 進行機器/深度學習推理,同時可根據自身需求選擇單節點或分布式部署模式。

Inference Engine 推理引擎 CPU 版基於第二代 Intel 至強可擴展處理器 ( 代號CascadeLake ) ,其採用了 Intel DeepLearning Boost VNNI 技術,AI 推理性能與上一代型號 CPU 相⽐提升高達 100% 。不同於訓練階段,配合針對 CPU 優化的推理框架,CPU 可以在推理環節發揮更重要作用,與 GPU 相比可以為用戶提供更低成本選擇。

性能測試

模型支持多種存儲方式

支持本地磁碟存儲、對象存儲以及兼容 S3 協議的 MinIO 私有對象存儲等多種存儲方式存儲模型。集成對象存儲命令行工具,通過配置對象存儲相關參數,可便捷地從對象存儲中獲取模型,完成推理。

支持多種部署方式

支持單模型服務節點+本地模型存儲、多模型服務節點+私有對象存儲模型庫( MinIO 對象存儲)、多模型服務節點+公有雲對象存儲模型庫( QingCloud 對象存儲或其他兼容 S3 協議的公有雲對象存儲) 等多種部署方式。

按需計費 靈活掌握開發成本

支持按需付費、包月、包年計費模式,為用戶提供更加全面和靈活的成本管理支持。

3 推理引擎服務最佳實踐

方式一:單模型服務節點+本地模型存儲

本部署方式只部署一個模型服務節點,模型保存在該模型服務節點的本地系統盤,無需部署模型庫節點。

僅適用於試驗性用途或者低訪問量的情況。

  • 服務詳情

  • 模型存儲

模型存儲在模型服務節點的 /data/models 目錄下,內置了 resnet 和 Tensorflow 官方演示模型 saved_model_half_plus_two_mkl 兩個模型

  • 服務配置

此種部署方式需要將配置參數的 s3.type 設為 none

方式二:多模型服務節點+私有對象存儲模型庫

本部署方式部署多個模型服務節點以及一個模型庫節點,模型保存在模型庫節點的 MinIO 對象存儲中。

適用於無法訪問公網的私有雲部署或沒有公有雲對象存儲訪問權限的場景。

  • 服務詳情

  • 模型存儲

模型保存在 MinIO 對象存儲中,MinIO 對象存儲的模型存儲路徑為 /data/minio/data/models 目錄,內置了 resnet 和 Tensorflow 官方演示模型 saved_model_half_plus_two 兩個模型。可以直接用 linux 文件系統命令將模型拷貝到 MinIO 的模型存儲目錄中,也可以使用 s3cmd 來管理 MinIO 中的數據。

  • 服務配置

此種部署方式需要將配置參數的 s3.type 設為 minio

註:MinIO 的 access key 默認為 AKIAIOSXODNN7EXAMPLE

secret key 默認為 wJalrXUtqFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

二者均可以通過配置參數 s3.access.key 和 s3.secret.key 設為用戶自定義的 key

方式三:多模型服務節點+公有雲對象存儲模型庫

本部署方式部署多個模型服務節點,本地不部署模型庫節點,模型保存在 QingStor 對象存儲模型庫中。

適用於可以訪問公網,並有公有雲對象存儲訪問權限的場景,模型存儲成本相對較低。

  • 服務詳情

  • 模型存儲

模型保存在公有雲對象存儲中,比如模型放在 QingStor 對象存儲的 Bucket models 中,則模型庫根目錄就要設為 s3://models

註:s3://models 為青雲公開的模型存儲庫,s3://datasets 為青雲公開的數據集

任何青雲用戶都可以用自己的 key 訪問,或者直接訪問url 比如 http://datasets.pek3b.qingstor.com/test/cat.jpg

  • 服務配置

此種部署方式需要將配置參數的 s3.type 設為 QingStor , 並更改相應的 access/secret key 為自己的 key

註:s3.type 設為 QingStor 並設置相應的 key 後, QingStor 對象存儲也可以用 s3cmd 訪問,用法詳見 s3cmd 命令詳解。

廣告時間

為了讓更多的技術愛好者及用戶能夠近距離與我們展開交流,並快速 Get 到青雲QingCloud 最新的技術、產品和正確的使用姿勢,我們啟動「CIC 2019 全國巡展」,巡迴成都、西安、瀋陽、深圳、太原、石家莊、蘇州、上海、武漢、杭州 10 座城市,小夥伴們抓緊時間報名吧。

- FIN -

文章來源: https://twgreatdaily.com/zh-tw/tp4HZ24BMH2_cNUgsx6g.html