پیش‌بینی خطاهای طراحی چیپ قبل از مسیرکشی، اونم بدون نیاز به کلی داده! (روش جدید با هوش مصنوعی بی‌معلم)

Fall Back

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

بزار اول کلیات قضیه رو باز کنم: توی ساخت چیپ‌های خیلی خیلی کوچیک و باحال مثل پردازنده‌ها، باید کلی قوانین سختگیرانه رو رعایت کنی تا اون تراشه‌ای که آخر کار تحویل میدی بدون هیچ غلط و ایرادی کار کنه. به این قوانین میگن Design Rule Check یا همون DRC، یعنی یه جور چک‌لیست برای جلوگیری از خطاها در طراحی.

حالا چی شده؟ معمولاً برای چک کردن اینکه طرح ما اشتباه داره یا نه، باید کلی داده سالم (بدون ایراد) و ناسالم (با ایراد) جمع کنیم و یه مدل یادگیری با نظارت (Supervised Learning) بسازیم. یادگیری با نظارت یعنی یه مدل هوش مصنوعی رو می‌زاریم و بهش می‌گیم این تصویر خوبه، این بده، این یکی هم خوبه، این یکی هم بده تا کم‌کم یاد بگیره خودش قضاوت کنه. ولی مشکل اینجاست که جمع‌کردن این دیتاها واقعاً کمرشکنه و همیشه هم تعداد نمونه‌های خوب و بد با هم برابر نیست! واسه همین همیشه مدل‌ها ایراد دارن و آموزش دادنشون هم کلی زمان می‌بره.

اینجا هم صحبت ماشین لرنینگ یا همون یادگیری ماشینی وسط میاد که کلی مدل معروف مثل شبکه عصبی (NN، یعنی مدلی که شبیه مغز آدمیه و می‌تونه الگوها رو یاد بگیره) و SVM (Support Vector Machine که یه مدل معروف هست برای دسته‌بندی داده‌ها) وجود داره. همه‌ی اینا باید برن سراغ یادگیری با معلم (supervised)، با همون مشکلات بالا.

اماااااا… یه خبر توپ! تو این مقاله بچه‌ها روش «یادگیری بی‌معلم» یا همون Unsupervised Learning رو انتخاب کردن، یعنی چی؟ یعنی دیگه لازم نیست هر دیتایی رو برچسب بزنی که خوبه یا بده! کافی یه دسته داده فقط از یه نوع داشته باشی (مثلاً فقط طرح سالم) و مدل خودش چک می‌کنه اگه چیزی خارج از این حد و مرز باشه، یعنی مشکوکه. این کار کلی در وقت و انرژی صرفه‌جویی می‌کنه و دیگه واسه اول راه لازم نداری دونه‌دونه همه دیتاها رو دسته‌بندی کنی.

توی این تحقیق، اومدن چندین بخش‌های محاسباتی مختلف رو با تکنولوژی CMOS 28 نانومتری طراحی کردن. CMOS یعنی همون تکنولوژی رایج ساخت تراشه‌ها، ۲۸ نانومتری هم یعنی اندازۀ اجزای سازنده خیلی ریزه. بعدش اومدن با ابزارهای حرفه‌ای مثل Synopsys Design Compiler و IC Compiler II (ابزارهای قدرتمند اتوماسیون طراحی تراشه) این طرح‌ها رو اجرا کردن و برای تجزیه و تحلیل طرح، اونها رو به شبکه یا مشبک‌های کوچیک تقسیم کردن و در نهایت حدود ۶۰ هزار تا داده جمع‌آوری کردن!

حالا بیا یه نگاه به نتیجه‌ها بندازیم: مدل پیشنهادی با همین روش یادگیری بی‌معلم تونسته در پیش‌بینی خطاها دقت ۹۹.۹۵ درصد بگیره! فقط تصور کن چقدر خفنه! برای مقایسه، مدل SVM به دقت ۸۵.۴۴ درصد رسیده و شبکه عصبی ۹۸.۷۴ درصد. یعنی مدل جدیدشون هم دقیق‌تر بوده، هم خیلی سریع‌تر یاد می‌گیره.

بزرگترین برگ برنده‌شون اینه که زمان آموزش مدلشون فوق‌العاده کمتره! تقریباً ۲۶ برابر سریعتر از مدل SVM و حتی تا ۶۰۰۰ برابر (آره واقعاً شش هزار!) سریع‌تر از مدل شبکه عصبی! یعنی اگر قراره آموزش مدل شبکه عصبی مثلاً یک هفته طول بکشه، این یکی مدل جدید چند ساعت بیشتر زمان نمی‌بره تا همون (یا حتی دقیق‌تر) نتیجه رو بده.

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

اگه باز سوال داشتی در مورد هرکدوم از این مفاهیم، بپرس، چون خودم خیلی خوشم اومد از این روش جدید!

منبع: +