Logo Zephyrnet

Symulacja usterek dla bezpieczeństwa AI. Innowacje w weryfikacji – Semiwiki

Data:

Więcej treści motoryzacyjnych 😀

W nowoczesnych samochodach bezpieczeństwem kierują w równym stopniu funkcje oparte na sztucznej inteligencji, jak i tradycyjna logika i oprogramowanie. W jaki sposób można ocenić te funkcje pod kątem błędów na potrzeby analizy FMEDA? Paul Cunningham (GM, Verification w Cadence), Raúl Camposano (Silicon Catalyst, przedsiębiorca, były dyrektor ds. technologii Synopsys, a obecnie dyrektor ds. technicznych Silvaco) i ja kontynuujemy naszą serię dotyczącą pomysłów badawczych. Jak zawsze, opinie mile widziane.

Symulacja usterek na potrzeby oceny bezpieczeństwa AI

Innowacja

Wybór w tym miesiącu to SiFI-AI: szybka i elastyczna platforma do symulacji usterek RTL dostosowana do modeli i akceleratorów AI. Ten artykuł został opublikowany podczas Sympozjum Wielkich Jezior w 2023 r. na temat VLSI. Autorzy pochodzą z Instytutu Technologicznego w Karlsruhe w Niemczech.

ISO 26262 wymaga analizy bezpieczeństwa opartej na metodach FMEDA z wykorzystaniem symulacji usterek w celu oceny wrażliwości funkcji krytycznych na błędy przejściowe i systematyczne oraz skuteczności logiki łagodzenia w celu ochrony przed błędami. Analiza rozpoczyna się od wiedzy eksperta ds. projektowania, jakie zachowania wysokiego poziomu należy zagwarantować oraz jakie realistyczne awarie mogą powodować błędy w tych zachowaniach.

Ta specjalistyczna wiedza jest już wykorzystywana w przypadku konwencjonalnej logiki i oprogramowania, ale jeszcze nie w przypadku modeli sztucznej inteligencji (sieci neuronowych) i akceleratorów, na których działają. Inżynierowie ds. bezpieczeństwa potrzebują pomocy w badaniu trybów i skutków awarii w komponentach AI, aby wiedzieć, gdzie i jak powodować błędy w modelach i sprzęcie. Co więcej, analiza ta musi przebiegać z praktyczną szybkością na dużych modelach typowych dla DNN. Autorzy proponują nową technikę, która ich zdaniem działa znacznie szybciej niż obecne metody.

Pogląd Pawła

Dający do myślenia i intrygujący artykuł: jak ocenić ryzyko wystąpienia przypadkowych usterek sprzętowych w akceleratorze AI wykorzystywanym do wspomagania kierowcy lub jazdy autonomicznej? Wnioskowanie AI samo w sobie jest metodą statystyczną, więc określenie związku pomiędzy przypadkowym przesunięciem bitu gdzieś w akceleratorze a nieprawidłowym wnioskiem nie jest trywialne.

W artykule zaproponowano zbudowanie systemu, który może „zamienić” rzeczywistą symulację RTL pojedynczej warstwy sieci neuronowej, co w przeciwnym razie byłoby czysto programowym wnioskowaniem tej sieci w PyTorch. Do symulowanej warstwy RTL można wprowadzić błąd, aby ocenić wpływ tego błędu na ogólną operację wnioskowania.

Autorzy demonstrują swoją metodę na akceleratorze AI typu open source Gemmini obsługującym sieci klasyfikacji obrazów ResNet-18 i GoogLeNet. Obserwują, że każdy element macierzy akceleratora Gemmini ma 3 rejestry (aktywacja wejścia, waga i suma częściowa) oraz sygnał wyboru wagi, łącznie 4 możliwe typy błędów do wstrzyknięcia. Przeprowadzają 1.5 miliona eksperymentów z wnioskowaniem, do każdego wstrzyknięto losowy błąd, sprawdzając, czy pierwsza klasyfikacja z sieci jest nieprawidłowa. Ich czas działania jest imponujący 1 razy szybszy niż poprzednie prace, a wykresy potwierdzają intuicyjne oczekiwanie, że awarie we wcześniejszych warstwach sieci mają większy wpływ niż te w głębszych warstwach.

