91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Kubeflo的應(yīng)用與開發(fā)

ml8z_IV_Technol ? 來源:cg ? 2019-01-07 14:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文將介紹以下三部分內(nèi)容:第一:Kubeflow的應(yīng)用;第二:基于 Kubeflow 的開發(fā);第三:Momenta深度學(xué)習(xí)數(shù)據(jù)流。

ubeflow的應(yīng)用

為什么要用 Kubeflow?

在一些 GPU 集群較小的機構(gòu)(例如實驗室、科研機構(gòu)等)中,他們一般只有幾臺多卡 GPU。實驗人員可能會將一臺機器或兩臺機器用于安裝各種環(huán)境以及 GPU 的驅(qū)動,同時使用 Caffe 或 TensorFlow 等工具做模型訓(xùn)練。這種場景較為簡單,但會帶來一個問題,即人員需要花大量精力管理這幾臺機器的環(huán)境。

為了解決這個問題,降低用戶的部署成本,技術(shù)人員可以引入容器技術(shù),用 nvidia-docker允許容器使用 GPU,將 TensorFlow、PyTorch 以及 Caffe 封裝到 Docker 鏡像中,用 nvidia-docker 在物理機上面運行訓(xùn)練任務(wù)。

但是以上只是小規(guī)模 GPU 集群中的解決方法,一旦集群規(guī)模擴大,實驗人員就不得不需要解決這些問題:如何合理地分配 GPU 資源?如果讓每位用戶直接在每臺機器上獲取資源?技術(shù)人員如何進行資源管理、環(huán)境維護?2017 年年底發(fā)行的 Kubeflow 很好地解決了這些難題,它將訓(xùn)練任務(wù)裝到容器中,利用 Kubernetes 對 CPU、GPU 等資源進行充分管理。

什么是 Kubeflow?

Kubeflow 可以看作是 Kubernetes + TensorFlow 的成果。它是一個基于 Kubernetes 的機器學(xué)習(xí)工具項目,支持眾多訓(xùn)練框架,包括 TensorFlow、PyTorch、Caffe2、MxNet 等。

Kubeflow 社區(qū)在半年多的時間內(nèi)收集了 4000 多個 stars,發(fā)展非常迅速。同時,眾多國內(nèi)公司也助力了 Kubeflow 的發(fā)展,貢獻了很多項目。例如才云貢獻的 tf - operator 項目,Momenta 貢獻的 caffe2 - operator 項目。新浪、京東和拼多多也在嘗試使用 Kubeflow 解決問題。

在 Kubernetes里部署 Kubeflow的方法有很多,常規(guī)方法是用 ksonnet 或單獨用 kubectl 手動部署各個 Operator 以及相應(yīng)的服務(wù)。個人用戶也可以很方便地體驗用 Kubeflow 輕松部署一套用于訓(xùn)練模型的環(huán)境。

# CNN_JOB_NAME=mycnnjob # VERSION=v0.2-branch # ks registry add kubeflow-git github.com/kubeflow/kubeflow/tree/${VERSION}/kubeflow # ks pkg install kubeflow-git/examples # ks generate tf-job-simple ${CNN_JOB_NAME} --name=${CNN_JOB_NAME} # ks apply ${KF_ENV} -c ${CNN_JOB_NAME}

以上是直接從 Kubeflow 官網(wǎng)上獲取的一個示例。以往在部署環(huán)境時,實驗人員需要預(yù)裝很多東西用于模型訓(xùn)練,但如果使用 Kubeflow,他們就可以很簡單地跑一個已知數(shù)、已知模型。如果在其中加入一些參數(shù),程序就可以跑整個 Kubeflow 的任務(wù)(僅以 TensorFlow 為例)。

# arena submit tf --name=tf-git --gpus=1 --image=tensorflow/tensorflow:1.5.0-devel-gpu --syncMode=git --syncSource=https://github.com/cheyang/tensorflow-sample-code.git --env=GIT_SYNC_USERNAME=yourname --env=GIT_SYNC_PASSWORD=yourpwd "python code/tensorflow-sample-code/tfjob/docker/mnist/main.py” # arena list NAME STATUS TRAINER AGE NODE tf-git RUNNING tfjob 0s 192.168.1.120

在這個實例中,arena 是另外一套基于 Kubeflow 的封裝,相當(dāng)于簡化版本的命令行。arena 能幫助算法研發(fā)人員減少對 kubectl 的使用,通過命令行指定各種算法參數(shù)以及要運行的腳本,直接運行 arena submit 來提交訓(xùn)練任務(wù)。

基于 Kubeflow的開發(fā)

為了滿足不同場景需求,目前 Kubeflow 已經(jīng)擁有許多解決方案,但它們大多比較簡單。如果訓(xùn)練數(shù)據(jù)集較大,需求較復(fù)雜,開發(fā)任務(wù)將會涉及很多塊 GPU的使用(例如用 128 塊 GPU 訓(xùn)練很多天)。

接下來,我們嘗試搭設(shè)一個深度學(xué)習(xí)實驗平臺。這里需要注意的是,我們定義的是 “實驗平臺”,因為 Momenta 的算法研究人員在調(diào)參、看論文時需要測試各種各樣的網(wǎng)絡(luò)。對他們而言,深度學(xué)習(xí)實驗平臺非常重要,而且要滿足多種需求。

第一:實驗平臺需要多機多卡調(diào)度。比如研發(fā)人員有調(diào)度 128 塊卡的需求,如果卡不足,就需要等待調(diào)度;

第二:多租戶。在多用戶的環(huán)境下共用相同的系統(tǒng)或程序組件,且仍可確保各用戶間數(shù)據(jù)的隔離性;

第三:多訓(xùn)練框架支持。比如 Caffe、TensorFlow、PyTorch 等;其他的還有日志收集、監(jiān)控信息收集(如 GPU 的使用率)等。

考慮到以上需求,我們設(shè)計了一個訓(xùn)練平臺架構(gòu),如上圖所示。我們在 Kubernetes 前面加了一個帶狀態(tài)的 apigateway,它包含用戶信息、狀態(tài)管理、后期審計等功能。架構(gòu)還包括 caffe2 - operator、mpi - operator和TensorFlow 的 Operator,主要是為了能夠統(tǒng)一管理訓(xùn)練任務(wù)的生命周期。此外,該架構(gòu)還支持運用 kube - batch 實現(xiàn)多機多卡的調(diào)度期。圖中的假設(shè)比較簡單,每個 Pod都是一個單獨的機器。

如何實現(xiàn)多臺機器間的通訊也是框架的重點。該設(shè)計分為兩套環(huán)境:

線下的環(huán)境使用 Infiniband,借助高速的 RDMA 網(wǎng)絡(luò)就能很好地解決延遲問題,并提供非常高的帶寬;

線上的環(huán)境使用 25Gb/s 的以太網(wǎng),其相對于 Infiniband 延遲過高,所以在多機通訊的過程中,需要包一個聚合再下發(fā),才能解決延遲問題。

底層的數(shù)據(jù)存儲也需要使用分布式數(shù)據(jù)存儲以及圖像緩存,基于 Momenta 的數(shù)據(jù)的特征(不需要對圖片進行修改),用戶可以在客戶端加上一些緩存。比如在客戶端安裝高速 SSD,使用開源的 fscache 把數(shù)據(jù)緩存到 SSD 上,保證整個訓(xùn)練過程中數(shù)據(jù)的高速傳輸。用相對比較便宜的 SSD確保昂貴的 GPU的充分使用,這是 Momenta 整套訓(xùn)練平臺的架構(gòu)的最大優(yōu)勢之一。

對具有一定操作經(jīng)驗的用戶而言,他們更喜歡以命令行的方式操作,習(xí)慣用 HPC 領(lǐng)域的 slurm 作為操作工具。為了兼容 slurm 的命令行,Momenta 形成了一套類似 slurm 管理命令行的操作方式。同時,平臺也提供 Web 端的操作方式。

上圖是一個任務(wù)提交的案例,包括以下幾點:

