成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

機(jī)器學(xué)習(xí)任務(wù)編排工具比較

人工智能 機(jī)器學(xué)習(xí)
最近,出現(xiàn)了用于編排任務(wù)和數(shù)據(jù)工作流的新工具(有時稱為" MLOps")。 這些工具的數(shù)量眾多,因此很難選擇要使用的工具,也難以理解它們的重疊方式,因此我們決定對一些最受歡迎的工具進(jìn)行比較。

[[349374]]

任務(wù)編排工具和工作流程

最近,出現(xiàn)了用于編排任務(wù)和數(shù)據(jù)工作流的新工具(有時稱為" MLOps")。 這些工具的數(shù)量眾多,因此很難選擇要使用的工具,也難以理解它們的重疊方式,因此我們決定對一些最受歡迎的工具進(jìn)行比較。

機(jī)器學(xué)習(xí)任務(wù)編排工具比較

> Airflow is the most popular solution, followed by Luigi. There are newer contenders too, and they'

總體而言,Apache Airflow既是最受歡迎的工具,也是功能最廣泛的工具,但是Luigi是類似的工具,上手起來比較簡單。 Argo是團(tuán)隊已經(jīng)在使用Kubernetes時經(jīng)常使用的一種,而Kubeflow和MLFlow滿足了與部署機(jī)器學(xué)習(xí)模型和跟蹤實驗有關(guān)的更多利基要求。

在進(jìn)行詳細(xì)比較之前,了解一些與任務(wù)編排相關(guān)的更廣泛的概念很有用。

什么是任務(wù)編排,為什么有用?

較小的團(tuán)隊通常從手動管理任務(wù)開始,例如清理數(shù)據(jù),訓(xùn)練機(jī)器學(xué)習(xí)模型,跟蹤結(jié)果以及將模型部署到生產(chǎn)服務(wù)器。 隨著團(tuán)隊規(guī)模和解決方案的增長,重復(fù)步驟的數(shù)量也隨之增加。 可靠地執(zhí)行這些任務(wù)也變得更加重要。

這些任務(wù)相互依賴的復(fù)雜方式也在增加。 剛開始時,您可能需要每周或每月一次運(yùn)行一系列任務(wù)。 這些任務(wù)需要按特定順序運(yùn)行。 隨著您的成長,該管道變成具有動態(tài)分支的網(wǎng)絡(luò)。 在某些情況下,某些任務(wù)會引發(fā)其他任務(wù),而這些可能取決于首先運(yùn)行的其他幾個任務(wù)。

可以將該網(wǎng)絡(luò)建模為DAG(有向無環(huán)圖),該模型對每個任務(wù)及其之間的依賴關(guān)系進(jìn)行建模。

機(jī)器學(xué)習(xí)任務(wù)編排工具比較

> A pipeline is a limited DAG where each task has one upstream and one downstream dependency at most

工作流程編排工具允許您通過指定所有任務(wù)以及它們?nèi)绾蜗嗷ヒ蕾噥矶xDAG。 然后,該工具按正確的順序按計劃執(zhí)行這些任務(wù),然后在運(yùn)行下一個任務(wù)之前重試任何失敗的任務(wù)。 它還會監(jiān)視進(jìn)度并在發(fā)生故障時通知您的團(tuán)隊。

CI / CD工具(例如Jenkins)通常用于自動測試和部署代碼,這些工具與任務(wù)編排工具之間有很強(qiáng)的相似性-但也有重要的區(qū)別。 盡管從理論上講,您可以使用這些CI / CD工具來編排動態(tài)的,相互鏈接的任務(wù),但在一定程度的復(fù)雜性下,您會發(fā)現(xiàn)改用Apache Airflow等更通用的工具會更容易。

總體而言,任何業(yè)務(wù)流程工具的重點(diǎn)都是確保集中,可重復(fù),可重現(xiàn)和高效的工作流程:虛擬命令中心,用于您的所有自動化任務(wù)。 考慮到這種情況,讓我們看看一些最流行的工作流程工具是如何疊加的。

告訴我使用哪一個

