Khi ngày càng có nhiều khách hàng tìm cách đưa khối lượng công việc máy học (ML) vào sản xuất, các tổ chức đang có một nỗ lực lớn để rút ngắn vòng đời phát triển của mã ML. Nhiều tổ chức thích viết mã ML của họ theo kiểu sẵn sàng sản xuất dưới dạng các lớp và phương thức Python thay vì kiểu khám phá (viết mã mà không sử dụng các phương thức hoặc lớp) vì điều này giúp họ gửi mã sẵn sàng sản xuất nhanh hơn.
Với Amazon SageMaker, bạn có thể dùng @trang trí từ xa để chạy một công việc đào tạo SageMaker chỉ bằng cách chú thích mã Python của bạn bằng trình trang trí @remote. Các SDK Python của SageMaker sẽ tự động dịch môi trường không gian làm việc hiện có của bạn và bất kỳ bộ dữ liệu và mã xử lý dữ liệu liên quan nào thành công việc đào tạo SageMaker chạy trên nền tảng đào tạo SageMaker.
Chạy một hàm Python cục bộ thường yêu cầu một số phụ thuộc, có thể không đi kèm với môi trường thời gian chạy Python cục bộ. Bạn có thể cài đặt chúng thông qua các công cụ quản lý gói và phụ thuộc như đánh rớt or chung cư.
Tuy nhiên, các tổ chức hoạt động trong các ngành được quản lý như ngân hàng, bảo hiểm và chăm sóc sức khỏe hoạt động trong môi trường có các biện pháp kiểm soát mạng và quyền riêng tư dữ liệu nghiêm ngặt. Các biện pháp kiểm soát này thường bắt buộc không có quyền truy cập internet vào bất kỳ môi trường nào của họ. Lý do cho sự hạn chế như vậy là để có toàn quyền kiểm soát lưu lượng truy cập vào và ra để họ có thể giảm khả năng những kẻ vô đạo đức gửi hoặc nhận thông tin chưa được xác minh qua mạng của họ. Nó cũng thường bắt buộc phải cách ly mạng như một phần của quy tắc tuân thủ thính giác và công nghiệp. Khi nói đến ML, điều này hạn chế các nhà khoa học dữ liệu tải xuống bất kỳ gói nào từ các kho lưu trữ công cộng như PyPI, Loại rắn lớn ở mỹ, hoặc là Conda-Forge.
Để cung cấp cho các nhà khoa học dữ liệu quyền truy cập vào các công cụ họ chọn đồng thời tôn trọng các hạn chế của môi trường, các tổ chức thường thiết lập kho lưu trữ gói riêng được lưu trữ trong môi trường của riêng họ. Bạn có thể thiết lập kho gói riêng trên AWS theo nhiều cách:
Trong bài đăng này, chúng tôi tập trung vào tùy chọn đầu tiên: sử dụng CodeArtifact.
Tổng quan về giải pháp
Sơ đồ kiến trúc sau đây cho thấy kiến trúc giải pháp.
Các bước cấp cao để thực hiện giải pháp như sau
- Thiết lập đám mây riêng ảo (VPC) không có truy cập internet bằng cách sử dụng Hình thành đám mây AWS bản mẫu.
- Sử dụng mẫu CloudFormation thứ hai để thiết lập CodeArtifact làm kho lưu trữ PyPI riêng và cung cấp khả năng kết nối với VPC, đồng thời thiết lập một Xưởng sản xuất Amazon SageMaker môi trường để sử dụng kho lưu trữ PyPI riêng.
- Đào tạo một mô hình phân loại dựa trên DANH SÁCH bộ dữ liệu bằng cách sử dụng trình trang trí @remote từ SDK Python SageMaker mã nguồn mở. Tất cả các phần phụ thuộc sẽ được tải xuống từ kho lưu trữ PyPI riêng.
Lưu ý rằng việc sử dụng SageMaker Studio trong bài đăng này là tùy chọn. Bạn có thể chọn làm việc trong bất kỳ môi trường phát triển tích hợp (IDE) nào mà bạn chọn. Bạn chỉ cần thiết lập Giao diện dòng lệnh AWS (AWS CLI) chính xác. Để biết thêm thông tin, hãy tham khảo Định cấu hình AWS CLI.
Điều kiện tiên quyết
Bạn cần có một tài khoản AWS với một Quản lý truy cập và nhận dạng AWS (TÔI LÀ) vai trò với quyền quản lý tài nguyên được tạo như một phần của giải pháp. Để biết chi tiết, hãy tham khảo Tạo tài khoản AWS.
Thiết lập VPC không có kết nối internet
Tạo ngăn xếp CloudFormation mới bằng cách sử dụng vpc.yaml bản mẫu. Mẫu này tạo các tài nguyên sau:
- Một VPC có hai mạng con riêng trên hai Vùng sẵn sàng không có kết nối internet
- Một điểm cuối Gateway VPC để truy cập Amazon S3
- Giao diện các điểm cuối VPC cho SageMaker, CodeArtifact và một số dịch vụ khác để cho phép các tài nguyên trong VPC kết nối với các dịch vụ AWS thông qua Liên kết riêng AWS
Cung cấp tên ngăn xếp, chẳng hạn như No-Internet
và hoàn tất quá trình tạo ngăn xếp.
Đợi quá trình tạo ngăn xếp hoàn tất.
Thiết lập kho lưu trữ riêng và SageMaker Studio bằng VPC
Bước tiếp theo là triển khai ngăn xếp CloudFormation khác bằng cách sử dụng sagemaker_studio_codeartifact.yaml bản mẫu. Mẫu này tạo các tài nguyên sau:
Cung cấp tên ngăn xếp và giữ các giá trị mặc định hoặc điều chỉnh các tham số cho Tên miền CodeArtifact, tên kho lưu trữ riêng, tên hồ sơ người dùng cho SageMaker Studio và tên cho kho lưu trữ PyPI công khai ngược dòng. Bạn cũng cần cung cấp cho chúng tôi Tên ngăn xếp VPC đã tạo ở bước trước.
Khi quá trình tạo ngăn xếp hoàn tất, miền SageMaker sẽ hiển thị trên bảng điều khiển SageMaker.
Để xác minh không có kết nối internet trong SageMaker Studio, ra mắt SageMaker Studio. Chọn File
, New
và Terminal
để khởi chạy một thiết bị đầu cuối và cố gắng quăn lại bất kỳ tài nguyên internet nào. Nó sẽ không kết nối được, như thể hiện trong ảnh chụp màn hình sau.
Huấn luyện bộ phân loại hình ảnh bằng cách sử dụng trình trang trí @remote với kho lưu trữ PyPI riêng
Trong phần này, chúng tôi sử dụng trình trang trí @remote để chạy một Kim tự tháp công việc đào tạo tạo ra mô hình phân loại hình ảnh MNIST. Để đạt được điều này, chúng tôi thiết lập tệp cấu hình, phát triển tập lệnh đào tạo và chạy mã đào tạo.
Thiết lập một tập tin cấu hình
Chúng tôi thiết lập một config.yaml
tệp và cung cấp các cấu hình cần thiết để thực hiện các thao tác sau:
- Chạy một Công việc đào tạo SageMaker trong VPC không có internet được tạo trước đó
- Tải xuống các gói cần thiết bằng cách kết nối với kho lưu trữ PyPI riêng được tạo trước đó
Các tập tin trông giống như đoạn mã sau:
Sản phẩm Dependencies
trường chứa đường dẫn đến requirements.txt
, chứa tất cả các phụ thuộc cần thiết. Lưu ý rằng tất cả các phụ thuộc sẽ được tải xuống từ kho lưu trữ riêng. Các requirements.txt
tệp chứa đoạn mã sau:
Sản phẩm PreExecutionCommands
phần chứa lệnh để kết nối với kho lưu trữ PyPI riêng. Để nhận URL điểm cuối CodeArtifact VPC, hãy sử dụng mã sau:
Nói chung, chúng tôi nhận được hai điểm cuối VPC cho CodeArtifact và chúng tôi có thể sử dụng bất kỳ điểm cuối nào trong số chúng trong các lệnh kết nối. Để biết thêm chi tiết, hãy tham khảo Sử dụng CodeArtifact từ VPC.
Ngoài ra, các cấu hình như execution role
, output location
và VPC configurations
được cung cấp trong tệp cấu hình. Những cấu hình này là cần thiết để chạy công việc đào tạo SageMaker. Để biết thêm về tất cả các cấu hình được hỗ trợ, hãy tham khảo Tập tin cấu hình.
Không bắt buộc phải sử dụng config.yaml
tệp để làm việc với trình trang trí @remote. Đây chỉ là một cách sạch hơn để cung cấp tất cả các cấu hình cho trình trang trí @remote. Tất cả các cấu hình cũng có thể được cung cấp trực tiếp trong các đối số trang trí, nhưng điều đó làm giảm khả năng đọc và khả năng duy trì các thay đổi trong thời gian dài. Ngoài ra, tệp cấu hình có thể được tạo bởi quản trị viên và chia sẻ với tất cả người dùng trong một môi trường.
Xây dựng kịch bản đào tạo
Tiếp theo, chúng tôi chuẩn bị mã đào tạo trong các tệp Python đơn giản. Chúng tôi đã chia mã thành ba tệp:
- tải_data.py – Chứa mã để tải xuống bộ dữ liệu MNIST
- model.py – Chứa code kiến trúc mạng nơ-ron cho mô hình
- xe lửa.py – Chứa mã để đào tạo mô hình bằng cách sử dụng load_data.py và model.py
In train.py
, ta cần trang trí chức năng đào tạo chính như sau:
Bây giờ chúng tôi đã sẵn sàng để chạy mã đào tạo.
Chạy mã đào tạo với trình trang trí @remote
Chúng tôi có thể chạy mã từ một thiết bị đầu cuối hoặc từ bất kỳ lời nhắc thực thi nào. Trong bài đăng này, chúng tôi sử dụng ô sổ ghi chép SageMaker Studio để chứng minh điều này:
Chạy lệnh trước sẽ kích hoạt công việc đào tạo. Trong nhật ký, chúng ta có thể thấy rằng nó đang tải xuống các gói từ kho lưu trữ PyPI riêng.
Điều này kết thúc việc triển khai trình trang trí @remote làm việc với kho lưu trữ riêng trong môi trường không có truy cập internet.
Làm sạch
Để dọn sạch tài nguyên, hãy làm theo hướng dẫn trong LÀM SẠCH.md.
Kết luận
Trong bài đăng này, chúng tôi đã học cách sử dụng hiệu quả các khả năng của trình trang trí @remote trong khi vẫn hoạt động trong môi trường hạn chế mà không cần truy cập internet. Chúng tôi cũng đã học cách tích hợp các khả năng của kho lưu trữ riêng CodeArtifact với sự trợ giúp của hỗ trợ tệp cấu hình trong SageMaker. Giải pháp này làm cho sự phát triển lặp đi lặp lại đơn giản và nhanh hơn nhiều. Một ưu điểm bổ sung khác là bạn vẫn có thể tiếp tục viết mã đào tạo theo cách hướng đối tượng, tự nhiên hơn và vẫn sử dụng các khả năng của SageMaker để chạy các công việc đào tạo trên một cụm từ xa với những thay đổi tối thiểu trong mã của bạn. Tất cả mã được hiển thị như một phần của bài đăng này đều có sẵn trong Kho GitHub.
Bước tiếp theo, chúng tôi khuyến khích bạn kiểm tra chức năng trang trí @remote và API SDK Python và sử dụng nó trong sự lựa chọn của bạn về môi trường và IDE. Các ví dụ bổ sung có sẵn trong amazon-sagemaker-ví dụ kho lưu trữ để giúp bạn bắt đầu nhanh chóng. Bạn cũng có thể kiểm tra bài viết Chạy mã máy học cục bộ của bạn dưới dạng công việc Đào tạo Amazon SageMaker với các thay đổi mã tối thiểu để biết thêm chi tiết.
Giới thiệu về tác giả
Vikesh Pandey là Kiến trúc sư giải pháp chuyên gia về máy học tại AWS, giúp khách hàng từ các ngành tài chính thiết kế và xây dựng các giải pháp về AI và ML tổng hợp. Ngoài công việc, Vikesh thích thử các món ăn khác nhau và chơi các môn thể thao ngoài trời.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Ô tô / Xe điện, Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- BlockOffsets. Hiện đại hóa quyền sở hữu bù đắp môi trường. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :là
- :không phải
- $ LÊN
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- Giới thiệu
- truy cập
- truy cập
- Tài khoản
- Đạt được
- ngang qua
- diễn viên
- thêm
- thêm vào
- quản trị viên
- Lợi thế
- AI
- Tất cả
- cho phép
- Ngoài ra
- đàn bà gan dạ
- Amazon SageMaker
- Amazon Web Services
- an
- và
- Một
- bất kì
- api
- kiến trúc
- LÀ
- đối số
- AS
- liên kết
- At
- tự động
- sẵn có
- có sẵn
- AWS
- Ngân hàng
- dựa
- BE
- bởi vì
- xây dựng
- nhưng
- by
- CAN
- khả năng
- tỷ lệ cược
- Những thay đổi
- kiểm tra
- sự lựa chọn
- Chọn
- các lớp học
- phân loại
- đám mây
- cụm
- mã
- COM
- Đến
- đến
- hoàn thành
- tuân thủ
- Cấu hình
- Kết nối
- Kết nối
- liên quan
- Kết nối
- An ủi
- chứa
- tiếp tục
- điều khiển
- điều khiển
- có thể
- tạo ra
- tạo ra
- tạo
- Credentials
- khách hàng
- dữ liệu
- dữ liệu riêng tư
- xử lý dữ liệu
- bộ dữ liệu
- Mặc định
- chứng minh
- Phụ thuộc
- triển khai
- Thiết kế
- chi tiết
- phát triển
- Phát triển
- khác nhau
- trực tiếp
- Chia
- do
- miền
- tải về
- hiệu quả
- khuyến khích
- Điểm cuối
- Môi trường
- môi trường
- kỷ nguyên
- ví dụ
- thực hiện
- hiện tại
- FAIL
- sai
- nhanh hơn
- vài
- lĩnh vực
- Tập tin
- Các tập tin
- tài chính
- ngành tài chính
- Tên
- Phao
- Tập trung
- theo
- tiếp theo
- sau
- Trong
- hình thức
- từ
- Full
- chức năng
- cửa ngõ
- thế hệ
- Trí tuệ nhân tạo
- được
- Nhóm
- Có
- có
- chăm sóc sức khỏe
- giúp đỡ
- giúp đỡ
- giúp
- cấp độ cao
- tổ chức
- Độ đáng tin của
- Hướng dẫn
- HTML
- http
- HTTPS
- ID
- Bản sắc
- hình ảnh
- Phân loại hình ảnh
- thực hiện
- thực hiện
- in
- công nghiệp
- các ngành công nghiệp
- thông tin
- cài đặt, dựng lên
- hướng dẫn
- bảo hiểm
- tích hợp
- tích hợp
- Internet
- truy cập internet
- kết nối Internet
- trong
- cô lập
- IT
- Việc làm
- việc làm
- jpg
- chỉ
- Giữ
- Biết
- lớn
- phóng
- học
- học tập
- vòng đời
- Lượt thích
- Dòng
- địa phương
- tại địa phương
- đăng nhập
- dài
- tìm kiếm
- NHÌN
- máy
- học máy
- Chủ yếu
- LÀM CHO
- quản lý
- quản lý
- Công cụ quản lý
- Nhiệm vụ
- bắt buộc
- nhiều
- Có thể..
- phương pháp
- tối thiểu
- ML
- kiểu mẫu
- Modules
- chi tiết
- nhiều
- nhiều
- tên
- tự nhiên
- Tự nhiên
- Cần
- cần thiết
- mạng
- mạng lưới
- mạng lưới thần kinh
- Mới
- tiếp theo
- Không
- máy tính xách tay
- of
- thường
- on
- mã nguồn mở
- hoạt động
- hoạt động
- phản đối
- Tùy chọn
- or
- gọi món
- tổ chức
- Nền tảng khác
- ra
- bên ngoài
- kết thúc
- riêng
- gói
- gói
- thông số
- một phần
- con đường
- quyền
- Nơi
- nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- chơi
- Bài đăng
- thích hơn
- Chuẩn bị
- trước
- riêng tư
- riêng
- quá trình
- xử lý
- sản xuất
- Sản lượng
- Hồ sơ
- cho
- cung cấp
- công khai
- Đẩy
- đặt
- Python
- ngọn đuốc
- Mau
- sẵn sàng
- lý do
- nhận
- giảm
- làm giảm
- quy định
- ngành công nghiệp quy định
- xa
- kho
- cần phải
- đòi hỏi
- tài nguyên
- Thông tin
- tôn trọng
- sự hạn chế
- hạn chế
- Hạn chế
- Vai trò
- quy tắc
- chạy
- chạy
- chạy
- nhà làm hiền triết
- các nhà khoa học
- sdk
- Thứ hai
- Phần
- an ninh
- xem
- hạt giống
- gửi
- DỊCH VỤ
- định
- một số
- chia sẻ
- TÀU
- nên
- thể hiện
- Chương trình
- Đơn giản
- đơn giản
- đơn giản
- So
- giải pháp
- Giải pháp
- chuyên gia
- Thể thao
- ngăn xếp
- bắt đầu
- Bước
- Các bước
- Vẫn còn
- hàng
- Nghiêm ngặt
- phòng thu
- phong cách
- subnet
- mạng con
- như vậy
- cung cấp
- cung cấp
- hỗ trợ
- Hỗ trợ
- mẫu
- Thiết bị đầu cuối
- việc này
- Sản phẩm
- cung cấp their dịch
- Them
- Đó
- Kia là
- họ
- điều này
- số ba
- Thông qua
- đến
- công cụ
- ngọn đuốc
- giao thông
- Hội thảo
- dịch
- đúng
- thử
- hai
- vô đạo đức
- URL
- sử dụng
- đã sử dụng
- Người sử dụng
- sử dụng
- Các giá trị
- xác minh
- thông qua
- ảo
- có thể nhìn thấy
- Đường..
- cách
- we
- web
- các dịch vụ web
- khi nào
- cái nào
- trong khi
- Wikipedia
- sẽ
- với
- không có
- Công việc
- đang làm việc
- viết
- viết
- khoai mỡ
- Bạn
- trên màn hình
- zephyrnet
- khu vực Ace