MLflow 1.12特性擴展PyTorch集成
2020年11月13日 在工程的博客
MLflow 1.12特性包括延長PyTorch集成,世鵬科技電子模型explainability autologging MLflow實體支持模型的味道改進,以及用戶界麵和文檔。現在可以在PyPI和文檔在線,你可以安裝這個新版本pip安裝mlflow = = 1.12.0
中描述的那樣MLflow快速入門指南。
在這個博客中,我們簡要解釋的關鍵特性,特別是擴展PyTorch集成,以及如何使用它們。附加功能的全麵列表、修改和bug修複閱讀MLflow 1.12的更新日誌。
支持PyTorch Autologging, TorchScript模型和TorchServing
在PyTorch開發者的一天Facebook的AI和PyTorch工程團隊,協作與磚的MLflow團隊和社區,宣布了一項擴展PyTorch和MLflow集成作為MLflow release 1.12的一部分。這個聯合工程投資和集成MLflow PyTorch開發者提供一個“端到端PyTorch勘探生產平台。Beplay体育安卓版本“我們簡單介紹一下三個方麵的整合:
- Autologging PyTorch模型
- 支持TorchScript模型
- 部署到TorchServe PyTorch模型
Autologging PyTorch pl.LightningModule模型
作為普遍的一部分autologging特性介紹了發布(見下麵autologging部分),您可以自動日誌(和跟蹤)從PyTorch閃電模型參數和指標。
除了自定義實體的記錄和跟蹤,PyTorch autolog跟蹤功能將日誌模型的優化器名稱和學習速度;指標如培訓損失,確認損失,精度;和模型構件和檢查點。提前停止,模型檢查點,早期停止參數和指標也被記錄。
轉換PyTorch TorchScript模型
TorchScript是一種從PyTorch代碼創建序列化和optimizable模型。因此任何MLflow-logged PyTorch模型可以轉化為TorchScript,保存和加載(或部署到)一個高性能、獨立的過程,沒有Python的依賴。這個過程包括以下步驟:
- 創建一個MLflow Python模型
- 使用JIT編譯模型和轉換為TorchScript模型
- 日誌或保存TorchScript模型
- 負載或部署TorchScript模型
#你PyTorch nn。模塊或pl.LightningModule模型=淨()scripted_model = torch.jit.script(模型)…mlflow.pytorch.log_model (scripted_model“scripted_model”)model_uri = mlflow.get_artifact_uri (“scripted_model”)loaded_model = mlflow.pytorch.load_model (model_uri)…
為簡便起見,我們沒有包括所有的代碼,但是您可以檢查示例代碼)IrisClassification和MNIST在GitHub的mlflow /例子/ pytorch / torchscript目錄。
一件事你可以做腳本(安裝或記錄)模型是使用mflow流暢mlflow.pytorch
api來訪問模型及其屬性,如GitHub的例子所示。另一件事你可以做與腳本模型是將其部署到使用TorchServer TorchServe服務器MLflow插件。
部署PyTorch模型與TorchServe MLflow插件
TorchServe提供了一種靈活的、簡單的工具服務PyTorch模型。通過TorchServe MLflow部署插件,您可以部署任何MLflow-logged和安裝PyTorch模型。這個擴展集成完成PyTorch MLOps生命周期從開發、跟蹤和保存部署和服務PyTorch模型。
演示中,兩個PyTorch examples-BertNewsClassifcation和MNIST列舉步驟如何使用TorchServe MLflow部署插件PyTorch保存模型部署到現有TorcheServe服務器。任何MLflow-logged和安裝PyTorch模型可以很容易地部署使用mlflow部署命令。例如:
mlflow部署創建- t torchserve - m模型:- n my_pytorch_model my_pytorch_model /生產
部署完成後,您可以輕鬆地使用mlflow部署預測推理命令。
mlflow部署預測——名字my_pytorch_model——目標torchserve——樣本輸入通道。json - output-path output.json。
世鵬科技電子Explainability API提供了模型
隨著越來越多的機器學習模型是部署在生產的業務應用程序提供暗示暗示或做出決定性的預測,機器學習工程師有義務解釋模型訓練和導致其輸出特性。一個共同的技術用於回答這些問題世鵬科技電子(夏普利添加劑的解釋),理論方法來解釋任何機器學習模型的輸出。
為此,該版本包括一個mlflow。世鵬科技電子模塊用一個方法mlflow.shap.log_explanation ()
生成一個圖可以說明記錄
作為一個模型在UI工件和檢查。
進口mlflow#準備訓練數據數據集= load_boston ()X = pd.DataFrame (dataset.data [:50,:8= dataset.feature_names[],列:8])y = dataset.target [:50]#火車模型模型= LinearRegression ()模型。fit (X, y)#日誌一個解釋與mlflow.start_run ()作為運行:mlflow.shap.log_explanation(模型。預測,X)…
您可以查看的示例代碼文檔頁麵並嚐試其他的例子模型與世鵬科技電子MLflow GitHub的解釋mlflow /例子/世鵬科技電子目錄中。
Autologging簡化跟蹤實驗
的mlflow.autolog ()追蹤API是一個普遍的方法,簡化了訓練entities-parameters代碼通過自動記錄所有相關模型,度量,構件(如summaries-with一個調用模型和模型,而不需要顯式地調用每一個單獨的方法來記錄各自模型的實體。
作為一個普遍的單一方法,引擎蓋下麵,它檢測到支持autologging模型味道是用在我們的例子中scikit-learn-and跟蹤所有各自的實體記錄。運行後,MLflow UI中,您可以檢查所有自動記錄實體。
接下來是什麼
了解更多關於PyTorch集成的數據+人工智能歐洲峰會下周,主旨Facebook AI工程主管林巧,一個會話可再生的AI使用PyTorch和MLflow從Facebook的吉塔Chauhan。
請繼續關注其他PyTorch和MLflow詳細的博客。現在您可以:
- 讀MLflow和PyTorch——滿足MLOps前沿的人工智能
- PyTorch和MLFlow結帳mlflow / / pytorch /例子
- 檢查世鵬科技電子GitHubmlflow / /世鵬科技電子/例子
pip安裝mlflow = = 1.12.0
並在它。
社會信用
我們想要感謝下列貢獻者更新,doc變化,貢獻MLflow 1.12版本。特別是,我們要感謝Facebook AI和PyTorch工程團隊擴展PyTorch集成貢獻和所有MLflow社區貢獻者:
安迪,安德裏亞·克雷斯安德魯•Nitu Ankit Mathur之一Apurva科技,Arjun DCunha, Avesh辛格Axel薇薇安,科裏Zumar,費邊衝激著,吉塔Chauhan, Harutaka河村建夫,Jean-Denis勒,約瑟夫·貝瑞朱爾斯s Damji Juntai鄭,洛倫茨Walthert, Poruri賽拉胡爾,馬克•安德森馬泰Zaharia馬丁諾夫格言,奧利維爾·Bondu肖恩·巴特爾Shrinath蘇雷什,哈斯默奇,安蘇,托馬斯Nykodym,李Yitao Zhidong瞿,@abawchen, @cafeal, @bramrodenburg, @danielvdende, @edgan8, @emptalk, @ghisvail, @jgc128 @karthik - 77, @kzm4269, @magnus-m, @sbrugman, @simonhessner, @shivp950 @willzhan-db