搜尋
首頁科技週邊人工智慧如何使用 Docker 在 AWS Lambda 上部署機器學習模型

在本教學中,我們將引導您完成將 ML 模型打包為 Docker 容器並將其部署在無伺服器運算服務 AWS Lambda 上的程序。

在本教學結束時,您將擁有一個可以透過 API 呼叫的工作 ML 模型,並且您將對如何在雲端上部署 ML 模型有更深入的了解。無論您是機器學習工程師、資料科學家還是開發人員,本教學旨在讓對 ML 和 Docker 有基本了解的任何人都可以存取。那麼,就讓我們開始吧!

什麼是Docker?

碼頭工人是一種旨在使使用容器更輕鬆地創建、部署和運行應用程式的工具。容器允許開發人員將應用程式及其所需的所有部分打包在一起,例如庫和其他依賴項,並將其作為一個套件發送出去。透過使用容器,開發人員可以確保他們的應用程式將在任何其他機器上運行,而不管機器可能具有的任何自訂設定可能與用於編寫和測試程式碼的機器不同。 Docker 提供了一種將應用程式及其相依性打包到輕量級、可移植容器中的方法,該容器可以輕鬆地從一個環境移動到另一個環境。這使得創建一致的開發、測試和生產環境以及更快速、更可靠地部署應用程式變得更加容易。從這裡安裝 Docker:https://docs.docker.com/get-docker/。

什麼是 AWS Lambda?

Amazon Web Services (AWS) Lambda是一個無伺服器運算平台,它會執行程式碼以回應事件並自動為您管理底層運算資源。它是 AWS 提供的一項服務,允許開發人員在雲端中運行他們的程式碼,而不必擔心運行程式碼所需的基礎設施。 AWS Lambda 會自動擴展您的應用程式以回應傳入的請求流量,您只需為消耗的運算時間付費。這使其成為建立和運行微服務、即時數據處理和事件驅動應用程式的有吸引力的選擇。

什麼是 AWS ECR?

Amazon Web Services (AWS) Elastic Container Registry (ECR) 是一個完全託管的 Docker 容器註冊表,可讓開發人員輕鬆儲存、管理和部署 Docker 容器映像。它是一種安全且可擴展的服務,使開發人員能夠在 AWS 雲端中儲存和管理 Docker 映像,並輕鬆地將它們部署到 Amazon Elastic Container Service (ECS) 或其他基於雲端的容器編排平台。 ECR 與其他 AWS 服務集成,例如 Amazon ECS 和 Amazon EKS,並為 Docker 命令列介面 (CLI) 提供本機支援。這使得使用熟悉的 Docker 命令從 ECR 推送和拉取 Docker 映像以及自動化建置、測試和部署容器化應用程式的過程變得容易。

安裝 AWS CLI

使用這個在您的系統上安裝 AWS CLI 。透過在您的 AWS 帳戶中建立 IAM 使用者來取得 AWS 存取金鑰 ID 和 AWS 秘密存取金鑰。安裝後,執行以下命令配置您的 AWS CLI 並插入必填欄位。

aws configure

使用 Docker 部署 Lambda 函數

我們將在本教程中部署 OpenAI 剪輯模型來向量化輸入文字。 Lambda 函數需要 Docker 容器中的 amazon Linux 2,因此我們使用
public.ecr.aws/lambda/python:3.8。此外,由於 Lambda 具有唯讀檔案系統,它不允許我們在內部下載模型,因此我們需要在建立映像時下載並複製它們。

從這裡取得工作程式碼並提取它。

更改 Dockerfile 所在的工作目錄,然後執行以下命令:

docker build -t lambda_image .

現在我們已經準備好要在 Lambda 上部署的映像。要在本機檢查它,請執行命令:

docker run -p 9000:8080 lambda_image

要檢查它,向它發送一個curl 請求,它應該會傳回輸入文字的向量:

curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"text": "This is a test for text encoding"}'

輸出

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

#先將映像部署到Lambda上,我們需要將其推送到ECR上,因此登入AWS帳戶,在ECR中建立倉庫lambda_image。建立儲存庫後,轉到建立的儲存庫,您將看到視圖推送命令選項單擊它,您將獲得將映像推送到儲存庫的命令。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

現在執行第一個命令以使用 AWS CLI 對您的 Docker 用戶端進行身份驗證。

我們已經建立了 Docker 映像,因此跳過第二步並執行第三條命令來標記已建立的映像。

运行最后一条命令将镜像推送到 ECR 中。运行后你会看到界面是这样的:

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

推送完成后,您将在 ECR 的存储库中看到带有“:latest”标签的图像。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

复制图像的 URI。我们在创建 Lambda 函数时需要它。

现在转到 Lambda 函数并单击“创建函数”选项。我们正在从图像创建一个函数,因此选择容器图像的选项。添加函数名称并粘贴我们从 ECR 复制的 URI,或者您也可以浏览图像。选择architecture x84_64,最后点击create_image选项。

构建 Lambda 函数可能需要一些时间,请耐心等待。执行成功后,你会看到如下界面:

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

Lambda 函数默认有 3 秒的超时限制和 128 MB 的 RAM,所以我们需要增加它,否则它会抛出错误。为此,请转到配置选项卡并单击“编辑”。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

现在将超时设置为 5-10 分钟(最大限制为 15 分钟)并将 RAM 设置为 2-3 GB,然后单击保存按钮。更新 Lambda 函数的配置需要一些时间。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

更新更改后,该功能就可以进行测试了。要测试 lambda 函数,请转到“测试”选项卡并将键值添加到事件 JSON 中作为文本:“这是文本编码测试。” 然后点击测试按钮。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

由于我们是第一次执行 Lambda 函数,因此执行可能需要一些时间。成功执行后,您将在执行日志中看到输入文本的向量。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

现在我们的 Lambda 函数已部署并正常工作。要通过 API 访问它,我们需要创建一个函数 URL。

要为 Lambda 函数创建 URL,请转到 Configuration 选项卡并选择 Function URL 选项。然后单击创建函数 URL 选项。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

现在,保留身份验证 None 并单击 Save。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

该过程完成后,您将获得用于通过 API 访问 Lambda 函数的 URL。以下是使用 API 访问 Lambda 函数的示例 Python 代码:

import requests function_url = ""url = f"{function_url}?text=this is test text" payload={}headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)

成功执行代码后,您将获得输入文本的向量。

如何使用 Docker 在 AWS Lambda 上部署機器學習模型

所以这是一个如何使用 Docker 在 AWS Lambda 上部署 ML 模型的示例。如果您有任何疑问,请告诉我们。

以上是如何使用 Docker 在 AWS Lambda 上部署機器學習模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
如何使用Huggingface Smollm建立個人AI助手如何使用Huggingface Smollm建立個人AI助手Apr 18, 2025 am 11:52 AM

利用“設備” AI的力量:建立個人聊天機器人CLI 在最近的過去,個人AI助手的概念似乎是科幻小說。 想像一下科技愛好者亞歷克斯(Alex)夢見一個聰明的本地AI同伴 - 不依賴

通過斯坦福大學激動人心的新計劃,精神健康的AI專心分析通過斯坦福大學激動人心的新計劃,精神健康的AI專心分析Apr 18, 2025 am 11:49 AM

他們的首屆AI4MH發射於2025年4月15日舉行,著名的精神科醫生兼神經科學家湯姆·因斯爾(Tom Insel)博士曾擔任開幕式演講者。 Insel博士因其在心理健康研究和技術方面的傑出工作而聞名

2025年WNBA選秀課程進入聯盟成長並與在線騷擾作鬥爭2025年WNBA選秀課程進入聯盟成長並與在線騷擾作鬥爭Apr 18, 2025 am 11:44 AM

恩格伯特說:“我們要確保WNBA仍然是每個人,球員,粉絲和公司合作夥伴,感到安全,重視和授權的空間。” anno

Python內置數據結構的綜合指南 - 分析VidhyaPython內置數據結構的綜合指南 - 分析VidhyaApr 18, 2025 am 11:43 AM

介紹 Python擅長使用編程語言,尤其是在數據科學和生成AI中。 在處理大型數據集時,有效的數據操作(存儲,管理和訪問)至關重要。 我們以前涵蓋了數字和ST

與替代方案相比,Openai新型號的第一印象與替代方案相比,Openai新型號的第一印象Apr 18, 2025 am 11:41 AM

潛水之前,一個重要的警告:AI性能是非確定性的,並且特定於高度用法。簡而言之,您的里程可能會有所不同。不要將此文章(或任何其他)文章作為最後一句話 - 目的是在您自己的情況下測試這些模型

AI投資組合|如何為AI職業建立投資組合?AI投資組合|如何為AI職業建立投資組合?Apr 18, 2025 am 11:40 AM

建立杰出的AI/ML投資組合:初學者和專業人士指南 創建引人注目的投資組合對於確保在人工智能(AI)和機器學習(ML)中的角色至關重要。 本指南為建立投資組合提供了建議

代理AI對安全操作可能意味著什麼代理AI對安全操作可能意味著什麼Apr 18, 2025 am 11:36 AM

結果?倦怠,效率低下以及檢測和作用之間的差距擴大。這一切都不應該令任何從事網絡安全工作的人感到震驚。 不過,代理AI的承諾已成為一個潛在的轉折點。這個新課

Google與Openai:AI為學生打架Google與Openai:AI為學生打架Apr 18, 2025 am 11:31 AM

直接影響與長期夥伴關係? 兩週前,Openai提出了強大的短期優惠,在2025年5月底之前授予美國和加拿大大學生免費訪問Chatgpt Plus。此工具包括GPT-4O,A A A A A

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具