一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

通過 AI 應(yīng)用程序容器化實現(xiàn)高效的 MLOps

小麥地 ? 來源:小麥地 ? 作者:小麥地 ? 2022-07-19 10:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

到 2021 年底,人工智能市場的價值估計為 583 億美元。這一數(shù)字勢必會增加,預(yù)計未來 5 年將增長 10 倍,到 2026 年將達到 3096 億美元。鑒于人工智能技術(shù)如此受歡迎,公司廣泛希望為其業(yè)務(wù)構(gòu)建和部署人工智能應(yīng)用解決方案。在當今技術(shù)驅(qū)動的世界中,人工智能已成為我們生活中不可或缺的一部分。根據(jù)麥肯錫的一份報告,人工智能的采用率正在繼續(xù)穩(wěn)步上升:56% 的受訪者表示至少在一項業(yè)務(wù)功能中采用了人工智能,高于 2020 年的 50%。這種采用率的增加是由于構(gòu)建和部署戰(zhàn)略的不斷發(fā)展人工智能應(yīng)用。各種策略正在演變以構(gòu)建和部署 AI 模型。AI 應(yīng)用程序容器化就是這樣一種策略。

機器學習操作 (MLOps) 正變得越來越穩(wěn)定。如果您不熟悉 MLOps,它是有助于提高機器學習工作流程效率的原則、實踐和技術(shù)的集合。它基于 DevOps,正如 DevOps 簡化了從開發(fā)到部署的軟件開發(fā)生命周期 (SDLC) 一樣,MLOps 對機器學習應(yīng)用程序也完成了同樣的工作。容器化是用于開發(fā)和交付 AI 應(yīng)用程序的最有趣和新興的技術(shù)之一。容器是軟件包的標準單元,它將代碼及其所有依賴項封裝在一個包中,允許程序快速可靠地從一個計算環(huán)境轉(zhuǎn)移到另一個計算環(huán)境。Docker 處于應(yīng)用程序容器化的最前沿。

什么是容器?

容器是包含應(yīng)用程序執(zhí)行所需的一切的邏輯框。操作系統(tǒng)、應(yīng)用程序代碼、運行時、系統(tǒng)工具、系統(tǒng)庫、二進制文件和其他組件都包含在此軟件包中?;蛘?,根據(jù)特定硬件的可用性,可能會包含或排除某些依賴項。這些容器直接在主機內(nèi)核中運行。容器將共享主機的資源(如 CPU、磁盤、內(nèi)存等)并消除管理程序的額外負載。這就是容器“輕量級”的原因。

為什么容器如此受歡迎?

首先,它們是輕量級的,因為容器共享機器操作系統(tǒng)內(nèi)核。它不需要整個操作系統(tǒng)來運行應(yīng)用程序。VirtualBox,通常稱為虛擬機 (VM),需要安裝完整的操作系統(tǒng),這使得它們非常龐大。

容器是可移植的,可以輕松地從一臺機器傳輸?shù)搅硪慌_機器,其中包含所有必需的依賴項。它們使開發(fā)人員和操作員能夠提高物理機的 CPU 和內(nèi)存利用率。

在容器技術(shù)中,Docker 是最流行和使用最廣泛的平臺。不僅基于 Linux 的 Red Hat 和 Canonical 已經(jīng)采用了 Docker,微軟、亞馬遜和甲骨文等公司也在依賴它。如今,幾乎所有 IT 和云公司都采用了 docker,并被廣泛用于為其解決方案提供所有依賴項。

點擊查看完整大小的圖片

poYBAGLVcfSAE3GzAADIn1Y_6h4582.png


虛擬機與容器(來源:Softnautics)

Docker 和容器之間有什么區(qū)別嗎?

Docker 已廣泛成為容器的代名詞,因為它是開源的,擁有龐大的社區(qū)基礎(chǔ),并且是一個相當穩(wěn)定的平臺。但容器技術(shù)并不新鮮,它以 LXC 的形式被納入 Linux 已有 10 多年了,F(xiàn)reeBSD jails、AIX Workload Partitions 和 Solaris Containers 也提供了類似的操作系統(tǒng)級虛擬化。

Docker 可以通過將 OS 和包需求合并到一個包中來簡化流程,這是容器和 docker 之間的區(qū)別之一。

