تا حالا شده بخوای یه مدل هوش مصنوعی خفن رو روی یه دستگاه ساده اجرا کنی و بخوری به مشکل؟ خب این دقیقاً موضوع این تحقیقه! خیلی وقتها مدلهای جدید و پیشرفته هوش مصنوعی (مثلاً همونهایی که توی چتباتها یا سیستمهای هوشمند درمانی استفاده میشن)، انقدر بزرگ و پرمصرف هستن که روی موبایل یا کامپیوترهای معمولی اجرا نمیشن یا مصرف باتریشون آدمو دیوونه میکنه! حتی میزان رم و سرعت پردازش رو هم حساب کن، خیلی جاها اصلاً جواب نمیده.
حالا راهحل چیه؟ اینجا تیم تحقیقاتی اومدن یه کار باحال کردن: اومدن سراغ بهینهسازی مدلها، اونم مخصوص کاربردهای پزشکی.
یکی از روشهایی که توی این مقاله معرفی شده، اسمش هست کوانتایز کردن (Quantization). یعنی چی؟ خیلی ساده بگم: وقتی مدل رو کوانتایز میکنی، اعدادی که مدل باهاشون کار میکنه رو کوچیکتر و جمعوجورتر میکنی، مثلاً عددهای ۳۲ بیتی رو میکنی ۸ بیتی! این باعث میشه هم سرعت بالا بره هم حافظه کمتری مصرف بشه.
اما خودشون اومدن با چندتا ابزار تخصصی و روش بهروز سر و کله زدن. مثلاً گفتن ما Microsoft Olive رو آوردیم وسط؛ یه پلتفرمه که بهت اجازه میده مدل رو روی پلتفرمهای مختلف اجرا (یا اصطلاحاً Deploy) کنی و ببینی کجا بهترین عملکرد رو میگیری. بعدش از ONNX Runtime backend استفاده کردن. اگه نمیدونی، ONNX یه فرمت مشترک واسه مدلهای هوشمنده که میشه تو جاهای مختلف مدل رو اجرا کرد و دیگه لازم نیست مدل رو برای هر سیستم جدید بازنویسی کنی.
حالا اومدن سراغ یک مرحله مهمتر: Dynamic Quantization یا کوانتایز داینامیک. این یعنی مدل رو حین اجرا تا حد ممکن جمعوجور میکنن تا سرعت بره بالا و منابع کمتر مصرف کنه.
برای این کار هم از Intel Neural Compressor و IPEX (که مخفف Intel Extension for PyTorch هست) استفاده کردن. این دوتا ابزار بیشتر به درد کاربرای حرفهای و دیتاسنترها میخوره تا بتونه مدلهای PyTorch رو بهینهتر کنه.
همه این بهینهسازیها رو روی مسابقه DEFT 2020 تست کردن. یه کمپین معروفه که به تیمها چند تا وظیفه خاص میده که با مدلهای هوش مصنوعی به بهترین جواب برسن. تیم تحقیقاتی تونستن توی هردو بخش این مسابقه رکورد جدید ثبت کنن و بقیه رو جا بذارن!
البته یه نکته مهم اینجا هست: با اینکه مدل رو انقدر کوچیک و سریع کردن، کیفیت جوابهاشون هیچ فرقی با قبل نکرد! یعنی دقت و درستی مدل همون مونده، تازه ۲۰ برابر سریعتر جواب میده، و بیش از ۷۰ درصد کمتر رم مصرف میکنه! واقعاً شگفتانگیزه.
در کل اگه دنبال اینی که مدلهای سنگین پزشکی و بیومدیکال رو بیاری روی دستگاههای ضعیفتر، یا وقت و حافظه کمتری مصرف کنی، این سبک بهینهسازی و سرچ برای تنظیم «کوانتایز» بهترین گزینهست. تازه با استفاده از شباهت معنایی کلمات (یا همون Cosine-based semantic similarity که یعنی مدل میفهمه کدوم واژهها از نظر معنی به هم نزدیکترن)، تونستن کارشون رو خیلی حرفهایتر و دقیقتر انجام بدن؛ مخصوصاً برای ترجمه بین دیکشنری ساده پزشکی و دیتابیس بزرگ UMLS.
خلاصه که آینده مدلهای هوشمند پزشکی واقعاً داره سریعتر و بهینهتر میشه و با این حرکتها شاید بزودی روی هر موبایلی بشه از این مدلها استفاده کرد!
منبع: +