Большие языковые модели (Large Language Model, LLM) сейчас у всех на слуху. Они привлекают внимание общественности своей, казалось бы, впечатляющей возможностью — составлять осмысленные тексты в ответ на запрос пользователя (иногда такие запросы называют «приглашениями», а так же — «промптами» или «промтами» — от английского «prompt»). Эти системы представляют собой тщательно сконструированные комбинации из исключительно простых алгоритмов, огромных объёмов данных и грандиозных вычислительных мощностей. LLM учатся, бесчисленное множество раз играя сами с собой в игру «угадай следующее слово». В каждом раунде такой игры модель смотрит на часть предложения и пытается угадать, или предсказать, следующее слово. Если слово угадано — модель обновляет параметры для того чтобы подкрепить свою уверенность; в противном случае модель учится на своей ошибке для того чтобы в следующий раз её догадка была бы точнее.

Хотя базовый алгоритм обучения LLM, по большому счёту, уже давно не меняется, недавнее увеличение размеров моделей и данных наделило эти модели качественно новыми возможностями. Среди них — написание простого программного кода и решение логических задач.

Как эти модели достигли таких результатов? Они всего лишь запоминают обучающие данные и потом их воспроизводят, или они схватывают правила английской грамматики и усваивают синтаксис языка C? Создают ли они нечто вроде внутренней модели мира — доступной для понимания модели процесса, выдающего некие последовательности данных?

Глядя на этот вопрос с различных философских [1] и математических [2] точек зрения, некоторые исследователи говорят о фундаментальной невозможности подобного. Модель, обученная по принципу «угадай следующее слово», не может усвоить «смыслы» языка. Впечатляющие результаты таких моделей — это всего лишь результат заучивания «поверхностной статистики», то есть — длинного списка корреляций, который не отражает причинно-следственную модель процесса, генерирующего некую последовательность данных. Без сведений о том, так ли это на самом деле, сложно подстраивать модель под человеческие ценности и убирать из неё освоенные ей ложные корреляции [3, 4]. Эта проблема представляет практический интерес, поскольку, если полагаться на ложные корреляции, можно столкнуться с проблемами при работе с данными, отличающимися от тех, на которых обучалась модель.

Цель нашего исследования [5] — изучить этот вопрос в тщательно контролируемых условиях. Как будет показано ниже — мы нашли интересное свидетельство того, что простое прогнозирование последовательности может привести к формированию модели мира. Но, прежде чем мы углубимся в технические детали — проведём мысленный эксперимент.

Мысленный эксперимент

Рассмотрим следующий мысленный эксперимент. Представьте, что у вас есть друг, которому нравится настольная игра «Othello» («отелло», «реверси»). Он часто приходит к вам в гости поиграть в эту игру. Вы оба серьёзно относитесь к поединкам и играете молча — за исключением тех моментов, когда, делая ходы, выкликаете их, пользуясь стандартными терминами игры. Теперь представьте, что в комнате, где вы играете, открыто окно. На подоконнике, не видя доску для игры в реверси, сидит ворона. После того, как друг уже много раз вас посетил, ворона, во время игры, начинает самостоятельно проговаривать ходы. К вашему изумлению, эти ходы почти всегда, учитывая текущий ход игры, допустимы.

Вы, естественно, задаётесь вопросом о том, как ворона это делает. Может, она выдаёт допустимые ходы, «беспорядочно объединяя» [3] поверхностные статистические сведения? Это могут быть данные о том, какие ходы обычно делаются в самом начале игры, или о том, что названия угловых клеток вступают в дело на поздних этапах игры. А, может быть, ворона как-то наблюдает за игрой, держит в голове сведения о том, что происходит, несмотря даже на то, что она никогда не видела игровую доску? Возникает такое ощущение, что это — вопросы, на которые невозможно ответить.

Но вот однажды, протирая подоконник, где обычно сидит ворона, вы замечаете там два вида зёрен птичьего корма, которые выложены будто бы подчиняясь линиям некоей невидимой сетки. Это всё поразительно напоминает расстановку фишек самого свежего сеанса игры в реверси. Когда друг приходит к вам в следующий раз, вы, во время игры, поглядываете на подоконник. Раскладка зёрен, разумеется, соответствует состоянию игры. А ворона сдвигает клювом одно из зёрен так, чтобы на её доске отразился бы ход, который вы только что сделали. Затем ворона начинает разглядывать свою «доску», обращая особое внимание на те её части, которые могут помочь определить допустимость следующего хода. Ваш друг, любитель розыгрышей, решает сыграть с вороной шутку и её запутать: он перекладывает некоторые зёрна на новые места. После того, как ворона снова смотрит на доску, она вскидывает голову и объявляет ход — такой, который допустим в новых, изменившихся условиях.

В этот момент кажется, что справедливо было бы сделать заключение о том, что ворона полагается на нечто больше, чем поверхностная статистика. Очевидно то, что она сформировала модель игры, о ходах которой она слышала. Эта модель понятна людям и они даже могут использовать её для того чтобы повлиять на поведение вороны. Конечно, есть и много такого, что ворона может упускать. Например — она не знает о том, что такое — хороший ход, о том, что значит — играть в игру, о том, что выигрыш наполняет вас счастьем, о том, что однажды вы сделали неудачный ход умышленно — чтобы поднять настроение другу. Мы не говорим о том, «понимает» ли ворона, в любом «разумном» смысле, то, что слышит. Мы, однако, можем сказать, что она создала интерпретируемое (в сравнении с тем, что находится у неё в голове) и поддающееся регулированию (то есть — изменению, выполненному с некоей целью) представление состояния игры.

Othello-GPT: искусственная экспериментальная система

Вдумчивый читатель уже, наверное, понял, что ворона олицетворяет предмет нашего разговора — большую языковую модель.

Мы строим исследование на базе GPT-модели, называемой Othello-GPT, обучаемой только на записях сеансов игры «Othello». В неё играют два игрока (чёрные и белые), которые поочерёдно ставят фишки, окрашенные с разных сторон в разные цвета, на доску размером 8x8. На каждом ходу игроки стремятся перевернуть одну или большее количество фишек противника, «закрывая» их по горизонтали, вертикали или диагонали. Игра заканчивается, когда больше нельзя сделать ни одного хода, побеждает игрок, имеющий больше фишек на доске, чем соперник.

Мы выбрали именно реверси из-за того, что эта игра проще шахмат, но при этом отличается достаточно большим деревом игры, что позволяет исключить запоминание ходов. Наша стратегия заключается в том, чтобы узнать, что именно используемый нами вариант GPT может изучить (если он сможет изучить хоть что-нибудь), просто глядя на записи матчей и не обладая никакими априорными знаниями о правилах игры или об устройстве игровой доски.

Слева направо: начальное положение фишек при игре в реверси; состояние доски после того, как чёрную фишку поставили на клетку E3; состояние доски после того, как белую фишку поставили на клетку D3.
Слева направо: начальное положение фишек при игре в реверси; состояние доски после того, как чёрную фишку поставили на клетку E3; состояние доски после того, как белую фишку поставили на клетку D3.

Стоит отметить главное отличие нашей модели от моделей, использующих обучение с подкреплением, вроде AlphaGo. Для AlphaGo записи игр — это исторические данные, используемые для предсказания оптимального следующего шага, ведущего к победе. Поэтому правила игры и устройство доски как можно сильнее интегрированы в модель. А Othello-GPT отличается от подобных моделей тем, что для неё записи игр ничем не отличаются от последовательностей с уникальным процессом их генерирования. И нас интересует именно то, до каких пределов большая языковая модель способна раскрыть процесс генерирования последовательности. Поэтому, в отличие от AlphaGo, нашей модели не даются сведения об игровой доске или о правилах игры. Модель, вместо этого, обучают делать правильные ходы, основываясь лишь на списках предыдущих ходов, вроде E3, D3, C4… Каждая клетка доски представлена токеном в виде отдельного слова. Othello-GPT учится предсказывать следующий ход с учётом ходов, сделанных в уже прошедшей части игры, чтобы собрать данные о распределении игр (предложений) в наборе данных, описывающем игры.

Мы выяснили, что обученная модель Othello-GPT обычно делает корректные ходы. Вероятность появления ошибок составляет 0,01%. Для сравнения — необученная Othello-GPT делает ошибочные ходы в 93,29% случаев. Это очень похоже на наблюдение, которое мы сделали в мысленном эксперименте, когда ворона сообщала о следующих ходах.

Система анализа модели

Чтобы проверить вышеописанные гипотезы, нам, для начала, нужна система для анализа или зондирования (probing) модели. Это — методика, традиционно применяемая в сфере обработки естественного языка [6], позволяющая исследовать представление информации внутри нейронных сетей. Мы используем эту методику для того чтобы распознать модели мира (при условии их существования) в синтетической языковой модели.

Тут используется простой эвристический алгоритм: в случае с классификатором, имеющим ограниченную ёмкость, чем более информативны входные данные для определённых целевых данных — тем большей точности он может достигнуть при обучении предсказанию целевых данных. В этом случае простые классификаторы называют зондами (probe). Они, в качестве входов, получают различные данные функций активации из модели. Их обучают предсказывать определённые свойства во входном предложении. Например — тег, соответствующий части речи, или глубину дерева синтаксического разбора. Считается, что чем более высокой точности могут достичь эти классификаторы — тем лучше функции активации аппроксимируют определённые свойства реального мира, то есть — тем вероятнее то, что в модели существуют соответствующие понятия.

Одна из ранних работ в этой сфере [7] посвящена проверке эмбеддингов предложений по 10 лингвистическим свойствам наподобие времени, глубины дерева синтаксического разбора и основных единиц грамматики составляющих. Позже было выяснено, что синтаксические деревья встроены в эмбеддинги слов модели BERT, увязанные с контекстом [8].

Возвращаясь к разгадке тайны о том, изучают ли LLM поверхностную статистику или модели мира, можно отметить, что существовали кое-какие крайне заманчивые признаки того, что языковые модели могут строить интерпретируемые «модели мира» с использованием методик анализа моделей. Сообщалось, что языковые модели могут создавать модели мира для очень простых понятий, что находило отражение в их внутренних представлениях (функции активации в слоях). Среди этих понятий — цвет [9], направление [10], логические состояния, возникающие в ходе выполнения синтетических задач [11]. Обнаружено, что представления для различных концепций этих понятий легче выделить из обученных моделей, чем из моделей, инициализированных случайным образом. Сравнивая точность зондирования обученных языковых моделей с точностью моделей, инициализированных случайными значениями, исследователи пришли к выводам, что языковые модели, как минимум, схватывают хоть что-то, относящееся к этим понятиям.

Анализ Othello-GPT

На первом шаге работы мы применили систему анализа к обученной модели Othello-GPT. Для каждого внутреннего представления модели у нас имеется эталонное состояние игровой доски, которому соответствует это представление. Затем мы обучаем 64 зонда, которые представлены независимыми двухслойными MLP-классификаторами. Они должны классифицировать состояние каждой из 64 клеток: в клетке может быть чёрная фишка, клетка может быть пустой, в ней может быть белая фишка. Входными данными для зондов служат внутренние представления, взятые из Othello-GPT. Оказалось, что уровни ошибок этих классификаторов, обученных на модели Othello-GPT, инициализированной случайными значениями, составили 26,2%. Эти уровни снизились до 1,7% для обученной Othello-GPT. Это указывает на то, что во внутреннем представлении обученной модели Othello-GPT существует модель мира. А на что она похожа? Организуют ли себя эти понятия в пространстве высокой размерности, геометрия которого похожа на соответствующие ему клетки на доске реверси?

Так как зонды, обученные для каждой из клеток, в сущности, хранят собственные знания о доске с помощью вектора прототипов для клетки, мы интерпретируем его как вектор понятия для клетки. Имея в своём распоряжении 64 таких вектора, мы применяем метод главных компонент для уменьшения размерности до 3. Это даёт нам возможность сформировать изображение, показанное ниже, содержащее 64 точки, каждая из которых соответствует одной клетке игровой доски. Две точки соединяются линией в том случае, если они являются непосредственными соседями. Если линия соответствует горизонтальному расположению клеток на доске — мы закрашиваем её, применяя оранжевый градиент, который меняется в соответствии с вертикальной позицией двух клеток. Аналогичным образом для клеток, расположенных относительно друг друга по вертикали, применяется синий градиент. На изображениях отмечены точки, соответствующие верхнему левому углу доски ([0, 0]) и её нижнему правому углу ([7, 7]).

Сравнивая то, что получилось, с геометрией зондов, обученных на GPT-модели, инициализированной случайными числами (слева) мы можем подтвердить то, что обучение Othello-GPT приводит к появлению геометрической структуры «драпировочной ткани на шаре» (справа), напоминающей доску для игры в реверси.

Слева: геометрия зонда для модели Othello-GPT, инициализированной случайными значениями; справа — геометрия зонда для обученной модели Othello-GPT.
Слева: геометрия зонда для модели Othello-GPT, инициализированной случайными значениями; справа — геометрия зонда для обученной модели Othello-GPT.

Обнаружение таких характеристик моделей-зондов похоже то, как в мысленном эксперименте, на подоконнике, где сидела ворона, была обнаружена её игровая доска с зёрнами. Существование этой игровой доски нас восхищает, но мы ещё не уверены в том, что ворона пользуется своей доской, объявляя очередной ход.

Управление прогнозами с помощью обнаруженных моделей мира

Помните розыгрыш из мысленного эксперимента? Мы создали метод изменения представления мира, имеющегося у Othello-GPT. Делается это путём изменения промежуточных функций активации во время, когда сеть осуществляет послойные вычисления. Поступая так, мы надеемся, что предсказания, выдаваемые на следующем шаге, могут быть соответствующим образом изменены, так как делаться они будут на основании нового представления мира. Этот подход направлен на борьбу с потенциальными критическими замечаниями относительно того, что эти представления мира, на самом деле, не вносят никакого вклада в итоговый прогноз Othello-GPT.

На следующем изображения показан результат одного из таких вмешательств. В левом нижнем углу представлено состояние мира в памяти модели, существовавшее до вмешательства. В правом нижнем углу — состояние мира после вмешательства, а в правом верхнем — прогноз модели, сделанный на основании этой изменённой модели мира. Мы собираемся перевернуть фишку E6, сделав её не чёрной, а белой. Мы надеемся, что на следующем шаге модель даст другой прогноз, который будет основан на изменённой модели мира. Это изменение в модели мира приведёт к изменению набора следующих корректных ходов в соответствии с правилами реверси. Если вмешательство было успешным — модель соответствующим образом изменит прогноз корректных ходов.

Пример эксперимента с вмешательством во внутреннее состояние модели.
Пример эксперимента с вмешательством во внутреннее состояние модели.

Мы оцениваем результаты, сравнивая эталонные следующие ходы, выданные движком (правилами) реверси для изменённой доски, с ходами, предложенными моделью. Оказалось, что модель достигает среднего значения ошибки всего в 0,12 клеток. Это показывает, что представления мира, более чем вероятно, взяты из внутренних данных функций активации языковой модели, а так же — что эти данные напрямую используются для формирования прогноза. Это возвращает нас к розыгрышу в мысленном эксперименте, когда перемещение зёрен на доске вороны может повлиять на то, как она видит игру, и как делает прогноз относительно следующего хода.

Более жёсткое испытание проводится путём изменения состояния доски, хранящегося в памяти модели. Подобные изменения приводят доску к виду, недостижимому при подаче на входы модели любой входной последовательности. Например — это может быть доска с двумя разделёнными блоками фишек. Идея этого испытания похожа на шахматы Фишера, когда способности игрока испытывают в ходе игры в обычные шахматы, но расстановка фигур при этом может быть такой, которая в обычных шахматах невозможна. Систематическая оценка результатов выглядит одинаково хорошо, что даёт нам свидетельство, которое ещё сильнее отвязывает модель мира от статистических характеристик последовательности.

Интерпретация модели

Давайте оглянемся назад и подумаем о том, что даёт нам такая надёжная методика вмешательства в работу модели. Она позволяет нам задать гипотетический вопрос: что предсказала бы модель, если бы в клетке F6 была бы белая фишка, даже не смотря на то, что не существует входной последовательности, которая могла бы привести к такой расстановке фишек на доске. Это позволяет нам воображаемо идти по непроторенной дорожке в саду расходящихся тропок.

Среди многих других новооткрытых возможностей, мы ввели метод атрибуции через вмешательство, что позволяет нам назначать каждой клетке на текущей доске корректный следующий ход и создавать «карты скрытой значимости», дополняя каждую клетку оценкой атрибуции. Для этого нужно просто сравнить спрогнозированные вероятности для фактических и гипотетических случаев (каждый гипотетический прогноз делается моделью на основании состояния мира, в котором одна из фишек перевёрнута).

Например, как получить показатель значимости для клетки D4 из левой верхней части изображения, представленного ниже? Сначала мы запускаем модель в обычном режиме для того чтобы получить вероятность следующего шага для клетки D6 (для того места, которое мы атрибутируем). Затем мы запускаем модель снова, но вмешиваемся в её состояние, меняя в процессе её работы белую фишку в клетке D4 на чёрную. После этого мы снова сохраняем вероятность для D6. Далее — получая разницу между двумя значениями вероятностей, мы узнаём о том, какой вклад текущее состояние D4 вносит в прогноз для D6. То же самое относится и к другим занятым клеткам.

Над каждой из восьми досок, изображённых здесь, указан следующий ход, который атрибутирует модель (соответствующая клетка выделена). В случае с другими клетками — чем более тёмным оттенком красного они выделены — тем больше их влияние на атрибутированный ход. Например, на верхнем левом рисунке клетка D5 вносит наибольший вклад в прогноз следующего хода на D6.
Над каждой из восьми досок, изображённых здесь, указан следующий ход, который атрибутирует модель (соответствующая клетка выделена). В случае с другими клетками — чем более тёмным оттенком красного они выделены — тем больше их влияние на атрибутированный ход. Например, на верхнем левом рисунке клетка D5 вносит наибольший вклад в прогноз следующего хода на D6.

На этом рисунке показано 8 подобных «карт скрытой значимости», которые получены в ходе работы Othello-GPT. Эти карты показывают, что рассматриваемый нами метод сильно связывает прогноз с клетками, которые делают прогноз корректным. Речь идёт о том, что в конце прямой линии из фишек должна располагаться фишка того же цвета, и о том, что между ними должны находиться фишки оппонента. Пользуясь этими картами значимости, игрок, знающий правила, может понять, что цель Othello-GPT — делать верные ходы. А тот, кто не знает правил, возможно, сможет вывести правила игры. В отличие от большинства существующих методов интерпретирования моделей, созданные нами тепловые карты основаны не на входных данных модели, а на её скрытом пространстве. Поэтому мы и называем их «карты скрытой значимости».

Дискуссия: где мы?

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

Изначально, готовя к работе Othello-GPT, мы выяснили, что обученная модель обычно делает корректные ходы. Ниже приведена схема, указывающая на то, где мы находимся в нашем исследовании.

Здесь видно, как два несвязанных друг с другом процесса (1) — модель мира, поддающаяся пониманию человека, и (2) — чёрный ящик нейронной сети — достигают большой схожести в прогнозировании следующего шага. Это нельзя назвать совершенно неожиданным фактом, учитывая то, что мы могли наблюдать у LLM множество мощных возможностей. Но взаимодействие между промежуточными продуктами двух сущностей — представления мира, понятного человеку, и непостижимого многомерного пространства LLM — это уже серьёзный вопрос.

Сначала мы изучили путь от внутренних данных функций активации к представлению мира. Обучив модели-зонды, мы смогли спрогнозировать представление мира на основе внутренних данных Othello-GPT.

А как насчёт другого пути? Мы разработали методику вмешательства в модель, направленную на изменение внутренних функций активации таким образом, чтобы они могли бы отражать разные представления мира, заданные нами. И мы выяснили, что эта методика гармонично сочетается с высшими слоями языковой модели. Эти слои могут делать прогнозы следующих ходов, основываясь только на изменённых данных внутренних функций активации, исключая нежелательное влияние изначальной входной последовательности. В этом смысле мы установили двунаправленное соответствие и открыли возможность использования этого механизма разными способами. Один из них — это карты скрытой значимости.

Дополнив этими двумя связями вышеприведённую схему, мы получаем весьма приятную картину. Имеются две системы — мощный «чёрный ящик» нейронной сети и понятная человеку модель мира. Они не только дают согласованные прогнозы, но ещё и пользуются единым промежуточным представлением.

Но при этом неотвеченными остаются ещё многие интереснейшие вопросы. В нашей работе форма представления мира (64 клетки, каждая из которых может пребывать в одном из трёх состояний) и игровой движок (правила игры) известны заранее. Можно ли извлечь их из модели вместо того, чтобы исходить из предположения о том, что они известны заранее? Стоит ещё отметить, что представление мира (состояние игровой доски) играет роль «достаточной статистики» входной последовательности для прогнозирования следующего шага. А вот при работе с реальными LLM нам, в лучшем случае, известна лишь небольшая часть модели мира, лежащей в их основе. Как управлять LLM, одновременно и эффективно, и минимально вмешиваясь в их механизмы (поддерживая другие представления мира)? Это — важный вопрос, на который предстоит дать ответ будущим исследованиям.

Список ссылок

[1] E. M. Bender and A. Koller, «Climbing towards NLU: On Meaning, Form, and Understanding in the Age of Data,» in Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Online, Jul. 2020, pp. 5185–5198. doi: 10.18653/v1/2020.acl-main.463.

[2] W. Merrill, Y. Goldberg, R. Schwartz, and N. A. Smith, «Provable Limitations of Acquiring Meaning from Ungrounded Form: What Will Future Language Models Understand?» arXiv, Jun. 22, 2021. Accessed: Dec. 04, 2022. [Online]. Available: arxiv.org/abs/2104.10809

[3] E. M. Bender, T. Gebru, A. McMillan-Major, and S. Shmitchell, «On the Dangers of Stochastic Parrots: Can Language Models Be Too Big? ????,» in Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency, New York, NY, USA, Mar. 2021, pp. 610–623. doi: 10.1145/3442188.3445922.

[4] L. Floridi and M. Chiriatti, «GPT-3: Its Nature, Scope, Limits, and Consequences,» Minds & Machines, vol. 30, no. 4, pp. 681–694, Dec. 2020, doi: 10.1007/s11023-020-09548-1.

[5] K. Li, A. K. Hopkins, D. Bau, F. Viégas, H. Pfister, and M. Wattenberg, «Emergent World Representations: Exploring a Sequence Model Trained on a Synthetic Task.» arXiv, Oct. 25, 2022. doi: 10.48550/arXiv.2210.13382.

[6] Y. Belinkov, «Probing Classifiers: Promises, Shortcomings, and Advances,» arXiv:2102.12452 [cs], Sep. 2021, Accessed: Mar. 31, 2022. [Online]. Available: arxiv.org/abs/2102.12452

[7] A. Conneau, G. Kruszewski, G. Lample, L. Barrault, and M. Baroni, «What you can cram into a single $&!#* vector: Probing sentence embeddings for linguistic properties,» in Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Melbourne, Australia, Jul. 2018, pp. 2126–2136. doi: 10.18653/v1/P18-1198.

[8] J. Hewitt and C. D. Manning, «A Structural Probe for Finding Syntax in Word Representations,» p. 10.

[9] M. Abdou, A. Kulmizev, D. Hershcovich, S. Frank, E. Pavlick, and A. Søgaard, «Can Language Models Encode Perceptual Structure Without Grounding? A Case Study in Color.» arXiv, Sep. 14, 2021. doi: 10.48550/arXiv.2109.06129.

[10] R. Patel and E. Pavlick, «MAPPING LANGUAGE MODELS TO GROUNDED CON- CEPTUAL SPACES,» p. 21, 2022.[10] B. Z. Li, M. Nye, and J. Andreas, «Implicit Representations of Meaning in Neural Language Models,» arXiv:2106.00737 [cs], Jun. 2021, Accessed: Dec. 09, 2021. [Online]. Available: arxiv.org/abs/2106.00737

[11] B. Z. Li, M. Nye, and J. Andreas, «Implicit Representations of Meaning in Neural Language Models,» arXiv:2106.00737 [cs], Jun. 2021, Accessed: Dec. 09, 2021. [Online]. Available: arxiv.org/abs/2106.00737


О, а приходите к нам работать? ???? ????

Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.

Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.

Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.

Присоединяйтесь к нашей команде.

