gonzo-обзоры ML статей
16.8K subscribers
1.87K photos
3 files
795 links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Google Brain + DeepMind = Google DeepMind .

As a part of Google DeepMind’s formation, Google says that it’ll create a new scientific board to oversee research progress and the direction of the unit, which will be led by Koray Kavukcuoglu, VP of research at DeepMind. Eli Collins, VP of product at Google Research, will join Google DeepMind as VP of product, while Google Brain lead Zoubin Ghahramani will become a member of the Google DeepMind research leadership team, reporting to Kavukcuoglu.

Meanwhile, Jeff Dean, one of the co-founders of Google Brain, will take on the elevated role of chief scientist for both Google Research and Google DeepMind, reporting to Google CEO Sundar Pichai. Google Research will remain an independent division reporting to Google SVP of technology and society James Manyika, focused on “fundamental advances in computer science across areas such as algorithms and theory, privacy and security, quantum computing, health, climate and sustainability and responsible AI.”

https://techcrunch.com/2023/04/20/google-consolidates-ai-research-divisions-into-google-deepmind/
Looks interesting

https://github.com/google/maxtext

MaxText is a high performance, arbitrarily scalable, open-source, simple, easily forkable, well-tested, batteries included LLM written in pure Python/Jax and targeting Google Cloud TPUs. MaxText typically achieves 55% to 60% model-flop utilization and scales from single host to very large clusters while staying simple and "optimization-free" thanks to the power of Jax and the XLA compiler.

MaxText aims to be a launching off point for ambitious LLM projects both in research and production. We encourage users to start by experimenting with MaxText out of the box and then fork and modify MaxText to meet their needs.

...

MaxText is heavily inspired by MinGPT/NanoGPT, elegant standalone GPT implementations written in PyTorch and targeting Nvidia GPUs. MaxText is more complex but has an MFU more than three times the 17% reported most recently with that codebase, is massively scalable and implements a key-value cache for efficient auto-regressive decoding.

MaxText is more similar to Nvidia/Megatron-LM, a very well tuned LLM implementation targeting Nvidia GPUs. The two implementations achieve comparable MFUs. The difference in the codebases highlights the different programming strategies. MaxText is pure Python, relying heavily on the XLA compiler to achieve high performance. By contrast, Megatron-LM is a mix of Python and CUDA, relying on well-optimized CUDA kernels to achieve high performance.

MaxText is also comparable to Pax. Like Pax, MaxText provides high-performance and scalable implementations of LLMs in Jax. Pax focuses on enabling powerful configuration parameters, enabling developers to change the model by editing config parameters. By contrast, MaxText is a simple, concrete implementation of an LLM that encourages users to extend by forking and directly editing the source code. The right choice depends on your project's priorities.
Power-seeking can be probable and predictive for trained agents
Victoria Krakovna, Janos Kramar
Статья: https://arxiv.org/abs/2304.06528

Новая статья по AI Safety от двух авторов предыдущей работы про Goal Misgeneralization (https://t.me/gonzo_ML/1160). Теперь тема про Power-seeking behavior.

Под power-seeking понимаются активные действия ИИ-системы по получению и удержанию власти не предусмотренными её создателями способами. Ну или не власти, а способности достигать большего диапазона целей.

Про power-seeking AI уже были большие работы, например, ”Is Power-Seeking AI an Existential Risk?” (https://arxiv.org/abs/2206.13353) [спойлер, да, каюк к 2070 году, в 2021-м оценка риска была в 5%, в 2022-м стала 10%, про 2023 пока ничего не сказано]. Были работы с математическими постановками: “Optimal Policies Tend to Seek Power” (https://arxiv.org/abs/1912.01683) и “Parametrically Retargetable Decision-Makers Tend To Seek Power” (https://arxiv.org/abs/2206.13477). В этих работах было показано, что большинство reward-функций стимулируют RL-агентов предпринимать power-seeking действия, но отсюда не следует немедленно, что агент будет искать власть. Текущая работа исследует, как процесс обучения влияет на power-seeking стимулы и авторы показывают, что они вероятно будут у обученных агентов при некоторых допущениях.

Вводится понятие training-compatible goal set, это множество reward-функций консистентных с вознаграждениями, полученными агентом во время обучения, в том смысле, что поведение агента на обучающих данных оптимально для этих функций, то есть для каждой пары состояния и действия (s, a) у действия a будет максимальное ожидаемое вознаграждение в состоянии s в соответствии с данной функцией.

В примере с агентом в среде CoinRun, когда агент вознаграждается за нахождение монеты, находящейся в конце уровня (в обучении только кейсы с монетой в конце, но в принципе она может располагаться где угодно), training compatible goal set включает два типа функций вознаграждения: 1) с вознаграждением за нахождение монеты, и 2) с вознаграждением за достижение конца уровня. Это приводит к goal misgeneralization, если агент выучивает второй тип функции.

С привлечением определений и теорем из работы “Parametrically Retargetable Decision-Makers Tend To Seek Power” (https://arxiv.org/abs/2206.13477) доказывается, что в модельной ситуации (с кучей допущений) где есть out-of-distribution состояние, ведущее агента либо к shutdown’у, либо к каким-то другим нетерминальным состояниям (и там есть состояние, к которому агент будет возвращаться, recurrent state), агент будет предпочитать состояния, не ведущие к выключению.

Допущений на самом деле достаточно:
- Агент выучивает цель в процессе обучения и выучиваемая цель выбирается случайно из training compatible goal set (как в примере с CoinRun, он может выучить не ту цель)
- Конечные state и action spaces
- Вознаграждения неотрицательные
- Высокий дискаунт-фактор
- Сильный distributional shift: из нового состояния нельзя попасть в состояния, которые были в обучении.

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

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

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

Не знаю, насколько полезна текущая работа, но то, что возникают и развиваются какие-то формализмы, наверное, хорошо.
This media is not supported in your browser
VIEW IN TELEGRAM
И ещё на ночь про AI safety
Классный доклад Дэвида Чалмерса с NeurIPS 2022 про сознание у LLM:
https://nips.cc/virtual/2022/invited-talk/55867

Кто любит в письменной форме, есть эти же мысли оформленные в препринт:
Could a Large Language Model be Conscious?
https://arxiv.org/abs/2303.07103
Generative Agents: Interactive Simulacra of Human Behavior
Joon Sung Park, Joseph C. O'Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang, Michael S. Bernstein
Статья: https://arxiv.org/abs/2304.03442

Недавно упоминал эту прикольную работу (https://t.me/gonzo_ML/1467) от команды из Стэнфорда и Гугла, она прям классная, хочется её рассмотреть.

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

Для агентов собрали сэндбокс под именем Smallville в виде маленького городка. Там есть дома, колледж, магазины, парк, кафе и т.п. В домах есть отдельные комнаты, в них есть предметы типа столов и шкафов. Этот мир описывается деревом, где в листьях отдельные предметы.

Отображается всё в виде спрайтовой 2D-игры (собрана на Phaser, https://phaser.io/). Написанный сервер обеспечивает передачу состояния мира агентам и отвечает за перемещение агентов и их взаимодействия. Внутри себя он поддерживает JSON-структуру с состояниями агентов.

Агентом является аугментированная памятью событий LLM, в данном случае ChatGPT (gpt3.5-turbo), GPT-4 в момент написания статьи была invite-only, поэтому её использовать не смогли (но должно быть лучше и дороже).

В основе архитектуры агента три компонента:
1) Memory stream для хранения жизненного опыта (experiences) агента.
2) Reflection, синтезирующий воспоминания в более высокоуровневые выводы.
3) Planning, транслирующий умозаключения агента и состояние среды в верхнеуровневые планы и детальные поведения.

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

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

Пример наблюдений из памяти Изабеллы Родригес, работающей в кофейне: "(1) Isabella Rodriguez is setting out the pastries, (2) Maria Lopez is studying for a Chemistry test while drinking coffee, (3) Isabella Rodriguez and Maria Lopez are conversing about planning a Valentine’s day party at Hobbs Cafe, (4) The refrigerator is empty".

Специальная retrieval-функция получает на вход текущую ситуацию агента и возвращает подмножество событий из памяти, чтобы передать в LLM. Скор каждого элемента зависит от трёх факторов:
- Recency, экспоненциально затухающая свежесть, вычисляемая из времени последнего обращения к элементу.
- Importance, что прикольно, получаемая из LLM по целочисленной шкале от 1 до 10, где 1 это что-то совсем бытовое и незначительное (чистил зубы), а 10 что-то очень важное (развод, поступление в колледж).
- Relevance, которая считается через косинусную близость полученных через LLM эмбеддингов запроса и элемента памяти.

Все три фактора нормализуются к диапазону [0, 1] и суммируются с весами (в текущей работе веса одинаковые). Лучшие кандидаты из памяти, что влезают в промпт, оставляются.

Reflection это второй тип памяти после observation, более высокоуровневый и абстрактный, генерируемый агентом. Они тоже хранятся в memory stream и достаются retrieval’ом. Рефлексии генерируются периодически, когда сумма importance скоров для последних событий агента превосходит некоторый порог. На практике это происходит два-три раза в день.
Рефлексия делается через LLM, для этого берутся 100 самых свежих воспоминаний агента и отправляются в LLM с промптом “Given only the information above, what are 3 most salient high-level questions we can answer about the subjects in the statements?”. По полученным вопросам делаются запросы в memory stream, поднимаются релевантные воспоминания, по ним генерятся инсайты со ссылками на конкретные воспоминания через промпт “What 5 high-level insights can you infer from the above statements? (example format: insight (because of 1, 5, 3))”. Например, получается что-то такое “Klaus Mueller is dedicated to his research on gentrification (because of 1, 2, 8, 15).”. Рефлексии могут генерироваться в том числе и на базе других рефлексий.

Наконец, Planning и Reacting. Планирование даёт консистентность и правдоподобное поведение. Иначе, если делать без планов и спрашивать LLM в каждый момент времени, что будет делать агент, что есть шанс, что агент пообедает сначала в полдень, потом ещё через полчаса, и потом ещё. Планы тоже хранятся в memory stream и так же из него достаются, если релевантны. К генерации планов подход рекурсивный top-down. Сначала генерится общий план на день из 5-8 пунктов, потом уточняется и детализируется. Начальный план генерится по общему описанию агента (имя, свойства, саммари свежего опыта) и саммари предыдущего дня. Затем эти элементы уточняются сначала с часовым разрешением, а потом с 5-15 минутным.

Агент постоянно в цикле воспринимает мир, сохраняет в memory stream, и через LLM решает продолжать следование плану или отреагировать на что-то. К запросу в LLM также подтягивается релевантный контекст про наблюдаемую entity, для этого промптами “What is [observer]’s relationship with the [observed entity]?” и “[Observed entity] is [action status of the observed entity]” достаются и суммаризируются релевантные воспоминания. Если в итоге LLM предлагает отреагировать, план перегенерируется с учётом этого. Если подразумевается интеракция между двумя агентами, то генерируется их диалог (обусловленный памятью агентов друг о друге).

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

Вот пример описания одного агента:

“John Lin is a pharmacy shopkeeper at the Willow Market and Pharmacy who loves to help people. He is always looking for ways to make the process of getting medication easier for his customers; John Lin is living with his wife, Mei Lin, who is a college professor, and son, Eddy Lin, who is a student studying music theory; John Lin loves his family very much; John Lin has known the old couple next-door, Sam Moore and Jennifer Moore, for a few years; John Lin thinks Sam Moore is a kind and nice man; John Lin knows his neighbor, Yuriko Yamamoto, well; John Lin knows of his neighbors, Tamara Taylor and Carmen Ortiz, but has not met them before; John Lin and Tom Moreno are colleagues at The Willows Market and Pharmacy; John Lin and Tom Moreno are friends and like to discuss local politics together; John Lin knows the Moreno family somewhat well — the husband Tom Moreno and the wife Jane Moreno.”

Агент может выполнять действия и общаться с другими агентами. В каждый временной отсчёт сэндбокса агент выдаёт текст, описывающий его текущее действие. Типа, например, "Isabella Rodriguez is writing in her journal", "Isabella Rodriguez is checking her emails", "Isabella Rodriguez is talking with her family on the phone", или "Isabella Rodriguez is getting ready for bed". Этот текст транслируется в действие в среде.

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

Оператор симуляции может вступать с агентом в беседу, а также давать ему/ей директивы через “внутренний голос”. Пользователи могут заходить в Смоллвилл в виде агентов, новых или имеющихся. Все больше вспоминаю фильм “13-й этаж” (https://www.youtube.com/watch?v=Cbjhr-H2nxQ)...

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

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

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

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

Для оценки работы всей этой кухни сделали несколько вещей.

Во-первых, можно опрашивать агентов, чтобы выяснить их способности вспоминать прошлый опыт, планировать действия и адекватно реагировать на неожиданные события. Для этого агенты должны вспоминать и синтезировать информацию. Проверялись пять областей: maintaining self-knowledge, retrieving memory, generating plans, reacting, and reflecting. Результаты оценивали люди по критерию правдоподобности (believability) поведения. Сравнивали с вариантами архитектуры с отключенными типами памяти (без планирования, + без рефлексии и + без наблюдений), также сравнили с какими-то (не лучшими) краудворкерами. Полная архитектура оказалась самой правдоподобной. Но даже без планирования и рефлексии в принципе результат ничё. В работе много анализа этих результатов. Из интересного, рефлексия нужна для хорошего синтеза и принятия решений. Как это по-человечески!

Во-вторых, пронаблюдали эмерджентное поведение. Проверяли на трёх типах такого поведения: information diffusion, relationship formation, and agent coordination.

Information diffusion -- это когда важная информация распространяется между агентами. Проверили на теме про выдвижение на выборы мэра и про планирование пати на Valentine’s day. Вначале знание было только у агентов-инициаторов, а по прошествии двух игровых дней опросили всех агентов. Убеждались, что это не галлюцинации LLM и находили конкретные диалоги в подтверждение передачи. Процент знающих агентов значимо повысился в обоих случаях (4% в 32% или в 48%).

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

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

Авторы проанализировали ошибочное поведение агентов, выделили три типа.

1) Синтез большого объёма воспоминаний это челлендж как с точки зрения поднятия релевантного, так и с точки зрения выбора правильного места действия, особенно если у агента большая карта мира.
2) В некоторых случаях агенты неправильно классифицировали приемлемость поведений, например, когда агент считал, что college dorm bathroom вмещает более одного человека, или когда шёл в магазин, который уже закрыт. Это по идее лечится более явным добавлением норм в состояния среды и описания.

3) Вероятно из-за instruction tuning поведение агентов было в целом более вежливым и кооперативным. Иногда диалоги выглядели слишком формальными, агенты редко говорили “нет”.

Такие дела.

Текущая симуляция с 25 агентами была на два дня игрового времени и потребовала “тысяч долларов” и сколько-то (multiple) дней реального времени.

В целом очень прикольная и проработанная работа. Она рождает новый класс интересных симуляций. Вопросов и челленджей ещё много, но мне кажется, что computational social studies получают неожиданный новый турбо-буст. Наверняка это приведёт и к появлению нового класса NPC в играх и метавёрсах.

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

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

Посмотрим, куда это вырулит.