Telegram Web
Оракул - одна из концепций мощного интеллекта

Давайте поговорим об одной из форм интеллектуальной обработки данных, которую я упоминал недавно - об оракуле.

Что это такое?
С точки зрения интерфейса это система, которая выполняет функцию ответов на вопросы (то есть это чат-бот). Но в сущности он должен уметь извлекать "максимально много" информации из имеющихся данных, и это позволит ему давать очень качественные ответы на вопросы. Он совместит мышление человека (или лучше), доступ к огромному количеству данных и возможность думать и учиться без устали.

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

О нет, рынок труда пострадает!
Вам в клуб противников автоматических лифтов.

Это опасная технология?
Настолько же, насколько опасны ChatGPT, поисковик и библиотека (та, которая с книжками).
Кто-то, конечно, спросит у оракула "В чём смысл жизни?", получит ответ "Ни в чём." и выпрыгнет из окна. Но давайте постараемся это предотвратить и купим этим людям таблетки заранее.

Когда релиз?
На мой взгляд, мы не менее чем в одном технологическом прорыве от этого. Напомню, что обычно между прототипом и работающей реализацией проходит много времени. Я, изучая статьи, пытаюсь нащупать зачатки прототипа, но пока безуспешно. Если у вас есть идеи, присылайте! 😁

@knowledge_accumulator
👍13
DreamCoder [2020] - воплощение моей мечты

Алгоритмическое решение задач сводится к нахождению программы (последовательности операций), которая удовлетворяет какому-то критерию решения. Это нужно при поиске доказательства теоремы, кодогенерации для решения задач, ARC-тесте на IQ и т.д.

Когда мы конструируем какой-то Domain Specific Language - набор элементарных команд, который мы используем для перебора, мы должны учитывать 2 ограничения:
1) Чем базовые команды сложнее, тем меньший класс задач мы можем решить с помощью них
2) Чем базовые команды проще, тем длиннее итоговая программа
В результате, мы сильно ограничены в разнообразии или сложности решаемых задач.

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

Предположим, что мы работаем с каким-то классом задач X.

1) Определим набор самых базовых операций в домене X.
2) Будем сэмплировать задачи класса X и пытаться собрать программу из нашего набора для этих задач. Для каких-то хотя бы сможем собрать.
3) Анализируя успешные программы, находим часто встречающиеся комбинации операций и составляем из них новую операцию, добавляя в наш набор.
4) Обучаем нейросеть, которая будет направлять наш перебор программ.

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

@knowledge_accumulator
👍17🔥5
Video PreTraining (VPT): Learning to Act by Watching Unlabeled Online Videos [2022] - о том, как нейросеть проходит Minecraft.

Одна из популярных задач для RL - это создание алмазной кирки в Minecraft. Она требует огромного числа скоординированных действий и занимает минуты. В данной работе её частично решают:

1) Сначала обучают нейросеть, которая по двум соседним кадрам предсказывает сделанное действие (как тут), для этого специально собирают датасет из 2 тысяч часов видео.
2) Этой нейросетью размечают 70 тысяч часов видео с игрой в Minecraft c ютуба.
3) Тренируют агента копировать действия игроков из этого датасета - это первый этап обучения (VPT).
4) Собирают специальный датасет, где просят людей заниматься базовыми активностями в майнкрафте, характерными для начала игры - например, постройкой дома. Этих данных меньше, чем в пункте 2, но они более качественные и ближе к основной задаче.
5) На этом датасете файнтюнят агента - это второй этап обучения (Early-Game).
6) Наконец, с помощью RL начинают учить агента собирать алмазную кирку. Здесь есть нюанс: используется не только награда за финальную цель, но и награда за каждую из >10 промежуточных целей, без которых финальную невозможно достичь. Также используют KL-регуляризацию, чтобы сильно не уходить от претрейна.

