Contents
✍以下摘要介紹翻譯自 Cortex 的專案介紹
Cortex 是一個可以將機器學習模型部署為營運網路服務的開源平台
主要特性
- 支援多種框架: 部署 TensorFlow、 PyTorch、 scikit-learn 和其它模型
- 自動擴展: 自動擴展 APIs 以處理營運工作負載
- CPU / GPU 支援: 在 CPU 或 GPU 實體( instances )上執行推斷( inference)
- 使用 EC2 Spot instances 節省支出
- 滾動更新: 更新部署的 APIs,不需要停機
- 日誌串流: 從已部署模型到你的 CLI 的日誌流
- 預測監控: 監控 API 效能並追蹤預測
工作流程
這個工具主要將機器模型部署到 AWS
- 形成一個叢集 ( aws )
- 部署一個模型
- 配置你的部署
- 部署到 AWS
- 提供即時預測
- 監控你的部署
( 這部分細節請到 github 專案參考 )
Cortex 與什麼類似?
Cortex 是一個提供機器學習模型服務 SageMaker 的開源替代品 ,或者在 AWS 服務(如 Elastic Kubernetes Service (EKS)、 Elastic Container Service (ECS)、 Lambda、 Fargate 和 Elastic Compute Cloud (EC2))以及開源專案(如 Docker、 Kubernetes 和 TensorFlow Serving)之上建構自己的模型部署平台。
Cortex 是如何運作的?
每次執行 cortex 部署時,命令列工具都會向叢集傳送配置和程式碼。 每個模型與任何 Python 套件和請求處理程式碼一起載入到 Docker 容器中。 該模型是使用Elastic Load Balancing(ELB)、 TensorFlow Serving 和 ONNX Runtime 公開的 web 服務。 容器在 Elastic Kubernetes Service (EKS)上進行編排,同時將日誌和度量指標串流到 CloudWatch。
注意: Cortex 管理自己的 Kubernetes 叢集,因此端到端的功能,比如基於請求的自動擴展、 GPU 支援和 spot instance 管理,可以不需要任何 DevOps 工作即可實現。
Cortex 使用範例
- 情緒分析: 採用 BERT 模型進行情緒分析
- 影像分類: 部署一個初始模型對影像進行分類
- 搜尋完成: 使用 Facebook 的 RoBERTa 模型來完成搜尋條目
- 文字生成: 使用Hugging Face’s DistilGPT2生成文字
- iris 分類: 採用 scikit-learn 模型對進行分類
註:iris 字典上查到有兩個意思 – 鳶尾花和虹膜
專案網址
相關線上課程
開源報報
★ 歡迎使用 App / Email | Telegram 訂閱 網站更新★