急速搭建 Serverless AI 應用:為你寫詩

點擊底部閱讀更多,查看克隆 poetry 項目,安裝依賴,本地運行函數,部署函數等重要內容

急速搭建 Serverless AI 應用:為你寫詩


簡介: AI model serving 是函數計算一個比較典型的應用場景。數據科學家訓練好模型以後往往需要找軟件工程師把模型變成系統或者服務,通常把這個過程稱之為 model serving。函數計算無需運維和彈性伸縮的特性,正好符合數據科學家對高可用分佈式系統的訴求。本文將介紹把一個 TensorFlow CharRNN 訓練的自動寫五言絕句古詩的模型部署到函數計算的例子。

前言

首先介紹下在本文出現的幾個比較重要的概念:

函數計算(Function Compute): 函數計算是一個事件驅動的服務,通過函數計算,用戶無需管理服務器等運行情況,只需編寫代碼並上傳。函數計算準備計算資源,並以彈性伸縮的方式運行用戶代碼,而用戶只需根據實際代碼運行所消耗的資源進行付費。函數計算更多信息參考。
Fun: Fun 是一個用於支持 Serverless 應用部署的工具,能幫助您便捷地管理函數計算、API 網關、日誌服務等資源。它通過一個資源配置文件(template.yml),協助您進行開發、構建、部署操作。Fun 的更多文檔參考。

備註: 本文介紹的技巧需要 Fun 版本大於等於 3.2.0。


依賴工具

本項目是在 MacOS 下開發的,涉及到的工具是平臺無關的,對於 Linux 和 Windows 桌面系統應該也同樣適用。在開始本例之前請確保如下工具已經正確的安裝,更新到最新版本,並進行正確的配置。

  • Docker
  • Fun
  • Fcli

Fun 和 Fcli 工具依賴於 docker 來模擬本地環境。
對於 MacOS 用戶可以使用 homebrew 進行安裝:

<code>brew cask install docker
brew tap vangie/formula
brew install fun
brew install fcli/<code>

Windows 和 Linux 用戶安裝請參考:

  1. https://github.com/aliyun/fun/blob/master/docs/usage/installation.md
  2. https://github.com/aliyun/fcli/releases

安裝好後,記得先執行 fun config 初始化一下配置。

注意, 如果你已經安裝過了 fun,確保 fun 的版本在 3.2.0 以上。

<code>$ fun --version
3.2.2/<code>

背景

AI model serving 是函數計算一個比較典型的應用場景。數據科學家訓練好模型以後往往需要找軟件工程師把模型變成系統或者服務,通常把這個過程稱之為 model serving。函數計算無需運維和彈性伸縮的特性,正好符合數據科學家對高可用分佈式系統的訴求。本文將介紹把一個 TensorFlow CharRNN 訓練的自動寫五言絕句古詩的模型部署到函數計算的例子。

基本上所有的 FaaS 平臺為了減少平臺的冷啟動,都會設置代碼包限制,函數計算也不例外。由於 python TensorFlow 依賴庫和訓練的模型的文件有數百兆,即使壓縮也遠超了函數計算 50M 代碼包大小的限制。對於這類超大體積的文件,函數計算命令行 Fun 工具原生支持了這種大依賴部署(3.2.0 版本以上),按照嚮導的提示操作即可。

快速開始


分享到:


相關文章: