Logo Zephyrnet

Phát hiện và phân tích dự đoán mô hình không chính xác với Trình theo dõi và gỡ lỗi mô hình Amazon SageMaker

Ngày:

Mạng lưới thần kinh chuyển đổi (CNN) đạt được kết quả hiện đại trong các tác vụ như phân loại hình ảnh và phát hiện đối tượng. Chúng được sử dụng trong nhiều ứng dụng đa dạng, chẳng hạn như trong lái xe tự hành để phát hiện các biển báo giao thông và đồ vật trên đường phố, trong chăm sóc sức khỏe để phân loại chính xác hơn các điểm bất thường trong dữ liệu dựa trên hình ảnh và trong bán lẻ để quản lý hàng tồn kho.

Tuy nhiên, CNN đóng vai trò như một hộp đen, có thể gây ra vấn đề trong các ứng dụng nơi mà việc hiểu các dự đoán được thực hiện như thế nào là rất quan trọng. Ngoài ra, sau khi mô hình được triển khai, dữ liệu được sử dụng để suy luận có thể tuân theo một phân phối rất khác so với dữ liệu mà từ đó mô hình được đào tạo. Hiện tượng này thường được gọi là trôi dữ liệu, và có thể dẫn đến dự đoán mô hình không chính xác. Trong bối cảnh này, việc hiểu và có thể giải thích điều gì dẫn đến dự đoán mô hình không chính xác là rất quan trọng.

Các kỹ thuật như bản đồ kích hoạt lớp họcbản đồ độ mặn cho phép bạn hình dung cách mô hình CNN đưa ra quyết định. Các bản đồ này được hiển thị dưới dạng bản đồ nhiệt tiết lộ các phần của hình ảnh quan trọng trong dự đoán. Các hình ảnh ví dụ sau đây là từ Biển báo giao thông Đức tập dữ liệu: hình ảnh bên trái là dữ liệu đầu vào được tinh chỉnh ResNet mô hình, dự đoán loại hình ảnh 25 (Làm đường). Hình ảnh bên phải cho thấy hình ảnh đầu vào được phủ bằng bản đồ nhiệt, trong đó màu đỏ cho biết các pixel có liên quan nhất và màu xanh lam cho các pixel ít liên quan nhất để dự đoán lớp 25.

Hình dung các quyết định của CNN đặc biệt hữu ích nếu một mô hình đưa ra dự đoán không chính xác và không rõ lý do tại sao. Nó cũng giúp bạn tìm ra liệu tập dữ liệu đào tạo có yêu cầu nhiều mẫu đại diện hơn hay có sự sai lệch trong tập dữ liệu hay không. Ví dụ: nếu bạn có mô hình phát hiện vật thể để tìm chướng ngại vật trong giao thông đường bộ và tập dữ liệu đào tạo chỉ chứa các mẫu được lấy trong mùa hè, thì nó có thể sẽ không hoạt động tốt trong mùa đông vì nó không biết rằng vật thể có thể bị bao phủ bởi tuyết.

Trong bài đăng này, chúng tôi triển khai một mô hình phân loại và thiết lập biển báo giao thông Giám sát mô hình Amazon SageMaker để tự động phát hiện hành vi không mong muốn của mô hình, chẳng hạn như điểm số dự đoán thấp liên tục hoặc sự lạm dụng của các lớp hình ảnh nhất định. Khi Model Monitor phát hiện sự cố, chúng tôi sử dụng Trình gỡ lỗi Amazon SageMaker để có được các giải thích trực quan về mô hình đã triển khai. Bạn có thể làm điều này bằng cách cập nhật điểm cuối để phát ra tensor trong quá trình suy luận và sử dụng tensors đó để tính toán bản đồ chào. Để tái tạo các bước và kết quả khác nhau được liệt kê trong bài đăng này, hãy sao chép kho lưu trữ amazon-sagemaker-phân tích-mô hình-dự đoán vào của bạn Phiên bản máy tính xách tay Amazon SageMaker hoặc từ bên trong của bạn Xưởng sản xuất Amazon SageMaker và chạy sổ ghi chép.

Xác định mô hình SageMaker

Bài đăng này sử dụng một ResNet18 mô hình được đào tạo để phân biệt giữa 43 loại biển báo giao thông bằng cách sử dụng Biển báo giao thông Đức tập dữ liệu [2]. Khi cho một hình ảnh đầu vào, mô hình xuất ra xác suất cho các lớp hình ảnh khác nhau. Mỗi lớp tương ứng với một loại biển báo giao thông khác nhau. Chúng tôi đã tinh chỉnh mô hình và tải trọng lượng của nó lên Repo GitHub.

Trước khi bạn có thể triển khai mô hình để Amazon SageMaker, bạn cần lưu trữ và tải trọng lượng của nó lên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Nhập mã sau vào ô sổ ghi chép Jupyter:

sagemaker_session.upload_data(path='model.tar.gz', key_prefix='model')

Bạn sử dụng Dịch vụ lưu trữ Amazon SageMaker để thiết lập một điểm cuối liên tục để nhận các dự đoán từ mô hình. Do đó, bạn cần xác định một đối tượng mô hình PyTorch lấy đường dẫn Amazon S3 của kho lưu trữ mô hình. Xác định một entry_point file pretrained_model.py thực hiện model_fntransform_fn chức năng. Bạn sử dụng các chức năng đó trong quá trình lưu trữ để đảm bảo rằng mô hình được tải chính xác bên trong vùng chứa suy luận và các yêu cầu đến được xử lý đúng cách. Xem đoạn mã sau:

from sagemaker.pytorch.model import PyTorchModel model = PyTorchModel(model_data = 's3://' + sagemaker_session.default_bucket() + '/model/model.tar.gz', role = role, framework_version = '1.5.0', source_dir='entry_point', entry_point = 'pretrained_model.py', py_version='py3')

Thiết lập Model Monitor và triển khai mô hình

Model Monitor tự động giám sát các mô hình máy học trong quá trình sản xuất và cảnh báo cho bạn khi phát hiện ra các vấn đề về chất lượng dữ liệu. Trong giải pháp này, bạn nắm bắt các đầu vào và đầu ra của điểm cuối và tạo một lịch trình giám sát để cho phép Model Monitor kiểm tra dữ liệu đã thu thập và các dự đoán của mô hình. Các DataCaptureConfig API chỉ định phần đầu vào và đầu ra mà Model Monitor lưu trữ trong nhóm Amazon S3 đích. Trong ví dụ sau, phần trăm lấy mẫu được đặt thành 50%:

from sagemaker.model_monitor import DataCaptureConfig data_capture_config = DataCaptureConfig( enable_capture=True, sampling_percentage=50, destination_s3_uri='s3://' + sagemaker_session.default_bucket() + '/endpoint/data_capture'
)

Để triển khai điểm cuối tới một ml.m5.xlarge ví dụ, nhập mã sau:

predictor = model.deploy(initial_instance_count=1, instance_type='ml.m5.xlarge', data_capture_config=data_capture_config) endpoint_name = predictor.endpoint 

Chạy suy luận với hình ảnh thử nghiệm

Bây giờ bạn có thể gọi điểm cuối với một trọng tải có chứa các hình ảnh đầu vào được tuần tự hóa. Điểm cuối gọi transform_fn chức năng xử lý trước dữ liệu trước khi thực hiện suy luận mô hình. Điểm cuối trả về các lớp được dự đoán của luồng hình ảnh dưới dạng danh sách các số nguyên, được mã hóa trong một chuỗi JSON. Xem đoạn mã sau:

#invoke payload
response = runtime.invoke_endpoint(EndpointName=endpoint_name, Body=payload)
response_body = response['Body'] #get results
result = json.loads(response_body.read().decode())

