跳到主要內容
工程的博客

宣布MLflow 1.0發布

2019年6月6日 工程的博客

分享這篇文章

MLflow是一個開源平台,幫助管理完整的機器學Beplay体育安卓版本習生命周期。使用MLflow,數據科學家可以在本地(筆記本電腦上)或遠程(雲中)跟蹤和共享實驗,跨框架打包和共享模型,並幾乎在任何地方部署模型。

今天,我們激動地宣布MLflow 1.0的發布。自一年前推出以來,MLflow已經部署在數千個組織中,以管理他們的生產機器學習工作負載,並且已經在諸如在Databricks上管理MLflow.MLflow社區已經發展到100多名貢獻者,MLflow PyPI包的下載率已經達到每月近60萬次。1.0版本不僅標誌著api的成熟和穩定,而且還增加了許多經常要求的特性和改進。

該版本從今天開始公開發布。使用PyPl安裝MLflow 1.0,讀我們的文檔開始,並提供反饋GitHub.下麵我們隻介紹MLflow 1.0中的幾個新特性。詳情請參閱發布說明完整的列表。

MLflow 1.0有什麼新功能

跟蹤API支持X坐標

在ML訓練期間跟蹤指標的數據科學家和工程師通常希望在訓練運行結束時跟蹤彙總指標,例如,準確性,或在模型訓練時產生的“流指標”,例如,每個小批的損失。這些流度量通常是針對訓練數據的每個小批或epoch計算的。為了能夠準確地記錄這些指標,以及更好的可視化,可以使用log_metricAPI現在支持步進參數。

Mlflow.log_metric(鍵,值,步驟=沒有一個

度量步長可以是表示度量的x坐標的任何整數。例如,如果您想記錄每個紀元數據的度量,那麼步長就是紀元號。

MLflow UI現在還支持根據所提供的x坐標值繪製指標。在下麵的示例中,我們將展示如何使用UI來可視化兩個指標。盡管它們記錄在不同的時間點上(如“相對時間”視圖中數據點的不對齊所示),但數據點與相同的x坐標相關。通過切換到“步驟”視圖,您可以看到來自兩個指標的數據點按它們的x坐標值排列。

改進的搜索功能

為了改進搜索功能,搜索過濾器API現在支持SQL WHERE子句的簡化版本。此外,它還得到了增強,除了指標和參數之外,還支持通過運行屬性和標記進行搜索。下麵的例子顯示了通過參數和標簽值在所有實驗中運行的搜索。

mlflow.tracking.client進口MlflowClientAll_experiments = [exp.experiment_id .經驗值.list_experiments MlflowClient () ())
              runs = (MlflowClient().search_runs (experiment_ids = all_experiments,filter_string =”參數。模型=《盜夢空間》和tags.version = resnet”run_view_type = ViewType.ALL))

批量記錄指標

在您想要記錄多個指標的實驗中,作為批記錄它們通常比單獨記錄它們更方便和高效。MLflow 1.0包含一個運行/ log-batchREST API端點,用於用一個API請求記錄多個指標、參數和標記。

你可以調用這個批處理日誌端點:

  • Python
    Mlflow.log_metrics, mlflow.log_params, mlflow.set_tags
  • R
    mlflow_log_batch
  • Java
    MlflowClient.logBatch

支持HDFS作為一個Artifact Store

除了本地文件,MLflow已經支持以下存儲係統作為工件存儲:Amazon S3、Azure Blob storage、穀歌Cloud storage、SFTP和NFS。在MLflow 1.0版本中,我們增加了對HDFS作為工件存儲後端的支持。簡單地指定hdfs: / /URI與——backend-store-uri

hdfs:/ / <主機>:<端口> / <路徑> < /路徑> < /端口> < /主機>

Windows支持MLflow客戶端

運行在Windows操作係統上的MLflow用戶現在可以使用MLflow 1.0 Windows客戶端跟蹤實驗。

為部署構建Docker映像

部署ML模型最常見的方法之一是構建docker容器。MLflow 1.0增加了一個新命令,用於構建一個docker容器,該容器的默認入口點服務於容器內端口8080處的指定MLflow pyfunc模型。例如,您可以構建一個docker容器,並使用以下命令將其服務於主機的5001端口:

Mlflow模型build-docker -m“運行:/ some-run-uuid /我的模型”- n“my-image-name”Docker run -p50018080“my-image-name”

ONNX模型風味

這個版本增加了一個實驗版本ONNX模型的味道。要以MLflow格式記錄ONNX模型,請使用mlflow.onnx.save_model ()而且mlflow.onnx.log_model ()方法。這些方法還添加pyfunc為他們生成的MLflow模型添加風味,允許模型被解釋為用於推理的通用Python函數mlflow.pyfunc.load_pyfunc ().MLflow ONNX模型的pyfunc表示使用ONNX運行時執行引擎進行計算。最後,您可以使用mlflow.onnx.load_model ()方法加載帶有本地ONNX格式的ONNX風味的MLflow模型。

其他功能及更新

請注意,這個主要版本發布包括幾個突破性的更改。請查看來自社區的更改和貢獻的完整列表1.0版本說明.我們歡迎更多的意見(電子郵件保護)或者在GitHub上提交問題或補丁。對於關於MLflow的實時問題,我們還運行一個鬆弛的通道MLflow,你可以跟隨@MLflow在Twitter上。

1.0之後會是什麼

1.0版本標誌著MLflow組件(跟蹤、模型和項目)被廣泛采用的一個裏程碑。在我們繼續開發這些組件的同時,我們也在投資新的組件,以覆蓋更多的ML生命周期。MLflow的下一個主要補充將是一個模型注冊表,允許用戶管理他們的ML模型的生命周期,從實驗到部署和監控。看Spark AI峰會MLflow主題演講記錄為即將到來的功能演示。

不要錯過我們即將到來的網絡研討會,我們將介紹1.0更新和更多內容:管理機器學習生命周期:MLflow的新特性- 6月6日星期四。

最後,加入微軟於6月20日星期四在森尼維爾舉辦的灣區MLflow Meetup。在這裏注冊

閱讀更多

要在筆記本電腦或Databricks上開始使用MLflow,您可以:

  1. 讀了快速入門指南
  2. 完成教程
  3. 試管理MLflow on Databricks

學分

我們要感謝以下貢獻者對MLflow 1.0的更新、文檔更改和貢獻:Aaron Davidson, Alexander Shtuchkin, Anca Sarb, Andrew Chen, Andrew Crozier, Anthony, Christian Clauss, Clemens Mewald, Corey Zumar, Derron Hu, Drew McDonald, Gábor Lipták, Jim Thompson, Kevin Kuo, kublay - jing, Luke Zhu, Mani Parkhe, Matei Zaharia, Paul Ogilive, Richard Zang, Sean Owen, Siddharth Murching, Stephanie Bodoff, Sue Ann Hong, Sungjun Kim, Tomas Nykodym, Yahro, Yorick, avflor, eedeleon, freefrag, hchiuzhuo, jason-huling, kafendt, v神-dbx。

免費試用Databricks
看到所有工程的博客的帖子
Baidu
map