定義了幾個節(jié)點;

每個節(jié)點需要幾個 GPU;

基于哪些的框架(如 TensorFlow、PyTorch 及 Caffe2 等);

當(dāng)前的工作任務(wù)。

我們之所以做出這樣的設(shè)計,一個原因是為了兼容舊的使用習(xí)慣,讓老用戶能夠無縫遷移。另一個原因是重新設(shè)計一套交互方式的時間成本太高,基礎(chǔ)架構(gòu)開發(fā)人員需要花很長時間才能了解平臺用戶在進行深度學(xué)習(xí)研發(fā)的操作行為和操作意圖。

Momenta深度學(xué)習(xí)數(shù)據(jù)流

在實現(xiàn)自動駕駛的過程中,深度學(xué)習(xí)算法在訓(xùn)練模型時需要大量圖像數(shù)據(jù)作為支撐。Momenta 平臺可以處理自動駕駛領(lǐng)域的數(shù)據(jù)流。

數(shù)據(jù)篩選

上圖是車輛識別的(電動車)的一個典型。目前,Momenta在電動車識別上準(zhǔn)確率較高。在人工智能數(shù)據(jù)流中,數(shù)據(jù)篩選有以下作用:

降低成本:無需重復(fù)標(biāo)注即可識別素材,降低標(biāo)注成本。

提高模型訓(xùn)練效率:去除無效素材,提取包含識別目標(biāo)的素材,提高訓(xùn)練效率;

提高模型訓(xùn)練邊際效用:通過對極端情況(corner case)的數(shù)據(jù)進行針對性訓(xùn)練,有效地提高模型性能。

數(shù)據(jù)標(biāo)注

經(jīng)過一輪篩選后,部分圖片會需要人工標(biāo)注。Momenta 開發(fā)的在線遠程眾包數(shù)據(jù)標(biāo)注系統(tǒng)允許可視化操作,即便不懂代碼的眾包人員也能遠程完成各類標(biāo)注任務(wù)。數(shù)據(jù)標(biāo)注的作用主要是提供更多帶標(biāo)注的圖像數(shù)據(jù),提供包含更多識別目標(biāo)的素材,最終提高模型訓(xùn)練精度。

模型訓(xùn)練

上圖是模型訓(xùn)練的流程圖:

數(shù)據(jù)導(dǎo)入:支持多種數(shù)據(jù)類型,支持多批次數(shù)據(jù)合并,支持多種組合規(guī)則;

模型訓(xùn)練:多機多卡并發(fā)訓(xùn)練,共享式集群、支持多人多任務(wù)同時進行,支持多種主流訓(xùn)練框架,所有任務(wù)由 Kubernetes 自動調(diào)度完成;

模型驗證:訓(xùn)練所得模型自動在驗證集上進行驗證,通過驗證的模型將進入模型倉庫供后續(xù)流程使用;

與傳統(tǒng)方式相比,Momenta 采用的共享集群調(diào)度讓用戶(內(nèi)部的算法研發(fā)人員)可以編寫任務(wù)描述和訓(xùn)練腳本,而管理員通過網(wǎng)頁界面進行集群管理和工作調(diào)度。極大地節(jié)省人工成本,提高資源利用率,實現(xiàn)集中性管理,提高安全性。

結(jié)語

Kubeflow基于Kubernetes 和 TensorFlow ,提供了一個數(shù)據(jù)科學(xué)工具箱和部署平臺。它具有很多優(yōu)點,如 DevOps 和 CICD 的支持、多核心支持等。但它的缺點也很明顯,就是組件較多,協(xié)調(diào)較差。

如何利用 Kubeflow 更好地做二次開發(fā)?這是當(dāng)下的一個熱點問題,也是 Momenta致力于解決的一大問題,是我們圍繞不同級別自動駕駛方案和一級供應(yīng)商展開合作時首先要解決的一個必要問題。為了見證自動駕駛汽車的落地,為了共同打造更好的人工智能自動駕駛產(chǎn)品,歡迎有想法的小伙伴與我共同探討基于 Kubeflow 的深度學(xué)習(xí)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 無人駕駛
    +關(guān)注

    關(guān)注

    100

    文章

    4302

    瀏覽量

    126933
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5600

    瀏覽量

    124475

原文標(biāo)題:無人駕駛場景下 Kubeflow 的應(yīng)用與開發(fā)

文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    2025華為開發(fā)者大賽暨開發(fā)者年度會議成功舉辦

    12月27日-12月28日,以“成就AI原生時代先鋒開發(fā)者”為主題的2025華為開發(fā)者大賽暨開發(fā)者年度會議在上海華為練秋湖研發(fā)中心舉辦。本次會議旨在匯聚先鋒開發(fā)力量,搭建開放共贏的生態(tài)
    的頭像 發(fā)表于 12-31 13:32 ?791次閱讀

    DA14535 USB開發(fā)套件硬件解析:開啟低功耗藍牙開發(fā)新征程

    DA14535 USB開發(fā)套件硬件解析:開啟低功耗藍牙開發(fā)新征程 在當(dāng)今的電子設(shè)備開發(fā)領(lǐng)域,低功耗藍牙技術(shù)因其廣泛的應(yīng)用前景和高效的性能表現(xiàn),受到了眾多開發(fā)者的青睞。Renesas的D
    的頭像 發(fā)表于 12-29 11:00 ?654次閱讀

    快速上手FRDM-KE17Z512開發(fā)板:開啟高效MCU開發(fā)之旅

    快速上手FRDM-KE17Z512開發(fā)板:開啟高效MCU開發(fā)之旅 作為電子工程師,在MCU開發(fā)的道路上,擁有一款合適的開發(fā)板至關(guān)重要。今天就來和大家分享一下NXP的FRDM-KE17Z
    的頭像 發(fā)表于 12-24 16:50 ?370次閱讀

    探索MCIMX93-QSB開發(fā)板:開啟嵌入式開發(fā)新征程

    探索MCIMX93-QSB開發(fā)板:開啟嵌入式開發(fā)新征程 在嵌入式開發(fā)領(lǐng)域,一款優(yōu)秀的開發(fā)板能為工程師們提供強大的支持,幫助他們快速驗證想法、開發(fā)
    的頭像 發(fā)表于 12-24 14:55 ?839次閱讀

    探索FRDM - IMX8MPLUS開發(fā)板:開啟嵌入式開發(fā)新旅程

    探索FRDM - IMX8MPLUS開發(fā)板:開啟嵌入式開發(fā)新旅程 作為電子工程師,我們總是在尋找性能卓越、功能豐富且易于上手的開發(fā)板,以滿足不同項目的需求。NXP的FRDM - IMX8MPLUS
    的頭像 發(fā)表于 12-24 11:00 ?406次閱讀

    LED觸摸控制PCBA方案開發(fā) | 燈控觸摸方案開發(fā)

    單鍵LED觸摸控制PCBA方案開發(fā)燈控觸摸方案開發(fā)PCBA方案燈控方案支持定制尋找靈活、可靠的LED燈光控制解決方案?我們的單鍵LED觸摸控制板PCBA方案,專注于燈控觸摸方案開發(fā),為您提供成熟穩(wěn)定
    的頭像 發(fā)表于 12-10 17:43 ?408次閱讀
    LED觸摸控制PCBA方案<b class='flag-5'>開發(fā)</b> | 燈控觸摸方案<b class='flag-5'>開發(fā)</b>

    【免費送書】成為硬核Linux開發(fā)者:《Linux 設(shè)備驅(qū)動開發(fā)(第 2 版)》

    Linux系統(tǒng)的設(shè)備驅(qū)動開發(fā),一直給人門檻較高的印象,主要因內(nèi)核機制抽象、需深度理解硬件原理、開發(fā)調(diào)試難度大所致。2021年,一本講解驅(qū)動開發(fā)的專著問世即獲市場青睞,暢銷近萬冊——這便是《Linux設(shè)備驅(qū)動
    的頭像 發(fā)表于 11-18 08:06 ?1546次閱讀
    【免費送書】成為硬核Linux<b class='flag-5'>開發(fā)</b>者:《Linux 設(shè)備驅(qū)動<b class='flag-5'>開發(fā)</b>(第 2 版)》

    【EK-RA6E2開發(fā)指南】開發(fā)環(huán)境搭建

    瑞薩電子的開發(fā)工具有很多,筆者習(xí)慣使用MDK開發(fā),因此本文將基于MDK+RA Smart Configurator搭建開發(fā)環(huán)境。
    的頭像 發(fā)表于 09-23 18:12 ?3026次閱讀
    【EK-RA6E2<b class='flag-5'>開發(fā)</b>指南】<b class='flag-5'>開發(fā)</b>環(huán)境搭建

    RK3506開發(fā)板Linux開發(fā)板極致性價比之選

    RK3506開發(fā)板Linux開發(fā)板極致性價比之選瑞芯微RK3506開發(fā)板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統(tǒng)支持,128MB超大
    的頭像 發(fā)表于 09-11 16:26 ?3558次閱讀
    RK3506<b class='flag-5'>開發(fā)</b>板Linux<b class='flag-5'>開發(fā)</b>板極致性價比之選

    Linux 應(yīng)用開發(fā)手冊

    T507linux應(yīng)用開發(fā)手冊
    發(fā)表于 08-22 17:01 ?15次下載

    HarmonyOS 代碼工坊的指尖開發(fā),讓 APP 開發(fā)所見即所得

    過去,移動端 APP 的開發(fā),往往是開發(fā)者在桌面仿真界面上的一場“隔空演練”。 雖然市面上已經(jīng)有一些簡化開發(fā)的工具,可以在開發(fā)桌面提供模擬移動端效果的窗口,但終究不是真實的移動端設(shè)備。
    的頭像 發(fā)表于 06-24 12:08 ?853次閱讀
    HarmonyOS 代碼工坊的指尖<b class='flag-5'>開發(fā)</b>,讓 APP <b class='flag-5'>開發(fā)</b>所見即所得

    IAR開發(fā)平臺升級Arm和RISC-V開發(fā)工具鏈,加速現(xiàn)代嵌入式系統(tǒng)開發(fā)

    IAR正式發(fā)布其旗艦產(chǎn)品的重大更新版本:Arm開發(fā)工具鏈v9.70和RISC-V開發(fā)工具鏈v3.40。
    的頭像 發(fā)表于 06-11 14:28 ?1002次閱讀

    Java開發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發(fā)者在用?

    Perforce JRebel是一款Java開發(fā)效率工具,旨在幫助java開發(fā)人員更快地編寫更好的應(yīng)用程序。JRebel可即時重新加載對代碼的修改,無需重啟或重新部署應(yīng)用程序,就能讓開發(fā)者即時看到代碼更改的效果,從而縮短
    的頭像 發(fā)表于 04-27 13:44 ?891次閱讀
    Java<b class='flag-5'>開發(fā)</b>者必備的效率工具——Perforce JRebel是什么?為什么很多Java<b class='flag-5'>開發(fā)</b>者在用?

    AI開發(fā)工具分類與功能

    當(dāng)下,AI開發(fā)工具不僅簡化了AI開發(fā)的復(fù)雜流程,還提高了開發(fā)效率,推動了AI技術(shù)的廣泛應(yīng)用。下面,AI部落小編為大家介紹AI開發(fā)工具的分類及其功能。
    的頭像 發(fā)表于 04-12 10:12 ?1316次閱讀

    鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置

    本文介紹OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置,鴻蒙北向開發(fā)入門必備!由觸覺智能Purple Pi OH鴻蒙開發(fā)板演示。搭載了瑞芯微RK3566四核處理器,支持開源鴻蒙OpenHarmony3
    的頭像 發(fā)表于 03-28 18:05 ?1692次閱讀
    鴻蒙北向<b class='flag-5'>開發(fā)</b>OpenHarmony5.0 DevEco Studio<b class='flag-5'>開發(fā)</b>工具安裝與配置