Bây giờ bạn có thể hình dung một số hình ảnh thử nghiệm và lớp dự đoán của chúng. Trong hình dung dưới đây, hình ảnh biển báo giao thông là những gì được gửi đến điểm cuối để dự đoán và các nhãn trên cùng là các dự đoán tương ứng nhận được từ điểm cuối. Hình ảnh sau đây cho thấy rằng điểm cuối dự đoán chính xác lớp 23 (Slippery road).

Hình ảnh sau đây cho thấy rằng điểm cuối dự đoán chính xác lớp 25 (Road work).

Tạo lịch biểu Giám sát mô hình

Tiếp theo, chúng tôi trình bày cách thiết lập lịch trình giám sát bằng Model Monitor. Model Monitor cung cấp một vùng chứa tích hợp để tạo cơ sở tính toán các ràng buộc và thống kê như giá trị trung bình, lượng tử và độ lệch chuẩn. Sau đó, bạn có thể khởi chạy một lịch trình giám sát định kỳ bắt đầu công việc xử lý để kiểm tra dữ liệu đã thu thập, so sánh dữ liệu với các ràng buộc đã cho và tạo báo cáo vi phạm.

Đối với trường hợp sử dụng này, bạn tạo một vùng chứa tùy chỉnh để thực hiện kiểm tra mô hình đơn giản: nó chạy một đánh giá script đếm các lớp hình ảnh được dự đoán. Nếu mô hình dự đoán một biển báo đường phố cụ thể thường xuyên hơn các lớp khác hoặc nếu điểm tin cậy luôn thấp, thì điều đó cho thấy có vấn đề.

Ví dụ: với một hình ảnh đầu vào nhất định, mô hình trả về danh sách các lớp dự đoán được xếp hạng dựa trên điểm tin cậy. Nếu ba dự đoán hàng đầu tương ứng với các lớp không liên quan, mỗi dự đoán có điểm tin cậy dưới 50% (ví dụ: Stop sign như dự đoán đầu tiên, Turn left như thứ hai, và Speed limit 180 km/h như thứ ba), bạn có thể không muốn tin tưởng vào những dự đoán đó.

Để biết thêm thông tin về cách xây dựng vùng chứa tùy chỉnh của bạn và tải nó lên Đăng ký container đàn hồi Amazon (Amazon ECR) xem máy tính xách tay. Đoạn mã sau tạo một đối tượng Model Monitor nơi bạn chỉ ra vị trí của hình ảnh Docker trong Amazon ECR và các biến môi trường mà tập lệnh đánh giá yêu cầu. Tệp điểm vào của vùng chứa là tập lệnh đánh giá.

monitor = ModelMonitor( role=role, image_uri='%s.dkr.ecr.us-west-2.amazonaws.com/sagemaker-processing-container:latest' %my_account_id, instance_count=1, instance_type='ml.m5.xlarge', env={'THRESHOLD':'0.5'}
)

Tiếp theo, xác định và đính kèm Lịch trình giám sát mô hình đến điểm cuối. Nó chạy vùng chứa tùy chỉnh của bạn hàng giờ. Xem đoạn mã sau:

from sagemaker.model_monitor import CronExpressionGenerator
from sagemaker.processing import ProcessingInput, ProcessingOutput destination = 's3://' + sagemaker_session.default_bucket() + '/endpoint/monitoring_schedule'
processing_output = ProcessingOutput(output_name='model_outputs', source='/opt/ml/processing/outputs', destination=destination)
output = MonitoringOutput(source=processing_output.source, destination=processing_output.destination) monitor.create_monitoring_schedule( output=output, endpoint_input=predictor.endpoint, schedule_cron_expression=CronExpressionGenerator.hourly()
)