您可能應(yīng)該使用:

  • Apache Airflow如果您需要功能最全,最成熟的工具,則可以花時間來學(xué)習(xí)它的工作原理,設(shè)置和維護(hù)。
  • Luigi,如果您需要比Airflow更輕松的學(xué)習(xí)方法。 它具有較少的功能,但更容易上手。
  • Argo,如果您已經(jīng)對Kubernetes生態(tài)系統(tǒng)進(jìn)行了深入投資,并希望將所有任務(wù)作為Pod進(jìn)行管理,并在YAML(而不是Python)中定義它們。
  • 如果您想使用Kubernetes,但仍使用Python而不是YAML定義任務(wù),則使用KubeFlow。
  • MLFlow,如果您更關(guān)心使用MLFlow的預(yù)定義模式來跟蹤實驗或跟蹤和部署模型,而不是尋找能夠適應(yīng)現(xiàn)有自定義工作流程的工具。

比較表

機(jī)器學(xué)習(xí)任務(wù)編排工具比較

> (Source: Author) – For more Machine Learning Tips — Get our weekly newsletter

為了快速瀏覽,我們比較了以下方面的庫:

  • 成熟度:基于項目的年齡以及修復(fù)和提交的次數(shù);
  • 受歡迎程度:基于采用率和GitHub星級;
  • 簡潔性:基于易于注冊和采用;
  • 廣度:基于每個項目的專業(yè)性與適應(yīng)性;
  • 語言:基于您與工具互動的主要方式。

這些不是嚴(yán)格的基準(zhǔn)或科學(xué)基準(zhǔn),但目的是讓您快速了解這些工具的重疊方式以及它們之間的區(qū)別。 有關(guān)更多詳細(xì)信息,請參見下面的正面對比。

Luigi 對比 Airflow

Luigi和Airflow解決了類似的問題,但是Luigi要簡單得多。 它包含在一個組件中,而Airflow有多個模塊,可以用不同的方式進(jìn)行配置。 氣流具有更大的社區(qū)和一些其他功能,但學(xué)習(xí)曲線卻陡峭得多。 具體來說,Airflow在計劃方面要強(qiáng)大得多,它提供了日歷UI,可幫助您設(shè)置任務(wù)應(yīng)在何時運(yùn)行。 使用Luigi,您需要編寫更多的自定義代碼以按計劃運(yùn)行任務(wù)。

兩種工具都使用Python和DAG定義任務(wù)和依賴項。 如果您的團(tuán)隊較小并且需要快速上手,請使用Luigi。 如果您的團(tuán)隊規(guī)模較大,可以使用Airflow,一旦您掌握了學(xué)習(xí)曲線,就可以從最初的生產(chǎn)力損失中獲得更大的動力。

Luigi 對比 Argo

Argo建立在Kubernetes之上,并且每個任務(wù)都作為單獨(dú)的Kubernetes容器運(yùn)行。 如果您已經(jīng)在大多數(shù)基礎(chǔ)架構(gòu)中使用Kubernetes,這可能會很方便,但如果您沒有使用它,則會增加復(fù)雜性。 Luigi是一個Python庫,可以與Python包管理工具(如pip和conda)一起安裝。 Argo是Kubernetes擴(kuò)展,使用Kubernetes安裝。 雖然這兩種工具都可以將任務(wù)定義為DAG,但使用Luigi時,您將使用Python編寫這些定義,而使用Argo時,您將使用YAML。

如果您已經(jīng)對Kubernetes進(jìn)行了投資,并且知道所有任務(wù)都是吊艙,請使用Argo。 如果要編寫DAG定義的開發(fā)人員對YAML比對Python更滿意,則還應(yīng)該考慮一下。 如果您不是在Kubernetes上運(yùn)行并且在團(tuán)隊中擁有Python專業(yè)知識,請使用Luigi。

Luigi 對比 Kubeflow

Luigi是用于常規(guī)任務(wù)編排的基于Python的庫,而Kubeflow是專門用于機(jī)器學(xué)習(xí)工作流的基于Kubernetes的工具。 Luigi是為協(xié)調(diào)一般任務(wù)而構(gòu)建的,而Kubeflow具有用于實驗跟蹤,超參數(shù)優(yōu)化和為Jupyter筆記本服務(wù)的預(yù)構(gòu)建模式。 Kubeflow由兩個不同的組件組成:Kubeflow和Kubeflow管道。 后者專注于模型部署和CI / CD,并且可以獨(dú)立于主要Kubeflow功能使用。

如果您需要協(xié)調(diào)從數(shù)據(jù)清理到模型部署的各種不同任務(wù),請使用Luigi。 如果您已經(jīng)使用Kubernetes并希望安排常見的機(jī)器學(xué)習(xí)任務(wù)(例如實驗跟蹤和模型訓(xùn)練),請使用Kubeflow。

Luigi 對比 MLFlow

Luigi是一個通用的任務(wù)編排系統(tǒng),而MLFlow是一個更專業(yè)的工具,可以幫助管理和跟蹤您的機(jī)器學(xué)習(xí)生命周期和實驗。 您可以使用Luigi定義常規(guī)任務(wù)和依賴項(例如訓(xùn)練和部署模型),但是可以將MLFlow直接導(dǎo)入到機(jī)器學(xué)習(xí)代碼中,并使用其助手功能來記錄信息(例如您正在使用的參數(shù))并 工件(例如訓(xùn)練有素的模型)。 您還可以將MLFlow用作命令行工具,以服務(wù)使用通用工具(例如scikit-learn)構(gòu)建的模型或?qū)⑵洳渴鸬酵ㄓ闷脚_(例如AzureML或Amazon SageMaker)。

Airflow 對比 Argo

Argo和Airflow都允許您將任務(wù)定義為DAG,但是在Airflow中,您可以使用Python進(jìn)行此操作,而在Argo中,您可以使用YAML。 Argo作為Kubernetes窗格運(yùn)行每個任務(wù),而Airflow則生活在Python生態(tài)系統(tǒng)中。 在選擇Argo之前,Canva評估了這兩個選項,您可以觀看此演講以獲取詳細(xì)的比較和評估。

如果您想要更成熟的工具并且不關(guān)心Kubernetes,請使用Airflow。 如果您已經(jīng)對Kubernetes進(jìn)行了投資,并且想要運(yùn)行以不同堆棧編寫的各種任務(wù),請使用Argo。

Airflow 對比 Kubeflow

Airflow是一個通用的任務(wù)編排平臺,而Kubeflow則特別專注于機(jī)器學(xué)習(xí)任務(wù),例如實驗跟蹤。 兩種工具都允許您使用Python定義任務(wù),但是Kubeflow在Kubernetes上運(yùn)行任務(wù)。 Kubeflow分為Kubeflow和Kubeflow管道:后一個組件允許您指定DAG,但它比常規(guī)任務(wù)更著重于部署和模型服務(wù)。

如果您需要一個成熟的,廣泛的生態(tài)系統(tǒng)來執(zhí)行各種不同的任務(wù),請使用Airflow。 如果您已經(jīng)使用Kubernetes,并希望使用更多現(xiàn)成的機(jī)器學(xué)習(xí)解決方案模式,請使用Kubeflow。

Airflow 對比 MLFlow

Airflow是一個通用的任務(wù)編排平臺,而MLFlow是專門為優(yōu)化機(jī)器學(xué)習(xí)生命周期而構(gòu)建的。 這意味著MLFlow具有運(yùn)行和跟蹤實驗以及訓(xùn)練和部署機(jī)器學(xué)習(xí)模型的功能,而Airflow具有廣泛的用例,您可以使用它來運(yùn)行任何任務(wù)集。 Airflow是一組用于管理和計劃任務(wù)的組件和插件。 MLFlow是一個Python庫,您可以將其導(dǎo)入到現(xiàn)有的機(jī)器學(xué)習(xí)代碼中,還可以使用命令行工具來將scikit-learn編寫的機(jī)器學(xué)習(xí)模型訓(xùn)練和部署到Amazon SageMaker或AzureML。

如果您想以一種開明的,開箱即用的方式來管理機(jī)器學(xué)習(xí)實驗和部署,請使用MLFlow。 如果您有更復(fù)雜的要求并且想要更好地控制如何管理機(jī)器學(xué)習(xí)生命周期,請使用Airflow。

Argo 對比 Kubeflow

Kubeflow的某些部分(例如Kubeflow管道)建立在Argo之上,但是Argo的建立是為了編排任何任務(wù),而Kubeflow則專注于特定于機(jī)器學(xué)習(xí)的任務(wù),例如實驗跟蹤,超參數(shù)調(diào)整和模型部署。 Kubeflow管道是Kubeflow的一個獨(dú)立組件,專注于模型部署和CI / CD,并且可以獨(dú)立于Kubeflow的其他功能使用。 這兩種工具都依賴Kubernetes,如果您已經(jīng)采用了它,那么可能會讓您更感興趣。 使用Argo,您可以使用YAML定義任務(wù),而Kubeflow允許您使用Python接口。

如果您需要管理作為Kubernetes Pod運(yùn)行的常規(guī)任務(wù)的DAG,請使用Argo。 如果您想要更專注于機(jī)器學(xué)習(xí)解決方案的工具,請使用Kubeflow。