Что в результате? Нейросеть за 10 минут справляется в 2.5% случаев, человек в 12%. Интересно, что с задачей "найти алмаз" нейросеть справляется в 20% случаев, а человек в 15%. Если ты нашёл 3 алмаза, ты можешь сразу же сделать себе кирку, и конверсия из алмазов в кирку у человека, равная 80%, говорит о том, что это должно быть простым переходом.
Нейросеть, однако, конвертирует алмазы в кирку всего в 10% случаев. То есть либо она не способна добыть 3 алмаза из месторождения, либо не может потом сделать кирку. Так что, подходу точно есть куда расти, но интересно, что хоть какой-то процент успеха есть!

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

Более детальные обзоры: раз и два.

@knowledge_accumulator
👍12🔥4🤯1
Помогите определить будущее канала

Когда я создавал канал, у него было 3 цели:
1) Он дисциплинирует меня и заставляет регулярно читать статьи
2) Он вынуждает меня аккуратно и понятно рассказывать про прочитанное, и это помогает в нём лучше разобраться
3) Мне приятно делиться новыми знаниями с другими людьми

Спустя пару месяцев довольно неожиданно у меня появилось большое количество подписчиков, спасибо вам за поддержку! ❤️

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

И тогда я подумал, что нам имеет смысл определить будущее канала вместе с моими любимыми подписчиками! 😁

Я завёл себе Patreon и Boosty, с их помощью вы можете смягчить мои страдания от отказа от рекламы. Также с его помощью вы можете предложить мне написать пост на тему (почти любую), которую вы хотите, а самые щедрые получат возможность созвониться со мной, поболтать и обыграть в шахматы.
Очень надеюсь, что ваша поддержка сможет уменьшить мои страдания 🥹
👍29💯5💩32🤮2🤡2👎1
Как исследователи усложняют мне работу

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

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

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

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

@knowledge_accumulator
👍38🤔4😢3
Я вновь на телеэкране

Недавно совершенно внезапно автор канала @CVML_team предложил мне поболтать с ним про RL на камеру, и я с радостью согласился.

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

Было интересно! Результат прилагаю.
👍23🔥6💩1
Самая частая проблема статей про RL в рекомендациях

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

RL - это про долгосрочное взаимодействие со средой, и в данном случае средой является пользователь, агентом является система рекомендаций, наградой является какая-то оптимизируемая метрика, предоставляемая бизнесом.

Reinforcement learning подразумевает влияние действий на траекторию агента в среде, на саму генерацию данных, и при отсутствии этого влияния RL превращается в Supervised learning.

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

Если вы сделали новомодный DQN с 30 хаками, сравнили его с моделью, которая сортирует документы по популярности и получили прирост по NDCG, то, надеюсь, вам за это стыдно...
Вот вам смешно, а я такое периодически читаю.

@knowledge_accumulator
👍18😁6🤔62🤯2
Печальная правда исследований RL в рекомендациях

Одна из самых частых фраз, которые я вижу в статьях на эту тему, звучит примерно так:
"To perform evaluation of RL methods, a straightforward way is to evaluate the learned policy through online A/B test, which, however, could be prohibitively expensive and may hurt user experiences".

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

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

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

Я понимаю, что не у всех есть настоящий сервис с пользователями. Но печальная правда состоит в том, что если вы не можете протестировать рекомендательный RL-метод в реальной среде, то вам нужно рассмотреть вопрос смены темы исследования 😄

А что делать, если у вас всё-таки есть сервис, но вы боитесь выкатить в прод плохую модель?
1) Тестируйте на маленькой выборке
2) Тестируйте ансамбль вашей модели и текущего продакшна, постепенно увеличивая вес новой модели

Картинка из того же мета-обзора.

@knowledge_accumulator
👍194
Лучший способ продемонстрировать прирост

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

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

Очень часто при внимательном прочтении статьи я нахожу проблему в сравнении RL-метода с "классическим" методом. Хорошей иллюстрацией будет следующая статья, у которой >60 цитирований.

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

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

