Trí tuệ nhân tạo (AI) đã trở thành một chủ đề quan trọng và phổ biến trong cộng đồng công nghệ. Khi AI phát triển, chúng ta đã thấy các loại mô hình học máy (ML) khác nhau xuất hiện. Một cách tiếp cận, được gọi là người mẫu tập thể, đã nhanh chóng thu hút được sự chú ý của các nhà khoa học và người thực hành dữ liệu. Trong bài đăng này, chúng tôi thảo luận về các mô hình tập hợp là gì và tại sao việc sử dụng chúng có thể mang lại lợi ích. Sau đó, chúng tôi cung cấp ví dụ về cách bạn có thể đào tạo, tối ưu hóa và triển khai nhóm tùy chỉnh của mình bằng cách sử dụng Amazon SageMaker.
Học tập hợp đề cập đến việc sử dụng nhiều mô hình và thuật toán học tập để đạt được dự đoán chính xác hơn bất kỳ thuật toán học tập riêng lẻ nào. Chúng đã được chứng minh là có hiệu quả trong các ứng dụng và môi trường học tập đa dạng như an ninh mạng [1] và phát hiện gian lận, viễn thám, dự đoán các bước tiếp theo tốt nhất trong việc ra quyết định tài chính, chẩn đoán y tế và thậm chí cả thị giác máy tính và xử lý ngôn ngữ tự nhiên (NLP) nhiệm vụ. Chúng ta có xu hướng phân loại các nhóm theo các kỹ thuật được sử dụng để huấn luyện chúng, thành phần của chúng và cách chúng hợp nhất các dự đoán khác nhau thành một suy luận duy nhất. Những loại này bao gồm:
- Tăng cường – Huấn luyện tuần tự nhiều người học yếu, trong đó mỗi dự đoán sai của những người học trước trong chuỗi sẽ được đánh giá cao hơn và đầu vào cho người học tiếp theo, từ đó tạo ra người học mạnh hơn. Các ví dụ bao gồm AdaBoost, Tăng cường độ dốc và XGBoost.
- Đóng gói – Sử dụng nhiều mô hình để giảm phương sai của một mô hình. Ví dụ bao gồm Rừng ngẫu nhiên và Cây bổ sung.
- Xếp chồng (pha trộn) – Thường sử dụng các mô hình không đồng nhất, trong đó các dự đoán của từng công cụ ước tính riêng lẻ được xếp chồng lên nhau và được sử dụng làm đầu vào cho công cụ ước tính cuối cùng xử lý dự đoán. Quá trình đào tạo người ước tính cuối cùng này thường sử dụng xác nhận chéo.
Có nhiều phương pháp kết hợp các dự đoán thành một dự đoán duy nhất mà mô hình cuối cùng tạo ra, ví dụ: sử dụng công cụ ước tính tổng hợp như trình học tuyến tính, một phương pháp bỏ phiếu sử dụng nhiều mô hình để đưa ra dự đoán dựa trên biểu quyết đa số cho các nhiệm vụ phân loại, hoặc một tập hợp trung bình cho hồi quy.
Mặc dù một số thư viện và khung công tác cung cấp cách triển khai các mô hình tập hợp, chẳng hạn như rừng ngẫu nhiên của XGBoost, CatBoost hoặc scikit-learn, nhưng trong bài đăng này, chúng tôi tập trung vào việc đưa các mô hình của riêng bạn và sử dụng chúng làm một tập hợp xếp chồng. Tuy nhiên, thay vì sử dụng tài nguyên dành riêng cho từng mô hình (công việc đào tạo và điều chỉnh chuyên dụng cũng như lưu trữ điểm cuối cho mỗi mô hình), chúng tôi đào tạo, điều chỉnh và triển khai một nhóm tùy chỉnh (nhiều mô hình) bằng cách sử dụng một công việc đào tạo SageMaker duy nhất và một công việc điều chỉnh duy nhất, đồng thời triển khai đến một điểm cuối duy nhất, từ đó giảm chi phí và chi phí hoạt động có thể.
BYOE: Mang theo trang phục của riêng bạn
Có một số cách để đào tạo và triển khai các mô hình tập hợp không đồng nhất với SageMaker: bạn có thể đào tạo từng mô hình theo một công việc đào tạo riêng biệt và tối ưu hóa từng mô hình riêng biệt bằng cách sử dụng Điều chỉnh mô hình tự động của Amazon SageMaker. Khi lưu trữ các mô hình này, SageMaker cung cấp nhiều cách tiết kiệm chi phí để lưu trữ nhiều mô hình trên cùng một cơ sở hạ tầng đối tượng thuê. Bạn có thể tìm thấy các mẫu triển khai chi tiết cho loại cài đặt này trong Mô hình các mẫu lưu trữ trong Amazon SageMaker, Phần 1: Các mẫu thiết kế phổ biến để xây dựng các ứng dụng ML trên Amazon SageMaker. Các mẫu này bao gồm việc sử dụng nhiều điểm cuối (cho mỗi mô hình được đào tạo) hoặc một điểm cuối duy nhất. điểm cuối đa mô hình, hoặc thậm chí là một điểm cuối nhiều container nơi các thùng chứa có thể được gọi riêng lẻ hoặc được nối thành chuỗi trong một đường ống. Tất cả các giải pháp này bao gồm một công cụ ước tính tổng hợp (ví dụ: trong AWS Lambda function) gọi từng mô hình và thực hiện chức năng trộn hoặc biểu quyết.
Tuy nhiên, việc chạy nhiều công việc đào tạo có thể gây ra chi phí vận hành và chi phí, đặc biệt nếu nhóm của bạn yêu cầu đào tạo trên cùng một dữ liệu. Tương tự, việc lưu trữ các mô hình khác nhau trên các điểm cuối hoặc vùng chứa riêng biệt và kết hợp các kết quả dự đoán của chúng để có độ chính xác cao hơn đòi hỏi nhiều lệnh gọi và do đó đưa ra các nỗ lực quản lý, chi phí và giám sát bổ sung. Ví dụ: SageMaker hỗ trợ tập hợp các mô hình ML bằng cách sử dụng Máy chủ suy luận Triton, nhưng giải pháp này yêu cầu các mô hình hoặc tổ hợp mô hình phải được hỗ trợ bởi phần phụ trợ Triton. Ngoài ra, khách hàng cần nỗ lực thêm để thiết lập máy chủ Triton và tìm hiểu thêm để hiểu cách hoạt động của các chương trình phụ trợ Triton khác nhau. Do đó, khách hàng thích cách triển khai giải pháp đơn giản hơn trong đó họ chỉ cần gửi lệnh gọi một lần đến điểm cuối và có thể linh hoạt kiểm soát cách tổng hợp kết quả để tạo ra đầu ra cuối cùng.
Tổng quan về giải pháp
Để giải quyết những mối lo ngại này, chúng tôi sẽ xem qua một ví dụ về đào tạo tổng hợp bằng một công việc đào tạo duy nhất, tối ưu hóa các siêu tham số của mô hình và triển khai nó bằng cách sử dụng một vùng chứa duy nhất đến điểm cuối không có máy chủ. Chúng tôi sử dụng hai mô hình cho ngăn xếp tập hợp của mình: CatBoost và XGBoost (cả hai đều tăng cường tập hợp). Đối với dữ liệu của chúng tôi, chúng tôi sử dụng dữ liệu về bệnh tiểu đường [2] từ thư viện scikit-learn: Nó bao gồm 10 đặc điểm (tuổi, giới tính, khối lượng cơ thể, huyết áp và sáu phép đo huyết thanh) và mô hình của chúng tôi dự đoán sự tiến triển của bệnh 1 năm sau khi các đặc điểm cơ bản được thu thập (hồi quy người mẫu).
Kho lưu trữ mã đầy đủ có thể được tìm thấy trên GitHub.
Đào tạo nhiều mô hình trong một công việc SageMaker duy nhất
Để đào tạo các mô hình của mình, chúng tôi sử dụng các công việc đào tạo SageMaker ở chế độ Tập lệnh. Với chế độ Tập lệnh, bạn có thể viết chương trình đào tạo tùy chỉnh (và mã suy luận sau này) trong khi sử dụng bộ chứa khung SageMaker. Bộ chứa khung cho phép bạn sử dụng các môi trường tạo sẵn do AWS quản lý, bao gồm tất cả cấu hình và mô-đun cần thiết. Ví dụ: để minh họa cách bạn có thể tùy chỉnh vùng chứa khung, chúng tôi sử dụng vùng chứa SKLearn dựng sẵn, không bao gồm các gói XGBoost và CatBoost. Có hai tùy chọn để thêm các gói này: hoặc mở rộng vùng chứa tích hợp để cài đặt CatBoost và XGBoost (sau đó triển khai dưới dạng vùng chứa tùy chỉnh) hoặc sử dụng tính năng chế độ tập lệnh công việc đào tạo của SageMaker, cho phép bạn cung cấp requirements.txt
tập tin khi tạo công cụ ước tính đào tạo. Công việc đào tạo SageMaker sẽ cài đặt các thư viện được liệt kê trong requirements.txt
tập tin trong thời gian chạy. Bằng cách này, bạn không cần phải quản lý kho lưu trữ hình ảnh Docker của riêng mình và nó mang lại sự linh hoạt hơn khi chạy các tập lệnh đào tạo cần các gói Python bổ sung.
Khối mã sau đây hiển thị mã chúng tôi sử dụng để bắt đầu đào tạo. Các entry_point
tham số trỏ đến tập lệnh đào tạo của chúng tôi. Chúng tôi cũng sử dụng hai tính năng hấp dẫn của API SageMaker SDK:
- Đầu tiên, chúng tôi chỉ định đường dẫn cục bộ tới thư mục nguồn và các phần phụ thuộc trong
source_dir
vàdependencies
các tham số tương ứng. SDK sẽ nén và tải các thư mục đó lên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) và SageMaker sẽ cung cấp chúng trên phiên bản đào tạo trong thư mục làm việc/opt/ml/code
. - Thứ hai, chúng tôi sử dụng SDK
SKLearn
đối tượng ước tính bằng phiên bản Python và framework ưa thích của chúng tôi để SageMaker sẽ kéo vùng chứa tương ứng. Chúng tôi cũng đã xác định số liệu đào tạo tùy chỉnh 'validation:rmse
', sẽ được phát ra trong nhật ký đào tạo và được SageMaker ghi lại. Sau đó, chúng tôi sử dụng thước đo này làm thước đo khách quan trong công việc điều chỉnh.
hyperparameters = {"num_round": 6, "max_depth": 5}
estimator_parameters = {
"entry_point": "multi_model_hpo.py",
"source_dir": "code",
"dependencies": ["my_custom_library"],
"instance_type": training_instance_type,
"instance_count": 1,
"hyperparameters": hyperparameters,
"role": role,
"base_job_name": "xgboost-model",
"framework_version": "1.0-1",
"keep_alive_period_in_seconds": 60,
"metric_definitions":[
{'Name': 'validation:rmse', 'Regex': 'validation-rmse:(.*?);'}
]
}
estimator = SKLearn(**estimator_parameters)
Tiếp theo, chúng tôi viết kịch bản đào tạo của mình (multi_model_hpo.py). Kịch bản của chúng tôi tuân theo một quy trình đơn giản: chụp siêu tham số mà công việc đã được cấu hình và đào tạo mô hình CatBoost và Mô hình XGBoost. Chúng tôi cũng thực hiện một chữ thập gấp k chức năng xác nhận. Xem đoạn mã sau:
if __name__ == "__main__":
parser = argparse.ArgumentParser() # Sagemaker specific arguments. Defaults are set in the environment variables.
parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
parser.add_argument("--train", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
parser.add_argument("--validation", type=str, default=os.environ["SM_CHANNEL_VALIDATION"])
.
.
.
"""
Train catboost
"""
K = args.k_fold
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
rmse_list, model_catboost = cross_validation_catboost(train_df, K, catboost_hyperparameters)
.
.
.
"""
Train the XGBoost model
""" hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
"objective": args.objective,
"num_round": args.num_round,
} rmse_list, model_xgb = cross_validation(train_df, K, hyperparameters)
Sau khi đào tạo các mô hình, chúng tôi tính toán giá trị trung bình của cả dự đoán CatBoost và XGBoost. Kết quả, pred_mean
, là dự đoán cuối cùng của nhóm chúng tôi. Sau đó, chúng tôi xác định mean_squared_error
chống lại bộ xác nhận. val_rmse
được sử dụng để đánh giá toàn bộ nhóm trong quá trình đào tạo. Lưu ý rằng chúng tôi cũng in giá trị RMSE theo mẫu phù hợp với biểu thức chính quy mà chúng tôi đã sử dụng trong metric_definitions
. Sau đó, Điều chỉnh mô hình tự động của SageMaker sẽ sử dụng điều đó để nắm bắt số liệu khách quan. Xem đoạn mã sau:
pred_mean = np.mean(np.array([pred_catboost, pred_xgb]), axis=0)
val_rmse = mean_squared_error(y_validation, pred_mean, squared=False)
print(f"Final evaluation result: validation-rmse:{val_rmse}")
Cuối cùng, tập lệnh của chúng tôi lưu cả hai tạo phẩm mô hình vào thư mục đầu ra nằm ở /opt/ml/model
.
Khi công việc đào tạo hoàn tất, SageMaker sẽ đóng gói và sao chép nội dung của /opt/ml/model
thư mục dưới dạng một đối tượng ở định dạng TAR được nén vào vị trí S3 mà bạn đã chỉ định trong cấu hình công việc. Trong trường hợp của chúng tôi, SageMaker gói hai mô hình vào một tệp TAR và tải nó lên Amazon S3 khi kết thúc công việc đào tạo. Xem đoạn mã sau:
model_file_name = 'catboost-regressor-model.dump'
# Save CatBoost model
path = os.path.join(args.model_dir, model_file_name)
print('saving model file to {}'.format(path))
model.save_model(path)
.
.
.
# Save XGBoost model
model_location = args.model_dir + "/xgboost-model"
pickle.dump(model, open(model_location, "wb"))
logging.info("Stored trained model at {}".format(model_location))
Tóm lại, bạn nên lưu ý rằng trong quy trình này, chúng tôi đã tải xuống dữ liệu một lần và đào tạo hai mô hình bằng một công việc đào tạo duy nhất.
Điều chỉnh mô hình tập hợp tự động
Bởi vì chúng tôi đang xây dựng một bộ sưu tập các mô hình ML nên việc khám phá tất cả các hoán vị siêu tham số có thể có là không thực tế. Ưu đãi của SageMaker Điều chỉnh mô hình tự động (AMT), tìm kiếm các siêu tham số mô hình tốt nhất bằng cách tập trung vào các kết hợp giá trị hứa hẹn nhất trong phạm vi mà bạn chỉ định (bạn có thể xác định phạm vi phù hợp để khám phá). SageMaker hỗ trợ nhiều phương pháp tối ưu hóa Để bạn lựa chọn.
Chúng tôi bắt đầu bằng cách xác định hai phần của quy trình tối ưu hóa: số liệu mục tiêu và siêu tham số mà chúng tôi muốn điều chỉnh. Trong ví dụ của chúng tôi, chúng tôi sử dụng RMSE xác thực làm chỉ số mục tiêu và chúng tôi điều chỉnh eta
và max_depth
(đối với các siêu tham số khác, hãy tham khảo Siêu tham số XGBoost và Siêu tham số CatBoost):
from sagemaker.tuner import (
IntegerParameter,
ContinuousParameter,
HyperparameterTuner,
) hyperparameter_ranges = {
"eta": ContinuousParameter(0.2, 0.3),
"max_depth": IntegerParameter(3, 4)
}
metric_definitions = [{"Name": "validation:rmse", "Regex": "validation-rmse:([0-9.]+)"}]
objective_metric_name = "validation:rmse"
Chúng ta cũng cần đảm bảo trong kịch bản đào tạo rằng siêu tham số của chúng tôi không được mã hóa cứng và được lấy từ các đối số thời gian chạy SageMaker:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker cũng ghi các siêu tham số vào tệp JSON và có thể được đọc từ /opt/ml/input/config/hyperparameters.json
trên trường hợp đào tạo.
Giống như CatBoost, chúng tôi cũng nắm bắt các siêu tham số cho mô hình XGBoost (lưu ý rằng objective
và num_round
không được điều chỉnh):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
Cuối cùng, chúng tôi khởi chạy công việc điều chỉnh siêu tham số bằng cách sử dụng các cấu hình sau:
tuner = HyperparameterTuner(
estimator,
objective_metric_name,
hyperparameter_ranges,
max_jobs=4,
max_parallel_jobs=2,
objective_type='Minimize'
)
tuner.fit({"train": train_location, "validation": validation_location}, include_cls_metadata=False)
Khi công việc hoàn tất, bạn có thể truy xuất các giá trị cho công việc đào tạo tốt nhất (với RMSE tối thiểu):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
Để biết thêm thông tin về AMT, hãy tham khảo Thực hiện điều chỉnh mô hình tự động với SageMaker.
Triển khai
Để triển khai tập hợp tùy chỉnh, chúng tôi cần cung cấp tập lệnh để xử lý yêu cầu suy luận và định cấu hình dịch vụ lưu trữ SageMaker. Trong ví dụ này, chúng tôi đã sử dụng một tệp duy nhất bao gồm cả mã huấn luyện và mã suy luận (multi_model_hpo.py). SageMaker sử dụng mã bên dưới nếu _ name _ == "_ main _"
cho việc đào tạo và các chức năng model_fn
, input_fn
và predict_fn
khi triển khai và phục vụ mô hình.
Tập lệnh suy luận
Giống như đào tạo, chúng tôi sử dụng bộ chứa khung SageMaker SKLearn với tập lệnh suy luận của riêng mình. Tập lệnh sẽ triển khai ba phương thức mà SageMaker yêu cầu.
Đầu tiên, model_fn
phương thức đọc các tệp tạo tác mô hình đã lưu của chúng tôi và tải chúng vào bộ nhớ. Trong trường hợp của chúng tôi, phương thức trả về tập hợp của chúng tôi là all_model
, đây là một danh sách Python, nhưng bạn cũng có thể sử dụng từ điển với tên mẫu làm khóa.
def model_fn(model_dir):
catboost_model = CatBoostRegressor()
catboost_model.load_model(os.path.join(model_dir, model_file_name))
model_file = "xgboost-model"
model = pickle.load(open(os.path.join(model_dir, model_file), "rb"))
all_model = [catboost_model, model]
return all_model
Thứ hai, input_fn
phương thức giải tuần tự hóa dữ liệu đầu vào yêu cầu được chuyển đến trình xử lý suy luận của chúng tôi. Để biết thêm thông tin về trình xử lý đầu vào, hãy tham khảo Điều chỉnh vùng chứa suy luận của riêng bạn.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
Thứ ba, predict_fn
phương pháp chịu trách nhiệm nhận dự đoán từ các mô hình. Phương thức này lấy mô hình và dữ liệu được trả về từ input_fn
làm tham số và trả về dự đoán cuối cùng. Trong ví dụ của chúng tôi, chúng tôi nhận được kết quả CatBoost từ thành viên đầu tiên trong danh sách mô hình (model[0]
) và XGBoost từ thành viên thứ hai (model[1]
) và chúng tôi sử dụng hàm hòa trộn trả về giá trị trung bình của cả hai dự đoán:
def predict_fn(input_data, model):
predictions_catb = model[0].predict(input_data)
dtest = xgb.DMatrix(input_data)
predictions_xgb = model[1].predict(dtest,
ntree_limit=getattr(model, "best_ntree_limit", 0),
validate_features=False)
return np.mean(np.array([predictions_catb, predictions_xgb]), axis=0)
Bây giờ chúng ta đã có các mô hình và tập lệnh suy luận được đào tạo, chúng ta có thể định cấu hình môi trường để triển khai tập hợp của mình.
Suy luận không có máy chủ của SageMaker
Mặc dù có nhiều tùy chọn lưu trữ trong SageMaker, trong ví dụ này, chúng tôi sử dụng điểm cuối không có máy chủ. Các điểm cuối không có máy chủ tự động khởi chạy các tài nguyên điện toán và mở rộng quy mô chúng tùy thuộc vào lưu lượng truy cập. Điều này giúp loại bỏ gánh nặng không phân biệt được trong việc quản lý máy chủ. Tùy chọn này lý tưởng cho khối lượng công việc có khoảng thời gian nhàn rỗi giữa các lần tăng lưu lượng truy cập và có thể chịu được khởi động nguội.
Việc định cấu hình điểm cuối serverless rất đơn giản vì chúng ta không cần chọn loại phiên bản hoặc quản lý chính sách mở rộng quy mô. Chúng tôi chỉ cần cung cấp hai tham số: kích thước bộ nhớ và khả năng tương tranh tối đa. Điểm cuối serverless tự động chỉ định tài nguyên điện toán tương ứng với bộ nhớ bạn chọn. Nếu bạn chọn kích thước bộ nhớ lớn hơn, vùng chứa của bạn có quyền truy cập vào nhiều vCPU hơn. Bạn phải luôn chọn kích thước bộ nhớ của điểm cuối theo kích thước mô hình của mình. Tham số thứ hai chúng ta cần cung cấp là tính đồng thời tối đa. Đối với một điểm cuối duy nhất, tham số này có thể được thiết lập tối đa 200 (tại thời điểm viết bài này, giới hạn cho tổng số điểm cuối không có máy chủ trong một Khu vực là 50). Bạn nên lưu ý rằng mức đồng thời tối đa cho một điểm cuối riêng lẻ sẽ ngăn điểm cuối đó tiếp nhận tất cả các lệnh gọi được phép cho tài khoản của bạn, bởi vì mọi lệnh gọi điểm cuối vượt quá mức tối đa đều bị hạn chế (để biết thêm thông tin về tổng số lần đồng thời cho tất cả các điểm cuối không có máy chủ cho mỗi Khu vực, hãy tham khảo ĐẾN Hạn ngạch và điểm cuối Amazon SageMaker).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
Bây giờ chúng tôi đã định cấu hình điểm cuối, cuối cùng chúng tôi cũng có thể triển khai mô hình đã được chọn trong công việc tối ưu hóa siêu tham số của mình:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
Làm sạch
Mặc dù điểm cuối không có máy chủ có chi phí bằng XNUMX khi không được sử dụng nhưng khi chạy xong ví dụ này, bạn nên đảm bảo xóa điểm cuối:
predictor.delete_endpoint(predictor.endpoint)
Kết luận
Trong bài đăng này, chúng tôi đã đề cập đến một cách tiếp cận để đào tạo, tối ưu hóa và triển khai một nhóm tùy chỉnh. Chúng tôi đã trình bày chi tiết quy trình sử dụng một công việc đào tạo duy nhất để đào tạo nhiều mô hình, cách sử dụng điều chỉnh mô hình tự động để tối ưu hóa các siêu tham số tổng hợp và cách triển khai một điểm cuối không có máy chủ duy nhất kết hợp các suy luận từ nhiều mô hình.
Sử dụng phương pháp này giải quyết các vấn đề tiềm ẩn về chi phí và vận hành. Chi phí của một công việc đào tạo dựa trên tài nguyên bạn sử dụng trong suốt thời gian sử dụng. Bằng cách tải xuống dữ liệu chỉ một lần để đào tạo hai mô hình, chúng tôi đã giảm một nửa giai đoạn tải xuống dữ liệu của công việc và khối lượng sử dụng để lưu trữ dữ liệu, từ đó giảm chi phí chung của công việc đào tạo. Hơn nữa, công việc AMT đã thực hiện bốn công việc đào tạo, mỗi công việc đều giảm thời gian và dung lượng lưu trữ nói trên, do đó tiết kiệm chi phí gấp 4 lần! Đối với việc triển khai mô hình trên điểm cuối không có máy chủ, vì bạn cũng trả tiền cho lượng dữ liệu được xử lý nên bằng cách chỉ gọi điểm cuối một lần cho hai mô hình, bạn sẽ phải trả một nửa phí dữ liệu I/O.
Mặc dù bài đăng này chỉ cho thấy những lợi ích của hai mô hình, nhưng bạn có thể sử dụng phương pháp này để đào tạo, điều chỉnh và triển khai nhiều mô hình tổng hợp để thấy được hiệu quả lớn hơn nữa.
dự án
[1] Raj Kumar, P. Arun; Selvakumar, S. (2011). “Phát hiện tấn công từ chối dịch vụ phân tán bằng cách sử dụng một tập hợp phân loại thần kinh”. Truyền thông máy tính. 34 (11): 1328–1341. doi:10.1016/j.com.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone và Robert Tibshirani (2004) “Hồi quy góc tối thiểu,” Biên niên sử thống kê (có thảo luận), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Về các tác giả
Melanie Li, tiến sĩ, là Chuyên gia AI/ML cấp cao TAM tại AWS có trụ sở tại Sydney, Australia. Cô giúp khách hàng doanh nghiệp xây dựng các giải pháp tận dụng các công cụ AI/ML tiên tiến nhất trên AWS, đồng thời cung cấp hướng dẫn về kiến trúc và triển khai các giải pháp máy học với các phương pháp hay nhất. Khi rảnh rỗi, cô ấy thích khám phá thiên nhiên ngoài trời và dành thời gian cho gia đình và bạn bè.
Uri Rosenberg là Giám đốc kỹ thuật chuyên gia AI & ML khu vực Châu Âu, Trung Đông và Châu Phi. Có trụ sở tại Israel, Uri nỗ lực trao quyền cho khách hàng doanh nghiệp thiết kế, xây dựng và vận hành khối lượng công việc ML 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à giảm thiểu RMSE.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Ô tô / Xe điện, Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- BlockOffsets. Hiện đại hóa quyền sở hữu bù đắp môi trường. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- : có
- :là
- :không phải
- :Ở đâu
- ][P
- $ LÊN
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- Giới thiệu
- truy cập
- Theo
- Tài khoản
- chính xác
- chính xác
- thêm vào
- thêm vào
- Ngoài ra
- địa chỉ
- Châu Phi
- Sau
- chống lại
- tuổi
- AI
- AI / ML
- thuật toán
- thuật toán
- Tất cả
- cho phép
- cho phép
- Ngoài ra
- luôn luôn
- đàn bà gan dạ
- Amazon SageMaker
- Amazon Web Services
- trong số
- số lượng
- an
- và
- bất kì
- các ứng dụng
- phương pháp tiếp cận
- LÀ
- đối số
- AS
- At
- tấn công
- Châu Úc
- Tự động
- tự động
- có sẵn
- trung bình
- xa
- AWS
- Backend
- dựa
- Baseline
- BE
- bởi vì
- trở nên
- được
- được
- mang lại lợi ích
- Lợi ích
- BEST
- thực hành tốt nhất
- Hơn
- giữa
- Ngoài
- trộn
- pha trộn
- Chặn
- máu
- Huyết áp
- thân hình
- thúc đẩy
- cả hai
- mang lại
- Đưa
- xây dựng
- Xây dựng
- được xây dựng trong
- bó
- nhưng
- by
- tính toán
- CAN
- nắm bắt
- bị bắt
- trường hợp
- đố
- xích
- tải
- Chọn
- phân loại
- mã
- lạnh
- bộ sưu tập
- kết hợp
- kết hợp
- Chung
- Truyền thông
- cộng đồng
- thuyết phục
- hoàn thành
- Tính
- máy tính
- Tầm nhìn máy tính
- Mối quan tâm
- Cấu hình
- cấu hình
- bao gồm
- Container
- Container
- nội dung
- điều khiển
- Tương ứng
- Phí Tổn
- chi phí-hiệu quả
- phủ
- Tạo
- khách hàng
- khách hàng
- khách hàng
- tùy chỉnh
- An ninh mạng
- dữ liệu
- Ra quyết định
- dành riêng
- mặc định
- định nghĩa
- xác định
- xác định
- chứng minh
- Denial of Service
- Tùy
- triển khai
- triển khai
- triển khai
- Thiết kế
- mẫu thiết kế
- chi tiết
- Phát hiện
- Xác định
- khác nhau
- thư mục
- thảo luận
- thảo luận
- Bệnh
- khác nhau
- phu bến tàu
- Không
- dont
- tải về
- đổ
- thời gian
- suốt trong
- mỗi
- Đông
- hiệu lực
- hiệu quả
- hiệu quả
- những nỗ lực
- hay
- xuất hiện
- trao quyền
- cho phép
- cuối
- Điểm cuối
- đảm bảo
- Doanh nghiệp
- Môi trường
- môi trường
- đặc biệt
- Châu Âu
- đánh giá
- Ngay cả
- phát triển
- ví dụ
- ví dụ
- khám phá
- Khám phá
- thêm
- gia đình
- Đặc tính
- Tính năng
- Tập tin
- Các tập tin
- cuối cùng
- Cuối cùng
- tài chính
- Tên
- Linh hoạt
- dòng chảy
- Tập trung
- tập trung
- tiếp theo
- sau
- Trong
- rừng
- định dạng
- tìm thấy
- 4
- Khung
- khung
- gian lận
- phát hiện gian lận
- bạn bè
- từ
- Full
- chức năng
- chức năng
- Hơn nữa
- Thu được
- đạt được
- tạo ra
- được
- nhận được
- được
- lớn hơn
- hướng dẫn
- Một nửa
- xử lý
- Xử lý
- Có
- he
- nặng
- nâng nặng
- giúp
- cô
- cao hơn
- của mình
- chủ nhà
- lưu trữ
- Độ đáng tin của
- Hướng dẫn
- Tuy nhiên
- HTML
- http
- HTTPS
- Tối ưu hóa siêu tham số
- Điều chỉnh siêu tham số
- lý tưởng
- Nhàn rỗi
- if
- hình ảnh
- thực hiện
- thực hiện
- thực hiện
- quan trọng
- in
- bao gồm
- bao gồm
- hệ thống riêng biệt,
- Cá nhân
- thông tin
- Cơ sở hạ tầng
- đầu vào
- cài đặt, dựng lên
- ví dụ
- thay vì
- Sự thông minh
- trong
- giới thiệu
- Giới thiệu
- viện dẫn
- viện dẫn
- Israel
- các vấn đề
- IT
- Việc làm
- việc làm
- jpg
- json
- phím
- Loại
- nổi tiếng
- Ngôn ngữ
- lớn hơn
- một lát sau
- phóng
- học tập
- tận dụng
- Li
- thư viện
- Thư viện
- nâng
- LIMIT
- Danh sách
- Liệt kê
- tải
- địa phương
- nằm
- địa điểm thư viện nào
- khai thác gỗ
- NHÌN
- yêu
- máy
- học máy
- Chủ yếu
- Đa số
- làm cho
- quản lý
- quản lý
- quản lý
- giám đốc
- quản lý
- Thánh Lễ
- tối đa
- nghĩa là
- đo
- y khoa
- hội viên
- Bộ nhớ
- đi
- phương pháp
- phương pháp
- số liệu
- Tên đệm
- Trung Đông
- Might
- tối thiểu
- giảm thiểu
- ML
- Chế độ
- kiểu mẫu
- mô hình
- Modules
- giám sát
- chi tiết
- hầu hết
- nhiều
- tên
- tên
- Tự nhiên
- Xử lý ngôn ngữ tự nhiên
- Thiên nhiên
- cần thiết
- Cần
- tiếp theo
- nlp
- Để ý..
- con số
- nhiều
- vật
- Mục tiêu
- of
- Cung cấp
- thường
- on
- hàng loạt
- ONE
- có thể
- hoạt động
- hoạt động
- tối ưu hóa
- Tối ưu hóa
- tối ưu hóa
- Tùy chọn
- Các lựa chọn
- or
- OS
- Nền tảng khác
- vfoXNUMXfipXNUMXhfpiXNUMXufhpiXNUMXuf
- ra
- ngoài trời
- đầu ra
- tổng thể
- riêng
- gói
- tham số
- thông số
- một phần
- các bộ phận
- thông qua
- con đường
- Họa tiết
- mô hình
- Trả
- mỗi
- kinh nguyệt
- giai đoạn
- đường ống dẫn
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- điểm
- Chính sách
- Phổ biến
- có thể
- Bài đăng
- tiềm năng
- thực hành
- dự đoán
- dự đoán
- Dự đoán
- Predictor
- Dự đoán
- thích hơn
- ưa thích
- áp lực
- ngăn chặn
- trước
- In
- thủ tục
- quá trình
- Xử lý
- xử lý
- sản xuất
- tiến triển
- hứa hẹn
- đã được chứng minh
- cho
- cung cấp
- Python
- ngẫu nhiên
- nhanh chóng
- Đọc
- giảm
- Giảm
- giảm
- đề cập
- coi
- biểu thức chính quy
- khu
- xa
- kho
- đại diện
- yêu cầu
- cần phải
- đòi hỏi
- Thông tin
- tương ứng
- chịu trách nhiệm
- kết quả
- Kết quả
- trở lại
- Trả về
- ngay
- ROBERT
- Vai trò
- chạy
- chạy
- s
- nhà làm hiền triết
- Điều chỉnh mô hình tự động SageMaker
- tương tự
- Lưu
- tiết kiệm
- Quy mô
- mở rộng quy mô
- các nhà khoa học
- học hỏi
- kịch bản
- sdk
- Thứ hai
- xem
- đã xem
- chọn
- gửi
- cao cấp
- riêng biệt
- Trình tự
- huyết thanh
- Không có máy chủ
- Các máy chủ
- dịch vụ
- DỊCH VỤ
- phục vụ
- định
- thiết lập
- một số
- tình dục
- chị ấy
- nên
- cho thấy
- Chương trình
- Tương tự
- Đơn giản
- duy nhất
- Six
- Kích thước máy
- So
- giải pháp
- Giải pháp
- Giải quyết
- nguồn
- chuyên gia
- riêng
- quy định
- tiêu
- ngăn xếp
- xếp chồng lên nhau
- xếp chồng
- stanford
- Bắt đầu
- bắt đầu
- nhà nước-of-the-art
- số liệu thống kê
- Các bước
- là gắn
- lưu trữ
- cửa hàng
- đơn giản
- mạnh mẽ hơn
- như vậy
- TÓM TẮT
- Hỗ trợ
- Hỗ trợ
- chắc chắn
- sydney
- mất
- dùng
- Mục tiêu
- nhiệm vụ
- Kỹ thuật
- kỹ thuật
- Công nghệ
- người thuê nhà
- hơn
- việc này
- Sản phẩm
- cung cấp their dịch
- Them
- sau đó
- Đó
- bằng cách ấy
- vì thế
- Kia là
- họ
- điều này
- những
- Tuy nhiên?
- số ba
- Thông qua
- thời gian
- thời gian
- đến
- bên nhau
- công cụ
- chủ đề
- Tổng số:
- lực kéo
- giao thông
- Train
- đào tạo
- Hội thảo
- Cây
- Trevor
- Triton
- hai
- loại
- Dưới
- hiểu
- Sử dụng
- sử dụng
- đã sử dụng
- sử dụng
- sử dụng
- xác nhận
- giá trị
- Các giá trị
- khác nhau
- phiên bản
- tầm nhìn
- khối lượng
- Bỏ phiếu
- muốn
- là
- Đường..
- cách
- we
- web
- các dịch vụ web
- trọng lượng
- là
- Điều gì
- khi nào
- cái nào
- trong khi
- toàn bộ
- tại sao
- sẽ
- với
- ở trong
- Công việc
- đang làm việc
- công trinh
- viết
- viết
- XGBoost
- năm
- Bạn
- trên màn hình
- zephyrnet
- không