Level Generation Through Large Language Models



И снова про RL + LLM ❤️ (ну, как задаток на генерацию данных)



Авторы исследуют способности LLM в генерации игровых карт на примере игры Сокобан. Кто не знает, это игра 1981-2 годов, где в прямоугольной комнатке есть вы, несколько ящиков, и их нужно расставить по специально выбранным местам на складе. Всё усложняется формой стенок и самими ящиками, которые могут блокировать проходы.



Есть два датасета, набор из ~500 уровней в оригинальной игре (из них только 282 оставили для обучения), и 438,000 процедурно сгенерированных с помощью других методов. Модели исследуется тоже две - публично доступная GPT2, которую можно локально тренировать сколь угодно раз, и крутая большая GPT3, которую можно за денежку тренировать через API. Поэтому со второй моделью только один эксперимент, о нем в конце.



Генеративная способность оценивалась по 4 критериям:

- валидность (алгоритм поиска решения ASTAR находит разгадку за 150,000 шагов)

- новизна (строковое представление уровня имеет edit distance относительно всех уровней в трейне не ниже 5, то есть как минимум 5 клеток отличаются)

- разнообразие/дайверсити (насколько сгенерированные уровни отличаются друг от друга, тоже через edit distance и построение графа, где ребро проводится, если уровни схожи)

- Accuracy (насколько генерации соответствуют промпту для модели. Перед генерацией текстом задается доля свободного пространства, напрямую влияющая на сложность прохождения, и длина прохождения, по сути тоже сложность)



Что обнаружили:

1) LLMки отлично справляются с задачей генерации новых, уникальных уровней, а не просто воспроизводят трейн

2) большинство (>50%) уровней играбельны, для GPT-3 более 90%

3) уникальность для GPT-2 высокая (>90%), а для GPT-3 не особо (но все еще выше 50% и даже 70% в одном из сетапов). Однако авторы подчеркивают, что они делали буквально один запуск, поэтому могли ошибиться с параметрами, оверфитнуть или недообучить модель, поэтому результаты очень шумные.

4) Увеличивая размер датасета (% для второго сгенерированного датасета, который больше 400к уровней имеет) для GPT-2 приводит к увеличению новизны, но деградации вилидности уровней. Зато они все разнообразные, и модель выдает не просто один и тот же уровень.

5) модель почти нечувствивтельна к промпту, хорошо контролирует долю пустого пространства, но вообще никак длительность игры в ходах (поэтому accuracy на графиках метрик не будет)



Пара картинок с метриками - в треде в канале.