Như đã mô tả trước đây, tập lệnh evaluation.py thực hiện kiểm tra độ tỉnh táo của mô hình đơn giản: nó đếm các dự đoán của mô hình. Model Monitor lưu các đầu vào và đầu ra của mô hình dưới dạng tệp có định dạng dòng JSON trong Amazon S3. Chúng được tải xuống trong vùng chứa xử lý dưới /opt/ml/processing/input. Sau đó, bạn có thể tải các dự đoán qua ['captureData']['endpointOutput']['data']. Xem mã sau đây:

for file in files: content = open(file).read() for entry in content.split('n'): prediction = json.loads(entry)['captureData']['endpointOutput']['data']

Bạn có thể theo dõi trạng thái của công việc xử lý trong CloudWatch và cả trong SageMaker Studio. Trong ảnh chụp màn hình sau, SageMaker Studio cho thấy rằng không tìm thấy sự cố nào.

Ghi lại hành vi không mong muốn của mô hình

Bây giờ lịch trình đã được xác định, bạn đã sẵn sàng theo dõi mô hình trong thời gian thực. Để xác minh rằng thiết lập có thể nắm bắt được hành vi không mong muốn, bạn thực thi các dự đoán sai. Để đạt được điều này, chúng tôi sử dụng Bộ công cụ AdvBox [3], tạo ra các nhiễu loạn ở cấp pixel để mô hình không còn nhận ra các lớp chính xác nữa. Những xáo trộn như vậy còn được gọi là các cuộc tấn công bất lợi, và thường vô hình đối với những người quan sát của con người. Chúng tôi đã chuyển đổi một số hình ảnh thử nghiệm hiện được dự đoán là Stop dấu hiệu. Trong bộ ảnh sau, ảnh là ảnh gốc, ảnh giữa là ảnh đối nghịch và bên phải là sự khác biệt giữa cả hai. Hình ảnh gốc và hình ảnh đối thủ trông giống nhau, nhưng hình ảnh đối thủ không được phân loại chính xác.

Bộ hình ảnh sau đây cho thấy một dấu hiệu phân loại không chính xác khác.

Khi Model Monitor lên lịch cho công việc xử lý tiếp theo, nó sẽ phân tích các dự đoán đã được ghi lại và lưu trữ trong Amazon S3. Công việc đếm các lớp hình ảnh dự đoán; nếu một lớp được dự đoán nhiều hơn 50% thời gian, nó sẽ gây ra một vấn đề. Bởi vì chúng tôi đã gửi hình ảnh đối nghịch đến điểm cuối, giờ đây bạn có thể thấy số lượng bất thường cho lớp hình ảnh 14 (Stop). Bạn có thể theo dõi trạng thái của công việc xử lý trong SageMaker Studio. Trong ảnh chụp màn hình sau, SageMaker Studio cho thấy rằng công việc được lên lịch gần đây nhất đã tìm thấy sự cố.

Bạn có thể biết thêm chi tiết từ amazoncloudwatch nhật ký: công việc xử lý in ra một từ điển trong đó khóa là một trong 43 lớp ảnh và giá trị là số lượng. Ví dụ: trong kết quả đầu ra sau đây, điểm cuối dự đoán lớp hình ảnh 9 (No passing) hai lần và một số lượng bất thường cho lớp 14 (Stop). Nó đã dự đoán lớp này 322 lần trong tổng số 400 lần dự đoán, cao hơn ngưỡng 50%. Các giá trị của từ điển cũng được lưu trữ dưới dạng chỉ số CloudWatch, vì vậy bạn có thể tạo biểu đồ của dữ liệu chỉ số bằng cách sử dụng bảng điều khiển CloudWatch.

Warning: Class 14 ('Stop sign') predicted more than 80 % of the time which is above the threshold
Predicted classes {9: 2, 19: 2, 25: 1, 14: 322, 13: 5, 5: 1, 8: 10, 18: 1, 31: 4, 26: 8, 33: 4, 36: 4, 29: 20, 12: 8, 22: 4, 6: 4}

