<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های Jurejanus</title><link>https://virgool.ir/feed/@erfankarami1515</link><description>اینجا راجع به هوش مصنوعی و ایمنی اون حرف میزنیم.</description><language>fa</language><pubDate>2026-11-10 19:43:12</pubDate><image><url>https://files.virgool.ir/upload/users/783130/avatar/TY2TEq.png</url><title>Jurejanus</title><link>https://virgool.ir/@erfankarami1515</link></image><item><title>CI/CD در عصر ادغام نرم‌افزارها با هوش مصنوعی؛ آیا تست مدل‌های AI با بنچمارک کافی است؟</title><link>https://virgool.ir/@erfankarami1515/cicd-در-عصر-ادغام-نرم-افزارها-با-هوش-مصنوعی-آیا-تست-مدل-های-ai-با-بنچمارک-کافی-است-nnhwskvr4ofr</link><description>در هنگام عبور از خیابان مراقب لباسی که می‌پوشید باشد!توی دنیای نرم‌افزارهای سنتی، فرایند عملیاتی‌سازی نرم‌افزار نسبتاً سرراسته:توسعه ← یکپارچه‌سازی ← تست ← استقرارفرایند عملیاتی سازی نرم افزارتوی فرایند توسعه و عملیاتی‌سازی نرم‌افزار، ما چرخه‌ای مداوم از توسعه، یکپارچه‌سازی، تست و استقرار رو طی می‌کنیم. در این بین، CI/CD با خودکارسازی بخش مهمی از فرایند build، تست، تحویل و استقرار نرم‌افزار، کمک می‌کنه مطمئن بشیم تغییرات جدید قبل از رسیدن به محیط نهایی براساس قابلیت‌هایی که براش تعریف شده به‌درستی اعتبارسنجی شدن. همه‌چیز تا وقتی که در فضای نرم‌افزارهای سنتی هستیم، زیبا به نظر می‌رسه.اما ماجرا به همین‌جا ختم نمی‌شه. مدل‌های هوش مصنوعی روزبه‌روز بیشتر به‌عنوان قطعاتی از نرم‌افزارهای ما در حال ادغام شدن هستن. حالا سؤال اینجاست:فرایند تست و استقرار نرم‌افزارهایی که داخلشون مدل‌های هوش مصنوعی وجود داره، چجوری باید انجام بشه؟شاید جواب مورد انتظار این باشه که قبل از استقرار، عملکرد مدل رو روی چند بنچمارک مشخص ارزیابی کنیم و اگر عملکرد قابل‌قبولی داشت، اون رو مستقر کنیم. اما خب... شیطان در جزئیاته!بیاین برگردیم به کاری که توی نرم‌افزارهای سنتی انجام می‌دادیم. در ساده‌ترین توضیح، مجموعه‌ای از تست‌ها تعریف می‌کردیم تا مطمئن بشیم نرم‌افزار در ازای ورودی‌های مشخص، خروجی‌های مورد انتظار رو تولید می‌کنه.اما آیا معادل این فرایند برای مدل‌های هوش مصنوعی، ارزیابی عملکرد اون‌ها روی بنچمارک‌هاست؟! فععععک فکر نکنم! 😄در واقع، ارزیابی عملکرد مدل روی بنچمارک‌ها کافی نیست و چیزی فراتر از اون لازمه. بذارین با یه مثال ببینیم چرا.فرض کنین شما توسعه‌دهنده سیستم یک خودروی خودران هستید و می‌خواید عملکرد سیستم خودتون رو بسنجید.شاید فکر کنید بررسی عملکرد مدل در محیط شبیه‌سازی‌شده یا واقعی، در شرایط مختلف آب‌وهوایی، دمایی، مسیرهای مختلف و... کافیه، اما نیست.چه‌طور می‌تونیم تضمین داشته باشیم که سیستم هوشمند ما، اگر بچه‌ای با لباس رنگ X رو توی خیابون ببینه، اون رو با یک علامت راهنمایی و رانندگیِ رسم‌شده روی آسفالت اشتباه نمی‌گیره و بهش برخورد نمی‌کنه؟یا هزاران سؤال دیگه از این قبیل...این مسئله وقتی پیچیده‌تر هم می‌شه که فرض کنیم عامل‌های متخاصمی وجود دارن که عمداً سعی می‌کنن عملکرد سیستم شما رو مختل کنن و باعث خطای اون بشن.اینجاست که AI Verification (اعتبارسنجی و تصدیق هوش مصنوعی) وارد ماجرا می‌شه. هدف اینه که به سؤال‌هایی از این دست پاسخ بدیم:آیا می‌تونیم به‌طور قابل‌اثبات تضمین کنیم که سیستم خودروی خودران ما، صرف‌نظر از رنگ لباس عابرپیاده و سایر تغییرات مشخص، همچنان اون رو به‌عنوان عابرپیاده تشخیص می‌ده؟در واقع، روش‌های AI Verification به ما این امکان رو می‌دن که برقرار بودن مجموعه‌ای از ویژگی‌ها و محدودیت‌های مشخص برای ورودی‌ها و خروجی‌های متناظر اون‌ها در مدل‌مون رو به‌صورت قابل‌اثبات بررسی کنیم.اینجا می‌شه دید که برای استقرار مطمئن یک نرم‌افزار حاوی الگوریتم‌های هوشمند، تکیه صرف بر ارزیابی عملکرد روی بنچمارک‌ها کافی نیست. به‌خصوص برای مدل‌هایی که قراره در حوزه‌هایی استفاده بشن که تصمیم‌گیری اشتباه اون‌ها می‌تونه هزینه‌های سنگین و حتی جبران‌ناپذیری داشته باشه، استفاده از روش‌های AI Verification در فرایند تست و استقرار نرم‌افزار، به‌خصوص هنگام به‌روزرسانی مدل‌ها، اهمیت حیاتی پیدا می‌کنه.اما خبر بد اینه که اعتبارسنجی مدل‌های هوش مصنوعی اصلاً مسئله ساده‌ای نیست. این مسئله در دسته مسائل NP-Complete قرار می‌گیره و برای شبکه‌های بزرگ ممکنه فرایند اعتبارسنجی به اندازه آموزش خود شبکه و حتی بیشتر از اون زمان ببره!حالا فرض کنید در آینده‌ای نه‌چندان دور، هر بار که بخوایم فرایند تست و استقرار نرم‌افزار رو انجام بدیم، به اندازه زمانی که برای آموزش مدل داخل اون نرم‌افزار صرف کردیم، زمان لازم داشته باشیم! این دیوانه‌کننده‌ست! 🤯اما از اون طرف، خبرهای خوبی هم وجود داره. می‌شه برای این مسئله، روش‌های اکتشافی(Heuristic) (Sound / درست) و مبتنی بر تقریب ارائه داد که ضمن ارائه اثبات‌های ریاضی، در زمان معقولی هم اجرا بشن. اینجاست که پیدا کردن روش‌های اکتشافی خلاقانه و سریع می‌تونه ارزشمند باشه و حتی به‌عنوان یک حوزه برای خلق ارزش واقعی در آینده صنعت نرم‌افزار مطرح بشه.اگر به این موضوع علاقه دارید و دوست دارید وارد جزئیات بیشتری بشید، پیشنهاد می‌کنم کتاب Introduction to Neural Network Verification از دکتر أوس البرغوثی رو مطالعه کنید؛ کتابی که چکیده‌ای غنی از پژوهش‌های چند سال اخیر در این حوزه رو گردآوری کرده.پ.ن.۱: توسعه هوش مصنوعی، همچنان که مسائل زیادی رو حل می‌کنه، مسائل و چالش‌های جدیدی رو هم پیش روی ما قرار می‌ده. پس اگر اهل خلاقیت و حل مسئله هستید، اصلاً نترسید! بشر قراره با دنیای جدیدی از مسائل روبه‌رو بشه که نیاز به حل شدن دارن؛ با این تفاوت که حالا یک دوست قدرتمند به اسم خودِ هوش مصنوعی رو هم در کنارمون داریم.پ.ن.۲: اونی که باید ازش بترسیم، در واقع هوش مصنوعی نیست؛ بلکه متولیان و صاحبان اون هستن. 😊</description><category>Jurejanus</category><author>Jurejanus</author><pubDate>Sun, 02 Aug 2026 23:27:43 +0330</pubDate></item></channel></rss>