Logo Zephyrnet

Mô phỏng lỗi để đảm bảo an toàn cho AI. Đổi mới trong xác minh – Semiwiki

Ngày:

Thêm nội dung về ô tô 😀

Trong những chiếc ô tô hiện đại, sự an toàn được điều chỉnh nhiều bởi các chức năng dựa trên AI cũng như logic và phần mềm truyền thống. Làm thế nào các chức năng này có thể được phân loại lỗi để phân tích FMEDA? Paul Cunningham (GM, Xác minh tại Cadence), Raúl Camposano (Silicon Catalyst, doanh nhân, cựu CTO Synopsys và bây giờ là Silvaco CTO) và tôi tiếp tục loạt bài về ý tưởng nghiên cứu. Như mọi khi, phản hồi hoan nghênh.

Mô phỏng lỗi để chấm điểm an toàn AI

Sự đổi mới

Lựa chọn của tháng này là SiFI-AI: Khung mô phỏng lỗi RTL nhanh chóng và linh hoạt được thiết kế riêng cho các mô hình và bộ tăng tốc AI. Bài viết này đã được xuất bản trong Hội nghị chuyên đề Great Lakes năm 2023 về VLSI. Các tác giả đến từ Viện Công nghệ Karlsruhe, Đức.

ISO 26262 yêu cầu phân tích an toàn dựa trên các phương pháp FMEDA sử dụng mô phỏng lỗi để đánh giá độ nhạy của các chức năng quan trọng đối với các lỗi hệ thống và nhất thời cũng như tính hiệu quả của logic giảm thiểu để bảo vệ khỏi lỗi. Phân tích bắt đầu với sự hiểu biết của chuyên gia thiết kế về những hành vi cấp cao nào phải được đảm bảo cùng với những thất bại thực tế nào có thể gây ra lỗi trong những hành vi đó.

Bí quyết chuyên môn này đã được hiểu đối với logic và phần mềm thông thường nhưng chưa được hiểu đối với các mô hình AI (mạng lưới thần kinh) và các bộ tăng tốc mà chúng chạy trên đó. Các kỹ sư an toàn cần trợ giúp để khám phá các chế độ và tác động của lỗi trong các thành phần AI để biết vị trí và cách thức gây ra lỗi cho các mô hình và phần cứng. Hơn nữa, phân tích đó phải chạy ở tốc độ thực tế trên các mô hình lớn phổ biến cho DNN. Các tác giả đề xuất một kỹ thuật mới mà họ cho rằng chạy nhanh hơn nhiều so với các phương pháp hiện tại.

Quan điểm của Paul

Một bài viết kích thích tư duy và hấp dẫn: làm thế nào để bạn đánh giá nguy cơ xảy ra lỗi phần cứng ngẫu nhiên trong bộ tăng tốc AI được sử dụng để hỗ trợ người lái hoặc lái xe tự động? Suy luận AI bản thân nó là một phương pháp thống kê, do đó việc xác định mối quan hệ giữa một lần lật bit ngẫu nhiên ở đâu đó trong máy gia tốc và một suy luận không chính xác là không hề nhỏ.

Bài viết này đề xuất xây dựng một hệ thống có thể “hoán đổi” mô phỏng RTL thực của một lớp duy nhất của mạng thần kinh, một suy luận thuần túy dựa trên phần mềm của mạng đó trong PyTorch. Một lỗi có thể được đưa vào lớp đang được mô phỏng RTL để đánh giá tác động của lỗi đó đối với hoạt động suy luận tổng thể.

Các tác giả trình diễn phương pháp của họ trên máy tăng tốc AI nguồn mở Gemmini chạy mạng phân loại hình ảnh ResNet-18 và GoogLeNet. Họ quan sát thấy mỗi phần tử của mảng máy gia tốc Gemmini có 3 thanh ghi (kích hoạt đầu vào, trọng số và tổng một phần) và tín hiệu chọn trọng số, cùng với 4 loại lỗi có thể xảy ra. Họ chạy 1.5 triệu thử nghiệm suy luận, mỗi thử nghiệm được đưa vào một lỗi ngẫu nhiên, kiểm tra xem phân loại top 1 ngoài mạng có chính xác hay không. Thời gian chạy của họ nhanh hơn ấn tượng gấp 7 lần so với công việc trước đó và biểu đồ của họ xác nhận kỳ vọng trực quan rằng các lỗi ở các lớp trước của mạng có tác động mạnh hơn so với các lỗi ở các lớp sâu hơn.

Ngoài ra, dữ liệu của họ cho thấy rõ rằng một số dạng cơ chế an toàn phần cứng (ví dụ: bỏ phiếu ba lần) được đảm bảo vì xác suất tuyệt đối của lỗi phân loại top 1 là 2-8% đối với các lỗi trong 10 lớp đầu tiên của mạng. Đó là mức quá cao cho một trải nghiệm lái xe an toàn!

Quan điểm của Raúl

Đóng góp chính của SiFI-AI là mô phỏng các lỗi nhất thời trong máy gia tốc DNN kết hợp suy luận AI nhanh với mô phỏng RTL chính xác theo chu kỳ và đưa lỗi dựa trên điều kiện. Tốc độ này nhanh gấp 7 lần so với công nghệ hiện đại (tham khảo 2, Condia et al, Kết hợp mô phỏng kiến ​​trúc và chèn lỗi phần mềm để đánh giá độ tin cậy của CNN nhanh chóng và chính xác trên GPU). Bí quyết là chỉ mô phỏng những gì cần thiết trong RTL chính xác theo chu kỳ chậm. Các lỗi được mô hình hóa là sự cố xảy ra một sự kiện (SEU), tức là sự thay đổi bit nhất thời gây ra bởi các tác động bên ngoài như bức xạ và các hạt tích điện, tồn tại cho đến thao tác ghi tiếp theo. Trong trường hợp này, việc tìm hiểu xem một lỗi đơn lẻ có gây ra lỗi hay không là điều đặc biệt khó khăn; mức độ tái sử dụng dữ liệu cao có thể dẫn đến việc lan truyền lỗi đáng kể và việc mô phỏng lỗi cần phải tính đến cả kiến ​​trúc phần cứng và cấu trúc liên kết mô hình DNN.

SiFI-AI tích hợp mô phỏng phần cứng vào khung ML (PyTorch). Đối với mô phỏng CTNH, nó sử dụng Verilator, một trình mô phỏng Verilog mã nguồn mở và miễn phí, để tạo ra các mô hình RTL chính xác theo chu kỳ. Bộ điều khiển lỗi quản lý việc đưa lỗi theo chỉ dẫn của người dùng, sử dụng phương pháp tiếp cận dựa trên điều kiện, tức là danh sách các điều kiện tránh việc lỗi bị che giấu. Để chọn phần nào được mô phỏng trong RTL, nó sẽ phân tách các lớp thành các ô nhỏ hơn dựa trên “các thuộc tính lớp, chiến lược ốp lát vòng lặp, bố cục bộ tăng tốc và lỗi tương ứng” và chọn một ô.

Thiết bị được thử nghiệm trong phần thử nghiệm là Gemmini, một máy gia tốc DNN mảng tâm thu được tạo ra tại UC Berkeley trong dự án Chipyard, trong cấu hình gồm các phần tử xử lý 16×16 (PE). SiFI-AI thực hiện nghiên cứu khả năng phục hồi bằng các thử nghiệm chèn lỗi 1.5 M trên hai khối lượng công việc DNN điển hình là ResNet-18 và GoogLeNet. Các lỗi được đưa vào ba thanh ghi dữ liệu PE và một tín hiệu điều khiển, theo chỉ định của người dùng. Kết quả cho thấy xác suất xảy ra lỗi thấp, khẳng định khả năng phục hồi của DNN. Họ cũng chỉ ra rằng các lỗi tín hiệu điều khiển có tác động lớn hơn nhiều so với các lỗi tín hiệu dữ liệu và các lớp rộng và nông dễ bị ảnh hưởng hơn các lớp hẹp và sâu.

Đây là một bài viết hay nhằm thúc đẩy lĩnh vực đánh giá độ tin cậy của DNN. Bài viết được viết tốt, rõ ràng và cung cấp đầy đủ chi tiết cũng như tài liệu tham khảo để hỗ trợ cho các tuyên bố và kết quả. Mặc dù ý tưởng cốt lõi của việc kết hợp mô phỏng ở các cấp độ khác nhau đã cũ nhưng các tác giả vẫn sử dụng nó rất hiệu quả. Các khung như SciFI-AI có thể giúp các nhà thiết kế và nhà nghiên cứu tối ưu hóa kiến ​​trúc của họ và làm cho chúng trở nên linh hoạt hơn. Tôi cũng thích việc phân tích tác động của lỗi lên các lớp và tín hiệu khác nhau, điều này cho thấy một số hiểu biết thú vị. Bài viết có thể được cải thiện bằng cách cung cấp thêm thông tin về chiến lược chèn lỗi và lựa chọn các ô. Mặc dù chủ đề khá cụ thể nhưng nhìn chung, đây là một bài viết rất thú vị!

Chia sẻ bài đăng này qua:

tại chỗ_img

Tin tức mới nhất

tại chỗ_img