Các phương pháp hay nhất dành cho Nhóm ấm áp được quản lý đào tạo Amazon SageMaker

Nhóm ấm áp được quản lý dành cho đào tạo của Amazon SageMaker mang đến cho bạn sự linh hoạt trong việc chọn tham gia sử dụng lại và giữ cơ sở hạ tầng cơ bản trong một khoảng thời gian do người dùng xác định. Điều này được thực hiện trong khi vẫn duy trì lợi ích của việc chuyển công việc nặng nhọc không phân biệt của việc quản lý các phiên bản máy tính sang Đào tạo về người mẫu Amazon SageMaker. Trong bài đăng này, chúng tôi phác thảo những lợi ích chính và điểm khó giải quyết được giải quyết bởi Nhóm ấm áp được quản lý đào tạo của SageMaker, cũng như điểm chuẩn và phương pháp hay nhất.

Tổng quan về SageMaker Đào tạo Bể nước ấm được quản lý

Đào tạo mô hình SageMaker là một khả năng được quản lý hoàn toàn, tạo ra các phiên bản cho mọi công việc, đào tạo một mô hình, chạy và sau đó quay xuống các phiên bản sau công việc. Bạn chỉ bị tính phí trong khoảng thời gian thực hiện công việc tính đến giây. Khả năng được quản lý hoàn toàn này cho phép bạn tự do tập trung vào thuật toán máy học (ML) của mình và không phải lo lắng về các công việc nặng nhọc không phân biệt như quản lý cơ sở hạ tầng trong khi đào tạo mô hình của mình.

Cơ chế này đòi hỏi một thời gian khởi động hữu hạn cho một công việc đào tạo. Mặc dù thời gian khởi động này, còn được gọi là thời gian khởi động nguội, khá thấp, một số trường hợp sử dụng của khách hàng khó tính nhất của chúng tôi yêu cầu thời gian khởi động thậm chí còn thấp hơn, chẳng hạn như dưới 20 giây. Có hai trường hợp sử dụng nổi bật có các yêu cầu này:

  • Đầu tiên là thử nghiệm ML tích cực của các nhà khoa học dữ liệu bằng cách sử dụng Amazon SageMaker nền tảng đào tạo, đặc biệt là khi đào tạo các mô hình lớn, chẳng hạn như GPT3, yêu cầu lặp lại nhiều lần để đạt đến trạng thái sẵn sàng sản xuất.
  • Thứ hai là khởi chạy có lập trình một số lượng lớn (theo thứ tự vài trăm hoặc hàng nghìn) công việc liên tiếp trên cùng một loại phiên bản theo nhịp đã lên lịch. Ví dụ: tìm kiếm tham số hoặc đào tạo gia tăng.

Đối với các trường hợp sử dụng như vậy, mỗi giây dành cho chi phí chung, chẳng hạn như thời gian khởi động cho một công việc đào tạo, có tác động tích lũy đối với tất cả các công việc này.

Với Nhóm ấm được quản lý để đào tạo SageMaker, các nhà khoa học dữ liệu và kỹ sư ML có khả năng chọn tham gia để giữ ấm cho các phiên bản đào tạo SageMaker hoặc cụm đa phiên bản trong một khoảng thời gian được chỉ định trước và có thể định cấu hình lại (keep_alive_period_in_seconds) sau khi mỗi công việc đào tạo hoàn thành. Vì vậy, mặc dù bạn phải chịu một hình phạt bắt đầu nguội đối với công việc đào tạo đầu tiên chạy trên một phiên bản hoặc cụm, nhưng đối với tất cả các công việc đào tạo tiếp theo, các phiên bản đã được thiết lập và chạy. Kết quả là, các công việc đào tạo tiếp theo này bắt đầu trên một phiên bản trước khi keep_alive_period_in_seconds hết hạn không phải chịu chi phí thời gian khởi động nguội. Điều này có thể giảm thời gian khởi động công việc đào tạo xuống còn khoảng dưới 20 giây (P90).

Các nhà khoa học dữ liệu và kỹ sư ML có thể sử dụng Nhóm ấm được quản lý trong đào tạo SageMaker để giữ ấm cho một hoặc nhiều phiên bản giữa các lần đào tạo để thử nghiệm hoặc chạy nhiều công việc liên tiếp trên cùng một cụm đơn hoặc nhiều phiên bản. Bạn chỉ trả tiền cho thời gian của công việc đào tạo và cấu hình lại keep_alive_period_in_seconds giống như mọi nơi khác mà bạn chỉ định cho mọi trường hợp.

