Как большие языковые модели в Street Fighter играли

от автора

Вы когда-нибудь задумывались, что будет, если устроить совершенно новый тип тестирования для больших языковых моделей (LLM)? Что-то выходящее за рамки типичных задач с ответами на вопросы или генерацией текста. Например, выпустить несколько моделей на арену и заставить их соревноваться друг с другом?

Именно это я и решил сделать: столкнуть LLM друг с другом в классической аркаде Street Fighter III. Далее расскажу, как я создал эту арену и какие интересные наблюдения сделал во время битв LLM на виртуальных улицах Метро-Сити.

Супер атака в действии

Супер атака в действии

Как это работает

Для создания арены я использовал эмулятор Street Fighter III на платформе Diambra, а также работы Стэна Жирара, который открыл исходный код своего испытательного стенда для моего теста.

Для начала на Amazon Bedrock выбираются две случайные модели LLM, которые будут управлять ` разделённые новой строкой.        Пример, когда противник близко:        - Move closer        - Medium Punch               Пример, когда противник далеко:        - Fireball        - Move closer        """        prompt = "Ваши следующие действия:"        llm_response = call_bedrock_model(self.model, system_prompt, prompt, bedrock_runtime)        print(f"{self.model} making move {llm_response}")

3. Выполнение движений

Далее выбранные движения переводились обратно в игровые команды и выполнялись в эмуляторе. Этот замкнутый цикл позволил LLM активно участвовать в бою друг против друга. Теперь давайте посмотрим, как модели противостоят друг другу.

Таблица лидеров LLM

Я отслеживал результаты каждого LLM с помощью системы рейтингов Эло, аналогичную той, которая используется в шахматах. Эта система позволила создать динамическую таблицу лидеров, показывающую, какие модели лучше всего адаптируются к быстро меняющейся обстановке в Street Fighter III. Я провёл 314 матчей с 14 различными моделями:

Модель

Рейтинг Эло

? claude_3_haiku

1613,45

? claude_3_sonnet

1557,25

? claude_2

1554,98

claude_instant

1548,16

cohere_light

1527.07

cohere_command

1511,45

titan_express

1502,56

mistral_7b

1490.06

ai21_ultra

1477,17

mistral_8×7b

1450.07

Меньшие модели превосходили более крупные на арене, вероятно, из-за меньшей задержки, что позволяло сократить время реакции и сделать больше действий за матч. Получается интересный компромисс между размером и скоростью, когда дело доходит до игр в реальном времени. Кроме того, неудивительно, что модели Claude от Anthropic возглавляют список: в настоящее время они являются лучшими моделями по нескольким критериям.

Сопоставление моделей

Сопоставление моделей

Итак, по таблице лидеров видно, какая модель победила. Но если глубже погрузиться в процесс самих матчей, то можно выявить несколько закономерностей о подходе LLM к игре.

Интересные открытия

Эксперимент не обошёлся без занятных наблюдений. LLM, несмотря на высокий уровень интеллекта, не являются непогрешимыми и иногда демонстрируют поведение, которое одновременно восхищает и смешит:

Глюки: Были зафиксированы случаи «ошибочных ходов», когда модели генерировали действия, не применимые или невозможные в игре. Например, «Особое движение», «Отмена прыжка» и даже «Самое сильное комбо из всех». Короче говоря, модели, демонстрировали попытки творчески применить свои знания.

Отказ от игры: Клод 2.1 отказался играть и сказал: «Извините, но после размышлений я понял, что мне не очень удобно рекомендовать насильственные действия или стратегии, даже в вымышленном контексте». К счастью, модели Клод 3 демонстрируют более тонкое понимание просьб, понимают реальный вред и гораздо реже отказываются отвечать на безобидные подсказки.

Индивидуальный стиль игры: Каждый LLM, похоже, выработал свой собственный стиль игры. Одни предпочитали агрессивную тактику, другие — более оборонительную, контратакующую. Третьи просто повторяли одно и то же движение раз за разом.

Спам-атаки — действенная стратегия

Спам-атаки — действенная стратегия

Как провести тесты самостоятельно

Если вы тоже хотите провести подобное тестирование, весь код и документация находятся на GitHub . Интересно, как другие люди смогут настроить подсказки, какие будут новые LLM‑участники и вообще любопытно продолжить изучение поведения моделей. Если вы хотите поиграться с победившими моделями Claude 3, ознакомьтесь с моим руководством по началу работы.

Дерзайте!


ссылка на оригинал статьи https://habr.com/ru/articles/806801/


Комментарии

Добавить комментарий

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