
اجرای همزمان یک مدل زبانی محلی (Local LLM) و یک بازی روی یک رایانه معمولاً به کاهش عملکرد یکی از آنها منجر میشود؛ اما در آزمایشی با لپتاپ HP OmniBook Ultra 16 مجهز به Nvidia RTX Spark، ترکیب یک پردازنده ۲۰ هستهای Arm و یک پردازنده گرافیکی Blackwell با ۶۱۴۴ هسته و ۱۲۸ گیگابایت حافظه یکپارچه (Unified Memory) امکان اجرای همزمان مدل و بازی را فراهم کرد.
مدل ۱۲۵ میلیاردی و بازی روی یک حافظه مشترک
در این آزمایش، مدل Qwen 3.8 Flash Next با ۱۲۵ میلیارد پارامتر از نوع ترکیب متخصصان (Mixture-of-Experts) روی همان ماشین اجرا شد و همزمان یک ربات به دنیای ماینکرفت از طریق شبکه محلی (LAN) متصل شد. بر اساس گزارش، ماینکرفت در بیشتر مدت آزمایش حدود ۱۲۰ فریم بر ثانیه (FPS) اجرا میشد و مدل نیز در پسزمینه پاسخ تولید میکرد و درباره اقدام بعدی ربات تصمیم میگرفت.
در این مدل، تنها حدود ۶ میلیارد پارامتر در هر توکن فعال میشود و تعبیه n-gram با ۵۱ میلیارد پارامتر از حافظه ذخیرهسازی بهصورت جریانی (Stream) بارگذاری میشود. با این حال، حجم حافظه مورد نیاز بالا است و وجود ۱۲۸ گیگابایت حافظه یکپارچه باعث شده فضای کافی برای اجرای همزمان ماینکرفت و مدل فراهم شود.
Mindcraft چگونه مدل را به بازیکن ماینکرفت تبدیل میکند
ربات مورد استفاده بر پایه Mindcraft ساخته شده است؛ پروژهای متنباز که روی Mineflayer، کتابخانهای از Node.js برای ساخت رباتهای ماینکرفت، بنا شده است. Mindcraft ربات را مانند یک بازیکن عادی به دنیای بازی متصل میکند و تعامل با آن از طریق چت درون بازی انجام میشود. زمانی که از مدل خواسته میشود کاری انجام دهد، ابزارهایی به شکل فرمان در اختیار آن قرار میگیرد؛ برای نمونه، درخواست جمعآوری ۱۰ قطعه چوب توس باعث تولید فرمان «!collectBlocks('birch_log', 10)» در چت شد و سپس ربات آن را اجرا کرد.
در این ساختار، Mindcraft مسئول حرکت، استخراج منابع و مدیریت موجودی است و مدل زبانی تصمیم میگیرد چه کاری انجام شود و آن را در چت روایت میکند. راهاندازی آن نیز نسبتاً ساده توصیف شده است: باز کردن دنیای ماینکرفت روی شبکه محلی با یک پورت ثابت، اتصال Mindcraft به آن و اجرای فرمان node main.js. این فرمان یک داشبورد وب نیز اجرا میکند که سلامت، موقعیت و موجودی ربات را نشان میدهد.
Mindcraft گزینه اختصاصی برای llama.cpp ندارد، اما یکپارچگی آن با LM Studio از API سازگار با OpenAI و آدرس قابل تنظیم پشتیبانی میکند؛ بنابراین در این آزمایش، تنظیمات به سرور محلی llama.cpp اشاره داده شده است. همچنین امکان فعالسازی بینایی (Vision) وجود دارد و فرمانهایی مانند «!lookAtPlayer» تصویری از دید ربات میگیرند و برای مدل ارسال میکنند تا محیط اطراف را ببیند. وظایف آمادهای نیز در Mindcraft تعبیه شده است؛ از جمعآوری چهار قطعه چوب تا ساخت یک کلیسا بر اساس نقشه از پیش تعیینشده.
یکی دیگر از قابلیتها، اجرای JavaScript روی رایانه از طریق فرمان «!newAction» است. این گزینه در آزمایش غیرفعال مانده بود، اما به گفته منبع، به کاربر اجازه میدهد از مدل بخواهد کارهایی خارج از بازی انجام دهد و خروجی آن به چت بازی بازگردانده شود.
تنظیمات مدل و عملکرد بازی
Nvidia دستورالعملهایی برای اجرای مدلها روی RTX Spark با llama.cpp ارائه میکند و در این آزمایش از دستورالعمل Qwen3.8-Flash-Next استفاده شده است. این تنظیمات شامل پشتیبانی از بینایی و یک مدل پیشنویس MTP برای رمزگشایی حدسی (Speculative Decoding) است و llama.cpp مدل را از طریق API سازگار با OpenAI روی پورت ۹۹۳۱ ارائه میدهد. پیش از اجرای ماینکرفت، سرعت تولید حدود ۴۶ توکن بر ثانیه در زمینه کوتاه (Short Context) اندازهگیری شد که در زمینه ۳۲ هزار توکن به کمی کمتر از ۴۲ توکن بر ثانیه کاهش یافت.
ماینکرفت بهصورت بومی روی ویندوز روی Arm اجرا میشود و نسخههای Arm64 از Java و کتابخانههای گرافیکی مورد نیاز در دسترس هستند؛ بنابراین نیازی به شبیهسازی PRISM x86 مایکروسافت نیست. همین موضوع به حفظ حدود ۱۲۰ فریم بر ثانیه در بیشتر مدت آزمایش کمک کرده است. همچنین برای این ترکیب، تنظیمات ویژهای برای زمانبندی پردازنده گرافیکی لازم نبوده است. Nvidia کیت توسعه NVIGI را برای بهینهسازی بارهای کاری هوش مصنوعی در کنار بازیها ارائه میکند، اما قابلیت CUDA in Graphics در RTX Spark پشتیبانی نمیشود؛ در نتیجه سرور llama.cpp و ماینکرفت بدون این بهینهسازیها منابع پردازنده گرافیکی را به اشتراک گذاشتهاند.
منبع گزارش همچنین اشاره کرده است که بازی Cyberpunk 2077 با رزولوشن 1440p روی ThinkStation PGX و همان سیلیکون GB10 اجرا شده و انتظار میرود یک بازی سنگینتر در کنار مدل ۱۲۵ میلیاردی بسیار بیشتر تحت فشار قرار بگیرد.
نقاط قوت و خطاهای ربات
ربات در انجام کارهای ساده عملکرد قابل قبولی داشت. پس از جمعآوری چوبهای توس، وقتی از آن خواسته شد نهالهای جمعآوریشده را تحویل دهد، پاسخ داد «حتماً، این هم نهالهای شما» و هشت نهال را جلوی بازیکن انداخت. درخواست جمعآوری حدود ۳۰ بلوک خاک نیز با پاسخ «در حال انجام» آغاز شد، هرچند این بار روند چندان روان پیش نرفت.
پاسخهای ربات از پیش تعیینشده نبودند و هنگام ورود یا بازگشت به سرور، پیام خوشآمدگویی یکتایی تولید میکرد که توسط خود مدل ساخته میشد. این جزئیات کوچک به تجربه بازی حس همراهی با یک بازیکن دیگر را اضافه میکرد. با این حال، خطاها نیز کم نبودند؛ در یکی از موارد، ربات ادعا کرد چوبهای توس را تحویل میدهد، اما موجودیاش خالی بود و سپس خودش متوجه شد و گفت موجودی ندارد و باید دوباره جمعآوری کند.
در چند نوبت نیز ربات تلاش کرد فرمان «!newAction» را اجرا کند، در حالی که این قابلیت غیرفعال بود. در یکی از ماجراها، ربات هنگام تلاش برای جمعآوری چوب بیشتر، به داخل یک چاله پرید و بلافاصله از بازی خارج شد؛ چند ثانیه بعد بازگشت و اعلام کرد در حال برداشتن آیتم است و کار را ادامه داد. در مورد جمعآوری خاک نیز ربات داخل گودالی گیر کرد، مدتی ماند و سپس با پیام «گیر کردهام» و «خروج» از بازی خارج شد. این خطاها به سیستم داخلی Mindcraft برای خارج کردن ربات از وضعیت گیرکردن مربوط است که اگر ربات در حین انجام وظیفه ۲۰ ثانیه حرکت نکند، ابتدا تلاش میکند پنج بلوک جابهجا شود و در صورت شکست، عامل را متوقف و دوباره راهاندازی میکند.
به گفته منبع، این مشکلات مسیریابی ناشی از مدل یا عملکرد سختافزار نیست و به مسیریابی (Pathfinding) در Mineflayer مربوط میشود؛ مدل برای اجرای دستورها به Mindcraft وابسته است و میتواند تصمیم بگیرد ۱۰ قطعه چوب جمع کند، اما رسیدن به درختان و انجام عملیات موضوع دیگری است. در مجموع، مدل در بیشتر موارد منظور کاربر را درک میکرد، حتی وقتی ربات در اجرای آن دچار مشکل میشد.
جمعبندی
نکته مهم این آزمایش، هوشمندی خارقالعاده ربات نیست؛ بلکه امکان اجرای کامل یک مدل ۱۲۵ میلیارد پارامتری و بازی ماینکرفت روی یک ماشین واحد است. تمام استنتاج مدل بهصورت محلی و بدون API ابری انجام شده و حافظه ۱۲۸ گیگابایتی امکان اجرای همزمان مدل و بازی را بدون نیاز به کوچککردن مدل فراهم کرده است. ماینکرفت نیز در بیشتر مدت آزمایش حدود ۱۲۰ فریم بر ثانیه اجرا میشد و مدل در پسزمینه پاسخ تولید میکرد و درباره اقدام بعدی ربات تصمیم میگرفت.