我們經(jīng)常對為什么 docker 被用于數(shù)據(jù)科學和人工智能領(lǐng)域感到困惑,但它主要用于 DevOps。ML 和 AI 與 DevOps 一樣,具有跨操作系統(tǒng)的依賴性。因此,單個代碼可以在 Ubuntu、Windows、AWS、Azure、谷歌云、ROS、各種邊緣設(shè)備或其他任何地方運行。

AI/ML 的容器應(yīng)用

與任何軟件開發(fā)一樣,AI 應(yīng)用程序在由團隊中的不同開發(fā)人員組裝和運行或與多個團隊協(xié)作時也面臨 SDLC 挑戰(zhàn)。由于 AI 應(yīng)用程序的不斷迭代和實驗性質(zhì),有時依賴關(guān)系可能會交叉交叉,從而給同一項目中的其他依賴庫帶來不便。

點擊查看完整大小的圖片

pYYBAGLVcf2AR_qiAAGrL4eprqw589.png


AI/ML 對容器應(yīng)用的需求(來源:Softnautics)

問題是真實的,因此,如果您要展示需要特定執(zhí)行方法的項目,則需要遵循每個步驟的可接受文檔。想象一下,對于同一個項目的不同模型,您有多個 python 虛擬環(huán)境,并且沒有更新文檔,您可能想知道這些依賴項是做什么用的?為什么在安裝較新的庫或更新的模型等時會發(fā)生沖突?

開發(fā)人員不斷面臨“它在我的機器上工作”的困境,并不斷嘗試解決它。

pYYBAGLVcgOALIgyAAOX4h6AocY677.png


為什么它可以在我的機器上運行(來源:Softnautics)

使用 Docker,所有這些都可以變得更容易和更快。容器化可以幫助您節(jié)省大量更新文檔的時間,并使您的程序的開發(fā)和部署從長遠來看更加順利。即使通過提取多個與平臺無關(guān)的圖像,我們也可以使用 docker 容器為多個 AI 模型提供服務(wù)。

完全在 Linux 平臺上編寫的應(yīng)用程序可以使用 docker 在 Windows 平臺上運行,它可以安裝在 Windows 工作站上,使跨平臺的代碼部署變得更加容易。

點擊查看完整大小的圖片

poYBAGLVcgqAcCGeAAHFkgV_mHI758.png


使用 docker 容器部署代碼(來源:Softnautics)

容器與虛擬機上 AI 模型的性能

已經(jīng)進行了許多實驗來比較 Docker 與市場上用于 AI 部署的各種虛擬機的性能:下表可以大致了解影響 AI 模型部署的 VM 和 Docker 容器的性能和差異。

方差 虛擬機 容器
操作系統(tǒng) 需要一個客人 共享
開機速度 比傳統(tǒng)機器慢 比虛擬機快
標準化 本質(zhì)上特定的操作系統(tǒng)標準 特定于應(yīng)用程序的性質(zhì)
可移植性 不是很便攜 更快、更容易移植
需要服務(wù)器 需要更多 很少的服務(wù)器
安全 管理程序定義安全性 安全是共享的
冗余級別 VM擁有資源 共享操作系統(tǒng),減少冗余
硬件抽象 硬件抽象 可實現(xiàn)硬件接入
資源共享 需要更多資源 需要和共享的資源更少
資源隔離 高的 緩和
記憶 高內(nèi)存占用 更少的內(nèi)存占用和共享
文件共享 無法共享文件 文件可以共享

表 1:虛擬機與容器(來源:Softnautics)

從所有比較實驗的結(jié)論中得出的廣泛結(jié)論如下:

容器的開銷比虛擬機低,性能與非虛擬化版本一樣好。

在高性能計算 (HPC) 中,容器的性能優(yōu)于基于管理程序的虛擬化。

深度學習計算工作負載主要卸載到 GPU,從而導致資源爭用,這對于眾多容器來說很嚴重,但由于出色的資源隔離,在虛擬機中這種情況很少。

服務(wù)大型 AI 模型通常通過 REST API 容器完成。

多模型服務(wù)主要使用容器完成,因為它們可以使用更少的資源輕松擴展。

現(xiàn)在,讓我們通過Kennedy Chengeta在他最近的研究中收集的以下實驗結(jié)果來總結(jié)容器對任何 VM 的優(yōu)勢。基于 Prosper Lending 和 Lending Club 數(shù)據(jù)集的深度學習數(shù)據(jù)集進行分類,下表比較了 4 種不同的虛擬化技術(shù)(KVM、Xen、Docker、Docker + Kubernetes)的啟動時間、網(wǎng)絡(luò)延遲、數(shù)據(jù)下載和網(wǎng)絡(luò)延遲. KVM(基于內(nèi)核的 VM)是表中其他的基準值。

