โลโก้เซเฟอร์เน็ต

การจำลองข้อผิดพลาดเพื่อความปลอดภัยของ AI นวัตกรรมในการตรวจสอบ – Semiwiki

วันที่:

เนื้อหาเกี่ยวกับยานยนต์เพิ่มเติม 😀

ในรถยนต์ยุคใหม่ ความปลอดภัยถูกควบคุมโดยฟังก์ชันที่ใช้ AI เช่นเดียวกับตรรกะและซอฟต์แวร์แบบดั้งเดิม ฟังก์ชันเหล่านี้จะให้คะแนนข้อบกพร่องสำหรับการวิเคราะห์ FMEDA ได้อย่างไร Paul Cunningham (GM, Verification at Cadence), Raúl Camposano (Silicon Catalyst, ผู้ประกอบการ, อดีต Synopsys CTO และปัจจุบันคือ Silvaco CTO) และฉันจะสานต่อซีรีส์เกี่ยวกับแนวคิดการวิจัยของเรา เช่นเคยยินดีรับข้อเสนอแนะ

การจำลองข้อผิดพลาดสำหรับการจัดระดับความปลอดภัยของ AI

นวัตกรรม

เลือกเดือนนี้ SiFI-AI: กรอบงานการจำลองข้อผิดพลาด RTL ที่รวดเร็วและยืดหยุ่นซึ่งออกแบบมาสำหรับโมเดล AI และตัวเร่งความเร็ว- บทความนี้เผยแพร่ใน Great Lakes Symposium บน VLSI ปี 2023 ผู้เขียนมาจากสถาบันเทคโนโลยีคาร์ลสรูเฮอ ประเทศเยอรมนี

ISO 26262 กำหนดให้มีการวิเคราะห์ความปลอดภัยโดยใช้วิธี FMEDA โดยใช้การจำลองข้อผิดพลาดเพื่อประเมินความไวของฟังก์ชันที่สำคัญต่อข้อผิดพลาดชั่วคราวและเป็นระบบ และประสิทธิผลของตรรกะการลดผลกระทบเพื่อป้องกันข้อผิดพลาด การวิเคราะห์เริ่มต้นด้วยความเข้าใจของผู้เชี่ยวชาญด้านการออกแบบว่าพฤติกรรมระดับสูงต้องได้รับการรับรองอะไรบ้าง ร่วมกับความล้มเหลวที่เกิดขึ้นจริงที่อาจแพร่กระจายข้อผิดพลาดในพฤติกรรมเหล่านั้น

ความรู้ของผู้เชี่ยวชาญนี้เป็นที่เข้าใจกันอยู่แล้วสำหรับตรรกะและซอฟต์แวร์ทั่วไป แต่ยังไม่เข้าใจสำหรับโมเดล AI (โครงข่ายประสาทเทียม) และตัวเร่งความเร็วที่ใช้งาน วิศวกรด้านความปลอดภัยต้องการความช่วยเหลือในการสำรวจโหมดความล้มเหลวและผลกระทบในส่วนประกอบ AI เพื่อทราบว่าโมเดลและฮาร์ดแวร์เกิดข้อผิดพลาดที่ไหนและอย่างไร นอกจากนี้การวิเคราะห์จะต้องดำเนินการด้วยความเร็วที่ใช้งานได้จริงในโมเดลขนาดใหญ่ทั่วไปสำหรับ DNN ผู้เขียนเสนอเทคนิคใหม่ที่พวกเขากล่าวว่าทำงานได้เร็วกว่าวิธีการปัจจุบันมาก

มุมมองของพอล

บทความที่กระตุ้นความคิดและน่าสนใจ: คุณจะประเมินความเสี่ยงของความผิดพลาดของฮาร์ดแวร์แบบสุ่มในตัวเร่งความเร็ว AI ที่ใช้สำหรับการช่วยเหลือผู้ขับขี่หรือไดรฟ์อัตโนมัติได้อย่างไร การอนุมานของ AI นั้นเป็นวิธีการทางสถิติ ดังนั้นการระบุความสัมพันธ์ระหว่างการสุ่มบิตพลิกที่ไหนสักแห่งในตัวเร่งความเร็วและการอนุมานที่ไม่ถูกต้องจึงไม่ใช่เรื่องเล็กน้อย

บทความนี้เสนอการสร้างระบบที่สามารถ "สลับ" การจำลอง RTL จริงของเลเยอร์เดียวของโครงข่ายประสาทเทียม ซึ่งเป็นการอนุมานโดยใช้ซอฟต์แวร์ล้วนๆ ของเครือข่ายนั้นใน PyTorch ข้อผิดพลาดสามารถฉีดเข้าไปในเลเยอร์ที่กำลังจำลอง RTL เพื่อประเมินผลกระทบของข้อผิดพลาดนั้นต่อการดำเนินการอนุมานโดยรวม

ผู้เขียนสาธิตวิธีการของพวกเขาบนตัวเร่ง AI โอเพ่นซอร์ส Gemmini ที่ใช้เครือข่ายการจัดหมวดหมู่รูปภาพ ResNet-18 และ GoogLeNet พวกเขาสังเกตว่าแต่ละองค์ประกอบของอาร์เรย์ตัวเร่งความเร็ว Gemmini มีรีจิสเตอร์ 3 รีจิสเตอร์ (การเปิดใช้งานอินพุต น้ำหนัก และผลรวมบางส่วน) และสัญญาณเลือกน้ำหนัก รวมข้อผิดพลาดที่เป็นไปได้ 4 แบบที่จะฉีดเข้าไป พวกเขาทำการทดลองอนุมาน 1.5 ล้านครั้ง โดยแต่ละรายการมีข้อผิดพลาดแบบสุ่มเข้ามา เพื่อตรวจสอบว่าการจัดหมวดหมู่ 1 อันดับแรกจากเครือข่ายไม่ถูกต้องหรือไม่ รันไทม์ของพวกเขาเร็วกว่างานก่อนหน้าถึง 7 เท่าที่น่าประทับใจ และแผนภูมิของพวกเขาตรวจสอบความคาดหวังตามสัญชาตญาณที่ว่าข้อบกพร่องในเลเยอร์ก่อนหน้าของเครือข่ายส่งผลกระทบมากกว่าข้อผิดพลาดในเลเยอร์ที่ลึกกว่า

นอกจากนี้ จากข้อมูลของพวกเขายังแสดงให้เห็นอย่างชัดเจนว่ากลไกความปลอดภัยของฮาร์ดแวร์บางรูปแบบ (เช่น การลงคะแนนเสียงสามครั้ง) ได้รับการรับประกัน เนื่องจากความน่าจะเป็นที่แน่นอนของข้อผิดพลาดในการจัดหมวดหมู่ 1 อันดับแรกคือ 2-8% สำหรับข้อผิดพลาดใน 10 ชั้นแรกของเครือข่าย นั่นสูงเกินไปสำหรับประสบการณ์การขับขี่ที่ปลอดภัย!

มุมมองของราอูล

การสนับสนุนหลักของ SiFI-AI คือการจำลองข้อผิดพลาดชั่วคราวในตัวเร่งความเร็ว DNN ซึ่งผสมผสานการอนุมาน AI ที่รวดเร็วเข้ากับการจำลอง RTL ที่แม่นยำตามรอบและการฉีดข้อผิดพลาดตามเงื่อนไข ซึ่งเร็วกว่าเทคโนโลยีที่ทันสมัยถึง 7 เท่า (ข้อมูลอ้างอิง 2, Condia et al, การผสมผสานการจำลองทางสถาปัตยกรรมและการฉีดข้อผิดพลาดของซอฟต์แวร์เพื่อการประเมินความน่าเชื่อถือของ CNN บน GPU ที่รวดเร็วและแม่นยำ- เคล็ดลับคือการจำลองเฉพาะสิ่งที่จำเป็นใน RTL ที่แม่นยำของวงจรที่ช้า ข้อบกพร่องที่จำลองขึ้นคือเหตุการณ์ไม่ปกติที่เกิดขึ้นครั้งเดียว (SEU) กล่าวคือ การพลิกบิตชั่วคราวที่เกิดจากผลกระทบภายนอก เช่น การแผ่รังสีและอนุภาคที่มีประจุ ซึ่งคงอยู่จนกระทั่งการดำเนินการเขียนครั้งถัดไป ในกรณีนี้ การค้นหาว่าข้อผิดพลาดเพียงจุดเดียวจะทำให้เกิดข้อผิดพลาดหรือไม่นั้นทำได้ยาก การใช้ข้อมูลซ้ำในระดับสูงอาจนำไปสู่การแพร่กระจายข้อผิดพลาดที่สำคัญ และการจำลองข้อผิดพลาดจำเป็นต้องคำนึงถึงทั้งสถาปัตยกรรมฮาร์ดแวร์และโทโพโลยีโมเดล DNN

SiFI-AI รวมการจำลองฮาร์ดแวร์เข้ากับเฟรมเวิร์ก ML (PyTorch) สำหรับการจำลอง HW นั้นจะใช้ Verilator ซึ่งเป็นโปรแกรมจำลอง Verilog แบบโอเพ่นซอร์สฟรี เพื่อสร้างแบบจำลอง RTL ที่แม่นยำของวงจร ตัวควบคุมข้อบกพร่องจะจัดการการฉีดข้อผิดพลาดตามที่ผู้ใช้กำหนด โดยใช้แนวทางตามเงื่อนไข เช่น รายการเงื่อนไขที่หลีกเลี่ยงไม่ให้มีการปกปิดข้อผิดพลาด ในการเลือกส่วนที่จะจำลองใน RTL มันจะแยกเลเยอร์ออกเป็นไทล์เล็กๆ ตาม "คุณสมบัติของเลเยอร์ กลยุทธ์การปูกระเบื้องแบบวนซ้ำ เค้าโครงตัวเร่งความเร็ว และข้อบกพร่องที่เกี่ยวข้อง” และเลือกไทล์

อุปกรณ์ที่ทดสอบในส่วนทดลองคือ Gemmini ซึ่งเป็นตัวเร่ง DNN อาร์เรย์ซิสโตลิกที่สร้างขึ้นที่ UC Berkeley ในโครงการ Chipyard ในการกำหนดค่าองค์ประกอบการประมวลผล 16 × 16 (PE) SiFI-AI ทำการศึกษาความยืดหยุ่นด้วยการทดลองการฉีดข้อผิดพลาด 1.5 M บนปริมาณงาน DNN ทั่วไปสองรายการ ได้แก่ ResNet-18 และ GoogLeNet ข้อผิดพลาดจะถูกฉีดเข้าไปในรีจิสเตอร์ข้อมูล PE สามชุดและสัญญาณควบคุมหนึ่งสัญญาณ ตามที่ผู้ใช้ระบุ ผลลัพธ์แสดงความน่าจะเป็นของข้อผิดพลาดต่ำ ซึ่งยืนยันความยืดหยุ่นของ DNN นอกจากนี้ยังแสดงให้เห็นว่าความผิดปกติของสัญญาณควบคุมมีผลกระทบมากกว่าความผิดปกติของสัญญาณข้อมูล และชั้นที่กว้างและตื้นจะอ่อนแอกว่าชั้นที่แคบและลึก

นี่เป็นรายงานที่ดีซึ่งช่วยพัฒนาขอบเขตการประเมินความน่าเชื่อถือของ DNN บทความนี้เขียนได้ดีและชัดเจน รวมถึงให้รายละเอียดและข้อมูลอ้างอิงที่เพียงพอเพื่อสนับสนุนคำกล่าวอ้างและผลลัพธ์ แม้ว่าแนวคิดหลักในการรวมการจำลองในระดับต่างๆ จะเก่า แต่ผู้เขียนก็ใช้มันได้อย่างมีประสิทธิภาพมาก เฟรมเวิร์กเช่น SciFI-AI สามารถช่วยนักออกแบบและนักวิจัยปรับแต่งสถาปัตยกรรมของตนให้เหมาะสมและทำให้พวกเขามีความยืดหยุ่นมากขึ้น นอกจากนี้ ฉันยังชอบการวิเคราะห์ผลกระทบของข้อบกพร่องต่อเลเยอร์และสัญญาณต่างๆ ซึ่งเผยให้เห็นข้อมูลเชิงลึกที่น่าสนใจ สามารถปรับปรุงกระดาษได้โดยการให้ข้อมูลเพิ่มเติมเกี่ยวกับกลยุทธ์การฉีดข้อบกพร่องและการเลือกกระเบื้อง แม้ว่าหัวข้อจะค่อนข้างเจาะจง แต่โดยรวมแล้วเป็นบทความที่สนุกมาก!

แชร์โพสต์นี้ผ่าน:

จุด_img

ข่าวกรองล่าสุด

จุด_img