自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

生產(chǎn)環(huán)境中輕松部署深度學習模型

譯文
人工智能 深度學習
將經(jīng)過訓練的神經(jīng)網(wǎng)絡(luò)部署到應(yīng)用程序和服務(wù)中可能會給基礎(chǔ)設(shè)施經(jīng)理帶來挑戰(zhàn)。多個框架、未充分利用的基礎(chǔ)設(shè)施和缺乏標準實施,這些挑戰(zhàn)甚至可能導致AI項目失敗。本文探討了如何應(yīng)對這些挑戰(zhàn)。

【51CTO.com快譯】能從數(shù)據(jù)中學習,識別模式并在極少需要人為干預(yù)的情況下做出決策的系統(tǒng)令人興奮。深度學習是一種使用神經(jīng)網(wǎng)絡(luò)的機器學習,正迅速成為解決對象分類到推薦系統(tǒng)等許多不同計算問題的有效工具。然而,將經(jīng)過訓練的神經(jīng)網(wǎng)絡(luò)部署到應(yīng)用程序和服務(wù)中可能會給基礎(chǔ)設(shè)施經(jīng)理帶來挑戰(zhàn)。多個框架、未充分利用的基礎(chǔ)設(shè)施和缺乏標準實施,這些挑戰(zhàn)甚至可能導致AI項目失敗。本文探討了如何應(yīng)對這些挑戰(zhàn),并在數(shù)據(jù)中心或云端將深度學習模型部署到生產(chǎn)環(huán)境。

一般來說,我們應(yīng)用開發(fā)人員與數(shù)據(jù)科學家和IT部門合作,將AI模型部署到生產(chǎn)環(huán)境。數(shù)據(jù)科學家使用特定的框架來訓練面向眾多使用場景的機器/深度學習模型。我們將經(jīng)過訓練的模型整合到為解決業(yè)務(wù)問題而開發(fā)的應(yīng)用程序中。然后,IT運營團隊在數(shù)據(jù)中心或云端運行和管理已部署的應(yīng)用程序。

圖1.

將深度學習模型部署到生產(chǎn)環(huán)境面臨兩大挑戰(zhàn):

  1. 我們需要支持多種不同的框架和模型,這導致開發(fā)復(fù)雜性,還存在工作流問題。數(shù)據(jù)科學家開發(fā)基于新算法和新數(shù)據(jù)的新模型,我們需要不斷更新生產(chǎn)環(huán)境。
  2. 如果我們使用英偉達GPU提供出眾的推理性能,有幾點要牢記。首先,GPU是強大的計算資源,每GPU運行一個模型可能效率低下。在單個GPU上運行多個模型不會自動并發(fā)運行這些模型以盡量提高GPU利用率。

那么我們?nèi)绾问呛?不妨看看我們?nèi)绾问褂糜ミ_的TensorRT Inference Server之類的應(yīng)用程序來應(yīng)對這些挑戰(zhàn)。你可以從英偉達NGC庫(https://ngc.nvidia.com/catalog/containers/nvidia:tensorrtserver)作為容器,或者從GitHub(https://github.com/NVIDIA/tensorrt-inference-server)作為開源代碼來下載TensorRT Inference Server。

TensorRT Inference Server:使部署更容易

TensorRT Inference Server通過以下功能組合,簡化部署經(jīng)過訓練的神經(jīng)網(wǎng)絡(luò):

  • 支持多種框架模型:我們可以使用TensorRT Inference Server的模型庫克服第一個挑戰(zhàn),該模型庫是個存儲位置,用任何框架(TensorFlow、TensorRT、ONNX、PyTorch、Caffe、Chainer、MXNet甚至自定義框架)開發(fā)的模型都可以存儲在此處。TensorRT Inference Server可以部署用所有這些框架構(gòu)建的模型;Inference Server容器在GPU或CPU服務(wù)器上啟動時,它將所有模型從模型庫加載到內(nèi)存中。然后,該應(yīng)用程序使用API​​調(diào)用推理服務(wù)器對模型運行推理。如果我們有很多無法裝入到內(nèi)存中的模型,可以將單個庫拆分成多個庫,并運行TensorRT Inference Server的不同實例,每個實例指向不同的庫。即使在推理服務(wù)器和我們的應(yīng)用程序運行時,也可以通過改變模型庫來輕松更新、添加或刪除模型。

圖2

  • 盡量提高GPU利用率:我們已成功地運行應(yīng)用程序和推理服務(wù)器,現(xiàn)可以克服第二個挑戰(zhàn)。GPU利用率常常是基礎(chǔ)設(shè)施經(jīng)理眼里的關(guān)鍵績效指標(KPI)。TensorRT Inference Server可以在GPU上并發(fā)調(diào)度多個相同或不同的模型;它可自動盡量提高GPU利用率。因此,我們開發(fā)人員不必采取特殊措施,IT運營要求也得到滿足。IT運營團隊將在所有服務(wù)器上運行同樣的TensorRT Inference Server容器,而不是在每臺服務(wù)器上部署一個模型。由于它支持多個模型,因此相比每臺服務(wù)器一個模型這種場景,可確保GPU充分利用,并使服務(wù)器的負載更均衡。這個演示視頻(https://youtu.be/1DUqD3zMwB4)解釋了服務(wù)器負載均衡和利用率。
  • 啟用實時和批推理:推理有兩種。如果我們的應(yīng)用程序需要實時響應(yīng)用戶,那么推理也需要實時完成。由于延遲是個問題,請求無法放入隊列、與其他請求一起批處理。另一方面,如果沒有實時要求,可以將請求與其他請求進行批處理,以提高GPU利用率和吞吐量。

我們開發(fā)應(yīng)用程序時,有必要了解實時要求。TensorRT Inference Server有個參數(shù)可以為實時應(yīng)用程序設(shè)置延遲閾值,還支持動態(tài)批處理,它可以設(shè)為非零數(shù)字,以實施批處理。我們要與IT運營團隊密切合作,確保這些參數(shù)正確設(shè)置。

  • CPU、GPU和異構(gòu)集群上的推理:在許多企業(yè),GPU主要用于訓練。推理在常規(guī)CPU服務(wù)器上完成。然而,在GPU上運行推理大大加快速度,我們還需要靈活地在任何處理器上運行模型。

不妨探討如何從CPU推理遷移到GPU推理。

  1. 我們目前的集群是一組純CPU服務(wù)器,它們都運行TensorRT Inference Server應(yīng)用程序。
  2. 我們將GPU服務(wù)器引入到該集群,在這些服務(wù)器上運行TensorRT Inference Server軟件。
  3. 我們將GPU加速模型添加到模型庫中。
  4. 使用配置文件,我們指示這些服務(wù)器上的TensorRT Inference Server使用GPU進行推理。
  5. 我們可以停用集群中的純CPU服務(wù)器,也可以在異構(gòu)模式下使用它們。
  6. 無需對調(diào)用TensorRT Inference Server的應(yīng)用程序更改代碼。
  • 與DevOps基礎(chǔ)設(shè)施集成:最后一點與IT團隊較為密切。貴公司是否遵循DevOps實踐?DevOps是一系列流程和實踐,旨在縮短整個軟件開發(fā)和部署周期。實施DevOps的企業(yè)往往使用容器來包裝用于部署的應(yīng)用程序。TensorRT Inference Server是一個Docker容器,IT人員可以使用Kubernetes來管理和擴展它。他們還可以將推理服務(wù)器作為Kubeflow管道的一部分,用于端到端的AI工作流程。來自推理服務(wù)器的GPU/CPU利用率度量指標告訴Kubernetes何時在新服務(wù)器上啟動新實例以便擴展。

如果設(shè)置模型配置文件,并集成客戶端庫,很容易將TensorRT Inference Server整合到我們的應(yīng)用程序代碼中。

部署經(jīng)過訓練的神經(jīng)網(wǎng)絡(luò)可能帶來挑戰(zhàn),不過本文介紹了使這種部署更輕松的若干技巧。歡迎留言交流。

原文標題:Easily Deploy Deep Learning Models in Production,作者:Shankar Chandrasekaran

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2025-02-17 08:00:00

機器學習開發(fā)Docker

2020-05-21 14:05:17

TFserving深度學習架構(gòu)

2019-10-23 08:00:00

Flask機器學習人工智能

2020-11-10 08:00:00

機器學習技術(shù)科學

2020-10-19 09:50:04

Spinnaker

2018-01-08 09:09:46

機器學習模型NET

2022-03-28 18:59:02

DockerFlask深度學習

2020-02-25 15:47:05

ElasticsearLucene地方

2022-05-10 10:19:04

AI深度學習模型

2021-09-02 08:02:50

深度學習Kubernetes集群管理

2024-02-20 15:17:35

機器學習模型部署

2013-09-30 09:40:37

VDI部署VDI

2023-11-27 07:03:58

2023-10-18 16:02:24

機器學習深度學習ChatGPT

2018-02-11 09:00:00

軟件部署監(jiān)控

2010-04-21 16:58:51

Unix環(huán)境變量

2023-11-19 23:36:50

2025-02-17 13:09:59

深度學習模型壓縮量化

2023-04-28 08:00:00

機器學習數(shù)據(jù)集

2023-08-23 12:38:10

點贊
收藏

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