Khả năng giải thích mô hình đề cập đến quá trình liên kết dự đoán của mô hình máy học (ML) với các giá trị tính năng đầu vào của một phiên bản theo thuật ngữ mà con người có thể hiểu được. Trường này thường được gọi là trí tuệ nhân tạo có thể giải thích (XÀI). Làm rõ Amazon SageMaker là một tính năng của Amazon SageMaker cho phép các nhà khoa học dữ liệu và kỹ sư ML giải thích các dự đoán về mô hình ML của họ. Nó sử dụng các phương pháp bất khả tri mô hình như Giải thích phụ gia SHApely (SHAP) để phân bổ tính năng. Ngoài việc hỗ trợ giải thích cho dữ liệu dạng bảng, Clarify còn hỗ trợ khả năng giải thích cho cả thị giác máy tính (CV) và xử lý ngôn ngữ tự nhiên (NLP) bằng cách sử dụng cùng một thuật toán SHAP.
Trong bài đăng này, chúng tôi minh họa việc sử dụng Clarify để giải thích các mô hình NLP. Cụ thể, chúng tôi chỉ ra cách bạn có thể giải thích các dự đoán của mô hình phân loại văn bản đã được đào tạo bằng cách sử dụng SageMaker BlazingVăn bản thuật toán. Điều này giúp bạn hiểu phần nào hoặc từ nào của văn bản là quan trọng nhất đối với các dự đoán do mô hình đưa ra. Trong số những thứ khác, những quan sát này sau đó có thể được sử dụng để cải thiện các quy trình khác nhau như thu thập dữ liệu giúp giảm sai lệch trong tập dữ liệu và xác thực mô hình để đảm bảo rằng các mô hình đang hoạt động như dự định và tạo được lòng tin với tất cả các bên liên quan khi mô hình được triển khai. Đây có thể là yêu cầu chính trong nhiều lĩnh vực ứng dụng như phân tích tình cảm, đánh giá pháp lý, chẩn đoán y tế, v.v.
Chúng tôi cũng cung cấp một mẫu thiết kế chung mà bạn có thể sử dụng khi sử dụng Clarify với bất kỳ Thuật toán SageMaker.
Tổng quan về giải pháp
Thuật toán SageMaker có định dạng dữ liệu đầu vào và đầu ra cố định. Ví dụ: bộ chứa thuật toán BlazingText chấp nhận đầu vào ở định dạng JSON. Nhưng khách hàng thường yêu cầu các định dạng cụ thể tương thích với đường dẫn dữ liệu của họ. Chúng tôi trình bày một số tùy chọn mà bạn có thể làm theo để sử dụng Clarify.
Tùy chọn A
Trong tùy chọn này, chúng tôi sử dụng tính năng đường dẫn suy luận của dịch vụ lưu trữ SageMaker. Một đường dẫn suy luận là một mô hình SageMaker tạo thành một chuỗi các vùng chứa xử lý các yêu cầu suy luận. Sơ đồ sau minh họa một ví dụ.
Bạn có thể sử dụng các quy trình suy luận để triển khai kết hợp các mô hình tùy chỉnh của riêng mình và thuật toán tích hợp SageMaker được đóng gói trong các vùng chứa khác nhau. Để biết thêm thông tin, hãy tham khảo Lưu trữ các mô hình cùng với logic tiền xử lý dưới dạng đường dẫn suy luận nối tiếp phía sau một điểm cuối. Vì Clarify chỉ hỗ trợ các Dòng CSV và JSON làm đầu vào, nên bạn cần hoàn thành các bước sau:
- Tạo mô hình và vùng chứa để chuyển đổi dữ liệu từ CSV (hoặc Dòng JSON) sang JSON.
- Sau bước huấn luyện mô hình bằng thuật toán BlazingText, trực tiếp triển khai mô hình. Điều này sẽ triển khai mô hình bằng cách sử dụng bộ chứa BlazingText, chấp nhận JSON làm đầu vào. Khi sử dụng một thuật toán khác, SageMaker sẽ tạo mô hình bằng cách sử dụng vùng chứa của thuật toán đó.
- Sử dụng hai mô hình trước để tạo một Mô hình đường ống. Điều này xâu chuỗi hai mô hình theo trình tự tuyến tính và tạo ra một mô hình duy nhất. Ví dụ, tham khảo Hệ thống suy luận với Scikit-learning và Linear Learner.
Với giải pháp này, chúng tôi đã tạo thành công một mô hình duy nhất có đầu vào tương thích với Clarify và có thể được sử dụng để tạo phần giải thích.
Tùy chọn B
Tùy chọn này minh họa cách bạn có thể tích hợp việc sử dụng các định dạng dữ liệu khác nhau giữa các thuật toán Clarify và SageMaker bằng cách mang vùng chứa của riêng bạn để lưu trữ mô hình SageMaker. Sơ đồ sau đây minh họa kiến trúc và các bước liên quan đến giải pháp:
Các bước thực hiện như sau:
- Sử dụng thuật toán BlazingText thông qua Công cụ ước tính SageMaker để huấn luyện mô hình phân loại văn bản.
- Sau khi mô hình được đào tạo, hãy tạo vùng chứa Docker tùy chỉnh có thể được sử dụng để tạo mô hình SageMaker và tùy chọn triển khai mô hình dưới dạng điểm cuối mô hình SageMaker.
- Định cấu hình và tạo công việc Làm rõ để sử dụng bộ chứa lưu trữ để tạo báo cáo khả năng giải thích.
- Vùng chứa tùy chỉnh chấp nhận yêu cầu suy luận dưới dạng CSV và cho phép Clarify tạo giải thích.
Cần lưu ý rằng giải pháp này thể hiện ý tưởng thu được các giải thích ngoại tuyến bằng cách sử dụng Clarify cho mô hình BlazingText. Để biết thêm thông tin về khả năng giải thích trực tuyến, hãy tham khảo Khả năng giải thích trực tuyến với SageMaker Clarify.
Phần còn lại của bài đăng này giải thích từng bước trong tùy chọn thứ hai.
Đào tạo một mô hình BlazingText
Trước tiên, chúng tôi đào tạo một mô hình phân loại văn bản bằng thuật toán BlazingText. Trong ví dụ này, chúng tôi sử dụng Bộ dữ liệu bản thể DBpedia. DBpedia là một sáng kiến dựa trên cộng đồng để trích xuất nội dung có cấu trúc bằng cách sử dụng thông tin từ các dự án Wikimedia khác nhau như Wikipedia. Cụ thể, chúng tôi sử dụng bộ dữ liệu bản thể luận DBpedia như được tạo bởi Zhang và cộng sự. Nó được xây dựng bằng cách chọn 14 lớp không chồng chéo từ DBpedia 2014. Các trường chứa phần tóm tắt của một bài viết Wikipedia và lớp tương ứng. Mục tiêu của một mô hình phân loại văn bản là dự đoán lớp của một bài viết dựa trên phần tóm tắt của nó.
Một quy trình từng bước chi tiết để đào tạo mô hình có sẵn trong phần sau máy tính xách tay. Sau khi bạn đã đào tạo mô hình, hãy lưu ý Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) Đường dẫn URI nơi lưu trữ các thành phần lạ của mô hình. Để biết hướng dẫn từng bước, hãy tham khảo Phân loại văn bản bằng SageMaker BlazingText.
Triển khai mô hình BlazingText được đào tạo bằng cách sử dụng vùng chứa của riêng bạn trên SageMaker
Với Clarify, có hai tùy chọn để cung cấp thông tin về mô hình:
- Tạo mô hình SageMaker mà không cần triển khai nó đến điểm cuối – Khi một mô hình SageMaker được cung cấp cho Clarify, nó sẽ tạo ra một điểm cuối tạm thời bằng cách sử dụng mô hình.
- Tạo một mô hình SageMaker và triển khai nó đến một điểm cuối – Khi một điểm cuối được cung cấp cho Clarify, nó sẽ sử dụng điểm cuối để nhận giải thích. Điều này tránh việc tạo điểm cuối tạm thời và có thể giảm thời gian chạy của công việc Làm rõ.
Trong bài đăng này, chúng tôi sử dụng tùy chọn đầu tiên với Clarify. chúng tôi sử dụng SDK Python của SageMaker vì mục đích này. Để biết các tùy chọn khác và biết thêm chi tiết, hãy tham khảo Tạo điểm cuối và triển khai mô hình của bạn.
Mang theo thùng chứa của riêng bạn (BYOC)
Trước tiên, chúng tôi xây dựng một hình ảnh Docker tùy chỉnh được sử dụng để tạo Mô hình SageMaker. Bạn có thể sử dụng các tập tin và mã trong thư mục nguồn của kho lưu trữ GitHub của chúng tôi.
Dockerfile mô tả hình ảnh chúng tôi muốn xây dựng. Chúng tôi bắt đầu với cài đặt Ubuntu tiêu chuẩn và sau đó cài đặt Scikit-learning. Chúng tôi cũng nhân bản văn bản nhanh và cài đặt gói. Nó được sử dụng để tải mô hình BlazingText để đưa ra dự đoán. Cuối cùng, chúng tôi thêm mã triển khai thuật toán của mình dưới dạng các tệp trước đó và thiết lập môi trường trong vùng chứa. Toàn bộ Dockerfile được cung cấp trong kho lưu trữ của chúng tôi và bạn có thể sử dụng nó như hiện tại. tham khảo Sử dụng mã suy luận của riêng bạn với các dịch vụ lưu trữ để biết thêm chi tiết về cách SageMaker tương tác với bộ chứa Docker của bạn và các yêu cầu của nó.
Hơn nữa, Predctor.py chứa mã để tải mô hình và đưa ra dự đoán. Nó chấp nhận dữ liệu đầu vào dưới dạng CSV, giúp nó tương thích với Clarify.
Sau khi có Dockerfile, build Docker container và upload lên Đăng ký container đàn hồi Amazon (ECR của Amazon). Bạn có thể tìm thấy quy trình từng bước dưới dạng một kịch bản shell trong kho lưu trữ GitHub của chúng tôi mà bạn có thể sử dụng để tạo và tải hình ảnh Docker lên Amazon ECR.
Tạo mô hình BlazingText
Bước tiếp theo là tạo một đối tượng mô hình từ SageMaker Python SDK Lớp người mẫu có thể được triển khai đến điểm cuối HTTPS. Chúng tôi định cấu hình Làm rõ để sử dụng mô hình này để tạo giải thích. Đối với mã và các yêu cầu khác cho bước này, hãy tham khảo Triển khai Mô hình BlazingText SageMaker được đào tạo của bạn bằng cách sử dụng bộ chứa của riêng bạn trong Amazon SageMaker.
Định cấu hình Làm rõ
Làm rõ NLP tương thích với các mô hình hồi quy và phân loại. Nó giúp bạn hiểu phần nào của văn bản đầu vào ảnh hưởng đến dự đoán của mô hình của bạn. Clarify hỗ trợ 62 ngôn ngữ và có thể xử lý văn bản với nhiều ngôn ngữ. Chúng tôi sử dụng SageMaker Python SDK để xác định ba cấu hình được Clarify sử dụng để tạo báo cáo khả năng giải thích.
Trước tiên, chúng ta cần tạo đối tượng bộ xử lý và cũng chỉ định vị trí của tập dữ liệu đầu vào sẽ được sử dụng cho các dự đoán và thuộc tính tính năng:
Cấu hình dữ liệu
Tại đây, bạn nên định cấu hình vị trí của dữ liệu đầu vào, cột tính năng và nơi bạn muốn công việc Làm rõ lưu trữ đầu ra. Điều này được thực hiện bằng cách chuyển các đối số có liên quan trong khi tạo đối tượng DataConfig:
ModelConfig
Với ModelConfig, bạn nên chỉ định thông tin về mô hình được đào tạo của mình. Ở đây, chúng tôi chỉ định tên của mô hình BlazingText SageMaker mà chúng tôi đã tạo ở bước trước và cũng đặt các tham số khác như Đám mây điện toán đàn hồi Amazon (Amazon EC2) loại phiên bản và định dạng của nội dung:
SHAPConfig
Điều này được sử dụng để thông báo cho Clarify về cách lấy các thuộc tính tính năng. TextConfig được sử dụng để chỉ định mức độ chi tiết của văn bản và ngôn ngữ. Trong tập dữ liệu của chúng tôi, vì chúng tôi muốn chia văn bản đầu vào thành các từ và ngôn ngữ là tiếng Anh, chúng tôi đặt các giá trị này thành mã thông báo và tiếng Anh tương ứng. Tùy thuộc vào bản chất của tập dữ liệu, bạn có thể đặt mức độ chi tiết cho câu hoặc đoạn văn. Đường cơ sở được đặt thành một mã thông báo đặc biệt. Điều này có nghĩa là Clarify sẽ loại bỏ các tập hợp con của văn bản đầu vào và thay thế chúng bằng các giá trị từ đường cơ sở trong khi thu được các dự đoán để tính toán các giá trị SHAP. Đây là cách nó xác định tác động của các mã thông báo đối với các dự đoán của mô hình và lần lượt xác định tầm quan trọng của chúng. Số lượng mẫu sẽ được sử dụng trong thuật toán Kernel SHAP được xác định bởi giá trị của num_samples
lý lẽ. Các giá trị cao hơn dẫn đến các thuộc tính tính năng mạnh mẽ hơn, nhưng điều đó cũng có thể làm tăng thời gian chạy của công việc. Do đó, bạn cần phải thực hiện một sự đánh đổi giữa hai bên. Xem đoạn mã sau:
Để biết thêm thông tin, xem Thuộc tính tính năng sử dụng giá trị Shapley và Sách trắng về tính công bằng và khả năng giải thích của Amazon AI.
ModelPredictedLabelConfig
Để Clarify trích xuất nhãn dự đoán hoặc điểm số hoặc xác suất dự đoán, đối tượng cấu hình này cần được đặt. Xem đoạn mã sau:
Để biết thêm chi tiết, hãy tham khảo tài liệu hướng dẫn trong SDK.
Chạy một công việc làm rõ
Sau khi bạn tạo các cấu hình khác nhau, giờ đây bạn đã sẵn sàng để kích hoạt công việc xử lý Làm rõ. Công việc xử lý xác thực đầu vào và tham số, tạo điểm cuối tạm thời và tính toán các thuộc tính tính năng cục bộ và toàn cục bằng thuật toán SHAP. Khi hoàn tất, nó sẽ xóa điểm cuối tạm thời và tạo các tệp đầu ra. Xem đoạn mã sau:
Thời gian chạy của bước này phụ thuộc vào kích thước của tập dữ liệu và số lượng mẫu được tạo bởi SHAP.
Hình dung kết quả
Cuối cùng, chúng tôi hiển thị hình ảnh trực quan về kết quả từ báo cáo phân bổ tính năng cục bộ do tác vụ xử lý Làm rõ tạo ra. Đầu ra ở định dạng Dòng JSON và với một số xử lý; bạn có thể vẽ điểm số cho các mã thông báo trong văn bản đầu vào như ví dụ sau. Các thanh cao hơn có tác động nhiều hơn đến nhãn mục tiêu. Hơn nữa, các giá trị dương được liên kết với dự đoán cao hơn trong biến mục tiêu và giá trị âm với dự đoán thấp hơn. Trong ví dụ này, mô hình đưa ra dự đoán cho văn bản đầu vào “Wesebach là một con sông của Hesse Đức.” Lớp dự đoán là Địa điểm tự nhiên và điểm số cho thấy mô hình nhận thấy từ “sông” là từ có nhiều thông tin nhất để đưa ra dự đoán này. Điều này là trực quan đối với con người và bằng cách kiểm tra nhiều mẫu hơn, bạn có thể xác định xem mô hình có đang học các tính năng phù hợp và hoạt động như mong đợi hay không.
Kết luận
Trong bài đăng này, chúng tôi đã giải thích cách bạn có thể sử dụng Clarify để giải thích các dự đoán từ mô hình phân loại văn bản được đào tạo bằng SageMaker BlazingText. Bắt đầu với việc giải thích các dự đoán từ các mô hình phân loại văn bản của bạn bằng sổ ghi chép mẫu Khả năng giải thích văn bản cho SageMaker BlazingText.
Chúng tôi cũng đã thảo luận về một mẫu thiết kế chung hơn mà bạn có thể sử dụng khi sử dụng Thuật toán tích hợp Clarify với SageMaker. Để biết thêm thông tin, hãy tham khảo Tính công bằng và khả năng giải thích mô hình đối với các dự đoán của học máy là gì. Chúng tôi cũng khuyến khích bạn đọc Sách trắng về tính công bằng và khả năng giải thích của Amazon AI, cung cấp tổng quan về chủ đề và thảo luận về các phương pháp hay nhất cũng như các hạn chế.
Về các tác giả
Pinak Panigrahi làm việc với khách hàng để xây dựng các giải pháp dựa trên máy học nhằm giải quyết các vấn đề kinh doanh chiến lược trên AWS. Khi không bận rộn với việc học máy, người ta có thể thấy anh ấy đang đi bộ đường dài, đọc sách hoặc chơi thể thao.
Dhawal Patel là một Kiến trúc sư chính về Học máy tại AWS. Ông đã làm việc với các tổ chức khác nhau, từ các doanh nghiệp lớn đến các công ty khởi nghiệp quy mô trung bình về các vấn đề liên quan đến máy tính phân tán và Trí tuệ nhân tạo. Ông tập trung vào Học sâu bao gồm các lĩnh vực NLP và Thị giác máy tính. Anh ấy giúp khách hàng đạt được khả năng suy luận mô hình hiệu suất cao trên SageMaker.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/explain-text-classification-model-predictions-using-amazon-sagemaker-clarify/
- 100
- 2014
- 7
- 9
- a
- Giới thiệu
- TÓM TẮT
- Chấp nhận
- Đạt được
- mua lại
- Sau
- AI
- thuật toán
- thuật toán
- Tất cả
- đàn bà gan dạ
- Amazon EC2
- Amazon SageMaker
- trong số
- phân tích
- và
- ngoài
- Các Ứng Dụng
- kiến trúc
- đối số
- đối số
- bài viết
- nhân tạo
- trí tuệ nhân tạo
- liên kết
- có sẵn
- AWS
- thanh
- Baseline
- bởi vì
- sau
- BEST
- thực hành tốt nhất
- giữa
- thiên vị
- cuốn sách
- Nghỉ giải lao
- Đưa
- xây dựng
- được xây dựng trong
- kinh doanh
- chuỗi
- tốt nghiệp lớp XNUMX
- các lớp học
- phân loại
- mã
- Cột
- kết hợp
- tương thích
- hoàn thành
- Tính
- máy tính
- Tầm nhìn máy tính
- máy tính
- Container
- Container
- chứa
- nội dung
- chuyển đổi
- Tương ứng
- Couple
- tạo
- tạo ra
- tạo ra
- Tạo
- tạo
- khách hàng
- khách hàng
- dữ liệu
- sâu
- học kĩ càng
- Tùy
- phụ thuộc
- triển khai
- triển khai
- triển khai
- Thiết kế
- chi tiết
- chi tiết
- Xác định
- xác định
- xác định
- khác nhau
- trực tiếp
- thảo luận
- phân phối
- phân phối máy tính
- phu bến tàu
- lĩnh vực
- xuống
- điều khiển
- Rơi
- mỗi
- kiếm được
- hiệu lực
- cho phép
- khuyến khích
- Điểm cuối
- Kỹ sư
- Tiếng Anh
- đảm bảo
- doanh nghiệp
- Toàn bộ
- Môi trường
- Kiểm tra
- ví dụ
- dự kiến
- Giải thích
- Giải thích
- giải thích
- Giải thích
- trích xuất
- công bằng
- Đặc tính
- Tính năng
- lĩnh vực
- Lĩnh vực
- Các tập tin
- Cuối cùng
- Tìm kiếm
- Tên
- cố định
- tập trung
- theo
- tiếp theo
- sau
- hình thức
- định dạng
- tìm thấy
- từ
- Hơn nữa
- Tổng Quát
- tạo ra
- tạo ra
- tạo
- tạo ra
- Nước Đức
- được
- GitHub
- được
- Toàn cầu
- mục tiêu
- hướng dẫn
- xử lý
- Xử lý
- giúp
- tại đây
- Cao
- cao hơn
- Đi lang thang
- tổ chức
- lưu trữ
- Độ đáng tin của
- Hướng dẫn
- HTML
- HTTPS
- Nhân loại
- ý tưởng
- xác định
- hình ảnh
- Va chạm
- thực hiện
- nhập khẩu
- tầm quan trọng
- quan trọng
- nâng cao
- in
- Bao gồm
- Tăng lên
- chỉ
- ảnh hưởng
- thông tin
- thông tin
- Sáng kiến
- đầu vào
- cài đặt, dựng lên
- ví dụ
- tích hợp
- Sự thông minh
- tương tác
- trực quan
- viện dẫn
- tham gia
- IT
- Việc làm
- json
- Key
- nhãn
- Ngôn ngữ
- Ngôn ngữ
- lớn
- học tập
- Hợp pháp
- hạn chế
- dòng
- tải
- tải
- địa phương
- địa điểm thư viện nào
- máy
- học máy
- thực hiện
- làm cho
- LÀM CHO
- Làm
- nhiều
- có nghĩa
- y khoa
- phương pháp
- ML
- kiểu mẫu
- mô hình
- chi tiết
- hầu hết
- nhiều
- tên
- Tự nhiên
- Xử lý ngôn ngữ tự nhiên
- Thiên nhiên
- Cần
- nhu cầu
- tiêu cực
- tiếp theo
- nlp
- máy tính xách tay
- lưu ý
- con số
- vật
- có được
- Ngoại tuyến
- ONE
- Trực tuyến
- Bản thể học
- Tùy chọn
- Các lựa chọn
- tổ chức
- Nền tảng khác
- tổng quan
- riêng
- gói
- thông số
- các bộ phận
- Đi qua
- con đường
- Họa tiết
- hiệu suất
- biểu diễn
- đường ống dẫn
- Nơi
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- tích cực
- Bài đăng
- thực hành
- dự đoán
- dự đoán
- dự đoán
- Dự đoán
- trình bày
- Hiệu trưởng
- Trước khi
- vấn đề
- quá trình
- Quy trình
- xử lý
- Bộ xử lý
- dự án
- cho
- cung cấp
- cung cấp
- mục đích
- Python
- khác nhau,
- Đọc
- Reading
- sẵn sàng
- giảm
- làm giảm
- gọi
- đề cập
- liên quan
- có liên quan
- thay thế
- báo cáo
- kho
- yêu cầu
- yêu cầu
- yêu cầu
- yêu cầu
- Yêu cầu
- REST của
- kết quả
- Kết quả
- xem xét
- Đánh giá
- Sông
- mạnh mẽ
- nhà làm hiền triết
- tương tự
- các nhà khoa học
- học hỏi
- sdk
- Thứ hai
- lựa chọn
- kết án
- tình cảm
- Trình tự
- nối tiếp
- định
- nên
- hiển thị
- Đơn giản
- duy nhất
- Kích thước máy
- giải pháp
- Giải pháp
- động SOLVE
- một số
- đặc biệt
- riêng
- đặc biệt
- Thể thao
- các bên liên quan
- Tiêu chuẩn
- Bắt đầu
- bắt đầu
- Startups
- Bước
- Các bước
- là gắn
- hàng
- lưu trữ
- Chiến lược
- kinh doanh chiến lược
- cấu trúc
- Thành công
- Hỗ trợ
- Hỗ trợ
- Hãy
- dùng
- Mục tiêu
- về
- Phân loại văn bản
- Sản phẩm
- cung cấp their dịch
- vì thế
- điều
- số ba
- đến
- mã thông báo
- Tokens
- chủ đề
- Train
- đào tạo
- Hội thảo
- kích hoạt
- NIỀM TIN
- XOAY
- Ubuntu
- hiểu
- dễ hiểu
- sử dụng
- xác nhận
- giá trị
- Các giá trị
- khác nhau
- thông qua
- tầm nhìn
- hình dung
- cái nào
- trong khi
- Bản cáo bạch
- Wikipedia
- sẽ
- không có
- Từ
- từ
- làm việc
- công trinh
- Bạn
- trên màn hình
- zephyrnet