Về bản chất, với Nhóm ấm được quản lý trong đào tạo SageMaker, bạn có được sự kết hợp giữa việc sử dụng phiên bản được quản lý bởi SageMaker với khả năng chọn tham gia và cung cấp dung lượng cũng như việc sử dụng tự quản lý trong khoảng thời gian ngắn. Các khoảng thời gian này có thể định cấu hình trước khi thực hiện công việc, nhưng nếu trong quá trình thực hiện keep_alive_period_in_seconds khoảng thời gian, bạn cần giảm hoặc tăng nó, bạn có thể làm như vậy. Tăng lên keep_alive_period_in_seconds có thể được thực hiện trong khoảng thời gian tối đa 60 phút, với khoảng thời gian tối đa cho một phiên bản hoặc cụm là 7 ngày.

Để bắt đầu với bể nước ấm, trước tiên yêu cầu tăng giới hạn hạn ngạch nhóm ấm, sau đó chỉ định keep_alive_period_in_seconds tham số khi bắt đầu công việc đào tạo.

điểm chuẩn

Chúng tôi đã thực hiện các bài kiểm tra đo điểm chuẩn để đo độ trễ khởi động tác vụ bằng hình ảnh TensorFlow 1.34 GB, 2 GB dữ liệu và các chế độ nhập dữ liệu đào tạo khác nhau (Amazon FSx, Chế độ tệp nhanh, Chế độ tệp). Các thử nghiệm đã được chạy trên nhiều loại phiên bản khác nhau từ các dòng m4, c4, m5 và c5 ở Khu vực phía đông Hoa Kỳ 2. Độ trễ khởi động được đo bằng thời gian tạo công việc cho đến khi bắt đầu công việc đào tạo thực tế trên các phiên bản. Các công việc đầu tiên bắt đầu cụm và tạo nhóm ấm có độ trễ khởi động là 2–3 phút. Độ trễ cao hơn này là do thời gian cần thiết để cung cấp cơ sở hạ tầng, tải xuống hình ảnh và tải xuống dữ liệu. Các công việc tiếp theo sử dụng cụm nhóm ấm áp có độ trễ khởi động khoảng 20 giây đối với Chế độ tệp nhanh (FFM) hoặc Amazon FSx và 70 giây đối với Chế độ tệp (FM). Đồng bằng này là kết quả của việc FM yêu cầu toàn bộ tập dữ liệu phải được tải xuống từ Amazon S3 trước khi bắt đầu công việc.

Lựa chọn chế độ nhập dữ liệu đào tạo của bạn ảnh hưởng đến thời gian khởi động, ngay cả với Warm Pools. Hướng dẫn về cách chọn chế độ đầu vào nằm trong phần các phương pháp hay nhất ở phần sau của bài đăng này.

Bảng sau đây tóm tắt độ trễ khởi động công việc P90 cho các chế độ nhập dữ liệu huấn luyện khác nhau.

Chế độ nhập dữ liệu Độ trễ khởi động P90 (giây)
Nghề nghiệp đầu tiên Công việc Bể bơi ấm áp (công việc thứ hai trở đi)
FSx 136 19
Chế độ tệp nhanh 143 21
Chế độ tệp 176 70

Thực hành tốt nhất để sử dụng hồ nước ấm

Trong phần sau đây, chúng tôi chia sẻ một số phương pháp hay nhất khi sử dụng hồ nước ấm.

Khi nào bạn nên sử dụng bể bơi nước ấm?

Bể nước ấm được khuyến nghị trong các trường hợp sau:

  • Bạn đang thử nghiệm một cách tương tác và điều chỉnh tập lệnh của mình qua một loạt các công việc ngắn.
  • Bạn đang chạy tối ưu hóa siêu tham số quy mô lớn, tùy chỉnh của riêng mình (ví dụ: Giai điệu Syne).
  • Bạn có một quy trình hàng loạt chạy một số lượng lớn (theo thứ tự vài trăm hoặc hàng nghìn) công việc liên tiếp trên cùng một loại phiên bản theo nhịp hàng ngày hoặc hàng tuần. Ví dụ: đào tạo một mô hình ML cho mỗi thành phố.

Bể ấm không được khuyến nghị khi không chắc ai đó sẽ sử dụng lại bể ấm trước khi hết hạn. Ví dụ: một công việc dài duy nhất chạy qua đường dẫn ML tự động.

Giảm thiểu độ trễ khởi động công việc đào tạo nhóm ấm

Công việc đào tạo sử dụng lại vùng ấm bắt đầu nhanh hơn công việc đầu tiên tạo vùng nước ấm. Điều này là do giữ cho các phiên bản ML chạy giữa các công việc với hình ảnh Docker bộ chứa đào tạo được lưu trong bộ nhớ cache để bỏ qua việc kéo bộ chứa từ Đăng ký container đàn hồi Amazon (ECR của Amazon). Tuy nhiên, ngay cả khi sử dụng lại một nhóm ấm, các bước khởi tạo nhất định vẫn xảy ra đối với tất cả các công việc. Tối ưu hóa các bước này có thể giảm thời gian bắt đầu công việc của bạn (cả công việc đầu tiên và công việc tiếp theo). Hãy xem xét những điều sau đây:

  • Chế độ nhập dữ liệu đào tạo có thể ảnh hưởng đến thời gian khởi động – Các kênh đầu vào dữ liệu đào tạo được quản lý được tạo lại cho từng công việc đào tạo, góp phần vào độ trễ khởi động công việc. Vì vậy, thực hiện các thử nghiệm ban đầu trên một tập dữ liệu nhỏ hơn sẽ cho phép thời gian khởi động nhanh hơn (và thời gian đào tạo nhanh hơn). Đối với các giai đoạn thử nghiệm sau này, khi cần một tập dữ liệu lớn, hãy cân nhắc sử dụng loại chế độ đầu vào có thời gian khởi tạo cố định hoặc tối thiểu. Ví dụ: chế độ đầu vào FILE sao chép toàn bộ tập dữ liệu từ Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) sang phiên bản đào tạo, điều này tốn nhiều thời gian đối với các tập dữ liệu lớn (ngay cả với các nhóm ấm áp). Chế độ tệp nhanh phù hợp hơn với độ trễ khởi động thấp hơn vì chỉ cần đọc siêu dữ liệu đối tượng S3 từ Amazon S3 trước khi khối lượng công việc có thể bắt đầu. Các Amazon FSx cho ánh, hoặc là Hệ thống tệp đàn hồi Amazon (Amazon EFS), chế độ đầu vào hệ thống tệp, có thời gian khởi tạo cố định bất kể số lượng tệp trong hệ thống tệp, điều này có lợi khi làm việc với tập dữ liệu lớn.
    Để biết thêm thông tin về cách chọn kênh đầu vào, hãy xem Chọn nguồn dữ liệu tốt nhất cho công việc đào tạo Amazon SageMaker của bạn.
  • Giảm thời gian chạy cài đặt gói – Bất kỳ cài đặt phần mềm nào diễn ra trong quá trình khởi động vùng chứa, chẳng hạn như pip của Python hoặc apt-get của hệ điều hành, sẽ làm tăng độ trễ của công việc đào tạo. Giảm thiểu độ trễ khởi động này đòi hỏi phải đánh đổi giữa tính linh hoạt và đơn giản của quá trình cài đặt trong thời gian chạy so với quá trình cài đặt tại thời điểm xây dựng vùng chứa. Nếu bạn sử dụng bộ chứa Docker của riêng mình với SageMaker, hãy tham khảo Điều chỉnh Bộ chứa Docker của riêng bạn để hoạt động với SageMaker. Nếu bạn dựa vào hình ảnh vùng chứa SageMaker dựng sẵn, bạn sẽ cần mở rộng vùng chứa dựng sẵn và quản lý rõ ràng các thùng chứa này. Hãy xem xét điều này nếu cài đặt thời gian chạy của bạn làm tăng đáng kể độ trễ khởi động.
  • Tránh cập nhật hình ảnh Docker của bạn thường xuyên – Nếu bạn sử dụng bộ chứa Docker của riêng mình với SageMaker, hãy cố gắng tránh cập nhật nó sau mỗi lần chạy công việc. Nếu hình ảnh Docker thay đổi giữa các lần gửi tác vụ, nhóm ấm sẽ được sử dụng lại, nhưng quá trình khởi động sẽ cần kéo lại hình ảnh bộ chứa từ Amazon ECR thay vì sử dụng lại hình ảnh bộ chứa đã lưu trong bộ nhớ cache. Nếu hình ảnh Docker phải được cập nhật, hãy giới hạn các bản cập nhật cho lớp Docker cuối cùng để tận dụng bộ nhớ đệm của lớp Docker. Tốt nhất, bạn nên xóa nội dung Dockerfile có khả năng thay đổi qua các lần lặp lại, chẳng hạn như siêu tham số, định nghĩa tập dữ liệu và chính mã ML. Để lặp lại mã ML mà không phải xây dựng lại hình ảnh Docker với mỗi thay đổi, bạn có thể áp dụng mô hình bộ chứa khung được ủng hộ trong Bộ công cụ đào tạo SageMaker. Nếu bạn muốn phát triển bộ chứa khung bằng mã của riêng mình, hãy tham khảo điều này Hướng dẫn Amazon SageMaker.

