Netflix開源內部Python工具Metaflow,部署效率提升17倍

Netflix經常以開放源代碼的形式向公衆發佈其內部工具。近日,Netflix的數據科學團隊已將其Metaflow Python庫開源,該庫是“以人爲中心”的機器學習基礎架構的關鍵部分,用於構建和部署數據科學工作流。

Metaflow與Apache Airflow和Luigi等項目有許多相似的概念,開發人員可能對此有一定的經驗。例如,使用Metaflow,你可以創建和執行DAGs(有向無環圖)。

代碼結構

其中一個關鍵特性是Metaflow自動將所有代碼、數據和依賴項快照到Amazon S3的能力。有了這個功能特性,使Metaflow能夠實現自動版本控制和實驗跟蹤,因此開發人員可以安全地檢查和恢復Metaflow的執行情況。

外部Python庫

Python已經成爲數據科學的標準語言之一,因此它有許多常用的庫。Metaflow允許導入外部庫,並支持所有公共機器學習框架。

因此,你可以使用所有你熟悉的數據科學庫,例如PyTorch和TensorFlow。只需使用慣用的Python代碼編寫模型。

此外,Netflix在2月份的一場演講中透露,Metaflow已經將Netflix機器學習項目的部署時間中位數從四個月縮短到了僅僅7天,部署效率大大提高

AWS集成

多年來,Netflix一直是使用AWS的最大企業之一,因此Metaflow與衆多AWS服務集成在一起就不足爲奇了,從文檔中可以看到,這些是當前的集成(將來還會有兩個集成):

藉助內置的強大S3客戶端,Metaflow可以加載高達10Gbps的數據。AWS上Metaflow 的文檔地址:https://docs.metaflow.org/metaflow-on-aws/metaflow-on-aws

Metaflow還與基於AWS容器的計算平臺Batch集成。 Netflix 認爲,AWS上的Metaflow可以讓開發人員提高在筆記本電腦上進行開發的速度,同時可以在雲中使用更深的計算資源。  Metaflow使得不必在每種狀態下都對代碼或庫進行更改,從而使在本地和遠程執行模式之間輕鬆地來回移動,這反過來又使故障排除更加容易。

Metaflow的源代碼可在GitHub上獲得,目前已經在Github上標星1.4K,76個Fork(Github地址:https://github.com/Netflix/metaflow)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章