Разумеется, по итоговым бизнес-метрикам RL победил, поскольку он хоть как-то учитывает информацию об итоговой покупке. Более того, он победил кликовую модель по CTR, вероятно, благодаря скорректированной награде за клик.

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

@knowledge_accumulator
👍132🤨2
Экстраординарные утверждения требуют экстраординарных доказательств

Продолжаем разговор про RL-рекомендации, начавшийся тут.

Чтобы доказать, что RL-алгоритм выполняет поставленную задачу - максимизирует ту награду, которую мы задаём в процессе обучения, нужно проводить аккуратный ablation study.

Что я хочу в нём увидеть?

В RL есть параметр Gamma, отвечающий за горизонт планирования. Если он равен 1, то это значит, что мы максимизируем всю будущую награду, а если 0, то только ближайшую - это по сути как в Supervised learning. Обычно в обучении используют гамму, близкую к 1, но итоговый результат измеряют с помощью награды, просуммированной на всём промежутке (то есть как будто Gamma = 1).

Я хотел бы, чтобы авторы обучали и тестировали дополнительную версию своей модели с единственным изменением - с Gamma, равной 0. Это лучший способ доказать, что учитывание последующих наград действительно приносит пользу и использование RL имеет смысл.

Кроме того, важным бейзлайном может быть модель, которая учитывает долгосрочные награды, но только связанные только с совершённым действием напрямую. Например, мы берём порекомендованный товар и учитываем все его покупки в будущем, которые были совершены, в качестве таргета. Это проверяет предположение о том, что можно обойтись аккуратным расчётом таргета для классического рекомендательного алгоритма, а не мучиться с RL.

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

@knowledge_accumulator
👍24🔥3😁2🤔2
И какой же вывод про RL в рекомендациях?

Учитывая посты, начиная отсюда, можно сделать ряд следующих выводов:

1) Статей на эту тему выходит достаточно много
2) Большая часть этих статей применяет метод без понимания того, зачем это нужно, какую проблему мы решаем, и чем при этом жертвуем
3) Большая часть оставшихся не содержит никакого тестирования на живых пользователях

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

В чём смысл исследований? Прежде всего, в поиске истины и построении модели мира. Когда у вас есть гипотеза о том, как устроен мир, вы пытаетесь проверять её на прочность, проводя эксперименты. Вы пытаетесь, что называется, prove yourself wrong - найти наблюдение, противоречащее вашей гипотезе. И вы делаете это усиленно, до тех пор, пока гипотеза не станет очень хорошо протестированной.

Утверждение "RL в рекомендациях превосходит классические подходы в чём-либо" - это гипотеза, которая точно не может считаться хорошо протестированной, но подвергнуть её серьёзной проверке практически не пытаются в исследованиях на данную тему. Добросовестный исследователь будет проводить дополнительные проверки, чтобы показать, что именно добавление RL-составляющей в пайплайн и только оно приносит значительную пользу.

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

@knowledge_accumulator
👍15🔥2😢2
Альтернативная парадигма для умной обработки данных

Сегодня поговорим об энергетических моделях, как о способе извлекать зависимости из данных. Я уже упоминал ранее про ЖЕПУ, так вот, это оно.

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

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

Энергетические модели можно применять для "решения задач" - обучив энергетическую модель, получающую "вход", "выход" и "решение", можно оптимизировать это самое решение. В теории это было бы супермощно, но мы пока что не умеем хорошо такие модели учить.

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

Основная сложность с такими алгоритмами в том, что если его применение включает в себя процесс оптимизации, то его затруднительно учить end-to-end с помощью back-пропа. Но ничего, прорвёмся!

@knowledge_accumulator
👍7😁3
Почему AlphaDev не перевернул всё вверх дном?

Поговорим о недавно вышедшей от Deepmind статье, в которой обучали нейросеть для поиска более быстрого алгоритма сортировки. Я уже рассказывал про статьи AlphaZero и AlphaTensor, использующих в сущности тот же самый метод (советую изучить)