Chia sẻ nhóm ấm giữa nhiều người dùng

Khi làm việc với một nhóm lớn các nhà khoa học dữ liệu, bạn có thể chia sẻ những nhóm ấm áp có tiêu chí công việc phù hợp, chẳng hạn như giống nhau Quản lý truy cập và nhận dạng AWS (IAM) vai trò hoặc hình ảnh vùng chứa.

Hãy xem xét một mốc thời gian ví dụ. Người dùng-1 bắt đầu một công việc đào tạo hoàn thành và dẫn đến một vùng nước ấm mới được tạo. Khi người dùng-2 bắt đầu một công việc đào tạo, công việc sẽ sử dụng lại nhóm ấm hiện có, giúp khởi động công việc nhanh chóng. Trong khi công việc của người dùng-2 đang chạy với nhóm ấm đang được sử dụng, nếu một người dùng khác bắt đầu công việc đào tạo, thì nhóm ấm thứ hai sẽ được tạo.

Hành vi tái sử dụng này giúp giảm chi phí bằng cách chia sẻ nhóm ấm giữa những người dùng bắt đầu công việc tương tự. Nếu bạn muốn tránh chia sẻ nhóm ấm giữa những người dùng, thì công việc của người dùng không được có tiêu chí công việc phù hợp (ví dụ: họ phải sử dụng một vai trò IAM khác).

Thông báo cho người dùng khi hoàn thành công việc

Khi sử dụng các bể nước ấm để thử nghiệm, chúng tôi khuyên bạn nên thông báo cho người dùng khi công việc của họ hoàn tất. Điều này cho phép người dùng tiếp tục thử nghiệm trước khi nhóm ấm hết hạn hoặc dừng lại hồ bơi ấm áp nếu nó không còn cần thiết nữa. Bạn cũng có thể tự động kích hoạt thông báo thông qua Sự kiện Amazon.

Các công cụ khác cho công việc đào tạo thử nghiệm và xử lý sự cố nhanh

Với hồ nước ấm, bạn có thể bắt đầu công việc trong vòng chưa đầy 20 giây. Một số kịch bản yêu cầu thử nghiệm tương tác thực hành và xử lý sự cố theo thời gian thực. mã nguồn mở Thư viện trình trợ giúp SageMaker SSH cho phép bạn đưa vào vùng chứa đào tạo SageMaker và tiến hành phát triển cũng như gỡ lỗi từ xa.

Kết luận

Với Nhóm ấm được quản lý đào tạo SageMaker, bạn có thể giữ ấm các phiên bản phần cứng đào tạo mô hình của mình sau mỗi công việc trong một khoảng thời gian nhất định. Điều này có thể giảm độ trễ khởi động cho công việc đào tạo người mẫu lên tới 8 lần. Các nhóm ấm được quản lý để đào tạo SageMaker có sẵn ở tất cả các Khu vực AWS công cộng nơi có chương trình Đào tạo về mô hình SageMaker.

Để bắt đầu, hãy xem Đào tạo bằng cách sử dụng các bể nước ấm được quản lý bởi SageMaker.


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