poYBAGLVcg-AUvO9AAFwHHdsQKY857.png


表 2:Lending Club 數(shù)據(jù)集表現(xiàn)(越低越好)(來源:Softnautics)

poYBAGLVchSADGTOAAFPUPFnxnE863.png


表 3:Prosper 數(shù)據(jù)集(越低越好)(來源:Softnautics)

如您所見,Docker 和由 Kubernetes 管理的 Docker 的性能優(yōu)于 KVM 和 Xen Hypervisors。

大型 AI 模型是否對容器部署構(gòu)成挑戰(zhàn)?

由于開發(fā)人員將使用容器進行訓練和推斷他們的 AI 模型,因此對兩者來說最關(guān)鍵的將是內(nèi)存占用。隨著 AI 架構(gòu)變得越來越大,在它們上訓練的模型也變得越來越大,從 100 MB 到 2 GB。由于容器被認為是輕量級的,因此此類模型變得笨重而無法裝在容器中攜帶。開發(fā)人員使用模型壓縮技術(shù)使它們具有互操作性和輕量級。模型量化是最流行的壓縮技術(shù),您可以通過將模型的內(nèi)存占用從 float32 集更改為 float16 或 int8 集來減小模型的大小。領(lǐng)先平臺提供的大多數(shù)預(yù)訓練即用型 AI 模型都是容器中的量化模型。

結(jié)論

總而言之,將整個 AI 應(yīng)用程序開發(fā)到部署管道轉(zhuǎn)換為容器的好處如下:

針對不同版本的框架、操作系統(tǒng)和邊緣設(shè)備/平臺,為每個 AI 模型提供單獨的容器。

每個 AI 模型都有一個容器,用于自定義部署。例如:一個容器對開發(fā)人員友好,而另一個容器對用戶友好且無需編碼即可使用。

每個 AI 模型的單獨容器,用于 AI 項目中的不同版本或環(huán)境(開發(fā)團隊、QA 團隊、UAT(用戶驗收測試)等)

容器應(yīng)用程序真正更有效地加速了 AI 應(yīng)用程序開發(fā)-部署管道,并有助于維護和管理用于多種用途的多個模型。

審核編輯 黃昊宇

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

    關(guān)注

    88

    文章

    35164

    瀏覽量

    279877
  • 人工智能
    +關(guān)注

    關(guān)注

    1806

    文章

    49028

    瀏覽量

    249499
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Helm實現(xiàn)容器運維高效包管理與應(yīng)用部署

    在當今快速演變的云原生生態(tài)系統(tǒng)中,容器技術(shù)已成為運維工程師不可或缺的核心能力。
    的頭像 發(fā)表于 07-14 11:16 ?147次閱讀

    如何在 Raspberry Pi AI Camera 上構(gòu)建為開發(fā)人員提供實時的智能應(yīng)用程序!

    。最近推出的RaspberryPiAICamera是一款功能強大的硬件,可讓您在RaspberryPi上構(gòu)建功能強大的AI應(yīng)用程序。通過將人工智能推理卸載到IMX
    的頭像 發(fā)表于 03-25 09:37 ?297次閱讀
    如何在 Raspberry Pi <b class='flag-5'>AI</b> Camera 上構(gòu)建為開發(fā)人員提供實時的智能<b class='flag-5'>應(yīng)用程序</b>!

    MCP:連接AI應(yīng)用程序的開放標準!

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 擴展AI大模型的方式有兩種,第一種是通過訓練增強AI大模型自身的能力;第二種是讓AI大模型與其它現(xiàn)有的應(yīng)用
    的頭像 發(fā)表于 03-21 18:21 ?919次閱讀
    MCP:連接<b class='flag-5'>AI</b>與<b class='flag-5'>應(yīng)用程序</b>的開放標準!

    開源mlops平臺好用嗎

    MLOps平臺的選擇上,開源平臺因其成本效益、靈活性以及社區(qū)支持等優(yōu)勢,受到了越來越多開發(fā)者和企業(yè)的青睞。那么,開源MLOps平臺真的好用嗎?下面,AI部落小編帶您了解。
    的頭像 發(fā)表于 03-05 11:09 ?339次閱讀

    使用HDDL卡運行OpenVINO應(yīng)用程序容器或HDDL daemon容器時遇到錯誤,怎么解決?

    說明在使用 HDDL 卡運行OpenVINO應(yīng)用程序容器或 HDDL daemon 容器時遇到錯誤: 錯誤: shm_open() failed: errno=2 (No such file
    發(fā)表于 03-05 08:11

    Kubernetes:構(gòu)建高效容器應(yīng)用平臺

    Kubernetes 作為容器編排的事實標準,在容器應(yīng)用部署中發(fā)揮著關(guān)鍵作用。 搭建 Kubernetes 集群是應(yīng)用的基礎(chǔ)。可以使用kubeadm工具快速搭建。在主節(jié)點執(zhí)行kubeadm
    的頭像 發(fā)表于 01-23 15:22 ?321次閱讀

    MLOps托管服務(wù)怎么樣

    MLOps托管服務(wù)以其卓越的性能和顯著的優(yōu)勢,成為企業(yè)加速機器學習應(yīng)用落地的理想選擇。以下,是對MLOps托管服務(wù)優(yōu)勢的介紹,由AI部落小編整理。
    的頭像 發(fā)表于 01-22 10:21 ?318次閱讀

    容器能替代微服務(wù)嗎?兩者有何區(qū)別

    容器不能替代微服務(wù),但它是微服務(wù)的解決方案之一。微服務(wù)架構(gòu)的核心在于將大型應(yīng)用程序拆分為一系列小型、獨立的服務(wù),每個服務(wù)都可以獨立開發(fā)、部署和擴展。這種架構(gòu)風格提高了系統(tǒng)的靈活性、可伸縮性
    的頭像 發(fā)表于 01-13 10:40 ?423次閱讀

    容器引擎是什么意思

    容器引擎是一種虛擬技術(shù),它利用操作系統(tǒng)的內(nèi)核來實現(xiàn)應(yīng)用程序的隔離和打包,使得應(yīng)用程序可以在不同的環(huán)境中運行而無需修改代碼。主機推薦小編為
    的頭像 發(fā)表于 01-09 09:49 ?404次閱讀

    MLOps平臺的發(fā)展方向

    MLOps平臺作為機器學習開發(fā)運維一體的重要工具,其發(fā)展方向?qū)⑸羁逃绊懭斯ぶ悄芗夹g(shù)的普及和應(yīng)用。下面,是對MLOps平臺發(fā)展方向的探討,由AI部落小編整理。
    的頭像 發(fā)表于 12-31 11:51 ?499次閱讀

    什么是云原生MLOps平臺

    云原生MLOps平臺,是指利用云計算的基礎(chǔ)設(shè)施和開發(fā)工具,來構(gòu)建、部署和管理機器學習模型的全生命周期的平臺。以下,是對云原生MLOps平臺的介紹,由AI部落小編整理。
    的頭像 發(fā)表于 12-12 13:13 ?525次閱讀

    Jtti:Linux中虛擬文件系統(tǒng)和容器的關(guān)系

    在Linux中,虛擬文件系統(tǒng)(VFS)和容器技術(shù)之間有密切的關(guān)系。容器是指通過使用容器來運行
    的頭像 發(fā)表于 11-27 15:38 ?485次閱讀

    MLOps平臺優(yōu)點

    MLOps平臺在提升機器學習模型的開發(fā)與部署效率、可擴展性與靈活性、透明度與可重復(fù)性以及降低風險和持續(xù)改進方面具有顯著優(yōu)點。
    的頭像 發(fā)表于 11-06 10:10 ?462次閱讀

    通過DaVinci TMS320DM644x的串行接口加載基本應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《通過DaVinci TMS320DM644x的串行接口加載基本應(yīng)用程序.pdf》資料免費下載
    發(fā)表于 10-16 11:52 ?0次下載
    <b class='flag-5'>通過</b>DaVinci TMS320DM644x的串行接口加載基本<b class='flag-5'>應(yīng)用程序</b>

    使用OpenVINO GenAI API在C++中構(gòu)建AI應(yīng)用程序

    許多桌面應(yīng)用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應(yīng)用程序中可能會很具有挑戰(zhàn)性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復(fù)雜性。C++
    的頭像 發(fā)表于 10-12 09:36 ?1124次閱讀
    使用OpenVINO GenAI API在C++中構(gòu)建<b class='flag-5'>AI</b><b class='flag-5'>應(yīng)用程序</b>