Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon

Năm 2021, chúng tôi ra mắt Dịch vụ chủ động hỗ trợ AWS như là một phần của Hỗ trợ doanh nghiệp AWS kế hoạch. Kể từ khi được giới thiệu, chúng tôi đã giúp hàng trăm khách hàng tối ưu hóa khối lượng công việc của họ, đặt lan can bảo vệ và cải thiện khả năng hiển thị chi phí và mức sử dụng khối lượng công việc học máy (ML) của họ.

Trong loạt bài viết này, chúng tôi chia sẻ các bài học kinh nghiệm về tối ưu hóa chi phí trong Amazon SageMaker. Trong bài đăng này, chúng tôi tập trung vào các công việc đào tạo SageMaker.

SageMaker đào tạo việc làm

Công việc đào tạo SageMaker là các quy trình hàng loạt không đồng bộ với các tính năng tích hợp sẵn để đào tạo và tối ưu hóa mô hình ML.

Với các công việc đào tạo của SageMaker, bạn có thể sử dụng thuật toán của riêng mình hoặc chọn từ hơn 25 thuật toán được tích hợp sẵn. SageMaker hỗ trợ các nguồn dữ liệu và mẫu truy cập khác nhau, đào tạo phân tán bao gồm các cụm không đồng nhất, cũng như các tính năng quản lý thử nghiệm và điều chỉnh mô hình tự động.

Chi phí của một tác vụ đào tạo dựa trên các tài nguyên bạn sử dụng (phiên bản và dung lượng lưu trữ) trong khoảng thời gian (tính bằng giây) mà các phiên bản đó đang chạy. Điều này bao gồm thời gian đào tạo diễn ra và, nếu bạn đang sử dụng tính năng hồ bơi ấm áp, khoảng thời gian duy trì mà bạn định cấu hình. TRONG Phần 1, chúng tôi đã chỉ ra cách bắt đầu sử dụng Trình khám phá chi phí AWS để xác định các cơ hội tối ưu hóa chi phí trong SageMaker. Bạn có thể lọc chi phí đào tạo bằng cách áp dụng bộ lọc theo loại sử dụng. Tên của các kiểu sử dụng này như sau:

  • REGION-Train:instanceType (ví dụ, USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (ví dụ, USE1-Train:VolumeUsage.gp2)

Để xem bảng phân tích chi phí đào tạo của bạn trong Cost Explorer, bạn có thể nhập train: như một tiền tố cho Loại sử dụng. Nếu bạn chỉ lọc số giờ đã sử dụng (xem ảnh chụp màn hình sau), Trình khám phá chi phí sẽ tạo hai biểu đồ: Chi phí và Mức sử dụng. Chế độ xem này sẽ giúp bạn ưu tiên các cơ hội tối ưu hóa của mình và xác định phiên bản nào chạy lâu và tốn kém.

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Trước khi tối ưu hóa công việc đào tạo hiện có, chúng tôi khuyên bạn nên làm theo các phương pháp hay nhất được đề cập trong Tối ưu hóa chi phí cho machine learning với Amazon SageMaker: kiểm tra mã của bạn cục bộ và sử dụng chế độ cục bộ để thử nghiệm, hãy sử dụng các mô hình được đào tạo trước nếu có thể và xem xét quản lý đào tạo tại chỗ (có thể tối ưu hóa chi phí tới 90% so với các phiên bản Theo yêu cầu).

Khi một công việc Theo yêu cầu được khởi chạy, nó sẽ trải qua năm giai đoạn: Bắt đầu, Tải xuống, Đào tạo, Tải lên và Hoàn thành. Bạn có thể xem các giai đoạn và mô tả đó trên trang của công việc đào tạo trên bảng điều khiển SageMaker.

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Từ góc độ định giá, bạn bị tính phí cho các giai đoạn Tải xuống, Đào tạo và Tải lên.

Xem xét các giai đoạn này là bước đầu tiên để chẩn đoán nơi tối ưu hóa chi phí đào tạo của bạn. Trong bài đăng này, chúng tôi thảo luận về các giai đoạn Tải xuống và Đào tạo.

giai đoạn tải xuống

Trong ví dụ trước, giai đoạn Tải xuống mất chưa đầy một phút. Tuy nhiên, nếu tải xuống dữ liệu là một yếu tố quan trọng trong chi phí đào tạo của bạn, thì bạn nên xem xét nguồn dữ liệu bạn đang sử dụng và các phương thức truy cập. Các công việc đào tạo của SageMaker hỗ trợ ba nguồn dữ liệu nguyên bản: Hệ thống tệp đàn hồi Amazon (Amazon EFS), Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) và Amazon FSx cho ánh. Đối với Amazon S3, SageMaker cung cấp ba cách được quản lý để thuật toán của bạn có thể truy cập vào quá trình đào tạo: Chế độ tệp (trong đó dữ liệu được tải xuống bộ lưu trữ khối của phiên bản), Chế độ ống (dữ liệu được truyền trực tuyến đến phiên bản, do đó loại bỏ thời lượng của giai đoạn Tải xuống) và chế độ Tệp nhanh (kết hợp tính dễ sử dụng của chế độ Tệp hiện có với hiệu suất của chế độ Đường ống). Để được hướng dẫn chi tiết về cách chọn đúng nguồn dữ liệu và phương pháp truy cập, hãy tham khảo 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.

Khi sử dụng đào tạo tại chỗ được quản lý, bất kỳ giai đoạn Tải xuống lặp lại nào xảy ra do gián đoạn đều không bị tính phí (do đó, bạn chỉ bị tính phí một lần cho khoảng thời gian tải xuống dữ liệu).

Điều quan trọng cần lưu ý là mặc dù các công việc đào tạo của SageMaker hỗ trợ các nguồn dữ liệu mà chúng tôi đã đề cập nhưng chúng không bắt buộc. Trong mã đào tạo của mình, bạn có thể triển khai bất kỳ phương pháp nào để tải xuống dữ liệu đào tạo từ bất kỳ nguồn nào (miễn là phiên bản đào tạo có thể truy cập dữ liệu đó). Có nhiều cách khác để tăng tốc thời gian tải xuống, chẳng hạn như sử dụng API Boto3 với tính năng đa xử lý để tải xuống tệp đồng thời hoặc sử dụng thư viện của bên thứ ba như WebDataset hoặc s5cmd để tải xuống nhanh hơn từ Amazon S3. Để biết thêm thông tin, hãy tham khảo Song song hóa khối lượng công việc S3 với s5cmd.

Giai đoạn đào tạo

Tối ưu hóa chi phí giai đoạn Đào tạo bao gồm tối ưu hóa hai vectơ: chọn cơ sở hạ tầng phù hợp (dòng cá thể và kích thước) và tối ưu hóa chính quá trình đào tạo. Chúng ta có thể tạm chia các phiên bản đào tạo thành hai loại: dựa trên GPU được tăng tốc, chủ yếu dành cho các mô hình học sâu và dựa trên CPU dành cho các khung ML phổ biến. Để được hướng dẫn về cách chọn dòng phiên bản phù hợp để đào tạo, hãy tham khảo Đảm bảo tài nguyên điện toán hiệu quả trên Amazon SageMaker. Nếu quá trình đào tạo của bạn yêu cầu phiên bản GPU, chúng tôi khuyên bạn nên tham khảo video Cách chọn các phiên bản GPU Amazon EC2 để học sâu.

Theo hướng dẫn chung, nếu khối lượng công việc của bạn yêu cầu GPU NVIDIA, thì chúng tôi nhận thấy rằng khách hàng sẽ tiết kiệm được đáng kể chi phí với hai Đám mây điện toán đàn hồi Amazon (Amazon EC2) các loại phiên bản: ml.g4dnml.g5. ml.g4dn được trang bị NVIDIA T4 và cung cấp chi phí trên mỗi bộ nhớ đặc biệt thấp. Phiên bản ml.g5 được trang bị NVIDIA A10g Tensor Core và có chi phí trên mỗi CUDA thất bại thấp nhất (fp32).

AWS cung cấp các tính năng tiết kiệm chi phí cụ thể cho đào tạo deep learning:

Để kích thước phù hợp và tối ưu hóa phiên bản của bạn, trước tiên bạn nên xem amazoncloudwatch đo lường các công việc đào tạo đang tạo ra. Để biết thêm thông tin, hãy tham khảo Công việc của SageMaker và số liệu điểm cuối. Bạn có thể sử dụng thêm CloudWatch số liệu thuật toán tùy chỉnh để theo dõi hiệu suất đào tạo.

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Các số liệu này có thể chỉ ra tắc nghẽn hoặc cung cấp quá mức tài nguyên. Ví dụ: nếu bạn đang quan sát CPU cao với mức sử dụng GPU thấp, bạn có thể giải quyết vấn đề bằng cách sử dụng cụm không đồng nhất. Một ví dụ khác có thể thấy mức sử dụng CPU thấp nhất quán trong suốt thời gian thực hiện công việc—điều này có thể dẫn đến việc giảm kích thước của phiên bản.

Nếu bạn đang sử dụng đào tạo phân tán, bạn nên thử nghiệm các phương pháp phân phối khác nhau (tháp, Ring-AllReduce, nhân đôi, v.v.) để xác thực mức sử dụng tối đa và tinh chỉnh các tham số khung của bạn cho phù hợp (ví dụ: xem Các phương pháp hay nhất để đào tạo tăng tốc TensorFlow 1.x trên Amazon SageMaker). Điều quan trọng cần làm nổi bật là bạn có thể sử dụng API phân phối SageMaker và các thư viện như SageMaker phân phối dữ liệu song song, Mô hình SageMaker song songSageMaker Sharded dữ liệu song song, được tối ưu hóa cho cơ sở hạ tầng AWS và giúp giảm chi phí đào tạo.

Lưu ý rằng đào tạo phân tán không nhất thiết phải mở rộng quy mô tuyến tính và có thể đưa ra một số chi phí hoạt động, điều này sẽ ảnh hưởng đến thời gian chạy tổng thể.

Đối với các mô hình học sâu, một kỹ thuật tối ưu hóa khác là sử dụng độ chính xác hỗn hợp. Độ chính xác hỗn hợp có thể tăng tốc độ đào tạo, do đó giảm cả thời gian đào tạo và mức sử dụng bộ nhớ với tác động tối thiểu hoặc không ảnh hưởng đến độ chính xác của mô hình. Để biết thêm thông tin, hãy xem Đào tạo với dữ liệu song song và mô hình song song phần trong Đào tạo phân tán trong Amazon SageMaker.

Cuối cùng, việc tối ưu hóa các tham số dành riêng cho khung có thể có tác động đáng kể trong việc tối ưu hóa quy trình đào tạo. SageMaker điều chỉnh mô hình tự động tìm các siêu tham số hoạt động tốt nhất, được đo bằng chỉ số khách quan mà bạn chọn. Đặt thời gian đào tạo làm chỉ số mục tiêu và cấu hình khung làm siêu tham số có thể giúp loại bỏ các nút cổ chai và giảm thời gian đào tạo tổng thể. Để biết ví dụ về cách tối ưu hóa cài đặt TensorFlow mặc định và xóa nút cổ chai CPU, hãy tham khảo Aerobotics cải thiện tốc độ đào tạo lên 24 lần mỗi mẫu với Amazon SageMaker và TensorFlow.

Một cơ hội khác để tối ưu hóa cả thời gian tải xuống và xử lý là xem xét đào tạo trên một tập hợp con dữ liệu của bạn. Nếu dữ liệu của bạn bao gồm nhiều mục hoặc tính năng trùng lặp với mức tăng thông tin thấp, bạn có thể đào tạo trên một tập hợp con dữ liệu và giảm thời gian tải xuống và đào tạo cũng như sử dụng phiên bản nhỏ hơn và Cửa hàng đàn hồi Amazon (Amazon EBS) khối lượng. Ví dụ, tham khảo Sử dụng phương pháp tập trung vào dữ liệu để giảm thiểu lượng dữ liệu cần thiết để đào tạo các mô hình Amazon SageMaker. Ngoài ra, Trình sắp xếp dữ liệu Amazon SageMaker có thể đơn giản hóa việc phân tích và tạo mẫu huấn luyện. Để biết thêm thông tin, hãy tham khảo Tạo mẫu dữ liệu ngẫu nhiên và phân tầng với Amazon SageMaker Data Wrangler.

Trình gỡ lỗi SageMaker

Để đảm bảo sử dụng tài nguyên và đào tạo hiệu quả, SageMaker có thể lập hồ sơ công việc đào tạo của bạn bằng cách sử dụng Trình gỡ lỗi Amazon SageMaker. cung cấp trình gỡ lỗi quy tắc tích hợp để cảnh báo về các vấn đề phổ biến đang ảnh hưởng đến quá trình đào tạo của bạn như tắc nghẽn CPU, tăng bộ nhớ GPU hoặc tắc nghẽn I/O hoặc bạn có thể tạo các quy tắc của riêng mình. Bạn có thể truy cập và phân tích báo cáo được tạo trong Xưởng sản xuất Amazon SageMaker. Để biết thêm thông tin, hãy tham khảo Giao diện người dùng trình gỡ lỗi Amazon SageMaker trong Thử nghiệm Amazon SageMaker Studio. Ảnh chụp màn hình sau đây hiển thị chế độ xem Trình gỡ lỗi trong Studio.

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bạn có thể đi sâu vào các toán tử và hàm Python (phần Hoạt động hàng đầu trên GPU phần) được chạy để thực hiện công việc đào tạo. Các quy tắc tích hợp sẵn của Trình gỡ lỗi để lập hồ sơ các sự cố liên quan đến hoạt động của khung xem, bao gồm thời gian khởi tạo đào tạo quá mức do tải xuống dữ liệu trước khi bắt đầu đào tạo và các giá trị ngoại lệ của thời lượng bước trong các vòng đào tạo. Bạn nên lưu ý rằng mặc dù việc sử dụng các quy tắc tích hợp là miễn phí nhưng chi phí cho các quy tắc tùy chỉnh sẽ áp dụng dựa trên phiên bản mà bạn định cấu hình trong khoảng thời gian của công việc đào tạo và dung lượng lưu trữ được đính kèm với nó.

Kết luận

Trong bài đăng này, chúng tôi đã cung cấp hướng dẫn về phân tích chi phí và các phương pháp hay nhất khi đào tạo các mô hình ML bằng cách sử dụng công việc đào tạo SageMaker. Khi máy học tự khẳng định mình là một công cụ mạnh mẽ trong các ngành, việc đào tạo và chạy các mô hình ML cần phải duy trì hiệu quả về chi phí. SageMaker cung cấp một bộ tính năng rộng và chuyên sâu để hỗ trợ từng bước trong quy trình ML và cung cấp các cơ hội tối ưu hóa chi phí mà không ảnh hưởng đến hiệu suất hoặc sự linh hoạt.


Về các tác giả

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Deepali Rajale là Chuyên gia cao cấp về AI/ML tại AWS. Cô làm việc với các khách hàng doanh nghiệp để cung cấp hướng dẫn kỹ thuật với các phương pháp hay nhất để triển khai và duy trì các giải pháp AI/ML trong hệ sinh thái AWS. Cô ấy đã làm việc với nhiều tổ chức trong nhiều trường hợp sử dụng học sâu khác nhau liên quan đến NLP và thị giác máy tính. Cô ấy đam mê trao quyền cho các tổ chức tận dụng AI tổng quát để nâng cao trải nghiệm sử dụng của họ. Trong thời gian rảnh rỗi, cô ấy thích xem phim, âm nhạc và văn học.

Phân tích mức chi tiêu của Amazon SageMaker và xác định các cơ hội tối ưu hóa chi phí dựa trên mức sử dụng, Phần 4: Công việc đào tạo | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Uri Rosenberg là Giám đốc Kỹ thuật Chuyên gia AI & ML cho Châu Âu, Trung Đông và Châu Phi. Có trụ sở tại Israel, Uri hoạt động để trao quyền cho khách hàng doanh nghiệp về tất cả mọi thứ ML để thiết kế, xây dựng và vận hành trên quy mô lớn. Trong thời gian rảnh rỗi, anh ấy thích đạp xe, đi bộ đường dài và tăng entropy.

Dấu thời gian:

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