کم‌تر راه برو، کم‌تر بخون: راندمان بهتر توی مسیریابی با تصویر و زبان با یه روش خفن حذف توکن‌ها!

Fall Back

بچه‌ها، اگه تا حالا اسم Vision-and-Language Navigation (که بهش VLN هم می‌گن) رو شنیدین، بدونین منظورش اینه که یه مدل کامپیوتری بتونه فقط با دیدن تصاویر و خوندن دستور، راه خودش رو توی یه محیط پیدا کنه. مثلاً فرض کن یه ربات داری که با دوربین محیط رو می‌بینه و بهش می‌گی “برو اتاق کناری” یا “از راهرو عبور کن” و خودش باید بفهمه کجا باید بره. حالا مشکل اینه که همه مدل‌های بزرگ و خفن (همون مدل‌های بزرگی که این کارها رو خوب انجام می‌دن) کلی منابع و انرژی مصرف می‌کنن و برای دستگاه‌هایی که دسترسی سخت‌افزاری محدوده مثلاً موبایل یا ربات کوچولو، اصلاً مناسب نیستن.

تا حالا یه سریا اومدن سراغ Token Pruning، یعنی چی؟ یعنی بیای از ورودی مدل اون بخش‌هایی که اضافی یا بی‌ربطن رو حذف کنی (توکن‌ها همون بخش‌های اطلاعاتی ورودی مدل هستن، مثل کلمه‌های یه جمله یا بخش‌های یه تصویر). این کار باعث میشه مدل سبک‌تر باشه و سریع‌تر کار کنه، اما خب داستان به این سادگی پیش نمی‌ره…

مثلاً قبلاً کسی به مشکلات خاص VLN توجه نکرده بود! آخه وقتی بی‌دقت یه عالمه توکن رو حذف می‌کنی، ممکنه اطلاعات کلیدی حذف بشه و اون ربات یا مدل، مجبور بشه مسافت بیشتری رو طی کنه یا جاهایی دوباره برگرده عقب (به این می‌گن backtracking). خلاصه، به جای صرفه‌جویی گاهی حتی هزینه پردازش بیشتر هم میشه!

حالا محققای این مقاله یه ایده جدید دارن که کلی باحاله: Navigation-Aware Pruning یا همون NAP. ناپ یعنی حذف هوشمندانه توکن‌ها با در نظر گرفتن خاصیت‌ها و نیازهای مسیریابی. این یعنی مدل می‌فهمه که چه اطلاعاتی واقعاً به درد مسیریابی می‌خورن و فقط اونایی که واقعاً اضافی هستن رو حذف می‌کنه.

NAP چجوری کار می‌کنه؟ اول میاد توکن‌ها رو از هم جدا می‌کنه: یه دسته میشن Foreground (مثلاً چیزهایی که واقعاً می‌تونیم به سمتش حرکت کنیم یا مهم هستن) و یه دسته Background (مثلاً جهت‌هایی توی تصویر که اصلاً نمی‌تونیم به اون سمت حرکت کنیم یا بی‌اهمیتن). اینجوری فقط روی اون Backgroundها عملیات حذف انجام می‌شه و اطلاعات حساس اصلی محفوظ می‌مونه.

یه بخش دیگه از کار هم جذابه، استفاده از مدل‌های بزرگ زبانی (یعنی Large Language Model که مثل ChatGPT خودش می‌تونه متن رو بفهمه و قسمت‌های مهم رو جدا کنه) برای اینکه بفهمن توی دستور، دقیقاً کدوم بخشش واقعاً برای مسیریابی به درد می‌خوره و کدوم بخشا اضافیه.

یه نکته خفن دیگه: برای اینکه ربات مجبور نشه کلی مسیر رو اشتباهی بره و برگرده (یعنی مشکل backtracking پیش نیاد)، ناپ میاد اون nodeهایی که براش اهمیتی ندارن رو حذف می‌کنه تا حتی مسافت طی‌شده هم کمتر شه.

نتیجه چی میشه؟ توی آزمایش‌های استاندارد VLN، این روش ناپ حسابی گل کاشته و نسبت به کارهای قبلی، هم موفقیت بیشتری داشته هم بیش از ۵۰٪ مقدار محاسبات مورد نیاز (FLOPS یه نوع واحد محاسباتی کامپیوتره) رو کم کرده.

یعنی هم مدل سریعتر و سبک‌تر کار می‌کنه، هم بازدهی بهتری داره و دستورها رو نادیده نمی‌گیره! خلاصه اگه دنبال راندمان و عملیات سریع توی مدل‌های ترکیبی تصویر و زبان هستی و نمی‌خوای راهت رو گم کنی، این روش خیلی می‌تونه کمکت کنه!

منبع: +