Romi DattaTiến sĩ Romi Datta  là Giám đốc Cấp cao của Quản lý Sản phẩm trong nhóm Amazon SageMaker chịu trách nhiệm đào tạo, xử lý và lưu trữ tính năng. Anh ấy đã làm việc tại AWS hơn 4 năm, giữ một số vai trò lãnh đạo quản lý sản phẩm trong SageMaker, S3 và IoT. Trước AWS, ông đã làm việc trong nhiều vai trò lãnh đạo quản lý sản phẩm, kỹ thuật và vận hành tại IBM, Texas Instruments và Nvidia. Anh ấy có bằng MS và Ph.D. về Kỹ thuật Điện và Máy tính của Đại học Texas tại Austin, và bằng MBA của Trường Kinh doanh Booth thuộc Đại học Chicago.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Arun Nagarajan là Kỹ sư chính của nhóm Amazon SageMaker tập trung vào các lĩnh vực Đào tạo và MLOps. Anh ấy đã làm việc với nhóm SageMaker từ năm ra mắt, rất thích đóng góp vào các lĩnh vực khác nhau trong SageMaker, bao gồm các sản phẩm Giám sát mô hình và suy luận thời gian thực. Anh ấy thích khám phá ngoài trời ở khu vực Tây Bắc Thái Bình Dương và leo núi.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Amy Bạn là Giám đốc phát triển phần mềm tại AWS SageMaker. Cô tập trung vào việc tập hợp một nhóm kỹ sư phần mềm để xây dựng, duy trì và phát triển các khả năng mới của nền tảng Đào tạo SageMaker giúp khách hàng đào tạo các mô hình ML của họ hiệu quả và dễ dàng hơn. Cô ấy có niềm đam mê với công nghệ ML và AI, đặc biệt là liên quan đến hình ảnh và tầm nhìn từ quá trình học sau đại học của mình. Khi rảnh rỗi, cô ấy thích làm việc với âm nhạc và nghệ thuật cùng gia đình.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái. Lý Tư Phi là Kỹ sư phần mềm tại Amazon AI, nơi cô ấy đang làm việc để xây dựng Nền tảng máy học của Amazon và là thành viên của nhóm khởi chạy Amazon SageMaker. Trong thời gian rảnh rỗi, cô ấy thích chơi nhạc và đọc sách.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Jenna Triệu là Kỹ sư phát triển phần mềm tại AWS SageMaker. Cô đam mê công nghệ ML/AI và đang tập trung xây dựng nền tảng Đào tạo SageMaker cho phép khách hàng đào tạo các mô hình máy học một cách nhanh chóng và dễ dàng. Ngoài công việc, cô thích đi du lịch và dành thời gian cho gia đình.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Paras Mehra là Giám đốc sản phẩm cấp cao tại AWS. Anh ấy tập trung vào việc giúp xây dựng quy trình Đào tạo và xử lý Amazon SageMaker. Khi rảnh rỗi, Paras thích dành thời gian cho gia đình và đạp xe quanh Vùng Vịnh. Bạn có thể tìm thấy anh ta trên LinkedIn.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Gili Nachum là một Kiến trúc sư giải pháp chuyên gia AI / ML cấp cao, người làm việc như một phần của nhóm Học máy Amazon của EMEA. Gili đam mê những thách thức của việc đào tạo mô hình học sâu và cách học máy đang thay đổi thế giới như chúng ta đã biết. Khi rảnh rỗi, Gili thích chơi bóng bàn.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Olivier Cruchant là Kiến trúc sư Giải pháp Chuyên gia về Học máy tại AWS, có trụ sở tại Pháp. Olivier giúp khách hàng của AWS - từ các công ty khởi nghiệp nhỏ đến các doanh nghiệp lớn - phát triển và triển khai các ứng dụng học máy ở cấp độ sản xuất. Trong thời gian rảnh rỗi, anh ấy thích đọc các tài liệu nghiên cứu và khám phá vùng hoang dã với bạn bè và gia đình.

Các biện pháp thực hành tốt nhất dành cho đào tạo Amazon SageMaker Nhóm ấm được quản lý Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.Emily Webber đã tham gia AWS ngay sau khi SageMaker ra mắt và kể từ đó đã cố gắng nói cho cả thế giới biết về điều đó! Ngoài việc xây dựng trải nghiệm ML mới cho khách hàng, Emily thích thiền định và nghiên cứu Phật giáo Tây Tạng.

Dấu thời gian:

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