تشخیص ناهنجاری از طریق ML. نوآوری در تأیید - Semiwiki

تشخیص ناهنجاری از طریق ML. نوآوری در تأیید - Semiwiki

گره منبع: 2860927

راستی‌آزمایی مبتنی بر ادعا فقط مشکلاتی را می‌گیرد که شما برای آنها اظهارات نوشته‌اید. آیا رویکرد مکملی برای یافتن مشکلاتی که در نظر نگرفته‌اید وجود دارد - مجهولات ناشناخته؟ پل کانینگهام (معاون ارشد/معاون ارشد، تأیید در کادنس)، رائول کامپوسانو (کاتالیست سیلیکون، کارآفرین، مدیر ارشد فناوری سابق Synopsys و اکنون مدیر ارشد فناوری سیلواکو) و من مجموعه خود را در مورد ایده های تحقیقاتی ادامه می دهیم. مثل همیشه، بازخورد استقبال می شود.

نوآوری

انتخاب این ماه است تشخیص ناهنجاری مبتنی بر یادگیری ماشین برای تشخیص اشکال پس از سیلیکون. مقاله در کنفرانس DATE 2013 منتشر شد. نویسندگان از دانشگاه میشیگان هستند.

روش‌های تشخیص ناهنجاری در جایی که نمی‌توانید چیزی را که به دنبال آن هستید از قبل مشخص کنید، به عنوان مثال در کلاهبرداری از کارت اعتباری یا در امنیت بلادرنگ که هک‌ها همچنان در حال تکامل هستند، رایج هستند. این روش رفتارها را در یک دوره آزمایشی جمع‌آوری می‌کند، به صورت دستی غربالگری می‌شود تا در رفتار مورد انتظار در نظر گرفته شود، سپس به دنبال موارد پرت در آزمایش‌های جاری به عنوان مشکلات بالقوه برای بررسی دقیق‌تر می‌گردد.

تکنیک‌های تشخیص ناهنجاری یا از تحلیل‌های آماری یا یادگیری ماشینی استفاده می‌کنند. این مقاله از یادگیری ماشین برای ساخت مدلی از رفتار مورد انتظار استفاده می کند. همچنین می توانید به راحتی تصور کنید که این تجزیه و تحلیل به سمت راستی آزمایی پیش سیلیکونی منتقل شود.

دیدگاه پل

در این ماه مقاله 10 سال پیش در مورد استفاده از یادگیری ماشینی برای ریشه‌یابی خودکار اشکالات در اعتبارسنجی پس از سیلیکون تهیه کردیم. خواندن آن سرگرم کننده است و برای بازدید مجدد اکنون با استفاده از DNN یا LLM مناسب به نظر می رسد.

نویسندگان باگ‌های ریشه‌ای پس از سیلیکون را با تشخیص تقلب در کارت اعتباری برابر می‌دانند: هر سیگنالی که در هر چرخه ساعتی ردیابی می‌شود را می‌توان به عنوان یک تراکنش کارت اعتباری در نظر گرفت، و مشکل ریشه‌ای ایجاد یک باگ مشابه شناسایی تراکنش تقلبی کارت اعتباری می‌شود. .

رویکرد نویسندگان به شرح زیر است: شبیه‌سازی‌ها را به برش‌های زمانی تقسیم کنید و درصد زمانی را که هر سیگنال اشکال‌زدایی ردیابی شده پس از سیلیکون در هر برش زمانی بالا است، ردیابی کنید. سپس سیگنال ها را بر اساس سلسله مراتب ماژول تقسیم بندی کنید، با هدف اندازه ماژول حدود 500 سیگنال. برای هر ماژول در هر آموزش برش زمانی، مدلی از توزیع "مورد انتظار" سیگنال درصد بالا با استفاده از مجموعه ای طلایی از ردیابی های پست سیلیکونی بدون اشکال. این مدل یک خوشه بندی K-means بسیار ساده از سیگنال ها با استفاده از اختلاف در % بالا به عنوان "فاصله" بین دو سیگنال است.

برای هر تست پس از سیلیکون ناموفق، % توزیع سیگنال بالا برای هر ماژول در هر برش زمانی با مدل طلایی مقایسه می‌شود و تعداد سیگنال‌هایی که % زمان بالای آنها خارج از جعبه مرزی خوشه مدل طلایی آن است، شمارش می‌شود. اگر این عدد بیش از یک آستانه نویز باشد، آن سیگنال‌ها در آن برش زمانی به‌عنوان علت اصلی خرابی علامت‌گذاری می‌شوند.

این ایده جالبی است، اما در 30 مورد تست OpenSPARC که محک زده شده است، XNUMX درصد از آزمایش‌ها زمان یا سیگنال‌های صحیح را گزارش نمی‌کنند، که برای استفاده عملی بسیار زیاد است. من دوست دارم ببینم اگر یک LLM یا DNN مدرن به جای خوشه بندی ساده k-means استفاده شود چه اتفاقی می افتد.

دیدگاه رائول

این مقاله "اوایل" مربوط به سال 2013 است که از یادگیری ماشین برای تشخیص اشکال پس از سیلیکون استفاده می کند. در حال حاضر این باید کار پیشرفته ای باشد که با 62 نقل قول در Google Scholar فهرست شده است.

ایده مستقیم است: آزمایشی را بارها روی یک طرح پس از سیلیکون انجام دهید و نتایج را ثبت کنید. هنگامی که باگ های متناوب رخ می دهند، اجرای مختلف یک آزمون نتایج متفاوتی را به همراه دارد، برخی از آنها با موفقیت و برخی ناموفق. خرابی های متناوب، اغلب به دلیل رویدادهای ناهمزمان روی تراشه و اثرات الکتریکی، از سخت ترین موارد تشخیص هستند. نویسندگان به طور مختصر استفاده از یادگیری تحت نظارت، به ویژه یادگیری یک کلاسه را در نظر می گیرند (فقط داده های آموزشی مثبت در دسترس است، اشکالات نادر هستند)، اما آن را به عنوان " نادیده می گیرند.برای کاربرد یافتن اشکال مناسب نیست". در عوض اعمال می کنند k-به معنی خوشه بندی نتایج مشابه به گروه بندی می شوند k خوشه های متشکل از نتایج "نزدیک" که فاصله مجموع مربعات را در خوشه ها به حداقل می رساند. این مقاله جزئیات فنی متعددی را که برای بازتولید نتایج ضروری است نشان می‌دهد: نتایج به‌عنوان «ثبت می‌شوند.کسری از زمان مقدار سیگنال در مرحله زمانی یک بود. تعداد سیگنال های یک طرح، از مرتبه 10,000، ابعاد در است k-به معنای خوشه بندی است که با توجه به تعداد ابعاد NP-hard است، بنابراین تعداد سیگنال ها با استفاده از تجزیه و تحلیل مؤلفه های اصلی به 500 محدود می شود. تعداد خوشه‌ها نمی‌تواند خیلی کم باشد (زیادی) و یا خیلی بزرگ (بیش از حد)؛ یک آستانه تشخیص ناهنجاری مناسب باید انتخاب شود، که به عنوان درصد کل نمونه های ناموفق مورد بررسی بیان می شود. محلی‌سازی زمانی یک باگ با تشخیص ناهنجاری دو مرحله‌ای به دست می‌آید، تشخیص اینکه کدام مرحله زمانی تعداد کافی ناهنجاری را برای آشکار کردن وقوع یک باگ نشان می‌دهد و سپس در دور دوم سیگنال‌های باگ مسئول را شناسایی می‌کند.

آزمایش‌ها برای طراحی OpenSPARC T2 از حدود 500 میلیون ترانزیستور، 10 بار کاری با طول‌های آزمایشی بین 60,000 تا 1.2 میلیون چرخه را هر کدام 100 بار به عنوان آموزش اجرا کردند. سپس 10 خطا را تزریق کردند و 1000 تست باگی را انجام دادند. به طور متوسط ​​347 سیگنال برای یک باگ شناسایی شد (از هیچ تا 1000) و 350 سیکل تاخیر از تزریق باگ تا تشخیص باگ طول کشید. تعداد خوشه‌ها و آستانه تشخیص به‌شدت بر نتایج تأثیر می‌گذارد، همانطور که کمیت داده‌های آموزشی نیز تأثیرگذار است. مثبت کاذب و منفی کاذب به 30-40 اضافه می شود (در 1000 تست باگی).

حتی اگر نویسندگان مشاهده کنند که "به طور کلی، از بین 41,743 سیگنال در سطح بالای OpenSPARC T2، الگوریتم تشخیص ناهنجاری 347 سیگنال را شناسایی کرد که میانگین آن بیش از باگ ها بود. این نشان دهنده 0.8٪ از کل سیگنال ها است. بنابراین، رویکرد ما قادر است مخزن سیگنال‌ها را تا 99.2% کاهش دهد.، در عمل این ممکن است کمک زیادی به یک طراح با تجربه نباشد. 10 سال گذشته است، تکرار این کار با استفاده از قابلیت های یادگیری ماشین امروزی، به عنوان مثال LLM برای تشخیص ناهنجاری، جالب خواهد بود.

اشتراک گذاری این پست از طریق:

تمبر زمان:

بیشتر از نیمه ویکی