Шахматы и языковые модели, часть 2
Первая часть: ссылка
🤴 Слой 2: модели мира
Хорошо, ну вот мы выучили сеть предсказывать следующий ход. Но понимают ли сети, а что вообще происходит на доске? Понимают ли, где стоят фигуры? Понимают ли, почему выбранный ход — лучший?
Emergent World Representations: Exploring a Sequence Model Trained on a Synthetic Task
Статья: ссылка
Emergent Linear Representations in World Models of Self-Supervised Sequence Models
Статья: ссылка
Пост: ссылка
Статьи не про шахматы, а про отелло, вариант реверси с фиксированным расположением первых 4 фишек. Эти статьи довольно сильно повлияли на последующие статьи про шахматы и механистическую интерпретируемость в целом. Авторы выбрали эту игру, потому что она проще шахмат, но недостаточно проста, чтобы можно было запомнить все ходы♟
Взяли 2 датасета: один маленький (140к) из онлайн-чемпионатов и один синтетический из случайных листьев игрового дерева (4кк). Как можно заметить, цель была не в том, чтобы модель хороша играла: случайные листья не научат этому модель. Обучили маленькую GPT на аналоге PGN, тут это просто координаты каждого хода.
А дальше начинается серия наблюдений:
- Модель научилась делать ход по правилам в 99.99% случаев, причём из любой позиции.
- Из активаций сети можно восстановить, какая фишка сейчас в заданном месте доски. Более того, во второй статье показывается, что если спрашивать не "чёрная/белая/никакая", а "моя/чужая/никакая", то достаточно обучить один линейный слой (зонд), чтобы эту информацию извлечь с точностью более 99%. Это и означает наличие "модели мира", но никак не показывает, эта модель действительно задействуется при генерации ходов.
- Если поменять активации сети так, чтобы линейный зонд показывал другое состояние доски, модель меняет свои предсказания соответствующим образом. Меняют активации на слое N и последующих, на последнем токене. И вот это уже прямое доказательство того, что "модель мира" не только существует, но и используется сеткой.
- Во второй статье авторы находят разные прикольные схемы в активациях, типа запоминания, какие фишки переворачивались, или изменения режима работы модели в эндшпилях.
Почему это ценные статьи? Потому что они разбивают аргумент о стохастических попугаях, пусть и не совсем для языковых моделей. Если бы модель просто запомнила партии из обучающей выборки, ни одно из наблюдений выше не было бы возможно. Ого, модели машинного обучения умеют обобщать😱
OthelloGPT learned a bag of heuristics
Пост: ссылка
А вот в этом посте немного охлаждаются головы и ставится вопрос о том, как именно модель определяет состояние доски и ходы по правилам. И если вы думали, что где-то в модели зашит эффективный алгоритм определения легального хода или хотя бы того, чья фишка лежит на определённой клетке, то нет, это просто набор эвристик в стиле "сыгран A4 & B4 занят & C4 занят -> пометь B4, C4 и D4 как 'чужие'". Да и вспомните про 0.01%😐
Другой вопрос: а может ли вообще эффективный алгоритм в принципе работать на архитектуре трансформеров? Спойлер: скорее всего не может, но об этом в следующей части (если я смогу в сложность).
Emergent World Models and Latent Variable Estimation in Chess-Playing Language Models
Статья: ссылка
Пост: ссылка
Прямой идеологический наследник OthelloGPT, но для шахмат. Датасет — 16кк игр с Lichess. Учили GPT на PGN, причём с посимвольной токенизацией😳
ELO получился ожидаемо так себе, аналогичный моделям из первой части. Но зато авторы показывают, что те же самые линейные зонды работают и здесь, причём различим не только цвет, но и фигуры. Кроме того, авторы обучили классификатор на базе активаций, предсказывающий рейтинг игроков, и он тоже работает с неплохой точностью. Ну и само собой, повторяют часть со вмешательством в активации, там тоже всё работает.
Первая часть: ссылка
Хорошо, ну вот мы выучили сеть предсказывать следующий ход. Но понимают ли сети, а что вообще происходит на доске? Понимают ли, где стоят фигуры? Понимают ли, почему выбранный ход — лучший?
Emergent World Representations: Exploring a Sequence Model Trained on a Synthetic Task
Статья: ссылка
Emergent Linear Representations in World Models of Self-Supervised Sequence Models
Статья: ссылка
Пост: ссылка
Статьи не про шахматы, а про отелло, вариант реверси с фиксированным расположением первых 4 фишек. Эти статьи довольно сильно повлияли на последующие статьи про шахматы и механистическую интерпретируемость в целом. Авторы выбрали эту игру, потому что она проще шахмат, но недостаточно проста, чтобы можно было запомнить все ходы
Взяли 2 датасета: один маленький (140к) из онлайн-чемпионатов и один синтетический из случайных листьев игрового дерева (4кк). Как можно заметить, цель была не в том, чтобы модель хороша играла: случайные листья не научат этому модель. Обучили маленькую GPT на аналоге PGN, тут это просто координаты каждого хода.
А дальше начинается серия наблюдений:
- Модель научилась делать ход по правилам в 99.99% случаев, причём из любой позиции.
- Из активаций сети можно восстановить, какая фишка сейчас в заданном месте доски. Более того, во второй статье показывается, что если спрашивать не "чёрная/белая/никакая", а "моя/чужая/никакая", то достаточно обучить один линейный слой (зонд), чтобы эту информацию извлечь с точностью более 99%. Это и означает наличие "модели мира", но никак не показывает, эта модель действительно задействуется при генерации ходов.
- Если поменять активации сети так, чтобы линейный зонд показывал другое состояние доски, модель меняет свои предсказания соответствующим образом. Меняют активации на слое N и последующих, на последнем токене. И вот это уже прямое доказательство того, что "модель мира" не только существует, но и используется сеткой.
- Во второй статье авторы находят разные прикольные схемы в активациях, типа запоминания, какие фишки переворачивались, или изменения режима работы модели в эндшпилях.
Почему это ценные статьи? Потому что они разбивают аргумент о стохастических попугаях, пусть и не совсем для языковых моделей. Если бы модель просто запомнила партии из обучающей выборки, ни одно из наблюдений выше не было бы возможно. Ого, модели машинного обучения умеют обобщать
OthelloGPT learned a bag of heuristics
Пост: ссылка
А вот в этом посте немного охлаждаются головы и ставится вопрос о том, как именно модель определяет состояние доски и ходы по правилам. И если вы думали, что где-то в модели зашит эффективный алгоритм определения легального хода или хотя бы того, чья фишка лежит на определённой клетке, то нет, это просто набор эвристик в стиле "сыгран A4 & B4 занят & C4 занят -> пометь B4, C4 и D4 как 'чужие'". Да и вспомните про 0.01%
Другой вопрос: а может ли вообще эффективный алгоритм в принципе работать на архитектуре трансформеров? Спойлер: скорее всего не может, но об этом в следующей части (если я смогу в сложность).
Emergent World Models and Latent Variable Estimation in Chess-Playing Language Models
Статья: ссылка
Пост: ссылка
Прямой идеологический наследник OthelloGPT, но для шахмат. Датасет — 16кк игр с Lichess. Учили GPT на PGN, причём с посимвольной токенизацией
ELO получился ожидаемо так себе, аналогичный моделям из первой части. Но зато авторы показывают, что те же самые линейные зонды работают и здесь, причём различим не только цвет, но и фигуры. Кроме того, авторы обучили классификатор на базе активаций, предсказывающий рейтинг игроков, и он тоже работает с неплохой точностью. Ну и само собой, повторяют часть со вмешательством в активации, там тоже всё работает.