Bây giờ công việc xử lý đã phát hiện ra vấn đề, đã đến lúc để có thêm thông tin chi tiết. Khi nhìn vào các hình ảnh thử nghiệm trước đó, không có sự khác biệt đáng kể giữa hình ảnh gốc và hình ảnh đối nghịch. Để hiểu rõ hơn về những gì mô hình đã thấy, bạn có thể sử dụng kỹ thuật được mô tả trong bài báo Biểu diễn Full-Gradient cho Hình ảnh hóa Mạng Neural [1], sử dụng điểm quan trọng của các đối tượng địa lý đầu vào và bản đồ đối tượng địa lý trung gian. Trong phần sau, chúng tôi chỉ ra cách cấu hình Debugger để dễ dàng truy xuất các biến này dưới dạng tensor mà không cần phải sửa đổi chính mô hình. Chúng tôi cũng đi vào chi tiết hơn về cách sử dụng các tensors đó để tính toán bản đồ độ chào.

Tạo cấu hình hook Debugger

Để truy xuất các tensor, bạn cần cập nhật tập lệnh Python mô hình được đào tạo trước, prerained_model.py, mà bạn đã chạy ngay từ đầu để thiết lập mô hình Amazon SageMaker PyTorch. Chúng tôi đã tạo một Trình gỡ lỗi cấu hình móc in model_fnvà hook nhận một chuỗi tùy chỉnh vào tham số, include_regex, chuyển các biểu thức chính quy về tên đầy đủ hoặc một phần của các tenxơ mà chúng tôi muốn thu thập. Trong phần sau, chúng tôi trình bày chi tiết cách tính toán bản đồ chào cờ. Việc tính toán yêu cầu độ chệch và độ dốc từ các lớp trung gian như BatchNorm và các lớp lấy mẫu xuống và các đầu vào của mô hình. Để có được các tenxơ, hãy chỉ ra biểu thức chính quy sau:

'.*bn|.*bias|.*downsample|.*ResNet_input|.*image'

Lưu trữ các tensors trong nhóm mặc định Amazon SageMaker của bạn. Xem đoạn mã sau:

def model_fn(model_dir): #load model model = resnet.resnet18() model.load_state_dict(torch.load(model_dir)) model.eval() #hook configuration save_config = smd.SaveConfig(mode_save_configs={ smd.modes.PREDICT: smd.SaveConfigMode(save_interval=1) }) hook = Hook("s3://" + sagemaker_session.default_bucket() + "tensors", save_config=save_config, include_regex='.*bn|.*bias|.*downsample|.*ResNet_input|.*image' ) #register hook hook.register_module(model) #set mode hook.set_mode(modes.PREDICT) return model 

Tạo mô hình PyTorch mới bằng cách sử dụng tập lệnh điểm vào mới prerained_model_with_debugger_hook.py:

model = PyTorchModel(model_data = 's3://' + sagemaker_session.default_bucket() + '/model/model.tar.gz', role = role, framework_version = '1.3.1', source_dir='code', entry_point = 'pretrained_model_with_debugger_hook.py', py_version='py3')

Cập nhật điểm cuối hiện tại bằng PyTorch mới model đối tượng lấy tập lệnh mô hình đã sửa đổi với móc Trình gỡ lỗi:

predictor = model.deploy( instance_type = 'ml.m5.xlarge', initial_instance_count=1, endpoint_name=endpoint_name, data_capture_config=data_capture_config, update_endpoint=True)

Bây giờ, bất cứ khi nào một yêu cầu suy luận được thực hiện, điểm cuối sẽ ghi lại các bộ căng và tải chúng lên Amazon S3. Giờ đây, bạn có thể tính toán bản đồ độ chào để có được những giải thích trực quan từ mô hình.

Phân tích các dự đoán không chính xác với Trình gỡ lỗi

Mô hình phân loại thường xuất ra một mảng xác suất từ ​​0 đến 1, trong đó mỗi mục nhập tương ứng với một nhãn trong tập dữ liệu. Ví dụ, trong trường hợp của DANH SÁCH (10 lớp), một mô hình có thể đưa ra dự đoán sau cho hình ảnh đầu vào có chữ số 8: [0.08, 0, 0, 0, 0, 0, 0.12, 0, 0.5, 0.3], nghĩa là hình ảnh được dự đoán là 0 với xác suất 8%, 6 với xác suất 12%, 8 với xác suất 50% và 9 với xác suất 30%. Để tạo bản đồ độ mặn, bạn chọn lớp có xác suất cao nhất (đối với trường hợp sử dụng này, lớp 8) và ánh xạ điểm trở lại các lớp trước đó trong mạng để xác định các nơ-ron quan trọng cho dự đoán này. CNN bao gồm nhiều lớp, do đó, điểm quan trọng cho mỗi giá trị trung gian cho biết cách tính từng giá trị đóng góp vào dự đoán.

Bạn có thể sử dụng độ dốc của kết quả dự đoán từ mô hình đối với đầu vào để xác định điểm quan trọng. Các gradient cho thấy đầu ra thay đổi bao nhiêu khi đầu vào thay đổi. Để ghi lại chúng, hãy đăng ký backward hook vào các kết quả đầu ra của lớp và kích hoạt một lệnh gọi lùi trong quá trình suy luận. Chúng tôi đã định cấu hình hook Debugger để nắm bắt các tensors có liên quan.

Sau khi cập nhật điểm cuối và thực hiện một số yêu cầu suy luận, bạn có thể tạo một đối tượng dùng thử, cho phép bạn truy cập, truy vấn và lọc dữ liệu mà Trình gỡ lỗi đã lưu. Xem đoạn mã sau:

from smdebug.trials import create_trial trial = create_trial('s3://' + sagemaker_session.default_bucket() + '/endpoint/tensors')

Với Trình gỡ lỗi, bạn có thể truy cập dữ liệu qua trial.tensor().value(). Ví dụ: để nhận hàng chục thiên vị của lớp BatchNorm đầu tiên của yêu cầu suy luận đầu tiên, hãy nhập mã sau:

trial.tensor('ResNet_bn1.bias').value(step_num=0, mode=modes.PREDICT).

Các chức năng trial.steps(mode=modes.PREDICT) trả về số bước có sẵn, tương ứng với số lượng yêu cầu suy luận được ghi lại.

Trong các bước tiếp theo, bạn tính toán bản đồ chào dựa trên phương pháp FullGrad, phương pháp này tổng hợp các gradient đầu vào và gradient thiên vị cấp đối tượng.

Tính toán thành kiến ​​ngầm

Trong phương pháp FullGrad, BatchNorm các lớp của ResNet18 giới thiệu một sự thiên vị ngầm. Bạn có thể tính toán độ lệch ngầm định bằng cách truy xuất giá trị trung bình đang chạy, phương sai và trọng số của lớp. Xem đoạn mã sau:

weight = trial.tensor(weight_name).value(step_num=step, mode=modes.PREDICT)
running_var = trial.tensor(running_var_name).value(step_num=step, mode=modes.PREDICT)
running_mean = trial.tensor(running_mean_name).value(step_num=step, mode=modes.PREDICT)
implicit_bias = - running_mean / np.sqrt(running_var) * weight

Nhân các độ dốc và độ lệch

Sự thiên vị là tổng của sự thiên vị rõ ràng và ngầm định. Bạn có thể truy xuất độ dốc của đầu ra đối với bản đồ đối tượng và tính toán sản phẩm của độ lệch và độ dốc. Xem đoạn mã sau:

gradient = trial.tensor(gradient_name).value(step_num=step, mode=modes.PREDICT)
bias = trial.tensor(bias_name).value(step_num=step, mode=modes.PREDICT) bias = bias + implicit_bias
bias_gradient = normalize(np.abs(bias * gradient))

Nội suy và tổng hợp

Các lớp trung gian thường không có cùng kích thước với hình ảnh đầu vào, vì vậy bạn cần phải nội suy chúng. Bạn làm điều này cho tất cả các gradient thiên vị và tổng hợp kết quả. Tổng tổng thể là bản đồ độ mặn mà bạn phủ lên dưới dạng bản đồ nhiệt trên hình ảnh đầu vào ban đầu. Xem đoạn mã sau:

for channel in range(bias_gradient.shape[1]): interpolated = scipy.ndimage.zoom(bias_gradient[0,channel,:,:], image_size/bias_gradient.shape[2], order=1) saliency_map += interpolated 

Kết quả

Trong phần này, chúng tôi bao gồm một số ví dụ về hình ảnh đối nghịch mà mô hình đã phân loại là biển báo dừng. Hình ảnh bên phải cho thấy đầu vào của mô hình được phủ lên bản đồ độ mặn. Màu đỏ cho biết phần có ảnh hưởng lớn nhất trong dự đoán mô hình và có thể cho biết vị trí của nhiễu pixel. Ví dụ, bạn có thể thấy rằng các đặc điểm đối tượng có liên quan không còn được mô hình tính đến và trong hầu hết các trường hợp, điểm tin cậy thấp.

Để so sánh, chúng tôi cũng thực hiện suy luận với hình ảnh gốc (không đối nghịch). Trong các bộ ảnh sau, ảnh bên trái là ảnh đối đầu và bản đồ độ mặn tương ứng cho lớp ảnh dự đoán Stop. Các hình ảnh bên phải hiển thị hình ảnh đầu vào ban đầu (không đối nghịch) và bản đồ độ mặn tương ứng cho loại hình ảnh dự đoán (tương ứng với nhãn chân lý mặt đất). Trong trường hợp ảnh không đối nghịch, mô hình chỉ tập trung vào các đặc điểm của đối tượng có liên quan và do đó dự đoán lớp ảnh chính xác với xác suất cao. Trong trường hợp hình ảnh đối nghịch, mô hình sẽ tính đến nhiều đặc điểm khác bên ngoài đối tượng có liên quan, điều này gây ra bởi nhiễu pixel ngẫu nhiên.

Tổng kết

Bài đăng này trình bày cách sử dụng Amazon SageMaker Model Monitor và Amazon SageMaker Debugger để tự động phát hiện hành vi không mong muốn của mô hình và nhận giải thích trực quan từ CNN. Để biết thêm thông tin, hãy xem Repo GitHub.

dự án


Về các tác giả

Nathalie Rauschmayr là một nhà khoa học ứng dụng tại AWS, nơi cô giúp khách hàng phát triển các ứng dụng học tập sâu.

Vikas Kumar là Kỹ sư phần mềm cao cấp cho AWS Deep Learning, tập trung vào việc xây dựng các hệ thống học sâu có thể mở rộng và cung cấp thông tin chi tiết về các mô hình học sâu. Trước đó, Vikas đã làm việc để xây dựng cơ sở dữ liệu phân tán và phần mềm khám phá dịch vụ. Trong thời gian rảnh rỗi, anh ấy thích đọc sách và nghe nhạc.

Satigon Bhattacharjee là Giám đốc sản phẩm chính tại AWS AI. Ông lãnh đạo nhóm PM công cụ máy học trong các dự án như SageMaker và tối ưu hóa các khung công tác máy học như TensorFlow, PyTorch và MXNet.

Nguồn: https://aws.amazon.com/blogs/machine-learning/detecting-and-analyzing-incorrect-model-predictions-with-amazon-sagemaker-model-monitor-and-debugger/

tại chỗ_img

Tin tức mới nhất

tại chỗ_img