اجرای مدلهای دنیای کوچک و بازیها روی تراشه Raspberry Pi Pico 2 W با Rust — A tiny world model running games on a Raspberry Pi Pico 2 W
خلاصه
پروژه tinyworldformer نشان میدهد چگونه میتوان با استفاده از ترنسفورمرهای حلقوی سبک و کوانتیزهشده، بازیهای سادهای مانند Doom-lite و Breakout را روی یک میکروکنترلر ارزانقیمت Raspberry Pi Pico 2 W اجرا کرد. این سیستم شامل دو شبکه عصبی کوچک است که یکی محیط را شبیهسازی میکند و دیگری بازی را انجام میدهد.
پروژه جدید tinyworldformer که با زبان Rust توسعه داده شده است، رویکردی جذاب برای اجرای مدلهای هوش مصنوعی بسیار کوچک روی سختافزارهای محدود ارائه میدهد. این مخزن گیتهاب نشان میدهد که چطور میتوان بازیهای کلاسیک کوچک را به کمک شبکههای عصبی فشرده روی یک میکروکنترلر ارزانقیمت مانند Raspberry Pi Pico 2 W شبیهسازی کرد و بازی داد.
این پروژه چیست و چه مشکلی را حل میکند؟
هدف اصلی این پروژه بررسی این مسئله است که آیا میتوان مدلهای پیشبینیکننده دنیا (World Models) را به حدی کوچک کرد که روی سختافزارهای بسیار ضعیف و کممصرف (مثل میکروکنترلرهای مبتنی بر تراشه RP2350) اجرا شوند یا خیر. نویسنده پروژه برای رسیدن به این هدف از ترنسفورمرهای حلقوی (Looped Transformers) بهره برده است که در آنها یک بلوک ترنسفورمر واحد چندین بار با وزنهای یکسان اعمال میشود. این تکنیک مصرف حافظه را به شدت کاهش میدهد.
معماری و نحوه کارکرد
این سیستم از دو شبکه عصبی مجزا تشکیل شده است که روی هسته دوم تراشه (Core 1) اجرا میشوند، در حالی که هسته اول وظیفه مدیریت USB و نمایشگر را بر عهده دارد:
- مدل دنیا (World Model): یک ترنسفورمر حلقوی کوانتیزهشده با دقت
int8(دارای ۲۶ تا ۱۳۱ هزار پارامتر) که فریم فعلی و اکشن کاربر را میگیرد و فریم بعدی و پاداش را پیشبینی میکند. - عامل بازی (Actor): یک شبکه MLP با دو لایه مخفی و دقت
float32(دارای ۹ تا ۱۶ هزار پارامتر) که فریم تولیدشده را میبیند و اکشن بعدی را انتخاب میکند.
فریمهای بازی به تکههای مربعی (Patches) تقسیم شده و به صورت توکن به مدل داده میشوند. بازیهای پیادهسازی شده در این پروژه شامل Breakout، Doom-lite، Flappy Bird، Pong و Pac-Man lite هستند که کدهای آنها به صورت اسکریپتهای پایتون برای بررسی و آموزش اولیه نوشته شدهاند.
نحوه استفاده و نصب
برای اجرای بازیها به صورت واقعی در ترمینال خود میتوانید از دستورات زیر استفاده کنید:
uv run python -m tinyworldformer.games.play --game breakout
وزنهای آموزشدیده مدل به صورت کدهای Rust کامپایل و روی میکروکنترلر فلش میشوند. اجرای تستها با دستور cargo test تضمین میکند که مشخصات صحیح منطق بازی به صورت بیتبهبیت پیادهسازی شده است.
سیگنالهای بلوغ و وضعیت پروژه
این مخزن متنباز توسط SheepSeb توسعه یافته و توجه جامعه برنامهنویسان را به خود جلب کرده است. با وجود تعداد ستارههای نسبتاً کم در زمان انتشار، این پروژه نمونهای عالی و کاملاً کاربردی از ترکیب یادگیری تقویتی (Reinforcement Learning)، بهینهسازی مدلهای زبانی کوچک و سختافزارهای امبدد محسوب میشود.
چرا این پروژه در هکرنیوز مورد توجه قرار گرفت؟
کاربران هکرنیوز از این نکته شگفتزده شده بودند که ترنسفورمرهای حلقوی برای اجرای شبیهسازیهای نسبتاً پیچیدهتری مانند نسخه سبک بازی Doom روی تراشهای با چند کیلوبایت حافظه رم ضروری و در عین حال کارآمد هستند. بحثها نشان داد که مهندسان چقدر به مدلهای فشرده و اجرای هوش مصنوعی در لبه شبکه (Edge AI) علاقه دارند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل