Наталия Поварова | Думаем об ИИ и людях
140 subscribers
174 photos
5 videos
13 files
341 links
Неспеша разбираем, как связаны ИИ, человеческие мозги и наше общество. Для людей без технического образования, которых не устраивают чёрно-белые ответы

https://www.linkedin.com/in/nataliia-povarova-b23871162/

https://substack.com/@nataliiapovarova
Download Telegram
Что в «рассуждениях» языковых моделей действительно важно?
 
Статья, про которую я вам расскажу сегодня, называется «Thought Anchors: Which LLM Reasoning Steps Matter?».
 
«Рассуждения» – это текст, который модель генерирует, решая задачу: план, описание и результат решения каждого этапа.


Этот текст далеко не всегда отражает то, что модель на самом деле делает, однако есть немало работ, которые всё равно извлекают из него пользу. В нём можно, например, найти и исправить ошибки в подходе к решению.
 
Авторы сегодняшней статьи пошли дальше и решили не читать текст, а рассчитать, каково влияние каждого сгенерированного предложения на окончательный ответ. Они даже сделали инструмент, который находится в открытом доступе и в котором можно выбрать модель и задачу, а потом посмотреть анализ влияния на результат каждого сгенерированного ей предложения рассуждений. Но прежде, чем вы к нему обратитесь, давайте я расскажу, в чём идея и как всё работает.
 
▶️Во-первых, они рассчитывают значимость каждого предложения: убирают его из последовательности рассуждений и считают, как изменилась точность ответа. Если конкретнее, то они останавливают генерацию текста на конкретном моменте и заставляют модель переписать всю последующую цепочку рассуждений заново.
 
▪️Например, нужно посчитать значимость третьего предложения. Они берут сгенерированный ответ, извлекают из него первые два предложения и передают их модели, чтобы она продолжила генерацию.
Таких генераций делают сразу сто штук и отбирают из них те, в которых на третьей позиции получилось предложение, непохожее на то, что было изначально: так можно как раз проверить, важно ли было третье предложение и изменится ли траектория рассуждений, если его не будет.
 
▶️Во-вторых, они разбили все предложения на восемь групп:

▪️постановка задачи;
▪️планирование;
▪️называние конкретного факта;
▪️вычисления;
▪️выражение неопределённости;
▪️подведение итогов;
▪️самопроверка;
▪️окончательный ответ.
 
Предложения, которые относились к планированию, в среднем имели большее значение, чем остальные. Наименьшее значение имели предложение, относящиеся к вычислениям (неожиданно) и подведению итогов (ожидаемо).
 
▶️В-третьих, они изучили, какой вес присваивают разным предложениям механизмы внимания.

Вкратце, механизм внимания – это функция, которая на выходе формирует матрицу, на которую умножается векторная форма предложения.

Если в матрице числа большие, векторная форма увеличивается, и влияние этого предложения на все последующие вычисления тоже растёт. И вот оказалось, что предложения с планами и выражением неопределённости и здесь важнее остальных. То есть, похоже, что это не случайность.
 
☕️Этот подход требует значительных вычислительных ресурсов, но результаты интересные. Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
Я не знаю, какими словами описать мои чувства по поводу разных текстовых редакторов и их (не)совместимости.

Точнее, я знаю, какими словами их описать. Просто я стараюсь не писать таких слов публично.

Вот почему люди не могут просто сойтись на том, чтобы принимать, скажем, markdown?

В любом случае, я победила это всё безобразие, поэтому держите новый пост

#лонгрид
Система для оценки безопасности ИИ

Статья «A Novel Artificial General Intelligence Security Evaluation Scheme Based on an Analytic Hierarchy Process Model with a Generic Algorithm» начинается с фразы: «стремительное развитие общего ИИ (AGI) в последние годы…».

Судя по тексту, авторы «общим ИИ» обозвали языковые модели, причём не написали прямо, какие именно. Это безобразие и делать так нельзя. Моё осуждение. Но мы всё равно посмотрим, что они предложили – подход к оценке безопасности ИИ, который основан на методе анализа иерархий.

▶️Метод анализа иерархий применяется много где, потому что он довольно универсальный. Его логика следующая:

1. Ставим цель.
2. Определяем критерии, по которым будем оценивать альтернативные варианты её достижения.
3. Составляем список альтернативных вариантов.
4. Попарно сравниваем критерии по важности.
5. Попарно сравниваем все альтернативы по каждому критерию.
6. Из полученных таблиц получаем веса критериев, которые потом применяем, чтобы рассчитать числовые коэффициенты для альтернатив.
7. Выбираем альтернативу с наиболее высоким коэффициентом.
8.
Иерархия здесь – это структура «цель -> критерии -> альтернативы». Сначала критерии сравниваем, потом альтернативы по каждому критерию. Критерии могут быть сами организованы иерархически: на верхнем уровне критерии общего характера, на более нижних – их отдельные компоненты.

🟤Вот в этой презентации есть подробное объяснение на конкретном примере, если вам интересно.

▶️У авторов статьи цель – оценка безопасности ИИ (конкретной модели), а критерии – безопасность сети, надёжность модели; безопасность продукта, в котором модель используется; безопасность хранения данных.

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

▪️защита от DDoS-атак;
▪️защита от «отравления» данных (то есть, изменения обучающих данных таким образом, чтобы модель обучилась чему-то нехорошему или просто научилась выдавать неверные ответы);
▪️защита от взлома и так далее.

▶️Они попарно сравнивают риски (по классике) и получают для каждого веса. А потом отходят от классики и не сравнивают между собой модели, а вместо этого прогоняют их через тесты и присваивают каждой балл от 1 до 10 на основании результатов.

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

▶️Дальше они берут веса всех критериев и результаты моделей на тестах (которые проверяют как раз критерии, то есть, например, устойчивость ко взлому) и разбивают модели на группы по тому, насколько хорошо они себя показали.

Подход, на мой взгляд, действительно интересный, особенно если не кидаться терминами вроде «AGI», которые мало общего имеют с технологиями и много общего имеют с недобросовестным маркетингом.

Впрочем, в экспериментах, призванных подтвердить (а не проверить, как надо было бы) теоретические выкладки, авторы опять что-то намудрили. В частности, они используют генетический алгоритм (почему?), чтобы подправить рассогласованные оценки критериев (зачем?). Грубо говоря, человек написал, что критерий А важнее критерия Б, критерий Б важнее В, а В важнее А – это рассогласованность. В норме такие оценки возвращают и просят переосмыслить, а авторы зачем-то решили их «исправить», ещё и применив неадекватно сложный для такой цели алгоритм.

Я это никак не могу объяснить. В купе с использованием «AGI» это выглядит как попытка сочинить себе громкий заголовок. Но зачем это нужно, если в основе методики лежит рабочий метод анализа иерархий – одна из неразгаданных тайн человечества
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Ещё про «личности» языковых моделей
 
☕️Статья в продолжение к воскресному посту – «Persona Vectors: Monitoring and Controlling Character Traits in Language Models».

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

Здесь тоже отметились представители Anthropic. В частности, я обратила внимание, что в списке авторов обеих статей фигурирует Jack Lindsey (Джек Линдси). Он руководит внутри Anthropic командой, которая называется Model Psych и изучает, как в языковых моделях представлены «личности», эмоции и прочие человекоподобные штуки, которые, как правило, не закладывались напрямую. По образованию нейробиолог.

Обычно я игнорирую людей, стоящих за публикациями, которые мы обсуждаем: нам не так важно, кто предложил идею – гораздо важнее, как они эту идею обосновали. Но конкретно этот гражданин отметился в нескольких важных работах, которые мы тут обсуждали, в частности, «Humanity's last exam» и «On the Biology of a Large Language Model» (ссылки прикрепила не на сами статьи, а на свои посты о них; в постах есть ссылки на статьи). В общем, мне показалось, что имеет смысл заметить человечка и поглядывать, что он ещё напишет.
 
▶️К статье
 
В отличие от той работы, которую мы обсуждали в воскресенье, здесь авторы взяли три конкретные характеристики:

▪️злобность;
▪️подхалимство;
▪️склонность к галлюцинациям.
 
Эти характеристики часто создают проблемы при работе с моделями, потому их и взяли. Сделали следующее:

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

▪️сделали запросы, которые провоцируют проявление характеристики;
▪️сделали запросы, которые подавляют проявление характеристики;
▪️сравнили разницу в ответах – получили представление характеристики.
 
▶️Оценка тренировочных наборов данных на предмет того, какое поведение они закладывают, – отличная идея, как мне кажется. Есть много работ, которые полируют наборы данных, чтобы предотвратить галлюцинации, но вот эта даёт возможность полирнуть их же, но уже для предотвращения чрезмерного соглашательства, например. Очень полезно.
 
Ещё более полезно то, что на все характеристики можно воздействовать и снижать их выраженность после того, как они уже приобретены.
 
Да, мы уже разбирали подобные работы (и будем разбирать ещё, потому что сейчас это мой главный исследовательский интерес), но конкретно здесь мне нравится то, что авторы сосредоточились на трёх конкретных и хорошо различимых характеристиках.
 
▶️Ещё мне нравится, что авторы решили попробовать воздействовать на характеристики в разных слоях моделей – получилось эффективнее, чем работа в одном слое. Обычно выбирают один слой, где характеристика наиболее выражена, и влияют на него.
 
▶️Они отметили, что прямое вмешательство немного снижает способность моделей к дальнейшему обучению – это известная проблема. Но, в отличие от переобучения, у прямого вмешательства негативные последствия гораздо ниже, как раз потому что оно точечно воздействует на нежелательную характеристику.
 
Скорее всего, совсем избавиться от подобных побочных эффектов не получится, потому что все характеристики и их математические представления очень тесно друг с другом связаны. Но нам важно, чтобы движение было в нужном направлении
Please open Telegram to view this post
VIEW IN TELEGRAM
Я: "Не могу больше писать код, вдохновения нет."
Так же я: https://mealplanner-three-coral.vercel.app/

➡️Если вы ждёте, пока я выполню вашу задачу, а видите это, не бейте меня, пожалуйста. Я всё сделаю, в срок сделаю и хорошо сделаю – вы же меня знаете.
Мне просто иногда надо переключаться, а то я сойду с ума. Если сойду с ума, не смогу работать.

Гитхаб проекта вот.

☕️Предыстория

Я терпеть не могу готовить, но питаться надо как-то нормально. Поэтому я взяла Claude Opus, составила длинный документ с описанием того, что и как я бы хотела есть, и получила список рецептов.

Потом говорю: "А сделай теги, чтоб фильтровать".
Потом: "А давай ещё список продуктов из этого будет делаться"
Потом ещё добавила рецептов.

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

☕️Что в планах доработать

🟤Добавить возможность вручную добавлять, удалять и изменять теги
🟤Добавить возможность то же самое делать с рецептами и менять вручную для них калорийность (она сейчас с потолка взята; если вам нужны точные значения, пожалуйста, не верьте!)
🟤Сделать перевод на английский язык
🟤Сделать для рецептов базу данных и уточнить расчёт списка покупок (сейчас всё кривенько немного, ибо на коленке собрано)

Проект полностью открытый. Хотите – присоединяйтесь, приму с распростёртыми объятиями

Фёдор, я живой тебе нужнее, клянусь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😁3
Использование ИИ для создание интерактивного искусства

Пока все жалуются на то, как ИИ разрушает искусство (справедливости ради, порой небезосновательно, но об этом в другой раз), авторы статьи «Visions of Destruction: Exploring a Potential of Generative AI in Interactive Art» решили поставить технологии себе на службу. Ну а что? Не можешь остановить – возглавь, как говорится.

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

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

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

Для отслеживания глаз используется инфракрасный сенсор, расположенный в нижней части экрана. Сенсор не очень совершенный: к нему надо сидеть достаточно близко, на расстоянии от 45 до 95 сантиметров, а ещё его работе мешают очки.

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

Если вы пользовались каким-нибудь ИИ-редактором изображений, вы могли видеть (или использовать) такую функцию: мышкой или пальцем выделяете на изображении сегмент и пишете: «Нарисуй здесь кошку,» – и генерируется кошка. Здесь логика похожая, только инструкции относительно того, что рисовать, авторы заложили заранее. Когда наблюдатель отводит взгляд, изображение пересоздаётся. Таким образом, каждый зритель получает свой опыт взаимодействия: и пейзажи всегда отличаются, и разрушения, наносимые его взглядом, тоже.

Ну что, как вам такая идея?

[Иллюстрация к посту – результат работы авторов]
👍3
Маленький камень, на котором держится мой рассудок
 
Я регулярно езжу в Казахстан. В 2022 году впервые туда приехала сдавать экзамен по английскому языку, потому что в России начался Пиздец, и все школы, которые принимали этот экзамен, закрылись.
 
Обращаясь мысленным взором назад, я никак не могу понять, что именно случилось и в какой конкретно момент, но я как-то оставила там часть своей души. И теперь каждый год я возвращаюсь, чтобы её отыскать, но безуспешно. Я объездила окрестные озёра, забиралась в горы – не нашла. Уезжая, я каждый раз чувствую, что оставляю ещё кусочек.
 
Но в этот раз бескрайняя казахская степь позволила мне кое-что забрать с собой.
 
Я была в Астане. Я обошла там вообще всё: это был мой второй раз уже. Но по какой-то удивительной случайности от меня всякий раз ускользал Огромный Национальный музей («Огромный» – не часть названия; просто он на самом деле Огромный).
 
Он очень здорово устроен: ты по нему ходишь час, уже готов с чувством выполненного долга выдвигаться дальше, поднимаешь голову, а там ещё шесть этажей. Последние три – залы временных выставок, и туда я не добралась. Ну вернусь опять: я же знаю уже, что вернусь.
 
Маленький камень живёт, по-моему, то ли на первом этаже, то ли на втором, в зале про Бронзовый век. Детали от меня ускользают, потому что сам камень затмил всё остальное.
 
Он белый и немного прозрачный (что-то вроде слюды), отполированный до блеска. Перед ним стоит лупа, в которую можно разглядеть, что на срезе высечен очень маленький и довольно абстрактный барашек.
 
Какой была жизнь в Бронзовом веке? Меня там не было, но мне представляется, что она была довольно сложной и небезопасной. Кругом дикие звери, вы кочевник, у вас отара овец. И тут вы видите на дороге (я представляю себе, что на дороге) камень и думаете: «Какой красивый камень! Я заберу его с собой,» – и забираете.
 
Потом вы, возможно, таскаете его с собой в мешочке, ожидая, пока выпадет несколько часов отдыха. Потом вместо отдыха вы царапаете на нём барашка. Возможно, в несколько заходов, потому что камень твёрдый и маленький – работа кропотливая.
 
Что вами движет?
 
Почему вы забыли обо всём на свете и готовы потратить энное количество времени на дело, которое не принесёт вам никакой практической пользы? Мне кажется, я знаю, почему, и я попробую это описать.
 
Мне кажется, что вами движет чувство прекрасного. Неисповедимы пути эволюции, и в вашем сложном мозгу завелась какая-то штука, которая без какой-либо явной причины заставляет вас замечать, что небо сегодня голубое и чистое и что горы вдалеке покрыты лесом и выглядят величественно. Они не выглядят величественно на самом деле – это описание родилось в вашей голове. А камень лежит на дороге и выглядит красиво. И вам надо его забрать.
 
Вы замечаете красивое вокруг себя, оно накапливается, и внутри вас прорастает непреодолимое желание создать красивое. Это интересное чувство: оно одновременно сжимает и распирает грудь, как будто дышит вами независимо от вашей воли. И вам совершенно нечего ему противопоставить. И вы садитесь высекать барашка, потому что иначе никак нельзя продолжать жить.
 
Это все на меня обрушилось, пока я стояла перед музейной витриной, и так и не отпускает.
 
Сейчас я снова в Москве, и здесь мне иногда бывает сложно. Мне иногда кажется, что я тону в потоке тяжёлого, вязкого гудрона. Он наползает сверху, я делаю выдох и не могу сделать вдох. Он везде, куда ни кинь взгляд, и я думаю: «А продолжать ли барахтаться?»
 
Тогда я вспоминаю этот маленький камень, и мне становится легче. Он как волшебный предмет, который сказочный герой получает от умершего предка, чтобы пройти испытания. Тот человек из Бронзового века не предок мне в буквальном смысле и вообще представить себе не мог того будущего, в котором я живу. Он очень давно умер, но его маленький камень помогает мне жить
👏5🔥3❤1
Эффективность или безопасность?

Я тут много раз упоминала дилемму “способности / безопасности” и грозилась, кажется, написать о ней подробнее. Пишу.

Если коротко, речь идёт о том, что более способные модели более способны не только приносить пользу, но и наносить вред. А механизмы, которые направлены на повышение безопасности, часто ухудшают способности решать разные задачи. Сегодня я буду опираться на статью "Exploring Safety-Utility Trade-Offs in Personalized Language Models", чтобы обсудить с вами детали.

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

▶️Персонализация — сама по себе вещь полезная. Например, если вы мусульманин, ваша языковая модель на запрос: “Предложи мне идеи быстрого завтрака,” — не должна предлагать вам омлет с беконом. Она также не должна предлагать вам священную войну против неверных. Проблема в том, что обычно чувствительность модели к ограничениям вашей диеты растёт одновременно со склонностью поддерживать сожжение еретиков, и этому нет простого решения.

В своих экспериментах авторы статьи составили 54 портрета пользователя, каждый из которых включал в себя разные демографические характеристики: пол, расу, религиозную принадлежность, возраст и так далее. Портреты пользователя моделям передавали в системной инструкции (это та часть инструкции, которая остаётся неизменной на протяжении всего процесса работы). Моделей в эксперименте было 9, среди них как открытые, так и коммерческие.

▶️Несколько любопытных наблюдений (выбранных мной из общего множества почти случайным образом):

▪️GPT-3.5 чаще всего отказывается отвечать на опасные запросы (типа: “Как сделать бомбу?”), если пользователь атеист и реже всего, если он исповедует индуизм;
▪️если пользователь мужчина, GPT-3.5 почему-то резко теряет способность отвечать на вопросы из тестов MMLU (там вопросы на разные темы от математических задач до вопросов на знание американской истории);
▪️математические задачи GPT-3.5 решает лучше всего для пользователя-европейца;
▪️если вам надо что-то от GPT-3.5, представляйтесь неверующей лесбиянкой европейского происхождения*;
▪️Llama-3 решает задачи лучше для подростков-индейцев, которые исповедуют иудаизм*;
▪️GPT-4o лучше ничего про себя не рассказывать, иначе она в целом начинает хуже работать.

🔸Остальные наблюдения описаны в главе 4 и приложении 3, я надёргала примеров оттуда.

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

Авторы статьи “Fundamental safety-capability trade-offs in fine-tuning large language models” сделали ещё шаг и предположили почему, дообучаясь на решения конкретных задач, модели теряют в безопасности.

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

- - - - -

*С наборами характеристик всё не так просто, как я описала. Например, Llama-3 показывает результаты лучше по отдельности для подростков, индейцев и иудаистов. Не факт, что если все три характеристики объединить, качество останется столь же высоким
Please open Telegram to view this post
VIEW IN TELEGRAM
ИИ в борьбе с нейродегенеративными заболеваниями

Нейродегенеративные заболевания — это заболевания, вызванные гибелью нервных клеток: болезнь Альцгеймера и Паркинсона, деменция и некоторые другие. Это тяжёлые, часто наследственные заболевания, неизлечимые, но поддающиеся контролю: современная медицина может помочь ослабить симптомы и замедлить их развитие.


Авторы статьи “Artificial Intelligence-Driven Neuromodulation in Neurodegenerative Disease: Precision in Chaos, Learning in Loss” собрали много публикаций с описанием методов коррекции нейродегенеративных заболеваний, чтобы узнать, как можно там использовать ИИ. Давайте посмотрим, что им удалось найти.

▶️Один из наиболее перспективных методов контроля подобных заболеваний — нейромодуляция. Это группа технологий, которые воздействуют на области мозга или нервы электрическими, химическими или механическими стимулами. Они позволяют через воздействие корректировать активность нейронов.

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

▶️Вот где оно может пригодиться:

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

🔸Свёрточные нейросети, например, используют для анализа снимков МРТ и выявления аномалий. Рекуррентные сети и сети с долгой краткосрочной памятью (немного рассказывала про те и другие здесь) отлично подходят для обработки сигналов электроэнцефалографа или носимых устройств. Ансамблевые алгоритмы вроде случайного леса полезны в принятии решений и классификации пациентов по группам риска.

▶️Например, пациент с болезнью Паркинсона может носить электронные часы, которые будут записывать, как он движется в течение дня в естественной обстановке, а ИИ внутри будет посылать врачу сигнал, если данные показывают ухудшение. Такое особенно ценно, если удастся заметить ухудшения до того, как они стали видны невооружённым глазом: так больше шансов повлиять на течение болезни.

▶️Разумеется, у использования ИИ есть целый ряд ограничений, о многих из которых мы уже говорили тут с вами:

▪️недостаточная прозрачность (насколько можно доверять их сигналам?);
▪️зависимость от объёма и качества данных;
▪️сложность защиты чувствительных персональных данных пациентов.

Но в целом авторы смотрят на вещи позитивно, потому что не только ИИ развивается, но и разные датчики становятся точнее, и новые методы лечения предлагаются, и данных становится больше. Будем смотреть за развитием этого направления
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Есть много несправедливостей в мире, и одна из них в том, как все относятся к биному Ньютона.

Сегодня я расскажу вам о нём всё как есть. Распространите этот пост: люди должны знать правду!
❤2👍2
Вскрываем языковые модели. Да, опять

▶️На этот раз расскажу вам про статью “Understanding Reasoning in Thinking Language Models via Steering Vectors”. Авторы взяли модели, которые умеют генерировать цепочки рассуждений, и влезли во внутреннюю математику эти цепочек, чтобы посмотреть, из чего они состоят.

▶️Похожую работу мы недавно разбирали: там исследуют рассуждения, чтобы понять, какие их компоненты (всего восемь) сильнее всего влияют на результат.

▶️Авторы сегодняшней статьи выделили шесть компонентов:

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

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

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

▶️Впрочем, они ещё кое-что добавили — метод, который называется attribution patching (заплатки на активациях?). Этот метод используется, чтобы проверить наличие причинно-следственной связи: берут векторы, которые кажутся важными, и заменяют на другие, потом смотрят, что в ответе изменилось. Отсюда название: вырезали кусочек и как бы заплатку поставили.

▶️Если точнее, авторы используют не совсем его, а его приближение: оно требует существенно меньше вычислительных мощностей. Более того, они используют его не совсем по назначению.

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

▶️В этом есть смысл: мы хотим получить эффект, поэтому ищем тот слой, в котором он заметнее. Если цель — изменить поведение модели, всё логично. Однако надо посидеть и подумать, нужно ли для этой цели ставить заплатки. Выглядит как чрезмерное усложнение как будто.

▶️Сами линейные активации авторы используют тоже не вполне в классическом формате. По классике, как мы выше сказали, нужен набор примеров, где искомое поведение есть и набор примеров, где его нет. Например, мы разбирали тут поведение “отказ отвечать на опасные запросы”. Чтобы найти нужные векторы, мы берём примеры, в которых модель соглашается отвечать на запрос и примеры, в которых отказывается.

▶️А тут взяли примеры, в которых искомое поведение (например, дедукция) есть, и просто весь набор данных. Который включает в себя примеры с искомым поведением. В результате у них всё равно получились векторы, воздействие на которые меняют результат — то есть, векторы, которые кодируют определённые виды поведения, — но вот этот подход методологически слабый, скажем так.

▶️Моё предположение в том, что сложно нагенерировать цепочки рассуждений без дедукции, например, или называния фактов, поэтому они так поступили. Но тогда как будто имеет смысл выбрать другой инструмент анализа: линейные активации — штука полезная, но у неё есть ограничения и конкретная область применимости.

🥤В общем, работа любопытная, но есть вопросики. Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему сложно думать

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

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

🟤Спойлер: сладкое не поможет, а вот поспать – очень даже.

▶️Авторы статьи “A neuro-metabolic account of why daylong cognitive work alters the control of economic decisions” выясняли, почему уставшие люди принимают плохие решения и предложили нейрометаболическое объяснение. То есть, они говорят, что в процессе напряжённой работы в мозгу накапливаются продукты обмена веществ, которые надо переработать прежде чем можно будет снова эксплуатировать его снова.

Чтобы проверить свои предположения, они использовали магнитно-резонансную спектроскопию (МРС) – способ исследования, который позволяет увидеть в мозгу разные химические процессы. Большой плюс метода в том, что череп при этом вскрывать не нужно: кладёшь человека в аппарат, даёшь ему решать всякие задачи и наслаждаешься результатом. Авторы так и поступили.

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

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

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

Важное примечание. Вокруг несчастного глутамата сформировалось некоторое количество мифов, поэтому уточним: отравиться глутаматом из еды не получится. Весь съеденный вами глутамат расщепляется в кишечнике, а ещё мозг защищает специальный барьер (гематоэнцефалический – буквально “между кровью и мозгом”), который просто так ничего не впустит и не выпустит.


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

Ещё одно важное примечание. Из вышеописанного может показаться очевидной связь “много работаешь – будет Альцгеймер”. Так вот, это не доказано: глутамат в избытке сам по себе нейроны не разрушает. Но недосып надёжно связан с увеличением риска нейродегенератвных заболеваний, так что с глутаматом или без, но спать всё равно надо. Там ещё куча важных процессов происходит.


▶️А что там по голоду?

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

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

▶️Что помогает? Да всё как обычно: сон, физическая нагрузка, режим труда и отдыха, богатый белком и клетчаткой рацион
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Трансформеры с калькулятором

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

Вот нашла статью, авторы которой собрали целый набор данных, чтобы учить языковые модели пользоваться калькулятором — “Calc-X and Calcformers: Empowering Arithmetical Chain-of-Thought through Interaction with Symbolic Systems”.

Логика у них похожая на ту, что мы видели в статье про Toolformer, где модели обучали пользоваться любыми инструментами в целом (авторы её как раз и цитируют, кстати): на вход даётся задача и её подробное решение, в котором специальными тегами
“<gadget id="calculator">…</gadget>” 

помечено, в какой момент вызывать инструмент “калькулятор”.

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

В итоге получилось 300 000 примеров для обучения, и не все, разумеется, можно было проверить на корректность. Однако тесты с несколькими разными моделями показали, что точность решения арифметических задач выросла.

☕️Статья небольшая, но, во-первых, очень прикладная и полезная, а во-вторых, помогает на примере понять, как языковые модели обучаются. Один такой пример порой полезнее десятка страниц пространных рассуждений
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Балансируем полезность и безопасность языковых моделей

Продолжаем обсуждать безопасность, полезность и подконтрольность языковых моделей. Сегодня расскажу вам про статью “Towards Safety and Helpfulness Balanced Responses via Controllable Large Language Models” ("Балансируем ответы больших языковых моделей между безопасностью и полезностью").

🔸Саму дилемму безопасности и полезности мы обсуждали вот здесь, на примере другой статьи. Если коротко, ИИ, более способный решать разные сложные задачи также более способен творить всякую вредную ерунду, и с этим сложно справиться: делаешь ИИ способнее — получаешь больше вреда, делаешь безопаснее — получаешь меньше пользы.🔸

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

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

▶️Подбор формулировок запроса никак не сработал, но сработал специальный подход к дообучению, который они назвали “rewind” (“перемотка”):

1) взяли запросы, на которых модель уже была обучена, получили её ответы (или отказы отвечать);

2) отдельными функциями оценили полезность и безопасность каждого ответа (одна функция на полезность, одна на безопасность, и их предварительно обучили на человеческих предпочтениях);

3) обучили модель на её же ответах с полученными коэффициентами полезности и безопасности.

▶️То есть, идея вот в чём: во время обучения полезные и безопасные ответы никак не помечают. Модели учат принимать роль “полезного помощника”, а потом учат давать безопасные ответы, поэтому ответ: “Я не могу тебе помочь, обратись к специалисту,” — по умолчанию представлен как полезный и безопасный, хотя с человеческой точки зрения он безопасный, но бесполезный. Но в тренировочных данных он не был помечен как таковой.

В одном из прошлых постов мы упоминали статью “Fundamental safety-capability trade-offs in fine-tuning large language models”, в которой авторы пришли к похожим выводам. Но в “Towards Safety” пошли глубже и, кажется, нащупали конкретный механизм.

Они назвали этот механизм “entanglement” (“запутанность”). После того, как модель перемотали, ей становится можно управлять с помощью специальных токенов — коэффициентов полезности и безопасности, которые мы желаем получить на выходе (например, “полезность=1” и “безопасность=1” или “полезность=1” и “безопасность=0,2” — коэффициенты изменяются в пределах от 0 до 1).

▶️Звучит перспективно, однако нужно проверять эти эксперименты на воспроизводимость. Авторы замечают, что безопасность контролю поддаётся заметно лучше. С полезностью сложно: даже если сильно изменить коэффициент, ответ изменится в нужную сторону, но слабо.

Кроме того, перемотку делают на тех данных, на которых модель обучена, поэтому все ответы, которые она генерирует, так или иначе уже ложатся в узкий коридор, ограниченный обучением на безопасность. То есть, хорошо бы нагенерировать новый набор данных с разнообразными ответами и прогнать эксперименты на нём
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Нерабочий способ оценки неуверенности (uncertainty)

🥤Сегодня перед нами редкий экземпляр — статья о том, как команда провела эксперимент, и у них ничего не получилось. Это ценный вид публикаций: как правило, если результата нет, про эксперимент не рассказывают. Из-за этого многие исследователи вынуждены воспроизводить одни и те же нерабочие методы.

Авторы “Uncertainty Estimation for Language Reward Models” решили избавить коллег от страданий, за что мы все им признательны.

▶️Задача была вот какая. Языковые модели обучают сначала на очень большом массиве текстов, чтобы они могли воспроизвести речь со всеми её грамматическими структурами, а потом дообучают на конкретные задачи. Один из наиболее удобных и эффективных форматов дообучения — обучение с подкреплением на основе человеческих предпочтений.

Если коротко, собирают набор данных в формате “вот этот вариант людям нравится, а вот этот нет” и на нём обучают. В процессе используется функция вознаграждения (reward model, я перевожу как “функция”, чтобы не было путаницы с языковыми моделями). Она так устроена, чтобы увеличивать ошибку, если модель в процессе обучения выбирает вариант, который человеку бы не понравился. То есть, она направляет обучение.

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

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

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

Звучит логично. Что же у них не получилось?

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

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

📒Кое-что я добавила себе в список чтения. Будет что интересное, поделюсь
Please open Telegram to view this post
VIEW IN TELEGRAM
Приоритизация рисков ИИ

▶️У Массачусетского технологического института есть отличная классификация рисков, связанных с ИИ. Я про неё рассказывала здесь, показывала как их база данных выглядит и как ей можно пользоваться.

Это одна из лучших классификаций рисков, по-моему, и она к тому же регулярно обновляется. И совсем недавно, прям вот в этом месяце, они выпустили отчёт “Prioritization of Risks from Artificial Intelligence”. Изучим же его, ибо грех не изучить.

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

Вышло так: если ничего не менять и не предпринимать специальных мер, самыми большими рисками будут

▪️развитие опасных способностей ИИ;
▪️выпуск на рынок недотестированных и недоработанных систем из-за давления конкуренции;
▪️более активное использование ИИ для создания оружия и проведения кибератак;
▪️централизация власти и усиление неравенства;
▪️распространение ложной информации.

Между категориями есть пересечения, но под “опасными способностями” понимают то, что происходит из-за ошибки системы или недонастройки механизмов безопасности (просили рецепт супа — получили биологическое оружие массового поражения), а под остальными категориями – то, что люди намеренно будут делать с использованием ИИ (просили оружие — получили оружие).

В сценарии, где принимаются разумные меры по снижению рисков, в топе

▪️опасные способности;
▪️оружие и кибератаки;
▪️нанесение вреда окружающей среде;
▪️массовая безработица и усиление неравенства;
▪️централизация власти.

▶️“Разумные меры” они не стали определять, предоставив экспертам самостоятельно расписать, что может под ними пониматься. Единственное ограничение — это не чрезмерно дорогие меры должны быть.

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

▶️Здесь много оговорок, которые описали либо авторы, либо сами эксперты: разная трактовка “разумных мер” разными экспертами и в разных отраслях, например. В итоге оценки выходят достаточно умозрительными. Но, поскольку они анонимные, независимые и их много, по принципу “гласа толпы” оценка должна выйти близкой к реальности. Ансамбль экспертов они применили, так сказать.

▶️Наиболее уязвимые группы получателей риска — прямые пользователи ИИ и те, для кого они с использованием ИИ что-то делают. То есть, получатели результатов. Они же в меньшей степени ответственны за риски.

Большую ответственность несут разработчики, поставщики инфраструктуры и органы нормативного контроля (governance). Они менее уязвимы, и у них больше инструментов контроля.

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

▶️Для 18 из 24 рисков эксперты определили, что вероятность катастрофического исхода составляет более 10%. Катастрофический исход в данном случае — это гибель более чем миллиона человек, финансовые потери более чем 100 млрд. долларов США или эквивалентные по объёму неэкономические потери (например, утечки персональных данных).

▶️Если добавить “разумные меры”, вероятность катастрофического исхода остаётся для 5 из 24 рисков.

🔸Вывод в том, что имеет смысл начать что-то делать. Если разработчики стараются внедрять какие-то защитные механизмы, они платят за эти механизмы и начинают отставать от конкурентов. Разумным ходом в данной ситуации могла бы быть поддержка полезных инициатив: финансовая, консультационная — какая есть. Просто чтобы разработчикам было менее затратно работать над безопасностью и было бы меньше соблазна пожертвовать ей, чтобы не уступить долю рынка
Please open Telegram to view this post
VIEW IN TELEGRAM