Khách hàng của AWS đang dựa vào Cơ sở hạ tầng dưới dạng mã (IaC) để thiết kế, phát triển và quản lý cơ sở hạ tầng đám mây của họ. IaC đảm bảo rằng cơ sở hạ tầng và dịch vụ của khách hàng nhất quán, có thể mở rộng và có thể tái sản xuất, đồng thời có thể tuân theo các phương pháp hay nhất trong lĩnh vực hoạt động phát triển (DevOps).
Một cách tiếp cận khả thi để quản lý cơ sở hạ tầng và dịch vụ AWS với IaC là Terraform, cho phép các nhà phát triển tổ chức cơ sở hạ tầng của họ trong các mô-đun mã có thể tái sử dụng. Khía cạnh này ngày càng trở nên quan trọng trong lĩnh vực máy học (ML). Phát triển và quản lý đường ống ML, bao gồm đào tạo và suy luận với Terraform dưới dạng IaC, cho phép bạn dễ dàng mở rộng quy mô cho nhiều trường hợp sử dụng ML hoặc Khu vực mà không cần phải phát triển cơ sở hạ tầng từ đầu. Hơn nữa, nó cung cấp tính nhất quán cho cơ sở hạ tầng (ví dụ, kiểu và kích thước phiên bản) để đào tạo và suy luận trên các triển khai khác nhau của đường ống ML. Điều này cho phép bạn định tuyến các yêu cầu và lưu lượng truy cập đến các Amazon SageMaker điểm cuối.
Trong bài đăng này, chúng tôi hướng dẫn bạn cách triển khai và quản lý đường ống ML bằng Terraform và Amazon SageMaker.
Tổng quan về giải pháp
Bài đăng này cung cấp mã và hướng dẫn bạn các bước cần thiết để triển khai cơ sở hạ tầng AWS cho đường ống ML với Terraform để đào tạo và suy luận mô hình bằng Amazon SageMaker. Đường ống ML được quản lý thông qua Chức năng bước AWS để sắp xếp các bước khác nhau được thực hiện trong đường ống ML, như được minh họa trong hình sau.
Bước Chức năng bắt đầu một AWS Lambda , tạo một ID công việc duy nhất, sau đó được sử dụng khi bắt đầu công việc đào tạo SageMaker. Step Functions cũng tạo ra một mô hình, cấu hình điểm cuối và điểm cuối được sử dụng để suy luận. Các nguồn bổ sung bao gồm:
- Quản lý truy cập và nhận dạng AWS (IAM) vai trò và chính sách được đính kèm với tài nguyên để cho phép tương tác với các tài nguyên khác
- Dịch vụ lưu trữ đơn giản của Amazon Bộ chứa (Amazon S3) dành cho dữ liệu đào tạo và đầu ra mô hình
- An Đăng ký container đàn hồi Amazon kho lưu trữ (Amazon ECR) cho phu bến tàu hình ảnh chứa logic đào tạo và suy luận
Mã liên quan đến ML để đào tạo và suy luận với hình ảnh Docker chủ yếu dựa vào công việc hiện có trong phần sau Kho GitHub.
Sơ đồ sau minh họa kiến trúc giải pháp:
Chúng tôi hướng dẫn bạn qua các bước cấp cao sau:
- Triển khai cơ sở hạ tầng AWS của bạn với Terraform.
- Đẩy hình ảnh Docker của bạn lên Amazon ECR.
- Chạy đường ống ML.
- Gọi điểm cuối của bạn.
Cấu trúc kho lưu trữ
Bạn có thể tìm thấy kho chứa mã và dữ liệu được sử dụng cho bài đăng này trong phần sau Kho GitHub.
Kho lưu trữ bao gồm các thư mục sau:
/terraform
- Bao gồm các thư mục con sau:./infrastructure
- Chứa tệp main.tf gọi mô-đun đường ống ML, ngoài các khai báo biến mà chúng tôi sử dụng để triển khai cơ sở hạ tầng./ml-pipeline-module
- Chứa mô-đun đường ống Terraform ML, chúng tôi có thể sử dụng lại
/src
- Bao gồm các thư mục con sau:./container
- Chứa mã ví dụ để đào tạo và suy luận với các định nghĩa cho hình ảnh Docker./lambda_function
- Chứa mã Python cho các cấu hình tạo hàm Lambda, chẳng hạn như ID công việc duy nhất cho công việc đào tạo SageMaker
/data
- Chứa tệp sau:./iris.csv
- Chứa dữ liệu để đào tạo mô hình ML
Điều kiện tiên quyết
Đối với hướng dẫn này, bạn nên có các điều kiện tiên quyết sau:
- Tài khoản AWS
- Terraform phiên bản 0.13.5 trở lên
- Giao diện dòng lệnh AWS (AWS CLI) v2
- Python 3.7 trở lên
- phu bến tàu
Triển khai cơ sở hạ tầng AWS của bạn với Terraform
Để triển khai đường ống ML, bạn cần điều chỉnh một số biến và tên theo nhu cầu của mình. Mã cho bước này nằm trong /terraform
thư mục.
Khi khởi tạo lần đầu tiên, hãy mở tệp terraform/infrastructure/terraform.tfvars
và điều chỉnh biến Tên dự án vào tên dự án của bạn, ngoài biến khu nếu bạn muốn triển khai ở Vùng khác. Bạn cũng có thể thay đổi các biến bổ sung, chẳng hạn như kiểu phiên bản để huấn luyện và suy luận.
Sau đó, sử dụng các lệnh sau để triển khai cơ sở hạ tầng với Terraform:
Kiểm tra kết quả đầu ra và đảm bảo rằng các tài nguyên được lập kế hoạch xuất hiện chính xác và xác nhận có trong giai đoạn áp dụng nếu mọi thứ đều chính xác. Sau đó, truy cập bảng điều khiển Amazon ECR (hoặc kiểm tra đầu ra của Terraform trong thiết bị đầu cuối) và lấy URL cho kho lưu trữ ECR của bạn mà bạn đã tạo qua Terraform.
Đầu ra phải giống với đầu ra được hiển thị sau đây, bao gồm URL kho lưu trữ ECR:
Đẩy hình ảnh Docker của bạn lên Amazon ECR
Để đường ống ML và SageMaker đào tạo và cung cấp điểm cuối SageMaker để suy luận, bạn cần cung cấp hình ảnh Docker và lưu trữ nó trong Amazon ECR. Bạn có thể tìm thấy một ví dụ trong thư mục src/container
. Nếu bạn đã áp dụng cơ sở hạ tầng AWS từ bước trước đó, bạn có thể đẩy hình ảnh Docker như được mô tả. Sau khi hình ảnh Docker của bạn được phát triển, bạn có thể thực hiện các hành động sau và đẩy nó lên Amazon ECR (điều chỉnh URL Amazon ECR theo nhu cầu của bạn):
Nếu bạn đã áp dụng cơ sở hạ tầng AWS với Terraform, bạn có thể đẩy các thay đổi của mã và hình ảnh Docker trực tiếp lên Amazon ECR mà không cần triển khai lại qua Terraform.
Chạy đường ống ML
Để đào tạo và chạy đường ống ML, hãy chuyển đến bảng điều khiển Chức năng Bước và bắt đầu triển khai. Bạn có thể kiểm tra tiến trình của từng bước trong trực quan của máy trạng thái. Bạn cũng có thể kiểm tra tiến độ công việc đào tạo SageMaker và trạng thái của điểm cuối SageMaker của bạn.
Sau khi bạn chạy thành công máy trạng thái trong Step Functions, bạn có thể thấy rằng điểm cuối SageMaker đã được tạo. Trên bảng điều khiển SageMaker, chọn Sự suy luận trong ngăn điều hướng, sau đó Điểm cuối. Đảm bảo đợi trạng thái chuyển sang InService.
Gọi điểm cuối của bạn
Để gọi điểm cuối của bạn (trong ví dụ này là tập dữ liệu mống mắt), bạn có thể sử dụng tập lệnh Python sau với AWS SDK cho Python (Boto3). Bạn có thể thực hiện việc này từ sổ ghi chép SageMaker hoặc nhúng đoạn mã sau vào một hàm Lambda:
Làm sạch
Bạn có thể phá hủy cơ sở hạ tầng được tạo bởi Terraform bằng lệnh hủy terraform, nhưng trước tiên bạn cần xóa dữ liệu và tệp trong nhóm S3. Hơn nữa, điểm cuối SageMaker (hoặc nhiều điểm cuối SageMaker nếu chạy nhiều lần) được tạo qua Step Functions và không được quản lý qua Terraform. Điều này có nghĩa là việc triển khai xảy ra khi chạy đường ống ML với các Hàm bước. Do đó, hãy đảm bảo rằng bạn xóa điểm cuối SageMaker hoặc các điểm cuối được tạo thông qua đường dẫn Step Functions ML để tránh các chi phí không cần thiết. Hoàn thành các bước sau:
- Trên bảng điều khiển Amazon S3, xóa tập dữ liệu trong nhóm đào tạo S3.
- Xóa tất cả các mô hình bạn đã đào tạo qua đường dẫn ML trong nhóm mô hình S3, thông qua bảng điều khiển Amazon S3 hoặc AWS CLI.
- Phá hủy cơ sở hạ tầng được tạo qua Terraform:
- Xóa các điểm cuối SageMaker, cấu hình điểm cuối và các mô hình được tạo thông qua Step Functions, trên bảng điều khiển SageMaker hoặc qua AWS CLI.
Kết luận
Xin chúc mừng! Bạn đã triển khai một đường ống ML bằng SageMaker với Terraform. Giải pháp ví dụ này cho thấy cách bạn có thể dễ dàng triển khai cơ sở hạ tầng và dịch vụ AWS cho các đường ống ML theo cách có thể tái sử dụng. Điều này cho phép bạn mở rộng quy mô cho nhiều trường hợp sử dụng hoặc Khu vực, đồng thời cho phép đào tạo và triển khai các mô hình ML bằng một cú nhấp chuột theo cách nhất quán. Hơn nữa, bạn có thể chạy đường ống ML nhiều lần, chẳng hạn như khi có dữ liệu mới hoặc bạn muốn thay đổi mã thuật toán. Bạn cũng có thể chọn định tuyến các yêu cầu hoặc lưu lượng truy cập đến các điểm cuối SageMaker khác nhau.
Tôi khuyến khích bạn khám phá thêm các tính năng bảo mật và áp dụng các phương pháp bảo mật tốt nhất theo nhu cầu của bạn và các tiêu chuẩn tiềm năng của công ty. Ngoài ra, việc nhúng giải pháp này vào đường ống CI / CD của bạn sẽ giúp bạn có thêm khả năng trong việc áp dụng và thiết lập các tiêu chuẩn và thực tiễn tốt nhất của DevOps theo yêu cầu của bạn.
Lưu ý
Oliver Zollikofer là Nhà khoa học dữ liệu tại Amazon Web Services. Ông cho phép khách hàng doanh nghiệp toàn cầu xây dựng, đào tạo và triển khai các mô hình học máy, cũng như quản lý vòng đời của mô hình ML với MLOps. Hơn nữa, anh ấy xây dựng và kiến trúc các giải pháp đám mây liên quan.
- Coinsmart. Sàn giao dịch Bitcoin và tiền điện tử tốt nhất Châu Âu.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. TRUY CẬP MIỄN PHÍ.
- CryptoHawk. Radar Altcoin. Dùng thử miễn phí.
- Nguồn: https://aws.amazon.com/blogs/machine-learning/deploy-and-manage-machine-learning-pipelines-with-terraform-using-amazon-sagemaker/
- "
- 100
- 7
- truy cập
- Theo
- ngang qua
- hành động
- Ngoài ra
- thêm vào
- thuật toán
- Tất cả
- Đã
- đàn bà gan dạ
- Amazon Web Services
- Một
- phương pháp tiếp cận
- kiến trúc
- KHU VỰC
- có sẵn
- AWS
- được
- BEST
- thực hành tốt nhất
- thân hình
- biên giới
- xây dựng
- xây dựng
- khả năng
- trường hợp
- CD
- thay đổi
- Chọn
- đám mây
- cơ sở hạ tầng đám mây
- mã
- công ty
- Cấu hình
- An ủi
- Container
- chứa
- Chi phí
- tạo ra
- tạo ra
- khách hàng
- khách hàng
- dữ liệu
- nhà khoa học dữ liệu
- triển khai
- triển khai
- triển khai
- triển khai
- mô tả
- Thiết kế
- phá hủy
- bị phá hủy
- phát triển
- phát triển
- phát triển
- phát triển
- Phát triển
- khác nhau
- trực tiếp
- phu bến tàu
- dễ dàng
- cho phép
- khuyến khích
- Điểm cuối
- Doanh nghiệp
- tất cả mọi thứ
- ví dụ
- hiện tại
- khám phá
- Thời trang
- Tính năng
- Hình
- Tên
- lần đầu tiên
- theo
- tiếp theo
- chức năng
- xa hơn
- tạo ra
- Toàn cầu
- có
- Độ đáng tin của
- Hướng dẫn
- HTTPS
- Bản sắc
- hình ảnh
- thực hiện
- thực hiện
- tầm quan trọng
- bao gồm
- bao gồm
- Bao gồm
- lên
- Cơ sở hạ tầng
- đầu vào
- tương tác
- IT
- Việc làm
- mới nhất
- học tập
- Dòng
- máy
- học máy
- quản lý
- quản lý
- quản lý
- ML
- kiểu mẫu
- mô hình
- nhiều
- tên
- THÔNG TIN
- cần thiết
- máy tính xách tay
- mở
- Hoạt động
- gọi món
- Nền tảng khác
- Chính sách
- có thể
- tiềm năng
- dự án
- cho
- cung cấp
- kho
- yêu cầu
- yêu cầu
- Yêu cầu
- Thông tin
- phản ứng
- Route
- chạy
- chạy
- khả năng mở rộng
- Quy mô
- Nhà khoa học
- sdk
- an ninh
- DỊCH VỤ
- tương tự
- Đơn giản
- Kích thước máy
- rắn
- giải pháp
- Giải pháp
- Traineeship
- tiêu chuẩn
- Bắt đầu
- bắt đầu
- Tiểu bang
- Trạng thái
- là gắn
- hàng
- Thành công
- Thiết bị đầu cuối
- vì thế
- Thông qua
- thời gian
- giao thông
- Hội thảo
- độc đáo
- sử dụng
- hình dung
- chờ đợi
- web
- các dịch vụ web
- trong khi
- không có
- Công việc