Как стать автором
Обновить

Осваивают ли LLM модели мира, или лишь поверхностную статистику?

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров28K
Всего голосов 28: ↑27 и ↓1+41
Комментарии41

Комментарии 41

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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


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


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


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

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

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

По вашей логике, если ты запомнил таблицу умножения, вместо того, чтоб каждый раз суммировать А раз число Б, чтобы получить А*Б, то ты не умеешь умножать.

Не совсем понял смысла ваших возражений.


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

Если вы о вычислениях в уме, то есть феномены счетчики, которые быстро считают большие числа, для них проводятся чемпионаты. На Востоке по мысленные вычислениям на абаке. Конечно большинство людей могут обычно мысленно считать в пределах сотен и тысяч, т.е. пределах обычных цен и зп)

Возражения в том, что стохастическая модель не предназначена для точных вычислений, как и человеческий мозг по своей природе. У нас есть только вероятность того или иного ответа, которая никогда не равна 1. Если использовать langchain и научить нейросеть пользоваться калькулятором, она не будет ошибаться в математических операциях.

Пример с чемпионами-счетоводами считаю нерелевантным, т.к они даже близко не сравнятся по точности с современным калькулятором. Посмотрите сами на задания чемпионатов, ссылке вы мне дали(Квадратный корень из 6-значного числа, 10 минут ). Если бы человек был способен научиться таким операциям на уровне компьютера, то у него не возникло бы проблем и со 100 значными числами, но увы.

Научить нейросеть считать в 'столбик' достаточно просто и она превзойдет любого чемпиона мира в тысячи раз. Но гораздо эффективнее научить её использовать wolfram.

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

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


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

Если ЯМ не может обобщить числа и операции с ними, то она может неправильно составить задание для некоторых случаев для внешнего мат. расширения. А главное, сама необходимость такого подключения подтверждает идею о том, что обучить самостоятельно производить расчет для любых чисел ЯМ нельзя, несмотря на все вычислительные возможности оборудования на котором она выполняется.


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

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


Научить нейросеть считать в 'столбик' достаточно просто и она превзойдет любого чемпиона мира в тысячи раз.

И где такой калькулятор для ЯМ на GPT? Что-то не видно) Пока они делают ошибки в расчетах, вот примеры 1, 2.


Но гораздо эффективнее научить её использовать wolfram.

Гораздо эффективнее использовать альфа вольфрам напрямую, т.к. он уже понимает задания на естественном языке. И не платить за вольфрам и чат одновременно.


Если интересны подробности, то можно посмотреть дискуссию на эти же темы в этой ветке.

И где такой калькулятор для ЯМ на GPT? Что-то не видно) 

Это не совсем то, что я имел ввиду, но принцип похож. В модели уже есть базовые знания о том, как производить математические операции, поэтому добавление в промпт "step-by-step" модификатов в разы увеличивают точность вычислений ссыль.

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

Это уже скорее вопросы к архитектуре, но фреймворки вроде langchain, autogpt, semantic kernel итд. это тоже часть архитектуры в некотором смысле.

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

Вы сильно переоцениваете мозг человека в этом вопросе как по мне. Мы совершаем тупые ошибки в простых вещах достаточно часто.

В модели уже есть базовые знания о том, как производить математические операции, поэтому добавление в промпт "step-by-step" модификатов в разы увеличивают точность вычислений ссыль.

Увеличивает, но не может решить проблему в принципе по многим причинам. Это имеет больше демонстрационное значение, чем практическое. Ошибки все равно возникают при росте длины чисел. Окно быстро переполняется из-за этого пошагового режима, даже если его увеличивать. Проблема связана с тем, что в ЯМ отсутствует внутренняя память в которой такие вычисления производились бы, как в компах, в цикле. Человек это делает с помощью процедурной памяти, поэтому проблем не возникает для операций с любыми числами, если дополнительно использовать, напр, карандаш и бумагу для записей, хотя может быть медленно.


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

Если вы заглядывали в статью, то они использовали установку температуры в ноль, т.е. отключали вероятностный режим генерации (брали наиболее вероятные токены). Это правильное решение. Однако ошибки все равно возникают ~10 % для чисел длиннее 15 знаков и больше, и будут расти для еще более длинных. Это связано с тем, что вероятностным является не только вывод, но и промежуточные действия. Вряд ли это можно устранить каким-либо обучением в такой архитектуре. Фактически это должна быть детерминированная процедура с использованием цикла, как в компе, или как в процедурной памяти человека после обучения и выработки соответствующих навыков.


Вы сильно переоцениваете мозг человека в этом вопросе как по мне. Мы совершаем тупые ошибки в простых вещах достаточно часто.

Речь о принципиальной возможности в этом конкретном случае. Он показательный, и позволяет понять как относиться к другим возможностям ЯМ, их архитектурным ограничениям. Компы тоже могут совершать ошибки из-за сбоев памяти, например. Когда не было электронных вычислительных устройств, включая калькуляторов, сложные расчеты производили по сути вручную. Могли конечно использовать механические устройства, логарифмические линейки, но в основ десятки и сотни барышень сидели в счетных бюро и делали их руками, перепроверяли, контролировали друг друга, и ракеты летали правильно)


Появилась работа в которой рост возможностей, их переход на качественно иной уровень с увеличением масштабов ЯМ, критически оценивается, включая арифметические операции. Возможно это связано с некорректными метриками применяемыми с целью оценки роста.

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

плюс в эксперименте подавали невозможные позиции, что всё рано приводила к правильному прогнозу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это неизвестно.
В вороне нет гарантии, что там нет чего-то квантового, что не даст "начертить на бумажке" (например - как с предсказанием погоды).
А в нейронке - это можно сделать (да - долго и дорого, но 100% можно).

В вороне, как и в Вас, и во мне, и в клавиатуре, на которой я набираю — квантовое примерно всё.
Но отлично декогерируется настолько быстро, что можно пренебречь.
Предсказание погоды сложно не из-за квантовой природы, там тоже всё декогерирует, а из-за низкой точности измерений и быстро накапливающейся ошибки при расчётах, что приводит к существенному расхождению результатов при минимальном изменении входных данных. Грубо говоря, если сейчас мы можем померять в 1000 точек данные с точностью 3 знака, и это нам даёт 3 дня прогноза, то померяв в 1000_000 точках с точностью 6 знаков, мы бы смогли прогнозировать 6 дней

1) ворона - не железяка, в клетках у нас много разных штук про которые нет гарантии что работают не на квантах

2) на 4 дня прогноза - и то не факт. А уж на 30 дней прогноза - так вообще, быстрее будет дождаться, чем попробовать посчитать. И это не изза точности, а изза https://ru.wikipedia.org/wiki/Теория_хаоса и точность измерений вам не поможет

У нас ВСЁ работает на квантах. И в вороне, и в нас, грешных, и в любой железяке/кремнияке. Но декогерирует так быстро, что можно пренебречь.
Пока что ничего другого не найдено. Конечно, чайник Рассела всегда возможен, и, вполне возможно, в каждом нейроне сидит свой маленький Дух Божий, и именно он и осуществляет переключение по наитию Свыше. Но наука так не работает

ну вы прямой Эйнштейн с "бог в карты не играет!" :D

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

я к тому, что даже математика с ее бесконечностями бессильна эти процессы посчитать с нужной точностью, а уже если ограничить числа (как в информатике) и ограничить материю с силой (как в физике) - то и подавно.

в отличии от нейронки, которая с самого начала создавалась "quadratisch praktisch gut" для расчётов.

даже математика с ее бесконечностями бессильна эти процессы посчитать с нужной точностью

Хотелось бы обоснования данного утверждения, поскольку там всё-таки достаточно триггерные состояния "включено-выключено", бесконечная точность не нужна

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

Пока что это мена чудо не в состоянии выиграть в крестики нолики. И умудряется делать бессмысленные ходы на 9 клетках. Где там модель мира?

Здесь не учли что доску можно перевернуть/инвертировать, и количество комбинаций резко сократиться в разы. Как раз это не учли в статье

Зарегистрируйтесь на Хабре, чтобы оставить комментарий