Ponadto z ich danych jasno wynika, że ​​pewna forma sprzętowego mechanizmu bezpieczeństwa (np. potrójne głosowanie) jest uzasadniona, ponieważ bezwzględne prawdopodobieństwo wystąpienia błędu klasyfikacji na pierwszym miejscu wynosi 1–2% w przypadku usterek w pierwszych 8 warstwach sieci. To zdecydowanie za dużo, aby zapewnić bezpieczną jazdę!

Pogląd Raula

Głównym wkładem SiFI-AI jest symulacja usterek przejściowych w akceleratorach DNN, łącząc szybkie wnioskowanie AI z symulacją RTL z dokładnością do cyklu i wstrzykiwaniem usterek w oparciu o warunki. Jest to 7 razy szybsze niż w stanie techniki (odnośnik 2, Condia i in., Połączenie symulacji architektonicznej i wstrzykiwania błędów oprogramowania w celu szybkiej i dokładnej oceny niezawodności CNN na procesorach graficznych). Sztuka polega na tym, aby symulować tylko to, co jest konieczne w RTL z wolnym cyklem i dokładnością. Modelowane błędy to zaburzenia spowodowane pojedynczym zdarzeniem (SEU), tj. przejściowe przesunięcia bitów wywołane efektami zewnętrznymi, takimi jak promieniowanie i naładowane cząstki, które utrzymują się aż do następnej operacji zapisu. Ustalenie, czy pojedynczy błąd spowoduje błąd, jest w tym przypadku szczególnie trudne; wysoki stopień ponownego wykorzystania danych może prowadzić do znacznej propagacji błędów, a symulacja błędów musi uwzględniać zarówno architekturę sprzętową, jak i topologię modelu DNN.

SiFI-AI integruje symulację sprzętową ze strukturą ML (PyTorch). Do symulacji sprzętu wykorzystuje Verilator, darmowy symulator Verilog o otwartym kodzie źródłowym, do generowania dokładnych modeli RTL. Kontroler usterek zarządza wprowadzaniem usterek zgodnie z zaleceniami użytkownika, stosując podejście oparte na warunkach, tj. listę warunków, które pozwalają uniknąć maskowania usterki. Aby wybrać, która część jest symulowana w RTL, rozkłada warstwy na mniejsze kafelki w oparciu o „właściwości warstwy, strategia układania pętli, układ akceleratora i odpowiedni błąd” i wybiera kafelek.

Urządzeniem testowanym w części eksperymentalnej jest Gemmini, akcelerator DNN z układem skurczowym, powstały na Uniwersytecie Kalifornijskim w Berkeley w projekcie Chipyard, w konfiguracji 16×16 elementów przetwarzających (PE). SiFI-AI przeprowadza badanie odporności za pomocą eksperymentów wstrzykiwania błędów 1.5 M na dwóch typowych obciążeniach DNN, ResNet-18 i GoogLeNet. Błędy są wstrzykiwane do trzech rejestrów danych PE i jednego sygnału sterującego, zgodnie z wymaganiami użytkownika. Wyniki wskazują na niskie prawdopodobieństwo błędu, potwierdzając odporność DNN. Pokazują również, że błędy sygnału sterującego mają znacznie większy wpływ niż błędy sygnału danych oraz że szerokie i płytkie warstwy są bardziej podatne niż wąskie i głębokie warstwy.

Jest to dobry artykuł, który rozwija dziedzinę oceny niezawodności DNN. Artykuł jest dobrze napisany i przejrzysty oraz zawiera wystarczające szczegóły i odniesienia na poparcie twierdzeń i wyników. Chociaż podstawowa koncepcja łączenia symulacji na różnych poziomach jest stara, autorzy wykorzystują ją bardzo skutecznie. Struktury takie jak SciFI-AI mogą pomóc projektantom i badaczom zoptymalizować ich architektury i zwiększyć ich odporność. Podoba mi się także analiza wpływu usterek na różne warstwy i sygnały, która ujawnia kilka interesujących spostrzeżeń. Artykuł można ulepszyć, dostarczając więcej informacji na temat strategii wstrzykiwania usterek i wyboru płytek. Mimo dość specyficznego tematu, ogólnie artykuł bardzo przyjemny!

Udostępnij ten post przez:

spot_img

Najnowsza inteligencja

spot_img