Argo 對比 MLFlow

Argo是一個任務(wù)編排工具,可讓您將任務(wù)定義為Kubernetes Pod,并將其作為DAG運(yùn)行(使用YAML定義)。 MLFlow是一種更加專業(yè)的工具,它不允許您定義任意任務(wù)或它們之間的依賴關(guān)系。 相反,您可以將MLFlow作為Python庫導(dǎo)入到現(xiàn)有的(Python)機(jī)器學(xué)習(xí)代碼庫中,并使用其助手功能記錄工件和參數(shù),以幫助進(jìn)行分析和實驗跟蹤。 您還可以使用MLFlow的命令行工具來訓(xùn)練scikit學(xué)習(xí)模型,并將其部署到Amazon Sagemaker或Azure ML,以及管理Jupyter筆記本。

如果您需要管理常規(guī)任務(wù)并想在Kubernetes上運(yùn)行它們,請使用Argo。 如果您希望采用一種自以為是的方法來使用托管云平臺管理機(jī)器學(xué)習(xí)生命周期,請使用MLFlow。

Kubeflow 對比 MLFlow

與諸如Airflow或Luigi之類的通用任務(wù)編排平臺相比,Kubeflow和MLFlow都是更小的,更專業(yè)的工具。 Kubeflow依賴Kubernetes,而MLFlow是一個Python庫,可幫助您將實驗跟蹤添加到現(xiàn)有的機(jī)器學(xué)習(xí)代碼中。 Kubeflow允許您構(gòu)建完整的DAG,其中每個步驟都是Kubernetes窗格,但是MLFlow具有內(nèi)置功能,可以將scikit學(xué)習(xí)模型部署到Amazon Sagemaker或Azure ML。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2016-11-15 15:02:00

機(jī)器學(xué)習(xí)算法

2023-09-04 15:09:03

容器編排工具KubernetesDocker

2020-06-12 08:19:21

機(jī)器學(xué)習(xí)技術(shù)工具

2020-10-18 07:19:47

低代碼機(jī)器學(xué)習(xí)低代碼工具

2020-03-30 21:40:35

容器編排工具

2017-12-26 10:54:22

機(jī)器學(xué)習(xí)類型任務(wù)

2021-05-12 22:07:43

并發(fā)編排任務(wù)

2020-05-17 14:37:37

機(jī)器學(xué)習(xí)技術(shù)架構(gòu)

2020-07-28 08:06:24

機(jī)器學(xué)習(xí)技術(shù)人工智能

2024-05-16 17:58:30

線程任務(wù)線程通訊線程池

2020-08-03 07:59:12

機(jī)器學(xué)習(xí)開發(fā)數(shù)據(jù)

2019-05-17 16:13:25

機(jī)器學(xué)習(xí)SQLFlow螞蟻金服

2024-02-22 15:45:56

2022-11-10 16:00:21

Python機(jī)器學(xué)習(xí)編程語言

2022-08-08 15:02:42

機(jī)器學(xué)習(xí)wandb分析工具

2015-12-28 11:17:30

Java機(jī)器學(xué)習(xí)工具

2024-09-09 15:09:30

2020-04-26 10:32:00

機(jī)器學(xué)習(xí)技術(shù)工具

2020-10-12 08:05:09

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)ML

2023-09-13 22:39:23

Minikube開源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 91高清在线视频 | 超碰最新在线 | 天天干天天玩天天操 | 国产精品国产三级国产aⅴ无密码 | 成人在线精品视频 | 99热视| a黄毛片| 国产精品一区二区电影 | 日韩福利片 | 亚洲欧美中文日韩在线v日本 | 日本天天操 | 免费在线观看av | 精品成人av | 日韩中文字幕视频 | 国产福利在线播放 | 欧美精品一二三 | 亚洲欧美日韩一区二区 | 成人免费网站在线 | 日韩精品亚洲专区在线观看 | 国产精品国产 | 日本中文字幕视频 | 91秦先生艺校小琴 | 精品一区二区电影 | 亚洲 欧美 日韩在线 | 成人av在线播放 | 久久9热 | 毛片99| 欧美一级免费看 | 亚洲人人 | 91国产精品 | 免费视频久久 | 欧美日韩一区二区三区四区五区 | 国产黄色网 | 亚洲一区中文字幕在线观看 | 免费久久精品视频 | 国产精品久久国产精品99 gif | 福利网站在线观看 | 91精品国产一区二区三区 | 欧美精品综合 | 看特级黄色片 |