Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Игрок создал рабочий ИИ-чат-бот прямо в чистой Minecraft с помощью командных блоков

Игрок создал рабочий ИИ-чат-бот прямо в чистой Minecraft с помощью командных блоков

Любой, кто провел в Minecraft достаточно времени, наверняка знаком с впечатляющими творениями игрового сообщества. Энтузиасты уже давно создают внутри виртуального мира работающие графические калькуляторы, генераторы QR-кодов и полноценные версии тетриса, используя для этого командные блоки, модификации и колоссальное количество свободного времени. Создание искусственного интеллекта выглядит вполне закономерным следующим шагом, и в этом направлении уже появлялось немало сложных проектов, реализованных на базе редстоуна. Однако пользователь Reddit под ником Objz пошел еще дальше, реализовав полноценную языковую модель исключительно с помощью командных блоков.

LLM в Minecraft
Интерфейс чат-бота, реализованного внутри игры.
AI Chatbot

Особенности уникальной нейросети в Minecraft

Автор проекта обошелся без каких-либо сторонних модификаций, плагинов или датапаков. По собственному признанию разработчика, работа над этой системой оказалась настоящей головной болью. Созданная языковая модель получилась не слишком масштабной: она располагает 64-мерным пространством вложений, скрытым слоем на 256 нейронов и скромным словарным запасом из 2048 слов. В качестве обучающей выборки использовался корпус диалогов DailyDialog, насчитывающий 11 118 реплик. Игроки могут общаться с виртуальным собеседником, используя встроенную игровую команду «/dialog», а генерируемый ответ поступает постепенно, по одному слову за раз, в точности как у современных коммерческих чат-ботов.

Goats
Minecraft
Google Preferred Source
Bruno Ferreira

Тем не менее, даже после такого обучения разработчик честно предупреждает, что модель способна лишь поддерживать простую беседу и не отличается выдающимся умом. Она не умеет решать математические задачи и не обладает широкой эрудицией. Но техническое исполнение проекта все равно впечатляет. 445 782 командных блока — именно столько в итоге потребовалось для работы системы — звучит как огромная цифра, пока не станет известно, что без серьезной оптимизации подобная структура потребовала бы буквально миллионов кубов. Изначальная версия модели насчитывала почти 2 миллиона блоков.

AI Chatbot
Goats
Minecraft
A photo of an ESP32 microcontroller wired up to a small screen showing AI benchmark results.

Техническая оптимизация и ограничения системы

Обычно веса языковых моделей выражаются числами с плавающей запятой, реализация которых в игре оказалась бы чрезмерно сложной. Чтобы обойти это препятствие, Objz решил использовать для весов исключительно троичные значения: -1, 0 и +1. Встроенная в Minecraft команда «scoreboard» поддерживает умножение и деление, но она оперирует исключительно целыми числами. Применение стандартного подхода потребовало бы постоянного преобразования типов данных, что породило бы множество дополнительных операций.

Minecraft running on Gameboy Color
Setting up OpenClaw
a Canon EOS 550D running Doom on its 3.2-inch LCD screen

Изначальная квантизация к трем возможным значениям позволила решить сразу две задачи: сократить количество необходимых команд и уменьшить размер датасета. В результате эквивалент каждой операции умножения с накоплением требует в среднем всего 0,67 команды благодаря обилию нулевых значений. Автор отмечает, что значения не просто округлялись из готовой стандартной модели уже постфактум. Квантизация применялась с самого начала для прямого прохода через модель в процессе обучения, а для обновления базовых весов с плавающей запятой использовался метод сквозного пропуска градиента.

Josh and his GameStop trade credit cards
GoldenEye 007 for N64 cart
SharpEmu on Steam Deck
Computer Space video arcade machine

Этот шаг помог снизить показатель перплексии, отражающий вероятность генерации бессмысленного слова в ответной последовательности, с 48,7 до 38,8 после дополнительных этапов оптимизации. Из-за жестких ограничений Minecraft на количество одновременно выполняемых команд языковая модель была разделена на более мелкие группы. Даже при таком подходе на генерацию одного слова в ответ на сервере с частотой 35 тиков в секунду уходит около 1,8 секунды.

White House
a person playing Quake III on a computer from 2001
DJI
AMD

Автор подчеркивает, что создание более крупной и умной языковой модели потребовало бы колоссальных вычислительных затрат. Например, система с архитектурой на 135 миллионов параметров оказалась бы в 200 раз масштабнее данного проекта. Тем не менее, эта работа наглядно демонстрирует, как жесткие ограничения способны стимулировать нестандартное инженерное творчество.

Intel Core Ultra
HP Laser 1008a printer

Источник: tomshardware.com

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

01.
На платформе MonsterInsights