Hôm nay Amazon SageMaker đã công bố hỗ trợ dự phòng phiên bản đào tạo SageMaker cho Điều chỉnh mô hình tự động Amazon SageMaker (AMT) cho phép người dùng chỉ định các cấu hình tài nguyên điện toán thay thế.
Điều chỉnh mô hình tự động của SageMaker tìm phiên bản tốt nhất của mô hình bằng cách chạy nhiều công việc đào tạo trên tập dữ liệu của bạn bằng cách sử dụng các dãy siêu tham số mà bạn chỉ định cho thuật toán của mình. Sau đó, nó chọn các giá trị siêu tham số dẫn đến mô hình hoạt động tốt nhất, được đo bằng một số liệu mà bạn chọn.
Trước đây, người dùng chỉ có tùy chọn chỉ định một cấu hình phiên bản duy nhất. Điều này có thể dẫn đến sự cố khi loại phiên bản được chỉ định không có sẵn do mức độ sử dụng cao. Trước đây, công việc đào tạo của bạn thường thất bại với Lỗi Không đủ Năng lực (ICE). AMT đã sử dụng các lần thử lại thông minh để tránh những lỗi này trong nhiều trường hợp, nhưng nó vẫn bất lực trước tình trạng công suất thấp kéo dài.
Tính năng mới này có nghĩa là bạn có thể chỉ định danh sách cấu hình phiên bản theo thứ tự ưu tiên, sao cho công việc AMT của bạn sẽ tự động chuyển sang phiên bản tiếp theo trong danh sách trong trường hợp dung lượng thấp.
Trong các phần sau, chúng tôi sẽ hướng dẫn các bước cấp cao này để vượt qua ICE:
- Xác định cấu hình công việc điều chỉnh siêu tham số
- Xác định các thông số công việc đào tạo
- Tạo công việc điều chỉnh siêu tham số
- Mô tả công việc đào tạo
Xác định cấu hình công việc điều chỉnh siêu tham số
Sản phẩm HyperParameterTuningJobConfig đối tượng mô tả công việc điều chỉnh, bao gồm chiến lược tìm kiếm, thước đo khách quan được sử dụng để đánh giá công việc đào tạo, phạm vi tham số cần tìm kiếm và giới hạn tài nguyên cho công việc điều chỉnh. Khía cạnh này không thay đổi với bản phát hành tính năng ngày hôm nay. Tuy nhiên, chúng tôi sẽ xem xét nó để đưa ra một ví dụ hoàn chỉnh.
Sản phẩm ResourceLimits
đối tượng chỉ định số lượng công việc đào tạo tối đa và công việc đào tạo song song cho công việc điều chỉnh này. Trong ví dụ này, chúng tôi đang thực hiện một tìm kiếm ngẫu nhiên chiến lược và chỉ định tối đa 10 công việc (MaxNumberOfTrainingJobs
) và 5 công việc đồng thời (MaxParallelTrainingJobs
) tại một thời điểm.
Sản phẩm ParameterRanges
đối tượng chỉ định phạm vi siêu tham số mà công việc điều chỉnh này tìm kiếm. Chúng tôi chỉ định tên cũng như giá trị tối thiểu và tối đa của siêu tham số để tìm kiếm. Trong ví dụ này, chúng tôi xác định các giá trị tối thiểu và tối đa cho phạm vi tham số Liên tục và Số nguyên cũng như tên của siêu tham số (“eta”, “max_deep”).
AmtTuningJobConfig={
"Strategy": "Random",
"ResourceLimits": {
"MaxNumberOfTrainingJobs": 10,
"MaxParallelTrainingJobs": 5
},
"HyperParameterTuningJobObjective": {
"MetricName": "validation:rmse",
"Type": "Minimize"
},
"ParameterRanges": {
"CategoricalParameterRanges": [],
"ContinuousParameterRanges": [
{
"MaxValue": "1",
"MinValue": "0",
"Name": "eta"
}
],
"IntegerParameterRanges": [
{
"MaxValue": "6",
"MinValue": "2",
"Name": "max_depth"
}
]
}
}
Xác định các thông số công việc đào tạo
Trong định nghĩa công việc đào tạo, chúng tôi xác định đầu vào cần thiết để chạy công việc đào tạo bằng thuật toán mà chúng tôi chỉ định. Sau khi quá trình đào tạo hoàn tất, SageMaker lưu các tạo phẩm mô hình kết quả vào một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) vị trí mà bạn chỉ định.
Trước đây, chúng tôi đã chỉ định loại phiên bản, số lượng và kích thước ổ đĩa trong phần ResourceConfig
tham số. Khi phiên bản trong tham số này không khả dụng, Lỗi Không đủ Dung lượng (ICE) đã được đưa ra.
Để tránh điều này, hiện nay chúng ta có HyperParameterTuningResourceConfig
tham số dưới TrainingJobDefinition
, trong đó chúng tôi chỉ định danh sách các phiên bản để dự phòng. Định dạng của các trường hợp này giống như trong ResourceConfig
. Công việc sẽ duyệt qua danh sách từ trên xuống dưới để tìm cấu hình phiên bản có sẵn. Nếu một phiên bản không có sẵn thì thay vì Lỗi Không đủ Dung lượng (ICE), phiên bản tiếp theo trong danh sách sẽ được chọn, từ đó khắc phục được ICE.
TrainingJobDefinition={
"HyperParameterTuningResourceConfig": {
"InstanceConfigs": [
{
"InstanceType": "ml.m4.xlarge",
"InstanceCount": 1,
"VolumeSizeInGB": 5
},
{
"InstanceType": "ml.m5.4xlarge",
"InstanceCount": 1,
"VolumeSizeInGB": 5
}
]
},
"AlgorithmSpecification": {
"TrainingImage": "433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest",
"TrainingInputMode": "File"
},
"InputDataConfig": [
{
"ChannelName": "train",
"CompressionType": "None",
"ContentType": "json",
"DataSource": {
"S3DataSource": {
"S3DataDistributionType": "FullyReplicated",
"S3DataType": "S3Prefix",
"S3Uri": "s3://<bucket>/test/"
}
},
"RecordWrapperType": "None"
}
],
"OutputDataConfig": {
"S3OutputPath": "s3://<bucket>/output/"
},
"RoleArn": "arn:aws:iam::340308762637:role/service-role/AmazonSageMaker-ExecutionRole-20201117T142856",
"StoppingCondition": {
"MaxRuntimeInSeconds": 259200
},
"StaticHyperParameters": {
"training_script_loc": "q2bn-sagemaker-test_6"
},
}
Chạy công việc điều chỉnh siêu tham số
Trong bước này, chúng tôi sẽ tạo và chạy công việc điều chỉnh siêu tham số với cấu hình tài nguyên điều chỉnh siêu tham số được xác định ở trên.
Chúng tôi khởi tạo ứng dụng khách SageMaker và tạo công việc bằng cách chỉ định cấu hình điều chỉnh, định nghĩa công việc đào tạo và tên công việc.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
Mô tả công việc đào tạo
Hàm sau liệt kê tất cả các loại phiên bản được sử dụng trong quá trình thử nghiệm và có thể được sử dụng để xác minh xem phiên bản đào tạo SageMaker có tự động quay trở lại phiên bản tiếp theo trong danh sách trong quá trình phân bổ tài nguyên hay không.
Kết luận
Trong bài đăng này, chúng tôi đã trình bày cách bây giờ bạn có thể xác định nhóm trường hợp mà thử nghiệm AMT của bạn có thể dự phòng trong trường hợp InsufficientCapacityError
. Chúng ta đã biết cách xác định cấu hình công việc điều chỉnh siêu tham số, cũng như chỉ định số lượng công việc đào tạo tối đa và công việc song song tối đa. Cuối cùng, chúng tôi đã biết cách khắc phục InsufficientCapacityError
bằng cách sử dụng HyperParameterTuningResourceConfig
tham số, có thể được chỉ định theo định nghĩa công việc đào tạo.
Để tìm hiểu thêm về AMT, hãy truy cập Điều chỉnh mô hình tự động của Amazon SageMaker.
Giới thiệu về tác giả
Doug Mbaya là kiến trúc sư Giải pháp đối tác cấp cao, tập trung vào dữ liệu và phân tích. Doug hợp tác chặt chẽ với các đối tác AWS, giúp họ tích hợp giải pháp dữ liệu và phân tích trên đám mây.
Kruthi Jayasimha Rao là Kiến trúc sư Giải pháp Đối tác trong nhóm Scale-PSA. Kruthi tiến hành xác thực kỹ thuật cho các Đối tác cho phép họ tiến bộ trong Đường dẫn đối tác.
Bernard Jollans là Kỹ sư phát triển phần mềm phụ trách Điều chỉnh mô hình tự động của Amazon SageMaker.
- AI
- nghệ thuật ai
- máy phát điện nghệ thuật ai
- ai rô bốt
- Học máy Amazon
- Amazon SageMaker
- trí tuệ nhân tạo
- chứng nhận trí tuệ nhân tạo
- trí tuệ nhân tạo trong ngân hàng
- robot trí tuệ nhân tạo
- robot trí tuệ nhân tạo
- phần mềm trí tuệ nhân tạo
- Học máy AWS
- blockchain
- hội nghị blockchain ai
- thiên tài
- trí tuệ nhân tạo đàm thoại
- hội nghị tiền điện tử ai
- dall's
- học kĩ càng
- google ai
- học máy
- plato
- Plato ai
- Thông tin dữ liệu Plato
- Trò chơi Plato
- PlatoDữ liệu
- Platogaming
- quy mô ai
- cú pháp
- zephyrnet