Rumah > Peranti teknologi > AI > Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

WBOY
Lepaskan: 2023-04-12 12:43:05
ke hadapan
1373 orang telah melayarinya

Dalam tutorial ini, kami membimbing anda melalui proses membungkus model ML anda sebagai bekas Docker dan menggunakannya pada perkhidmatan pengkomputeran tanpa pelayan AWS Lambda.

Pada penghujung tutorial ini, anda akan mempunyai model ML yang berfungsi yang boleh dipanggil melalui API, dan anda akan mempunyai pemahaman yang lebih mendalam tentang cara menggunakan model ML pada awan. Sama ada anda seorang jurutera pembelajaran mesin, saintis data atau pembangun, tutorial ini direka bentuk untuk boleh diakses oleh sesiapa sahaja yang mempunyai pemahaman asas tentang ML dan Docker. Jadi, mari mulakan!

Apakah itu Docker?

Docker ialah alat yang direka untuk memudahkan anda membuat, menggunakan dan menjalankan aplikasi menggunakan bekas. Bekas membenarkan pembangun membungkus aplikasi bersama-sama dengan semua bahagian yang diperlukan, seperti perpustakaan dan kebergantungan lain, dan menghantarnya sebagai satu pakej. Dengan menggunakan bekas, pembangun boleh memastikan bahawa aplikasi mereka akan dijalankan pada mana-mana mesin lain, tanpa mengira sebarang tetapan tersuai yang mungkin ada pada mesin yang mungkin berbeza daripada mesin yang digunakan untuk menulis dan menguji kod. Docker menyediakan cara untuk membungkus aplikasi dan kebergantungan mereka ke dalam bekas mudah alih yang ringan yang boleh dialihkan dengan mudah dari satu persekitaran ke persekitaran yang lain. Ini memudahkan untuk mencipta persekitaran pembangunan, ujian dan pengeluaran yang konsisten serta menggunakan aplikasi dengan lebih pantas dan lebih dipercayai. Pasang Docker dari sini: https://docs.docker.com/get-docker/.

Apakah itu AWS Lambda?

Amazon Web Services (AWS) Lambda ialah platform pengkomputeran tanpa pelayan yang menjalankan kod sebagai tindak balas kepada acara dan mengurus sumber pengkomputeran asas secara automatik untuk anda. Ia adalah perkhidmatan yang disediakan oleh AWS yang membolehkan pembangun menjalankan kod mereka dalam awan tanpa perlu risau tentang infrastruktur yang diperlukan untuk menjalankan kod tersebut. AWS Lambda menskalakan aplikasi anda secara automatik sebagai tindak balas kepada trafik permintaan masuk dan anda hanya membayar untuk masa pengiraan yang anda gunakan. Ini menjadikannya pilihan yang menarik untuk membina dan menjalankan perkhidmatan mikro, pemprosesan data masa nyata dan aplikasi dipacu peristiwa.

Apakah itu AWS ECR?

Amazon Web Services (AWS) Elastic Container Registry (ECR) ialah pendaftaran kontena Docker terurus sepenuhnya yang membolehkan pembangun menyimpan, mengurus dan menggunakan imej kontena Docker dengan mudah. Ia adalah perkhidmatan yang selamat dan berskala yang membolehkan pembangun menyimpan dan mengurus imej Docker dalam awan AWS dan menggunakannya dengan mudah ke Amazon Elastic Container Service (ECS) atau platform orkestrasi kontena berasaskan awan yang lain. ECR berintegrasi dengan perkhidmatan AWS lain, seperti Amazon ECS dan Amazon EKS, dan menyediakan sokongan asli untuk antara muka baris arahan (CLI) Docker. Ini memudahkan penggunaan arahan Docker yang biasa digunakan untuk menolak dan menarik imej Docker daripada ECR dan mengautomasikan proses membina, menguji dan menggunakan aplikasi kontena.

Pasang AWS CLI

Gunakan ini untuk memasang AWS CLI pada sistem anda. Dapatkan ID kunci akses AWS dan kunci akses rahsia AWS dengan mencipta pengguna IAM dalam akaun AWS anda. Selepas pemasangan, jalankan arahan berikut untuk mengkonfigurasi AWS CLI anda dan masukkan medan yang diperlukan.

aws configure
Salin selepas log masuk

Menggunakan fungsi Lambda menggunakan Docker

Kami akan menggunakan model klip OpenAI dalam tutorial ini untuk mengvektorkan teks input. Fungsi Lambda memerlukan amazon Linux 2 dalam bekas Docker, jadi kami menggunakan
public.ecr.aws/lambda/python:3.8. Selain itu, memandangkan Lambda mempunyai sistem fail baca sahaja, ia tidak membenarkan kami memuat turun model secara dalaman, jadi kami perlu memuat turun dan menyalinnya semasa mencipta imej.

Dapatkan kod yang berfungsi dari sini dan ekstraknya.

Tukar direktori kerja di mana Dockerfile terletak dan jalankan arahan berikut:

docker build -t lambda_image .
Salin selepas log masuk

Kini kami mempunyai imej sedia untuk digunakan pada Lambda. Untuk menyemaknya secara setempat, jalankan arahan:

docker run -p 9000:8080 lambda_image
Salin selepas log masuk

Untuk menyemaknya, hantar permintaan curl dan ia harus mengembalikan vektor teks input:

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

output

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

Mula-mula gunakan imej ke Lambda. Kita perlu menolaknya ke ECR, jadi log masuk ke akaun AWS dan buat lambda_image gudang dalam ECR. Selepas mencipta repositori, pergi ke repositori yang dibuat dan anda akan melihat pilihan arahan tolak lihat klik padanya dan anda akan mendapat arahan untuk menolak imej ke repositori.

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

Sekarang jalankan arahan pertama untuk mengesahkan klien Docker anda menggunakan AWS CLI.

Kami telah pun mencipta imej Docker, jadi langkau langkah kedua dan jalankan arahan ketiga untuk menandakan imej yang dibuat.

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

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

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

该过程完成后,您将获得用于通过 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)
Salin selepas log masuk

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

Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker

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

Atas ialah kandungan terperinci Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan