Amazon SageMaker là một dịch vụ máy học (ML) được quản lý hoàn toàn. Với SageMaker, các nhà khoa học và nhà phát triển dữ liệu có thể xây dựng và huấn luyện các mô hình ML một cách nhanh chóng và dễ dàng, sau đó trực tiếp triển khai chúng vào môi trường lưu trữ sẵn sàng sản xuất. Sagemaker cung cấp một phiên bản sổ ghi chép tác giả Jupyter tích hợp để dễ dàng truy cập vào nguồn dữ liệu của bạn để khám phá và phân tích, vì vậy bạn không phải quản lý máy chủ. Nó cũng cung cấp các thuật toán ML phổ biến được tối ưu hóa để chạy hiệu quả đối với dữ liệu cực lớn trong môi trường phân tán.
SageMaker yêu cầu dữ liệu đào tạo cho mô hình ML phải có trong Amazon Simple Storage Service (Amazon S3), Amazon Elastic File System (Amazon EFS) hoặc Amazon FSx for Lustre (để biết thêm thông tin, hãy tham khảo Dữ liệu đào tạo Access). Để đào tạo một mô hình bằng cách sử dụng dữ liệu được lưu trữ bên ngoài ba dịch vụ lưu trữ được hỗ trợ, trước tiên, dữ liệu cần được nhập vào một trong các dịch vụ này (thường là Amazon S3). Điều này đòi hỏi phải xây dựng một đường dẫn dữ liệu (sử dụng các công cụ như Trình sắp xếp dữ liệu Amazon SageMaker) để di chuyển dữ liệu vào Amazon S3. Tuy nhiên, cách tiếp cận này có thể tạo ra một thách thức về quản lý dữ liệu về mặt quản lý vòng đời của phương tiện lưu trữ dữ liệu này, tạo các biện pháp kiểm soát truy cập, kiểm tra dữ liệu, v.v., tất cả đều nhằm mục đích dàn dựng dữ liệu đào tạo trong suốt thời gian của công việc đào tạo. Trong những tình huống như vậy, có thể mong muốn để SageMaker có thể truy cập dữ liệu trong phương tiện lưu trữ tạm thời được đính kèm với các phiên bản đào tạo tạm thời mà không cần lưu trữ dữ liệu trung gian trong Amazon S3.
Bài đăng này cho thấy một cách để làm điều này bằng cách sử dụng Snowflake làm nguồn dữ liệu và bằng cách tải xuống dữ liệu trực tiếp từ Snowflake vào một phiên bản công việc Đào tạo SageMaker.
Tổng quan về giải pháp
Chúng tôi sử dụng Bộ dữ liệu nhà ở California làm tập dữ liệu huấn luyện cho bài đăng này và huấn luyện mô hình ML để dự đoán giá trị nhà ở trung bình cho mỗi quận. Chúng tôi thêm dữ liệu này vào Snowflake dưới dạng một bảng mới. Chúng tôi tạo một vùng chứa đào tạo tùy chỉnh để tải dữ liệu trực tiếp từ bảng Bông tuyết xuống phiên bản đào tạo thay vì tải dữ liệu xuống vùng chứa S3 trước tiên. Sau khi dữ liệu được tải xuống phiên bản đào tạo, tập lệnh đào tạo tùy chỉnh sẽ thực hiện các tác vụ chuẩn bị dữ liệu, sau đó đào tạo mô hình ML bằng cách sử dụng Công cụ ước tính XGBoost. Tất cả mã cho bài đăng này có sẵn trong Repo GitHub.
Hình dưới đây thể hiện kiến trúc cấp cao của giải pháp được đề xuất để sử dụng Snowflake làm nguồn dữ liệu để huấn luyện các mô hình ML với SageMaker.
Các bước quy trình làm việc như sau:
- Thiết lập sổ ghi chép SageMaker và Quản lý truy cập và nhận dạng AWS (IAM) với các quyền phù hợp để cho phép SageMaker truy cập Đăng ký container đàn hồi Amazon (Amazon ECR), Trình quản lý bí mật và các dịch vụ khác trong tài khoản AWS của bạn.
- Lưu trữ thông tin xác thực tài khoản Snowflake của bạn trong AWS Secrets Manager.
- Nhập dữ liệu vào một bảng trong tài khoản Snowflake của bạn.
- Tạo hình ảnh vùng chứa tùy chỉnh để đào tạo mô hình ML và đẩy hình ảnh đó lên Amazon ECR.
- Khởi chạy công việc Đào tạo SageMaker để đào tạo mô hình ML. Phiên bản đào tạo truy xuất thông tin đăng nhập Snowflake từ Secrets Manager, sau đó sử dụng các thông tin đăng nhập này để tải xuống tập dữ liệu trực tiếp từ Snowflake. Đây là bước giúp loại bỏ nhu cầu tải dữ liệu lần đầu tiên vào bộ chứa S3.
- Mô hình ML đã đào tạo được lưu trữ trong bộ chứa S3.
Điều kiện tiên quyết
Để thực hiện giải pháp được cung cấp trong bài đăng này, bạn nên có một Tài khoản AWS, Một tài khoản bông tuyết và làm quen với SageMaker.
Thiết lập SageMaker Notebook và vai trò IAM
Chúng tôi sử dụng AWS CloudFormation để tạo sổ ghi chép SageMaker có tên aws-aiml-blogpost-sagemaker-snowflake-example
và một vai trò IAM được gọi là SageMakerSnowFlakeExample
. Chọn Khởi chạy Stack cho Khu vực bạn muốn triển khai tài nguyên.
Lưu trữ thông tin đăng nhập Bông tuyết trong Trình quản lý bí mật
Lưu trữ thông tin xác thực Snowflake của bạn dưới dạng bí mật trong Secrets Manager. Để biết hướng dẫn về cách tạo bí mật, hãy tham khảo Create an AWS Secrets Manager secret
.
- Đặt tên cho bí mật
snowflake_credentials
. Điều này là bắt buộc vì mã trongsnowflake-load-dataset.ipynb
hy vọng bí mật được gọi là như vậy. - Tạo bí mật dưới dạng cặp khóa-giá trị với hai khóa:
- tên truy nhập – Tên người dùng Snowflake của bạn.
- mật khẩu – Mật khẩu được liên kết với tên người dùng Snowflake của bạn.
Nhập dữ liệu vào một bảng trong tài khoản Snowflake của bạn
Để nhập dữ liệu, hãy hoàn thành các bước sau:
- Trên bảng điều khiển SageMaker, chọn máy tính xách tay trong khung điều hướng.
- Chọn sổ ghi chép aws-aiml-blogpost-sagemaker-snowflake-example và chọn Mở JupyterLab.
- Chọn
snowflake-load-dataset.ipynb
để mở nó trong JupyterLab. Sổ ghi chép này sẽ nhập Bộ dữ liệu nhà ở California đến một bàn Snowflake. - Trong sổ ghi chép, hãy chỉnh sửa nội dung của ô sau để thay thế các giá trị giữ chỗ bằng giá trị phù hợp với tài khoản bông tuyết của bạn:
- Trên menu Run, chọn Chạy tất cả các ô để chạy mã trong sổ ghi chép này. Thao tác này sẽ tải tập dữ liệu cục bộ xuống sổ ghi chép rồi nhập dữ liệu đó vào bảng Snowflake.
Đoạn mã sau trong sổ tay sẽ nhập tập dữ liệu vào Snowflake. xem snowflake-load-dataset.ipynb
máy tính xách tay cho mã đầy đủ.
- Đóng sổ ghi chép sau khi tất cả các ô chạy mà không có bất kỳ lỗi nào. Dữ liệu của bạn hiện có sẵn trong Snowflake. Ảnh chụp màn hình sau đây cho thấy
california_housing
bảng được tạo trong Snowflake.
Chạy sagemaker-snowflake-example.ipynb
máy tính xách tay
Sổ ghi chép này tạo bộ chứa đào tạo tùy chỉnh với kết nối Snowflake, trích xuất dữ liệu từ Snowflake vào bộ lưu trữ tạm thời của phiên bản đào tạo mà không cần sắp xếp nó trong Amazon S3 và thực hiện đào tạo mô hình XGBoost song song dữ liệu phân tán (DDP) trên dữ liệu. Đào tạo DDP là không cần thiết để đào tạo mô hình trên một tập dữ liệu nhỏ như vậy; nó được bao gồm ở đây để minh họa cho một tính năng SageMaker khác được phát hành gần đây.
Tạo vùng chứa tùy chỉnh để đào tạo
Bây giờ, chúng tôi tạo vùng chứa tùy chỉnh cho công việc đào tạo mô hình ML. Lưu ý rằng cần có quyền truy cập root để tạo vùng chứa Docker. Sổ ghi chép SageMaker này đã được triển khai với quyền truy cập root được bật. Nếu chính sách tổ chức doanh nghiệp của bạn không cho phép quyền truy cập gốc vào tài nguyên đám mây, thì bạn có thể muốn sử dụng tệp Docker sau đây và tập lệnh shell để xây dựng bộ chứa Docker ở nơi khác (ví dụ: máy tính xách tay của bạn) rồi đẩy nó lên Amazon ECR. Chúng tôi sử dụng vùng chứa dựa trên hình ảnh vùng chứa SageMaker XGBoost 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.5-1
với những bổ sung sau:
- Sản phẩm Trình kết nối bông tuyết cho Python để tải dữ liệu từ bảng Snowflake xuống phiên bản đào tạo.
- Tập lệnh Python để kết nối với Trình quản lý bí mật nhằm truy xuất thông tin xác thực Snowflake.
Việc sử dụng trình kết nối Bông tuyết và tập lệnh Python đảm bảo rằng những người dùng sử dụng hình ảnh bộ chứa này để đào tạo mô hình ML không phải viết mã này như một phần của tập lệnh đào tạo và có thể sử dụng chức năng này đã có sẵn cho họ.
Sau đây là Dockerfile cho bộ chứa đào tạo:
Hình ảnh vùng chứa được tạo và đẩy lên Amazon ECR. Hình ảnh này được sử dụng để đào tạo mô hình ML.
Huấn luyện mô hình ML bằng công việc Đào tạo SageMaker
Sau khi chúng tôi tạo thành công hình ảnh bộ chứa và đẩy nó lên Amazon ECR, chúng tôi có thể bắt đầu sử dụng nó để đào tạo mô hình.
- Chúng tôi tạo một tập lệnh Python để tải xuống dữ liệu từ Snowflake bằng cách sử dụng Trình kết nối bông tuyết cho Python, chuẩn bị dữ liệu và sau đó sử dụng
XGBoost Regressor
để đào tạo mô hình ML. Đây là bước tải dữ liệu trực tiếp xuống phiên bản đào tạo để tránh phải sử dụng Amazon S3 làm bộ lưu trữ trung gian cho dữ liệu đào tạo. - Chúng tôi hỗ trợ đào tạo song song dữ liệu phân tán bằng cách yêu cầu mã đào tạo tải xuống một tập hợp con dữ liệu ngẫu nhiên sao cho mỗi phiên bản đào tạo tải xuống một lượng dữ liệu bằng nhau từ Snowflake. Ví dụ: nếu có hai nút huấn luyện thì mỗi nút tải xuống một mẫu ngẫu nhiên gồm 50% số hàng trong bảng Bông tuyết. Hãy xem đoạn mã sau:
- Sau đó, chúng tôi cung cấp tập lệnh đào tạo cho SageMaker SDK
Estimator
cùng với thư mục nguồn để tất cả các tập lệnh chúng tôi tạo có thể được cung cấp cho vùng chứa đào tạo khi công việc đào tạo được chạy bằng cách sử dụngEstimator.fit
phương pháp:Để biết thêm thông tin, tham khảo Chuẩn bị Tập lệnh Đào tạo Scikit-Learn.
- Sau khi đào tạo mô hình hoàn tất, mô hình được đào tạo có sẵn dưới dạng
model.tar.gz
tệp trong nhóm SageMaker mặc định cho Khu vực:
Bây giờ bạn có thể triển khai mô hình được đào tạo để suy luận về dữ liệu mới! Để biết hướng dẫn, hãy tham khảo Tạo điểm cuối của bạn và triển khai mô hình của bạn.
Làm sạch
Để tránh phát sinh phí trong tương lai, hãy xóa tài nguyên. Bạn có thể thực hiện việc này bằng cách xóa mẫu CloudFormation được sử dụng để tạo vai trò IAM và sổ ghi chép SageMaker.
Bạn sẽ phải xóa tài nguyên Snowflake theo cách thủ công khỏi bảng điều khiển Snowflake.
Kết luận
Trong bài đăng này, chúng tôi đã trình bày cách tải dữ liệu được lưu trữ trong bảng Bông tuyết xuống phiên bản công việc Đào tạo SageMaker và đào tạo mô hình XGBoost bằng cách sử dụng vùng chứa đào tạo tùy chỉnh. Cách tiếp cận này cho phép chúng tôi tích hợp trực tiếp Snowflake dưới dạng nguồn dữ liệu với sổ ghi chép SageMaker mà không cần sắp xếp dữ liệu trong Amazon S3.
Chúng tôi khuyến khích bạn tìm hiểu thêm bằng cách khám phá SDK Python SageMaker của Amazon và xây dựng giải pháp bằng cách sử dụng triển khai mẫu được cung cấp trong bài đăng này và tập dữ liệu có liên quan đến doanh nghiệp của bạn. Nếu bạn có câu hỏi hoặc gợi ý, hãy để lại nhận xét.
Giới thiệu về tác giả
Amit Arora là kiến trúc sư chuyên gia về AI và ML tại Amazon Web Services, giúp khách hàng doanh nghiệp sử dụng các dịch vụ máy học dựa trên đám mây để nhanh chóng mở rộng quy mô đổi mới của họ. Ông cũng là giảng viên phụ trợ trong chương trình phân tích và khoa học dữ liệu MS tại Đại học Georgetown ở Washington DC
Divya Muralidharan là Kiến trúc sư giải pháp tại Amazon Web Services. Cô đam mê giúp khách hàng doanh nghiệp giải quyết các vấn đề kinh doanh bằng công nghệ. Cô có bằng Thạc sĩ Khoa học Máy tính của Học viện Công nghệ Rochester. Ngoài giờ làm, cô dành thời gian nấu nướng, ca hát và trồng cây.
Serge Ermolin là Kiến trúc sư giải pháp AIML chính tại AWS. Trước đây, ông là kiến trúc sư giải pháp phần mềm cho công nghệ học sâu, phân tích và dữ liệu lớn tại Intel. Là một cựu chiến binh ở Thung lũng Silicon với niềm đam mê học máy và trí tuệ nhân tạo, Sergey đã quan tâm đến mạng thần kinh từ những ngày trước khi có GPU, khi ông sử dụng chúng để dự đoán hành vi lão hóa của tinh thể thạch anh và đồng hồ nguyên tử cesium tại Hewlett-Packard. Sergey có bằng MSEE và chứng chỉ CS của Stanford và bằng Cử nhân vật lý và kỹ thuật cơ khí của Đại học Bang California, Sacramento. Ngoài công việc, Sergey thích nấu rượu, trượt tuyết, đi xe đạp, chèo thuyền và lặn biển. Sergey cũng là một phi công tình nguyện cho Chuyến bay thiên thần.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/use-snowflake-as-a-data-source-to-train-ml-models-with-amazon-sagemaker/
- :là
- $ LÊN
- 1
- 10
- 7
- 8
- a
- Giới thiệu
- truy cập
- có thể truy cập
- Tài khoản
- bổ sung
- Sau
- chống lại
- Lão hóa
- AI
- AIML
- thuật toán
- Tất cả
- cho phép
- Đã
- đàn bà gan dạ
- Amazon FSx
- Amazon SageMaker
- Amazon Web Services
- số lượng
- phân tích
- phân tích
- và
- Một
- phương pháp tiếp cận
- thích hợp
- kiến trúc
- LÀ
- nhân tạo
- trí tuệ nhân tạo
- AS
- liên kết
- At
- kiểm toán
- tác giả
- có sẵn
- AWS
- Hình thành đám mây AWS
- cơ sở
- dựa
- BE
- bởi vì
- lớn
- Dữ Liệu Lớn.
- xây dựng
- Xây dựng
- xây dựng
- kinh doanh
- by
- california
- gọi là
- CAN
- Tế bào
- Giấy chứng nhận
- thách thức
- tải
- Chọn
- Làm sạch
- Đồng hồ
- đám mây
- mã
- Cột
- Cột
- bình luận
- Chung
- hoàn thành
- máy tính
- Khoa học Máy tính
- Kết nối
- liên quan
- An ủi
- Container
- chứa
- nội dung
- điều khiển
- tạo
- tạo ra
- tạo ra
- Tạo
- Credentials
- khách hàng
- khách hàng
- dữ liệu
- quản lý dữ liệu
- Chuẩn bị dữ liệu
- khoa học dữ liệu
- lưu trữ dữ liệu
- ngày giờ
- Ngày
- DDP
- Quyết định
- sâu
- học kĩ càng
- Mặc định
- Bằng cấp
- triển khai
- triển khai
- phát triển
- trực tiếp
- phân phối
- huyện
- phu bến tàu
- dont
- tải về
- Tải xuống
- mỗi
- dễ dàng
- hiệu quả
- hay
- loại trừ hết
- nơi khác
- kích hoạt
- khuyến khích
- Điểm cuối
- Kỹ Sư
- đảm bảo
- Doanh nghiệp
- Môi trường
- lôi
- ví dụ
- thi hành
- tồn tại
- kỳ vọng
- thăm dò
- Khám phá
- Chất chiết xuất
- cực kỳ
- tạo điều kiện
- công bằng
- Tính quen thuộc
- Đặc tính
- Hình
- Tập tin
- cuối cùng
- Tên
- phù hợp với
- tiếp theo
- sau
- Trong
- từ
- Full
- đầy đủ
- chức năng
- tương lai
- được
- nhận được
- GitHub
- đi
- Phát triển
- Có
- có
- giúp đỡ
- tại đây
- cấp độ cao
- giữ
- tổ chức
- host
- House
- nhà ở
- Độ đáng tin của
- Hướng dẫn
- Tuy nhiên
- HTML
- HTTPS
- Bản sắc
- hình ảnh
- thực hiện
- thực hiện
- nhập khẩu
- in
- bao gồm
- bao gồm
- chỉ số
- thông tin
- đổi mới
- cài đặt, dựng lên
- ví dụ
- Viện
- hướng dẫn
- tích hợp
- tích hợp
- Intel
- Sự thông minh
- quan tâm
- IT
- Việc làm
- phím
- máy tính xách tay
- lớn
- Họ
- LEARN
- học tập
- Rời bỏ
- vòng đời
- ln
- tại địa phương
- máy
- học máy
- quản lý
- quản lý
- quản lý
- giám đốc
- quản lý
- thủ công
- phù hợp
- cơ khí
- Phương tiện truyền thông
- trung bình
- Menu
- phương pháp
- ML
- kiểu mẫu
- mô hình
- chi tiết
- di chuyển
- MS
- tên
- THÔNG TIN
- Cần
- nhu cầu
- mạng
- mạng thần kinh
- Mới
- tiếp theo
- nút
- các nút
- máy tính xách tay
- con số
- vật
- of
- Office
- on
- ONE
- mở
- tối ưu hóa
- gọi món
- cơ quan
- Nền tảng khác
- bên ngoài
- gói
- gấu trúc
- cửa sổ
- Song song
- một phần
- niềm đam mê
- đam mê
- Mật khẩu
- thực hiện
- quyền
- Vật lý
- phi công
- đường ống dẫn
- giữ chỗ
- Cây cối
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Chính sách
- đông dân cư
- Bài đăng
- dự đoán
- Chuẩn bị
- trình bày
- trước đây
- Hiệu trưởng
- vấn đề
- chương trình
- đề xuất
- cho
- cung cấp
- cung cấp
- mục đích
- Đẩy
- đẩy
- Python
- Câu hỏi
- Mau
- ngẫu nhiên
- nhanh chóng
- hơn
- Đọc
- gần đây
- hồ sơ
- làm giảm
- khu
- phát hành
- có liên quan
- thay thế
- đại diện cho
- cần phải
- đòi hỏi
- Thông tin
- trở lại
- Vai trò
- nguồn gốc
- HÀNG
- chạy
- Sacramento
- nhà làm hiền triết
- thuyền buồm
- Lưu
- Quy mô
- Khoa học
- các nhà khoa học
- học hỏi
- kịch bản
- sdk
- Bí mật
- Các máy chủ
- dịch vụ
- DỊCH VỤ
- định
- Hình dạng
- Shell
- nên
- Chương trình
- có ý nghĩa
- Silicon
- Silicon Valley
- Đơn giản
- kể từ khi
- tình huống
- nhỏ
- So
- Phần mềm
- giải pháp
- Giải pháp
- động SOLVE
- nguồn
- nguồn
- Không gian
- chuyên gia
- dàn dựng
- Bắt đầu
- Tiểu bang
- Tuyên bố
- Bước
- Các bước
- là gắn
- lưu trữ
- mạng con
- Thành công
- như vậy
- hỗ trợ
- Hỗ trợ
- hệ thống
- bàn
- nhiệm vụ
- Công nghệ
- Công nghệ
- mẫu
- về
- việc này
- Sản phẩm
- Nguồn
- cung cấp their dịch
- Them
- Kia là
- số ba
- Thông qua
- thời gian
- đến
- công cụ
- Tổng số:
- Train
- đào tạo
- Hội thảo
- tàu hỏa
- thường
- trường đại học
- Cập nhật
- us
- sử dụng
- người sử dang
- Người sử dụng
- thung lũng
- giá trị
- Các giá trị
- cựu chiến binh
- Tình Nguyện
- Washington
- Đường..
- web
- các dịch vụ web
- cái nào
- CHÚNG TÔI LÀ
- sẽ
- với
- ở trong
- không có
- Công việc
- viết
- XGBoost
- Bạn
- trên màn hình
- zephyrnet