Особенности данного случая:
1) Пишем программу на ассемблере, генерируя команды по одной. Команды (действия) это элементарные операции сравнения, присваивания и т.д.
2) "Состоянием" в каждый момент является программа, сгенерированная на данный момент, и результат исполнения этой программы.
3) Наградой агента является штраф за длину программы (или время финального исполнения) и за неправильность итогового алгоритма, измеряемую тестами.

Какой результат?

Мы решаем по отдельности задачи создания алгоритма для сортировки массивов фиксированной длины. Начиная с длины 3 и заканчивая 8, выигрыш AlphaDev у человека составил 1, 0, 4, 3, 2, 1 операций. Интуитивно, а также по опыту AlphaTensor, кажется, что при увеличении размера входа нейросеть должна наращивать преимущество по сравнению с человеком, т.к. человеку гораздо сложнее работать с большим количеством объектов.

Почему здесь не так круто? Напишу свои гипотезы, буду рад почитать ваши мысли:

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

@knowledge_accumulator
👍12👏1
Если вы зашли на мой канал и такие - "чёрт, я понимаю только мэмы и новости про ChatGPT, а эти статьи слишком сложные", то у вас есть возможность исправить эту ситуацию.

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

Часть 1

Часть 2

Обязательно подписывайтесь на её канал! Но будьте осторожны, т.к. иногда там вас будут пытаться завлекать в топологию
🔥11👍3
А что на противоположном фланге в синтезе программ?

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

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

Данное направление не стоит на месте, и в начале этого года вышла статья Top-Down Synthesis for Library Learning. Алгоритм из неё работает быстрее, чем DreamCoder, на несколько порядков. Основное нововведение состоит в альтернативном подходе к тому, как, имея датасет готовых программ, синтезировать новые операции?

DreamCoder использовал подход, близкий к полному перебору всевозможных абстракций. Авторы нового алгоритма Stitch формулируют задачу как поиск абстракций по дереву всевозможных вариантов. При поиске максимизируется "полезность" абстракции, измеряемая тем, насколько сократится длина всего датасета программ при её использовании. В перебор добавляют оптимизации из области методов решения NP-задач (например, Branch-and-bound). Этого хватает, чтобы совершить прорыв в скорости построения новых абстракций, к тому же более высокого качества.

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

Stitch способен решать куда более сложные задачи, чем DreamCoder, но мы всё ещё далеки от уровня человека. Однако, постановка решаемой задачи очень напоминает сферу доказательств теорем в математике. Ждём, когда это всё смогут масштабировать! А я буду держать вас в курсе.

@knowledge_accumulator
👍13❤‍🔥2🤯2👏1
Cooperation is all you need [2023] - перспективный конкурент трансформера или трата времени?

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

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

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

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

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

@knowledge_accumulator
👍14🔥4
Forwarded from Борис опять
# Корреляции, эффекты, интерпретации

Скотт Александр выложил отличный пост про такие инопланетные вещи как effect size и корреляция.

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

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

Что коррелирует между собой больше?
1. IQ с оценками
2. Рост с весом
Ответ: IQ с оценками.

Снова: где больше корреляция?
1. GPA (средний балл) vs SAT (американский ЕГЭ)
2. Рост с весом
Ответ: рост с весом немного сильнее.

У чего больше статистический эффект?
1. Мужчины выше (ростом), чем женщины
2. Дети обучаемые индивидуально изучают больше, чем обучаемые в группе
Ответ: эффект индивидуального обучения сильнее.

Если исследование обнаружило, что женщины эмпатичнее мужчин с effect size 0.9, это много или мало?

Верного и абсолютного ответа нет. Было бы клево, если бы наука такая выдавала ответ: "да, женщины эмпатичнее" или "нет, все это фигня". Но в реальном мире наука выдает вместо ответа эксель табличку и делай с ней что хочешь.

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

С корреляциями все ещё хуже, потому что они обманчиво интуитивны. Любой дурак знает, что чем ближе к 1, тем сильнее связь. Так что корреляция в 0.22 может показаться не очень большой. Однако именно такая корреляция у социального класса родителей со школьными оценками их детей.

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

Далее тсылаю к оригинальному посту:
https://astralcodexten.substack.com/p/attempts-to-put-statistics-in-context
👍13🤔3
Новая жизнь испанского кота [2023]

Сегодня мы поговорим о статье от Deepmind про алгоритм RoboCat - потомок алгоритма Gato (исп. кот), про него я уже говорил ранее. Система Robocat учится решать большое количество разных задач, связанных с манипуляциями объектами.

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

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

Ключевое отличие работы от предка - теперь датасет для претрейна формируется в том числе с помощью самой модели итеративно:

1) Сначала мы претрейним модель на большом датасете с траекториями, как и Gato
2) На каких-нибудь новых задачах собираем датасет с "экспертными" траекториями
3) Файнтюним на нём модель, опять же, предсказывая токены
4) Итоговой моделью генерируем ещё больше траекторий на этой новой задаче
5) Все эти траектории добавляем в датасет для претрейна

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

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

@knowledge_accumulator
👍12
Что, если "сильный" интеллект в принципе нельзя спроектировать?

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

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

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

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

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

То есть, всё, что нужно - это
1) Грамотная параметризация системы. Она может в корне отличаться от того, что обычно в ML, например, похожа на человеческую - т.е. кодировать параметрами поведение одного кусочка системы и то, как она строится с нуля.
2) Грамотный "план" обучения - то есть последовательный список усложняющихся задач, который позволит сначала "найти" общий функционал млекопитающих, потом всё умнее, умнее, и так до нас.

Вам интересна эта тема? Ставьте 👾, если экспериментируете с опасными ИИ-технологиями у себя в гараже, и вам нужны идеи для проверки.

@knowledge_accumulator
👾54👍9❤‍🔥2🔥2👏1🤓1
Tree of Thoughts [2023] - заставляем GPT исследовать чертоги своего разума

Поговорим о разных видах взаимодействия с LLM.
1) Базовый - составляем запрос с задачей в модель, получаем ответ на выходе
2) Chain of Thoughts - просим модель описывать пошагово ход решения задачи и рассуждения, и в конце ответ.
3) Iterative refinement - В течение нескольких запросов, просим модель критиковать и улучшать решение.
4) В случае, если нам нужен ответ на задачу, в которой применимо ансамблирование ответов, можно запускать предыдущие методы несколько раз и потом комбинировать их ответы в один финальный

В статье авторы изобретают ещё более хитрый способ заставить модель анализировать. Мы генерируем дерево мыслей. Корень - это изначальная задача, а дети любой вершины - это добавление к рассуждению какой-то мысли. Данное дерево можно растить, посылая в LLM запрос вида "придумай следующий шаг к решению", и подавая текущее состояние на вход.

Как оценивать качество вершины? Используем саму же LLM, веря, что модель с оценкой мыслей справляется лучше, чем с их генерацией. Таким образом, мы можем каким-нибудь алгоритмом обхода дерева с эвристиками искать в нём решение, в котором шаги решения будут высоко оценены моделью. Я думаю, что детали тут слишком быстро устареют и конкретный алгоритм нам не важен.

Что по результатам? Они не радикально выше, но, видимо, схема помогает решать некоторые задачи, в которых такое "поисковое мышление" уместно. Например, большой буст наблюдается в решении мини-кроссвордов, т.е. заполнении буквами сетку 5 на 5 согласно вопросам. Классический способ решения подразумевает как раз поиск по дереву, так что прирост от подхода ожидаем.

Возможно, что со временем мы придём к какой-то black-box абстракции над LLM, где схема промптинга станет частью скрытой от пользователя реализации, и подобные алгоритмы конструирования ответа станут весьма сложными. А вы как думали, сверхсильный-ИИ-GPT возьмёт и расскажет всё просто так?

Получасовой обзор статьи

@knowledge_accumulator
👍8🔥6
2025/07/13 18:11:03
Back to Top
HTML Embed Code: