Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab

Gần đây, Xưởng sản xuất Amazon SageMaker đã đưa ra một cách dễ dàng để chạy sổ ghi chép dưới dạng các tác vụ hàng loạt có thể chạy theo lịch trình định kỳ. Phòng thí nghiệm Amazon SageMaker Studio cũng hỗ trợ tính năng này, cho phép bạn chạy sổ ghi chép mà bạn phát triển trong SageMaker Studio Lab trong tài khoản AWS của mình. Điều này cho phép bạn nhanh chóng mở rộng quy mô thử nghiệm máy học (ML) với bộ dữ liệu lớn hơn và phiên bản mạnh hơn mà không cần phải tìm hiểu bất kỳ điều gì mới hoặc thay đổi một dòng mã.

Trong bài đăng này, chúng tôi sẽ hướng dẫn bạn điều kiện tiên quyết một lần để kết nối môi trường Studio Lab của bạn với tài khoản AWS. Sau đó, chúng tôi sẽ hướng dẫn bạn các bước để chạy sổ ghi chép dưới dạng tác vụ hàng loạt từ Studio Lab.

Tổng quan về giải pháp

Studio Lab kết hợp tiện ích mở rộng tương tự như Studio, dựa trên tiện ích mở rộng nguồn mở Jupyter dành cho sổ ghi chép theo lịch trình. Tiện ích mở rộng này có các tham số bổ sung dành riêng cho AWS, như loại điện toán. Trong Studio Lab, sổ ghi chép đã lên lịch trước tiên sẽ được sao chép vào một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) trong tài khoản AWS của bạn, sau đó chạy vào thời gian đã lên lịch với loại điện toán đã chọn. Khi công việc hoàn thành, đầu ra sẽ được ghi vào bộ chứa S3 và quá trình tính toán AWS sẽ bị dừng hoàn toàn, giúp ngăn chặn chi phí phát sinh.

Điều kiện tiên quyết

Để sử dụng các tác vụ sổ ghi chép của Studio Lab, bạn cần có quyền truy cập quản trị vào tài khoản AWS mà bạn sắp kết nối (hoặc sự hỗ trợ từ người có quyền truy cập này). Trong phần còn lại của bài đăng này, chúng tôi giả định rằng bạn là quản trị viên AWS, nếu không phải như vậy, hãy yêu cầu quản trị viên hoặc chủ sở hữu tài khoản của bạn xem lại các bước này cùng với bạn.

Tạo vai trò thực thi SageMaker

Chúng tôi cần đảm bảo rằng tài khoản AWS có Quản lý truy cập và nhận dạng AWS (IAM) Vai trò thực thi SageMaker. Vai trò này được các tài nguyên SageMaker trong tài khoản sử dụng và cung cấp quyền truy cập từ SageMaker vào các tài nguyên khác trong tài khoản AWS. Trong trường hợp của chúng tôi, công việc sổ ghi chép của chúng tôi chạy với các quyền này. Nếu SageMaker đã được sử dụng trước đây trong tài khoản này thì vai trò đó có thể đã tồn tại nhưng có thể không có tất cả các quyền cần thiết. Vì vậy, hãy tiếp tục và tạo một cái mới.

Các bước sau đây chỉ cần được thực hiện một lần, bất kể có bao nhiêu môi trường SageMaker Studio Lab sẽ truy cập vào tài khoản AWS này.

  1. Trên bảng điều khiển IAM, chọn Vai trò trong khung điều hướng.
  2. Chọn Tạo vai trò.
  3. Trong Loại thực thể đáng tin cậy, lựa chọn Dịch vụ AWS.
  4. Trong Các trường hợp sử dụng cho các Dịch vụ AWS khác, chọn SageMaker.
  5. Chọn SageMaker – Thực thi.
  6. Chọn Sau.
  7. Xem lại các quyền, sau đó chọn Sau.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  8. Trong Tên vai trò, nhập tên (đối với bài đăng này, chúng tôi sử dụng sagemaker-execution-role-notebook-jobs).
  9. Chọn Tạo vai trò.
  10. Ghi lại vai trò ARN.

Vai trò ARN sẽ ở định dạng arn:aws:iam::[account-number]:role/service-role/[role-name] và được yêu cầu trong quá trình thiết lập Studio Lab.

Tạo người dùng IAM

Để môi trường Studio Lab truy cập AWS, chúng tôi cần tạo người dùng IAM trong AWS và cấp cho nó các quyền cần thiết. Sau đó, chúng tôi cần tạo một bộ khóa truy cập cho người dùng đó và cung cấp chúng cho môi trường Studio Lab.

Bước này phải được lặp lại cho từng môi trường SageMaker Studio Lab sẽ truy cập vào tài khoản AWS này.

Lưu ý rằng quản trị viên và chủ sở hữu tài khoản AWS phải đảm bảo tuân thủ các biện pháp bảo mật có kiến ​​trúc tốt ở mức độ lớn nhất có thể. Ví dụ: quyền của người dùng phải luôn được giới hạn và các khóa truy cập phải được luân chuyển thường xuyên để giảm thiểu tác động của việc xâm phạm thông tin xác thực.

Trong blog này, chúng tôi chỉ ra cách sử dụng AmazonSageMakerFullAccess chính sách được quản lý. Chính sách này cung cấp quyền truy cập rộng rãi vào Amazon SageMaker và có thể vượt xa những gì được yêu cầu. Thông tin chi tiết về AmazonSageMakerFullAccess có thể được tìm thấy tại đây.

Mặc dù Studio Lab sử dụng biện pháp bảo mật doanh nghiệp nhưng cần lưu ý rằng thông tin đăng nhập của người dùng Studio Lab không phải là một phần của tài khoản AWS của bạn và do đó, chẳng hạn, không tuân theo mật khẩu AWS hoặc chính sách MFA của bạn.

Để thu hẹp phạm vi quyền nhiều nhất có thể, chúng tôi tạo hồ sơ người dùng dành riêng cho quyền truy cập này.

  1. Trên bảng điều khiển IAM, chọn Người dùng trong khung điều hướng.
  2. Chọn Thêm người dùng.
  3. Trong Tên người dùng, nhập tên. Cách tốt nhất là sử dụng tên được liên kết với một cá nhân sẽ sử dụng tài khoản này; điều này sẽ giúp ích nếu xem lại nhật ký kiểm tra.
  4. Trong Chọn loại truy cập AWS, lựa chọn Khóa truy cập – Truy cập theo chương trình.
  5. Chọn Tiếp theo: Quyền.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  6. Chọn Đính kèm các chính sách hiện có trực tiếp.
  7. Tìm kiếm và chọn AmazonSageMakerFullAccess.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  8. Tìm kiếm và chọn AmazonEventBridgeFullAccess.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  9. Chọn Tiếp theo: Thẻ.
  10. Chọn Tiếp theo: Đánh giá.
  11. Xác nhận chính sách của bạn, sau đó chọn Tạo người dùng.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Trang cuối cùng của quá trình tạo người dùng sẽ hiển thị cho bạn các khóa truy cập của người dùng. Hãy để tab này mở vì chúng tôi không thể điều hướng quay lại đây và chúng tôi cần những thông tin chi tiết này.
  12. Mở tab trình duyệt mới trong Studio Lab.
  13. trên Tập tin menu, chọn Trình khởi chạy mới, sau đó chọn Thiết bị đầu cuối.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  14. Tại dòng lệnh, nhập đoạn mã sau:
    aws configure

  15. Nhập mã sau:
    1. Nhập các giá trị từ trang bảng điều khiển IAM cho ID khóa truy cập và khóa truy cập bí mật của bạn.
    2. Trong Default region name, đi vào us-west-2.
    3. Rời bỏ Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

Xin chúc mừng, môi trường Studio Lab của bạn bây giờ đã được cấu hình để truy cập vào tài khoản AWS. Để kiểm tra kết nối, hãy dùng lệnh sau:

aws sts get-caller-identity

Lệnh này sẽ trả về thông tin chi tiết về người dùng IAM mà bạn đã định cấu hình để sử dụng.

Tạo một công việc sổ ghi chép

Công việc sổ ghi chép được tạo bằng sổ ghi chép Jupyter trong Studio Lab. Nếu sổ ghi chép của bạn chạy trong Studio Lab thì sổ ghi chép đó có thể chạy như một tác vụ sổ ghi chép (có nhiều tài nguyên hơn và quyền truy cập vào các dịch vụ AWS). Tuy nhiên, có một số điều cần chú ý.

Nếu bạn đã cài đặt các gói để sổ ghi chép của mình hoạt động, hãy thêm lệnh để tải các gói này vào ô ở đầu sổ ghi chép của bạn. Bằng cách sử dụng ký hiệu & ở đầu mỗi dòng, mã sẽ được gửi đến dòng lệnh để chạy. Trong ví dụ sau, ô đầu tiên sử dụng pip để cài đặt thư viện PyTorch:

%%capture
%pip install torch
%pip install torchvision

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sổ ghi chép của chúng tôi sẽ tạo ra một mô hình PyTorch đã được đào tạo. Với mã thông thường, chúng tôi lưu mô hình vào hệ thống tệp trong Studio Labs.

Khi chạy công việc này dưới dạng công việc sổ ghi chép, chúng ta cần lưu mô hình ở nơi nào đó mà chúng ta có thể truy cập sau đó. Cách dễ nhất để thực hiện việc này là lưu mô hình vào Amazon S3. Chúng tôi đã tạo vùng lưu trữ S3 để lưu mô hình của mình và sử dụng một ô dòng lệnh khác để sao chép đối tượng vào vùng lưu trữ.

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chúng tôi sử dụng Giao diện dòng lệnh AWS (AWS CLI) vào đây để sao chép đối tượng. Chúng ta cũng có thể sử dụng AWS SDK cho Python (Boto3) nếu chúng tôi muốn kiểm soát tên tệp một cách phức tạp hơn hoặc tự động hơn. Hiện tại, chúng tôi sẽ đảm bảo rằng chúng tôi thay đổi tên tệp mỗi lần chạy sổ ghi chép để các mô hình không bị ghi đè.

Bây giờ chúng ta đã sẵn sàng để tạo công việc sổ ghi chép.

  1. Chọn (bấm chuột phải vào) tên sổ ghi chép, sau đó chọn Tạo công việc sổ tay.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
    Nếu tùy chọn menu này bị thiếu, bạn có thể cần phải làm mới môi trường Studio Lab của mình. Để thực hiện việc này, hãy mở Terminal từ trình khởi chạy và chạy đoạn mã sau:
    conda deactivate && conda env remove —name studiolab

  2. Tiếp theo, khởi động lại phiên bản JupyterLab của bạn bằng cách chọn Phòng thí nghiệm Amazon SageMaker Studio từ menu trên cùng, sau đó chọn Khởi động lại JupyterLab.Ngoài ra, hãy truy cập trang dự án, tắt và khởi động lại thời gian chạy.
  3. trên Tạo việc làm trang, cho loại tính toán, hãy chọn loại điện toán phù hợp với công việc của bạn.

    Để biết thêm thông tin về các loại công suất tính toán khác nhau, bao gồm cả chi phí, hãy xem Amazon SageMaker Giá (lựa chọn Định giá theo yêu cầu và điều hướng đến Hội thảo chuyển hướng. Bạn cũng có thể cần kiểm tra hạn ngạch sẵn có của loại điện toán trong tài khoản AWS của mình. Để biết thêm thông tin về hạn ngạch dịch vụ, hãy xem: Định mức dịch vụ AWS.Đối với ví dụ này, chúng tôi đã chọn một phiên bản ml.p3.2xlarge, cung cấp 8 vCPU, 61 GB bộ nhớ và GPU Tesla V100.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

    Nếu không có cảnh báo nào trên trang này, bạn nên sẵn sàng. Nếu có cảnh báo, hãy kiểm tra để đảm bảo chỉ định đúng vai trò ARN trong Tùy chọn bổ sung. Vai trò này phải khớp với ARN của vai trò thực thi SageMaker mà chúng tôi đã tạo trước đó. ARN có định dạng arn:aws:iam::[account-number]:role/service-role/[role-name].

    Có những lựa chọn khác có sẵn trong Tùy chọn bổ sung; ví dụ: bạn có thể chọn một hình ảnh và hạt nhân cụ thể có thể đã có cấu hình bạn cần mà không cần cài đặt thêm thư viện.

  4. Nếu bạn muốn chạy sổ ghi chép này theo lịch trình, hãy chọn Chạy theo lịch trình và chỉ định tần suất bạn muốn công việc chạy.Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Chúng tôi muốn sổ ghi chép này chạy một lần, vì vậy chúng tôi chọn Chạy ngay đi.
  5. Chọn Tạo.
    Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Danh sách công việc sổ tay

Sản phẩm công việc máy tính xách tay trang liệt kê tất cả các công việc hiện đang chạy và những công việc đã chạy trong quá khứ. Bạn có thể tìm thấy danh sách này từ Trình khởi chạy (chọn, Tập tin, Trình khởi chạy mới), tiếp đó hãy chọn công việc máy tính xách tay trong Nền tảng khác phần.

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Khi công việc sổ ghi chép hoàn tất, bạn sẽ thấy trạng thái thay đổi thành Completed (sử dụng Tải lại (Reload) tùy chọn nếu được yêu cầu). Sau đó, bạn có thể chọn biểu tượng tải xuống để truy cập các tệp đầu ra.

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Khi các tệp đã được tải xuống, bạn có thể xem lại sổ ghi chép cùng với mã đầu ra và nhật ký đầu ra. Trong trường hợp của chúng tôi, vì chúng tôi đã thêm mã vào thời gian chạy ô đào tạo nên chúng tôi có thể thấy công việc đào tạo kéo dài bao lâu—16 phút 21 giây, nhanh hơn nhiều so với khi mã chạy bên trong Studio Lab (1 giờ , 38 phút, 55 giây). Trên thực tế, toàn bộ máy tính xách tay chạy trong 1,231 giây (chỉ hơn 20 phút) với chi phí dưới 1.30 USD (USD).

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Giờ đây, W có thể tăng số lượng kỷ nguyên và điều chỉnh các siêu tham số để cải thiện giá trị tổn thất của mô hình, đồng thời gửi một công việc sổ ghi chép khác.

Kết luận

Trong bài đăng này, chúng tôi đã trình bày cách sử dụng các tác vụ sổ ghi chép của Studio Lab để mở rộng quy mô mã mà chúng tôi đã phát triển trong Studio Lab và chạy mã đó với nhiều tài nguyên hơn trong tài khoản AWS.

Bằng cách thêm thông tin đăng nhập AWS vào môi trường Studio Lab, chúng tôi không chỉ có thể truy cập các tác vụ sổ ghi chép mà còn có thể truy cập các tài nguyên khác từ tài khoản AWS ngay trong sổ ghi chép Studio Lab của mình. Hãy xem AWS SDK dành cho Python.

Khả năng bổ sung này của Studio Lab nâng cao giới hạn về loại và quy mô dự án mà bạn có thể đạt được. Hãy cho chúng tôi biết bạn xây dựng được gì với khả năng mới này!


Giới thiệu về tác giả

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Phòng Mike là Người ủng hộ nhà phát triển cho AI và ML tại AWS. Anh ấy đã dành 7 năm qua để giúp các nhà xây dựng tìm hiểu về đám mây, bảo mật và ML. Xuất thân từ Vương quốc Anh, Mike là một người đam mê uống trà và thích xây dựng Lego.

Chạy sổ ghi chép dưới dạng tác vụ hàng loạt trong Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Michele Monclova là giám đốc sản phẩm chính tại AWS trong nhóm SageMaker. Cô ấy là một người New York bản địa và cựu chiến binh Thung lũng Silicon. Cô ấy đam mê những đổi mới giúp cải thiện chất lượng cuộc sống của chúng ta.

Dấu thời gian:

Thêm từ Học máy AWS