Комментарии (24)


  1. Arqwer
    17.04.2023 11:41
    +4

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


    1. LionbI4
      17.04.2023 11:41

      Они сделали LLM :) они не паряться с определениями - это довольно бесполезное занятие.
      Главный вопрос - что умеет то, что они сделали. А умеет оно очень многое, и многое ещё впереди.


    1. Tarakanator
      17.04.2023 11:41

      Вы это, поаккуратнее с выражениями, а то можете оскорбить чувства верующих.


  1. event1
    17.04.2023 11:41
    +1

    Это интересный эксперимент и результат. Но надо помнить, что GPT-2 содержит 1,5 миллиарда параметров, а всё пространство состояний игры Отелло — 3^{64}, что примерно соответствует 2^{100}, что, в свою очередь, примерно соответствует 10^{30}. Иными словами, модель достаточно большая, чтобы смоделировать всё пространство состояний



    1. vibornoff
      17.04.2023 11:41

      1.5 млрд параметров, пусть по FP32 каждый -- это примерно 2^35 бит состояния модели. Учитывая, что подавляющее большинство этого ландшафта состояний кодирует бессмысленный "мусор", это ещё хороший вопрос, может ли такая модель "запомнить" словарик всех возможных партий.


      1. event1
        17.04.2023 11:41

        1,5 млрд параметров по 32 бита — это 48 миллиардов бит или 2^{5*10^9}состояний


        1. vibornoff
          17.04.2023 11:41
          +2

          Да, уже исправил свой комментарий. Вы правы, кол-во возможных состояний модели действительно порядка 2^(2^35). Однако, будучи обученной, модель находится в каком-то одном из этих состояний (веса зафиксированы) и вся вариабельность ответов сводится к пространству возможных состояний промпта (включая контекст).

          Прям интересно, существуют ли на сегодняшний день методы оценки количества информации, закодированной в весах нейронок.


    1. Tyusha
      17.04.2023 11:41

      Причём здесь пространство состояний?! Человеку не надо знать всё позиции, чтобы уметь играть в шахматы, понимать стратегии.


      1. event1
        17.04.2023 11:41

        Статья о том, что исследователи взяли карты активаций и смогли получить из них состояния доски в высокой долей достоверности. Из этого делается вывод, что машобуч GPT строит "картину мира", примерно как человек. Я же заметил, что хранилище нейросети достаточно для того, чтобы просто "вызубрить" все возможные состояния доски.


        1. phenik
          17.04.2023 11:41

          Я же заметил, что хранилище нейросети достаточно для того, чтобы просто "вызубрить" все возможные состояния доски.

          По моему, интуитивно угадали положение дел)


          Некотрое аналоговое рассуждение..

          Можно провести аналогию с более простым и более наглядным случаем, с числами и операциям с ними, которая сводится к двум основным способам.


          1. Запомнить как можно больше примеров сложения, умножения, и тд., и пытаться угадывать результат для новых примеров. Быстрый способ получения результата, требующий ассоциативное обучение и память. Можно получать приблизительные результаты для больших чисел — аппроксимацию результатов.
          2. Обобщить процедуры сложения, умножения, и тд, на конечном числе примеров для любых чисел. Медленный способ получения результата, требующий процедурную память. Для вычисления больших чисел требуется внешние средства, как минимум карандаш и бумага, или счеты, но результаты, теоретически, будут точными для любых чисел. Эта необходимость возникает из-за ограниченных ресурсов когнитивных способностей человека — объема рабочей памяти, ресурса внимания, скорости мышления, и др.

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


          Ничего не напоминает? Первый способ напоминает результаты работы ЯМ на основе GPT, который для больших чисел может выдавать неправильные результаты операций над ними, хотя возможно близкие, т.е. аппроксимировать результаты. Эта точность зависит от числа параметров модели и объема обучающей выборки содержащей примеры операций с числами. Чаты моделируют именно ассоциативную память человека судя по этому исследованию. Однако они не способны моделировать процедурную память, т.к. для этого требуется рекуррентная архитектура сети, а трансфомеры это исключительно прямая архитектура. Все упирается в вопрос — насколько возможно с помощью этой архитектуры решать задачи требующих выполнения процедур? Вопрос на поверхности, если вся процедура сводится к конечному числу вариантов операций, желательно небольшому, то решается увеличением числа параметров модели и обучения на всех примерах, если нет, то в принципе не решается. Для чисел и операций с ними не решается, т.к. их число бесконечно, а для действительных и вовсе не счетно. Т.е. GPT в принципе не способны произвести обобщение чисел и операций с ними, как это может делать человек, т.к. не обладает процедурной памятью. И не может произвести эквивалентную глобальную аппроксимацию всех операций, т.к. из бесконечное множество.


          С другой стороны, что такое процедурное знание? Это, иногда, неявные знания о мире, некоторые частные модели мира. Подсознание человека заполнено таким знанием, которое имеет разное происхождение, как врожденное, так и приобретенное.


          Исходя из этого можно сказать сомнительно, что чат строит модель этой игры, в том смысле как это понимается для человека, а делает частичные аппроксимации, и поэтому всегда может ошибаться в ходах, т.к. пространство решений этой игры весьма велико. Хотя результаты будут улучшатся с ростом числа параметров модели и объема обучающей выборки.


    1. VincentoLaw
      17.04.2023 11:41

      Даже если она смоделировала всё пространство состояний (во-первых вопрос как, вряд ли ей всё дерево игры скормили), то каким образом тогда она корректно обрабатывает невозможные состояния, которые использовали авторы? Невозможных состояний гораздо больше.


      1. event1
        17.04.2023 11:41

        В игре есть поле из 64 клеток. Каждая клетка может быть пустой, белой или чёрной. Таким образом, количество всех возможных состояний доски составляет 3^{64}. Это включает и возможные и невозможные состояния. К сожалению, я не могу ответить "каким образом". Это вопрос к специалистам. Хотя, на сколько я понимаю технологию нейросетей, на такие вопросы ответить довольно трудно.


        1. VincentoLaw
          17.04.2023 11:41

          Вы правы про кол-во состояний, не обратил внимание. Но она в целом ни разу не работала с невозможными состояниями. Довольно тяжело представить каким образом вообще они могли попасть ей в память, тогда уж проще представить каким образом она могла построить модель.


    1. VPryadchenko
      17.04.2023 11:41

      Но модель моделирует не состояния, а переходы между ними - а это более мощное множество, чем множество состояний.


      1. event1
        17.04.2023 11:41

        даже если и так и даже если у неё внутри все возможные пары переходов, то это всего 2^{200}.


        1. VPryadchenko
          17.04.2023 11:41

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


  1. ElonMusc
    17.04.2023 11:41
    +1

    ChatGPT помог мне убедиться в том, что моя гипотеза (не важно в какой области знания) имеет право на существование! Была нерешенная задача. Никто, в том числе гугл и стэк-оверфлоу, даже близко не знали как ее решать. У меня родилась гиипотеза как надо. Но проверять ее сложно. Решил подискутировать с ChatGPT - в результате он родил таки похожее на мое решение.. Но его нет нигде. То есть ИИ также как и я изобрели абсолютно новое решение.


    1. progreccor
      17.04.2023 11:41
      +1

      Правда без вас, он бы этого не «изобрел» ????


  1. leventov
    17.04.2023 11:41
    +3

    Переводчику: вы в нескольких местах переводите "activations" как "[данные] функции/й активаций". Это неправильно и сбивает с толку. Если уж на то пошло, то активации - это результаты применения функций активации после некоторых слоев параметров, но, в зависимости от архитектуры, не всех. Поэтому надо просто переводить activations как "активации".


  1. VPryadchenko
    17.04.2023 11:41
    +1

    Спасибо за перевод. Поместите пожалуйста, схемы на белый фон, вместо прозрачного. При их открытии на телефоне они накладываются на текст статьи и становятся нечитабельны.


  1. vassabi
    17.04.2023 11:41

    ... вот и проверится гипотеза - насколько близко можно отмоделировать реальный мир статистикой.


  1. leremin
    17.04.2023 11:41

    Ну смотрите. Все эти нейронные сети можно на бумажке начертить и идти по графу (ну совсем грубо). С вороной так не получится. Поэтому вообще не очень понимаю все эти дискуссии... Безусловно, с увеличением количества параметры модель все лучше и лучше результаты будет выдавать, но, тем не менее, это просто очень объемная функция string foo(string).

    Если я не прав, поправьте меня. Это все таки дилетантский взгляд.


    1. rombell
      17.04.2023 11:41

      Собственно, а почему нельзя ворону графом расчертить? Нам мешает только неумение определить конкретные веса синапсов в мозгу вороны. Плюс у живых активно работает механизм динамического изменения весов по всему графу, у кремниевых пока что с этим хуже.