هوش مصنوعی SmolVLA چیست؛ مدل کارآمد بینایی-زبان-اقدام برای رباتیک متن‌باز

تیم LeRobot هاگینگ‌فیس (Hugging Face) در خردادماه ۱۴۰۴ (ژوئن ۲۰۲۵)، مدلی به نام SmolVLA را معرفی کرد؛ مدلی فشرده با ۴۵۰ میلیون پارامتر از خانواده‌ی بینایی-زبان-اقدام (Vision-Language-Action یا VLA) که برخلاف بسیاری از رقبای خود، به‌طور کامل متن‌باز است و روی سخت‌افزار مصرفی معمولی هم اجرا می‌شود. در این مقاله، معماری، ترفندهای فنی و نتایج این مدل را بررسی می‌کنیم.

مدل‌های VLA چه مشکلی را حل می‌کنند؟

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

مدل‌های بینایی-زبان-اقدام دقیقاً برای حل همین مشکل به وجود آمده‌اند؛ این مدل‌ها ادراک بصری، فهم زبان و پیش‌بینی اقدام را در یک معماری واحد ادغام می‌کنند. با این حال، بخش زیادی از پیشرفت‌های اخیر در این حوزه، پشت مدل‌ها و دیتاست‌های خصوصی بزرگ پنهان مانده است که معمولاً به سخت‌افزار پرهزینه و منابع مهندسی گسترده نیاز دارند؛ همین وضعیت، بازتولید و توسعه‌ی این مدل‌ها را برای جامعه‌ی گسترده‌تر پژوهشی رباتیک دشوار کرده است. از سوی دیگر، SmolVLA مدلی متن‌باز، فشرده و کارآمد است که تنها با استفاده از دیتاست‌های عمومی و سخت‌افزار مصرفی قابل آموزش خواهد بود.

دو جزء اصلی مدل متن‌باز smolVLA

SmolVLA از دو بخش اصلی تشکیل شده است. بخش نخست، یک مدل بینایی-زبان (VLM) بر پایه‌ی SmolVLM2 است که رمزگذار بصری از نوع SigLIP و رمزگشای زبانی به نام SmolLM2 را در خود جای داده است. توکن‌های تصویری از رمزگذار بصری استخراج می‌شوند، دستورهای زبانی مستقیماً به رمزگشا تغذیه می‌شوند، و وضعیت حسی-حرکتی ربات (Sensorimotor State) هم از طریق یک لایه‌ی خطی به یک توکن واحد تبدیل می‌شود.

بخش دوم، متخصص اقدام (Action Expert) نام دارد؛ یک ترنسفورمر فشرده با حدود ۱۰۰ میلیون پارامتر که دنباله‌ای از اقدام‌های آینده‌ی ربات را، بر اساس ویژگی‌های استخراج‌شده توسط بخش بینایی-زبان، تولید می‌کند. این بخش با هدف تطبیق جریان (Flow Matching) آموزش می‌بیند؛ روشی که در آن، نویز تصادفی به دنباله‌ی اقدام‌های واقعی ربات اضافه می‌شود و مدل یاد می‌گیرد بردار اصلاحی لازم برای بازگرداندن این دنباله به مسیر درست را پیش‌بینی کند. برخلاف روش‌های مبتنی بر توکن‌سازی گسسته که به رمزگشایی خودبازگشتی (Autoregressive) و کند نیاز دارند، تطبیق جریان امکان پیش‌بینی مستقیم و پیوسته‌ی اقدام‌ها را فراهم می‌کند؛ ویژگی‌ای که برای کنترل بلادرنگ و دقیق ربات، اهمیت زیادی دارد.

سه ترفند برای کارآمدی و استحکام

توسعه‌دهندگان SmolVLA سه تکنیک مهندسی مشخص برای افزایش سرعت و استحکام مدل به کار برده‌اند.

نخست، کاهش تعداد توکن‌های بصری؛ به‌جای پردازش ۱۰۲۴ توکن برای هر تصویر ۵۱۲ در ۵۱۲ پیکسلی، مدل با استفاده از تکنیک PixelShuffle، این تعداد را به ۶۴ توکن در هر فریم کاهش می‌دهد.

دوم، پرش از لایه‌های بالایی مدل بینایی-زبان؛ به‌جای تکیه بر خروجی آخرین لایه (که پردازش آن پرهزینه است)، متخصص اقدام تنها به ویژگی‌های لایه‌های میانی تا نیمه‌ی مدل توجه می‌کند. همین تصمیم، هزینه‌ی محاسباتی هر دو بخش را نصف می‌کند، بدون آنکه افت محسوسی در دقت ایجاد شود.

سوم، ترکیب لایه‌های توجه متقاطع و خودتوجهی در متخصص اقدام. توجه متقاطع (Cross-Attention) کمک می‌کند اقدام‌ها بر اساس ادراک و دستور زبانی، به‌درستی شکل بگیرند، در حالی که خودتوجهی (Self-Attention) زمان حرکت را بهبود می‌بخشد؛ ترکیبی که از تکیه‌ی صرف بر هرکدام از این دو، هم سبک‌تر و هم مؤثرتر است.

استنتاج ناهم‌زمان برای پاسخ‌گویی سریع‌تر به دنیای واقعی

سیاست‌های کنترلی مدرن معمولاً تکه‌های اقدام (Action Chunks؛ دنباله‌ای از چند اقدام پیاپی) تولید می‌کنند. در حالت هم‌زمان (Synchronous)، ربات یک تکه را اجرا می‌کند و سپس تا محاسبه‌ی تکه‌ی بعدی مکث می‌کند؛ روشی ساده اما همراه با وقفه‌ای که واکنش‌پذیری ربات به تغییرات محیط را کاهش می‌دهد. در روش ناهم‌زمان (Asynchronous) که تیم توسعه معرفی کرده، ربات همان لحظه که در حال اجرای تکه‌ی فعلی است، آخرین مشاهده‌ی خود را برای یک سرور (که می‌تواند روی یک کارت گرافیک قدرتمند و از راه دور میزبانی شود) ارسال می‌کند تا تکه‌ی بعدی از پیش آماده شود. این سازوکار بر سه پایه استوار است: فعال‌سازی زودهنگام وقتی صف اقدام‌های باقی‌مانده به زیر ۷۰ درصد می‌رسد، اجرای موازی و غیرمسدودکننده‌ی حلقه‌ی کنترل و استنتاج، و ادغام روان تکه‌های اقدام همپوشان برای جلوگیری از پرش ناگهانی حرکت.

نتایج آزمایش این روش چشمگیر است؛ هر دو حالت هم‌زمان و ناهم‌زمان به نرخ موفقیت مشابهی (حدود ۷۸ درصد) می‌رسند، اما حالت ناهم‌زمان وظایف را حدود ۳۰ درصد سریع‌تر (۹.۷ ثانیه در برابر ۱۳.۷۵ ثانیه) به پایان می‌رساند و در یک بازه‌ی زمانی ثابت، تا دو برابر تعداد وظایف بیشتری (۱۹ مکعب در برابر ۹ مکعب) را کامل می‌کند؛ نتیجه‌ای که به‌ویژه در محیط‌های پویا با اجسام درحال‌جابه‌جایی یا اختلال‌های خارجی، اهمیت زیادی پیدا می‌کند.

داده‌های آموزشی برگرفته از انجمن کاربران

مدل‌های بینایی و زبان از دیتاست‌های عظیم اینترنتی مانند LAION و ImageNet بهره می‌برند، اما رباتیک چنین منبع مشابهی ندارد؛ چیزی موسوم به «اینترنت ربات‌ها» وجود ندارد و داده‌ها میان انواع مختلف ربات، حسگر، طرح کنترلی و فرمت، پراکنده باقی مانده‌اند. تیم SmolVLA برای حل این مسئله، به دیتاست‌های اشتراکی جامعه‌ی کاربران روی هاگینگ‌فیس (با برچسب lerobot) روی آورده که در محیط‌هایی از آزمایشگاه تا اتاق نشیمن جمع‌آوری شده‌اند.

از میان این دیتاست‌های عمومی، تیم توسعه پس از فیلترکردن داده‌ها بر اساس تعداد فریم، کیفیت تصویر و پوشش وظیفه و پس از بازبینی دستی دقیق، مجموعه‌ای شامل ۴۸۷ دیتاست باکیفیت متمرکز بر بازوی رباتیک SO100 را با نرخ ۳۰ فریم بر ثانیه گردآوری کردند. مجموعه‌ای در حدود ۱۰ میلیون فریم که دست‌کم یک مرتبه کوچک‌تر از دیتاست‌های رایج است، اما تنوع به‌مراتب بیشتری دارد.

برای رفع مشکل برچسب‌های ناقص یا مبهم وظیفه (مانند حرکت یا برداشتن بدون جزئیات بیشتر)، تیم توسعه از مدل Qwen2.5-VL برای بازنویسی توصیف‌های کوتاه و دقیق استفاده کرد. نام‌گذاری دوربین‌ها هم که میان دیتاست‌های مختلف ناسازگار بود، به صورت یک طرح استاندارد (دید از بالا، دید روی مچ ربات و دیدهای اضافی) یکسان‌سازی شد. مدلی که بدون این پیش‌آموزش تنها ۵۱.۷ درصد نرخ موفقیت روی SO100 داشت، پس از آن به ۷۸.۳ درصد رسید؛ بهبودی مطلق و قابل‌توجه معادل ۲۶.۶ درصد.

مدلی کوچک که از رقبای بزرگ‌تر جلو می‌زند

با وجود آموزش با کمتر از ۳۰ هزار قسمت آموزشی، یعنی یک مرتبه کمتر از بیشتر مدل‌های VLA دیگر، SmolVLA در آزمون‌های شبیه‌سازی (LIBERO و Meta-World) و در وظایف واقعی روی بازوهای رباتیک SO100 و SO101، به عملکردی برابر یا بهتر از مدل‌های بزرگ‌تر و پایه‌های قدرتمندی مانند ACT دست یافته است. نکته‌ی جالب‌تر، توانایی تعمیم این مدل به بدنه‌ی رباتیک تازه است؛ هرچند اصل پیش‌آموزش روی داده‌ی SO100 انجام شده، مدل توانسته روی بازوی SO101 هم عملکرد رقابتی از خود نشان دهد.

چگونه می‌توان از این مدل استفاده کرد

نصب و استفاده از SmolVLA نسبتاً ساده طراحی شده است؛ کافی است مخزن نرم‌افزاری LeRobot را دریافت و بسته‌ی مربوط به این مدل را نصب کرد. توسعه‌دهندگان می‌توانند مدل پایه‌ی از پیش آموزش‌دیده (با نام smolvla_base) را روی دیتاست اختصاصی خود Fine-tune کنند، یا کل معماری را از ابتدا و از صفر آموزش دهند. از آنجا که این مدل به‌اندازه‌ی کافی سبک است، حتی روی یک واحد پردازش مرکزی معمولی یا یک لپ‌تاپ هم قابل اجراست و برای آزمایش، با سخت‌افزارهای نسبتاً ارزان‌قیمتی مانند بازوهای SO-100 و SO-101 و ربات متحرک LeKiwi سازگاری کامل دارد.


نکته‌ای که SmolVLA را در ادامه‌ی گزارش‌های پیشین ما درباره‌ی هوش مصنوعی فیزیکی جالب می‌کند، این است که همین مدل، مغز پروژه‌ای بود که پیش‌تر در ویکی‌ربات معرفی کردیم؛ بازوی رباتیک ارزان‌قیمت SO-101 که با مغز Arduino VENTUNO Q و تنها ۵۰ نمونه‌ی آموزشی، وظیفه‌ی برداشتن اردک‌های لاستیکی را یاد گرفت.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *