Forwarded from Александра Сытник
ML Training HSE TS.pdf
6.2 MB
добрый день!
материалы публикуются на сайте: https://cs.hse.ru/olymp/ml
презентацию со вчерашнего занятия также прикладываю
материалы публикуются на сайте: https://cs.hse.ru/olymp/ml
презентацию со вчерашнего занятия также прикладываю
Forwarded from Душный NLP
Сбалансированный метод семплирования Min-p
Min-p — метод семплирования, который, по словам его создателей, позволяет найти баланс между креативностью и связностью ответов. Сегодня разберём статью с описанием этого подхода.
При использовании отсекающего семплирования вроде top-p или top-k, на каждом шаге генерации после отсечения может всё ещё оставаться ненужный нам «хвост» из маловероятных токенов. Это приводит к тому, что вероятность допустить ошибку на следующем шаге генерации — не нулевая. А токен — не воробей, вылетит — не поймаешь. Из-за этого может пострадать весь ответ.
Это происходит потому что top-p и top-k предполагают применение жёсткого порога отсечения, который никак не зависит от шага генерации и уверенности модели в следующем токене. А подобрать универсальный порог на все случаи жизни невозможно.
Метод Min-p пытается решить эту проблему с помощью динамической настройки порога в зависимости от токена с самой высокой вероятностью. Если модель уверена в токене, то порог обрезки будет высокий. Если сомневается — то из распределения возьмётся больше токенов.
Как это работает:
1. выбирается токен с наибольшей вероятностью — Pmax;
2. гиперпараметр метода — базовый порог вероятности, Pbase (авторы рекомендуют выбирать между 0,05 и 0,1) — умножается на Pmax, и получается порог отсечки — Pscaled. По нему отсекаются токены, всё, что ниже, выкидывается;
3.формируется пул для семплирования из оставшихся токенов;
4. вероятности нормализуются.
Получается, что на каждом шаге генерации порог отсечки может меняться. При этом ресурсозатраты метода не намного выше, чем у Top-p.
Преимущество Min-p в том, что этот метод подходит для разных температур — даже при высоком значении в 3-5. Важный момент: температура должна применяться после Min-p. Авторы не рекомендуют использовать Min-p с другими методами семплирования, хотя они и могут сочетаться.
Авторы тестировали метод на Mistral 7B в трёх бенчмарках: GPQA Main, GSM8K CoT — которые проверяют конкретные знания — и AlpacaEval Creative Writing. На первых двух бенчмарках Min-p может показывать результаты чуть хуже, чем Top-p при низких температурах. Зато в AlpacaEval Creative Writing, где осуществляется SbS-сравнение на креативных задачах, он строго лучше.
Разбор подготовил❣ Алексей Малафеев
Душный NLP
Min-p — метод семплирования, который, по словам его создателей, позволяет найти баланс между креативностью и связностью ответов. Сегодня разберём статью с описанием этого подхода.
При использовании отсекающего семплирования вроде top-p или top-k, на каждом шаге генерации после отсечения может всё ещё оставаться ненужный нам «хвост» из маловероятных токенов. Это приводит к тому, что вероятность допустить ошибку на следующем шаге генерации — не нулевая. А токен — не воробей, вылетит — не поймаешь. Из-за этого может пострадать весь ответ.
Это происходит потому что top-p и top-k предполагают применение жёсткого порога отсечения, который никак не зависит от шага генерации и уверенности модели в следующем токене. А подобрать универсальный порог на все случаи жизни невозможно.
Метод Min-p пытается решить эту проблему с помощью динамической настройки порога в зависимости от токена с самой высокой вероятностью. Если модель уверена в токене, то порог обрезки будет высокий. Если сомневается — то из распределения возьмётся больше токенов.
Как это работает:
1. выбирается токен с наибольшей вероятностью — Pmax;
2. гиперпараметр метода — базовый порог вероятности, Pbase (авторы рекомендуют выбирать между 0,05 и 0,1) — умножается на Pmax, и получается порог отсечки — Pscaled. По нему отсекаются токены, всё, что ниже, выкидывается;
3.формируется пул для семплирования из оставшихся токенов;
4. вероятности нормализуются.
Получается, что на каждом шаге генерации порог отсечки может меняться. При этом ресурсозатраты метода не намного выше, чем у Top-p.
Преимущество Min-p в том, что этот метод подходит для разных температур — даже при высоком значении в 3-5. Важный момент: температура должна применяться после Min-p. Авторы не рекомендуют использовать Min-p с другими методами семплирования, хотя они и могут сочетаться.
Авторы тестировали метод на Mistral 7B в трёх бенчмарках: GPQA Main, GSM8K CoT — которые проверяют конкретные знания — и AlpacaEval Creative Writing. На первых двух бенчмарках Min-p может показывать результаты чуть хуже, чем Top-p при низких температурах. Зато в AlpacaEval Creative Writing, где осуществляется SbS-сравнение на креативных задачах, он строго лучше.
Разбор подготовил
Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ML Underhood
Документный LLM-переводчик в Яндексе
Яндекс запустил новую модель для документного перевода на основе YandexGPT. Она уже работает в Поиске, Умной камере и Нейропереводчике Яндекс Браузера, а также заняла первое место в бенчмарке DiBiMT по переводу с английского на русский. Обо всех нюансах работы переводчика и о том, как его создавали, на Хабре рассказал руководитель группы базового качества перевода Николай Карпачёв. А здесь — кратко о главном.
Документный перевод предполагает адаптацию на другой язык не каждого отдельного предложения, а всего текста. Почему это важно? Причин несколько. Например, английское «you» может означать как «ты», так и «вы», но без контекста модель не понимает, какой вариант выбрать. Термины и стилистика могут «прыгать» внутри текста, а пропущенные элементы, понятные носителю языка, в переводе превращаются в бессмысленный набор слов. Люди воспринимают текст иначе: мы читаем книги, статьи, субтитры — всё целиком. Значит, и машинный перевод должен работать так же.
Инженеры Яндекса попробовали перевести тексты LLM-моделью «из коробки», без дообучения, но столкнулись с типичными ошибками: пропущенные фрагменты, лишние добавления, галлюцинации. Чтобы этого избежать, модель пришлось адаптировать. На первом этапе подготовили данные, включая не только классические парные предложения, но и переводы документов, полученные автоматическим выравниванием и с помощью синтетики. Дообучение проходило в форматах LoRA и P-Tuning.
На следующем этапе модель дообучалась с помощью технологии alignment. Разные варианты переводов сравнивались редакторами-профессионалами. Полученные оценки использовали для оптимизации методом Contrastive Preference Optimization (CPO). На этой стадии происходит исправление существующих ошибок и проблем LLM-модели, найденных редакторами. Это позволило минимизировать ошибки, связанные с потерей информации и несогласованностью.
В итоге по метрике MQM новая модель переводит тексты почти так же хорошо, как человек. Количество грубых ошибок сократилось в два раза по сравнению с предыдущей версией, а финальный результат оказался даже лучше GPT-4o.
ML Underhood
Яндекс запустил новую модель для документного перевода на основе YandexGPT. Она уже работает в Поиске, Умной камере и Нейропереводчике Яндекс Браузера, а также заняла первое место в бенчмарке DiBiMT по переводу с английского на русский. Обо всех нюансах работы переводчика и о том, как его создавали, на Хабре рассказал руководитель группы базового качества перевода Николай Карпачёв. А здесь — кратко о главном.
Документный перевод предполагает адаптацию на другой язык не каждого отдельного предложения, а всего текста. Почему это важно? Причин несколько. Например, английское «you» может означать как «ты», так и «вы», но без контекста модель не понимает, какой вариант выбрать. Термины и стилистика могут «прыгать» внутри текста, а пропущенные элементы, понятные носителю языка, в переводе превращаются в бессмысленный набор слов. Люди воспринимают текст иначе: мы читаем книги, статьи, субтитры — всё целиком. Значит, и машинный перевод должен работать так же.
Инженеры Яндекса попробовали перевести тексты LLM-моделью «из коробки», без дообучения, но столкнулись с типичными ошибками: пропущенные фрагменты, лишние добавления, галлюцинации. Чтобы этого избежать, модель пришлось адаптировать. На первом этапе подготовили данные, включая не только классические парные предложения, но и переводы документов, полученные автоматическим выравниванием и с помощью синтетики. Дообучение проходило в форматах LoRA и P-Tuning.
На следующем этапе модель дообучалась с помощью технологии alignment. Разные варианты переводов сравнивались редакторами-профессионалами. Полученные оценки использовали для оптимизации методом Contrastive Preference Optimization (CPO). На этой стадии происходит исправление существующих ошибок и проблем LLM-модели, найденных редакторами. Это позволило минимизировать ошибки, связанные с потерей информации и несогласованностью.
В итоге по метрике MQM новая модель переводит тексты почти так же хорошо, как человек. Количество грубых ошибок сократилось в два раза по сравнению с предыдущей версией, а финальный результат оказался даже лучше GPT-4o.
ML Underhood
Forwarded from Kali Novskaya
🌸MLGym – открытый фреймворк и бенчмарк для Агентов в автоматизации ML-задач🌸
#nlp #про_nlp #nlp_papers
Сегодня, под конец этой насыщенной недели, мы с коллегами выпускаем новую работу "MLGym: A New Framework and Benchmark for Advancing AI Research Agents".
🟣 TL;DR
MLGym – это фреймворк для оценки и развития LLM-агентов.
В нем пока 15 различных ML задач, включая хорошо и не очень определенные: задачи на NLP, CV, RL, теорию игр.
Агенты должны продемонстрировать свою способность понять задачу, запустить бейзлайн, оцени его, и начать итерировать эксперименты и улучшать результат, находясь при этом в заданной среде. В среде есть набор инструментов, которые можно использовать: поиск по файловой системе, поиск по файлам, модуль памяти, просмотр и изменение файлов, и собственно действия запуска скрипта оценки и сабмита решения.
Каждая задача содержит датасет, метрику, бейзлайн, а также свою собственную среду, где есть контролируемые ограничения на вычислительный бюджет и таймауты.
Мы предлагаем иерархическую структуру из 6 уровней для оценки степени автономии и научного вклада агентов:
Уровень 0: воспроизведение – аккуратно повторить чужие эксперименты без ошибок
Уровень 1: Итеративное улучшение бейзлайна – применение лучших практик, перебор гипертапаметров
Уровень 2: Достижение SOTA через итерации от бейзлайна – решение лучше тех, что смогли найти люди
Уровень 3: Новый научный вклад – можно быть принятым на условный NeurIPS
Уровень 4: Научное новаторство, фундаментальный научный вклад – можно получить "лучшую статью" на том же NeurIPS
Уровень 5: Долгосрочная исследовательская программа – test of time awards, научная революция, премия Тьюринга.
🟣 Что мы выяснили?
Текущие ИИ системы находятся почти поголовно на уровне 1.
Удобно оценивать все системы относительно дельты, которую они смогли достичь, опираясь на бейзлайн, за заданное количество итераций (за первые 5 шагов у системы Х получили +15% точности, а у системы Y +20%). Если оценивать LLM-агенты так, то увидим, что O1-preview вырывается вперед практически на всех задачах. GPT-4o и LLama 3.1 405B примерно на одном уровне, Claude и Gemini делят обычно 2 и 3 место. Ну а если помимо дельты оценивать еще и стоимость инференса модели, но картина меняется, и лучше по соотношению оказывается Gemini с большим отрывом.
Достаточно интересно посмотреть распределение действий агентов и их ошибок:
— большинство LLM-агентов делают ошибки и из-за этого не доходят до сабмита, тогда как O1 и Gemini гораздо чаще просто не доделывают сабмит до конца.
— все агенты большую часть действий тратят на изменение файлов: редактирование скриптов обучения, а также чтение файлов, запуск обучения и валидацию — соотношение действий примерно у всех одинаковое, хотя некоторым система действий требуется меньше.
— почти все агенты очень мало используют поиск, хотя могли бы.
— минимальное число итераций до первого сабмита — примерно 5. Все системы начинают с чтения файлов, затем запускают валидацию, и дальше планомерно итерируются, изменяя скрипты и запуская обучение.
🟣 Что еще есть полезного?
— Классный Web UI визуализатор агентных логов на
— Есть набор полезных функций и tools, полностью совместимый с SWE-Agent.
— Есть модуль памяти, модуль поиска научной литературы, и еще много разных ништяков, которые можно использовать отдельно от бенчмарка, просто развивая своего агента (свой агент? Это же неодушевленное...).
— Есть большой обзор литературы, охватывающий почти все последние работы в области агентов для SWE, ML, науки, который угадайте кто писал.
Линейку задач можно легко расширять — поэтому мы будем рады идеям и контрибьюшенам, а также любой активности в репозитории.
🟣 Arxiv: https://arxiv.org/abs/2502.14499
🟣 Github: https://github.com/facebookresearch/MLGym
🟣 Лицензия: CC-BY-NC 4.0
#nlp #про_nlp #nlp_papers
Сегодня, под конец этой насыщенной недели, мы с коллегами выпускаем новую работу "MLGym: A New Framework and Benchmark for Advancing AI Research Agents".
MLGym – это фреймворк для оценки и развития LLM-агентов.
В нем пока 15 различных ML задач, включая хорошо и не очень определенные: задачи на NLP, CV, RL, теорию игр.
Агенты должны продемонстрировать свою способность понять задачу, запустить бейзлайн, оцени его, и начать итерировать эксперименты и улучшать результат, находясь при этом в заданной среде. В среде есть набор инструментов, которые можно использовать: поиск по файловой системе, поиск по файлам, модуль памяти, просмотр и изменение файлов, и собственно действия запуска скрипта оценки и сабмита решения.
Каждая задача содержит датасет, метрику, бейзлайн, а также свою собственную среду, где есть контролируемые ограничения на вычислительный бюджет и таймауты.
Мы предлагаем иерархическую структуру из 6 уровней для оценки степени автономии и научного вклада агентов:
Уровень 0: воспроизведение – аккуратно повторить чужие эксперименты без ошибок
Уровень 1: Итеративное улучшение бейзлайна – применение лучших практик, перебор гипертапаметров
Уровень 2: Достижение SOTA через итерации от бейзлайна – решение лучше тех, что смогли найти люди
Уровень 3: Новый научный вклад – можно быть принятым на условный NeurIPS
Уровень 4: Научное новаторство, фундаментальный научный вклад – можно получить "лучшую статью" на том же NeurIPS
Уровень 5: Долгосрочная исследовательская программа – test of time awards, научная революция, премия Тьюринга.
Текущие ИИ системы находятся почти поголовно на уровне 1.
Удобно оценивать все системы относительно дельты, которую они смогли достичь, опираясь на бейзлайн, за заданное количество итераций (за первые 5 шагов у системы Х получили +15% точности, а у системы Y +20%). Если оценивать LLM-агенты так, то увидим, что O1-preview вырывается вперед практически на всех задачах. GPT-4o и LLama 3.1 405B примерно на одном уровне, Claude и Gemini делят обычно 2 и 3 место. Ну а если помимо дельты оценивать еще и стоимость инференса модели, но картина меняется, и лучше по соотношению оказывается Gemini с большим отрывом.
Достаточно интересно посмотреть распределение действий агентов и их ошибок:
— большинство LLM-агентов делают ошибки и из-за этого не доходят до сабмита, тогда как O1 и Gemini гораздо чаще просто не доделывают сабмит до конца.
— все агенты большую часть действий тратят на изменение файлов: редактирование скриптов обучения, а также чтение файлов, запуск обучения и валидацию — соотношение действий примерно у всех одинаковое, хотя некоторым система действий требуется меньше.
— почти все агенты очень мало используют поиск, хотя могли бы.
— минимальное число итераций до первого сабмита — примерно 5. Все системы начинают с чтения файлов, затем запускают валидацию, и дальше планомерно итерируются, изменяя скрипты и запуская обучение.
— Классный Web UI визуализатор агентных логов на
streamlit— Есть набор полезных функций и tools, полностью совместимый с SWE-Agent.
— Есть модуль памяти, модуль поиска научной литературы, и еще много разных ништяков, которые можно использовать отдельно от бенчмарка, просто развивая своего агента (свой агент? Это же неодушевленное...).
— Есть большой обзор литературы, охватывающий почти все последние работы в области агентов для SWE, ML, науки, который угадайте кто писал.
Линейку задач можно легко расширять — поэтому мы будем рады идеям и контрибьюшенам, а также любой активности в репозитории.
Please open Telegram to view this post
VIEW IN TELEGRAM
arXiv.org
MLGym: A New Framework and Benchmark for Advancing AI Research Agents
We introduce Meta MLGym and MLGym-Bench, a new framework and benchmark for evaluating and developing LLM agents on AI research tasks. This is the first Gym environment for machine learning (ML)...
Forwarded from gonzo-обзоры ML статей
Generative Agent Simulations of 1,000 People
Joon Sung Park, Carolyn Q. Zou, Aaron Shaw, Benjamin Mako Hill, Carrie Cai, Meredith Ringel Morris, Robb Willer, Percy Liang, Michael S. Bernstein
Статья: https://arxiv.org/abs/2411.10109
Пост: https://hai.stanford.edu/news/ai-agents-simulate-1052-individuals-personalities-impressive-accuracy
Мы в прошлом году не разобрали эту статью, а она интересное практическое продолжение темы из 2023-го про Generative Agents (https://t.me/gonzo_ML/1481) от Стэнфорда и ко. Теперь авторы взяли и симулировали 1,052 реальных человека, а потом на последующих опросах сумели добиться 85% точности репликации их собственных ответов и действий в экспериментах через две недели. Кроме того собрали полезного агента-помощника для проведения интервью.
Процедура создания агента выглядит так:
🎤 Интервью
Были проведены глубинные интервью, включавшие в себя заранее заданные вопросы и адаптивные последующие, зависящие от ответов респондента.
Через стратифицированную выборку набрали 1052 участника, чтобы получить репрезентативную выборку US популяции по возрасту, полу, расе, региону, образованию и политической идеологии. Все участники прошли голосовое интервью со средней длиной транскрипта 6,491 слов (stddev 2,541). Также собрали ответы на серию опросников (General Social Survey (GSS), Big Five Inventory из 44 пунктов(BFI-44)) и результаты поведенческих экспериментов (пять экономических игр и пять поведенческих экспериментов). Интервью потом будет использоваться для прайминга агентов, а опросы/эксперименты для оценки точности полученных агентов. Также было ещё и self-consistency интервью через две недели после перечисленного.
Изначально через компанию Bovitz рекрутировали 1300 человек (хотели в итоге получить 1000 для достаточной статистической мощности пяти поведенческих экспериментов). Участникам платили: $60 за первый опрос, $30 за self-consistency через две недели, и ещё был бонус в диапазоне 0-10$ по результатам экономических игр. Не все дошли до второй фазы и выполнили self-consistency опрос, так что осталось 1052 (но ожидали ещё больший отсев).
Для этого прям заморочились и собрали свою платформу, где респондент может зарегаться, создать аватара, дать consent, пройти интервью, опросы и эксперименты, в заданном порядке и в нужное время. Для скейлинга интервью использовался ИИ-интервьюер, проводивший его по полуструктурированному протоколу. Хотели именно интервью, а не опрос, потому что надеялись получить более полную информацию с ценными нюансами. За основу взяли протокол, разработанный американскими социологами в рамках American Voices Project. В скрипте были темы от истории жизни до взглядов на текущие социальные темы. Оригинальный протокол был рассчитан на трёхчасовое интервью, здесь его немного урезали, чтобы всё умещалось в два часа.
ИИ-Интервьюер сам динамически генерировал последующие вопросы, соответствующие ответам участников. Архитектура агента была вариацией на тему оригинального Generative Agent (https://t.me/gonzo_ML/1486). Агент принимал на вход свежие предыдущие ответы респондента и скрипт интервью, и генерил follow-up вопросы или переходил к следующему вопросу в скрипте. Вопросы структурированы в блоки, для каждого вопроса прописано поле с указанием, сколько времени дано на вопрос. Первый вопрос блока агент задаёт не меняя, а затем ориентируясь на оставшийся бюджет времени и ответы респондента принимает решения в динамике, что именно спросить. Модель для этого должна делать некоторый ризонинг и учитывать весь контекст, но при росте контекста текущие (на тот момент, да наверное и на этот) модели обычно деградируют, так что в агента ввели модуль рефлексии, который суммаризирует беседу и записывает выводы, которые можно сделать про респондента.
Так, если до этого агент спрашивал, где респондент родился, а тот упомянул природу этого места, агент мог задать вопрос про походы и записать в итоге после рефлексии что-то вроде:
Joon Sung Park, Carolyn Q. Zou, Aaron Shaw, Benjamin Mako Hill, Carrie Cai, Meredith Ringel Morris, Robb Willer, Percy Liang, Michael S. Bernstein
Статья: https://arxiv.org/abs/2411.10109
Пост: https://hai.stanford.edu/news/ai-agents-simulate-1052-individuals-personalities-impressive-accuracy
Мы в прошлом году не разобрали эту статью, а она интересное практическое продолжение темы из 2023-го про Generative Agents (https://t.me/gonzo_ML/1481) от Стэнфорда и ко. Теперь авторы взяли и симулировали 1,052 реальных человека, а потом на последующих опросах сумели добиться 85% точности репликации их собственных ответов и действий в экспериментах через две недели. Кроме того собрали полезного агента-помощника для проведения интервью.
Процедура создания агента выглядит так:
🎤 Интервью
Были проведены глубинные интервью, включавшие в себя заранее заданные вопросы и адаптивные последующие, зависящие от ответов респондента.
Через стратифицированную выборку набрали 1052 участника, чтобы получить репрезентативную выборку US популяции по возрасту, полу, расе, региону, образованию и политической идеологии. Все участники прошли голосовое интервью со средней длиной транскрипта 6,491 слов (stddev 2,541). Также собрали ответы на серию опросников (General Social Survey (GSS), Big Five Inventory из 44 пунктов(BFI-44)) и результаты поведенческих экспериментов (пять экономических игр и пять поведенческих экспериментов). Интервью потом будет использоваться для прайминга агентов, а опросы/эксперименты для оценки точности полученных агентов. Также было ещё и self-consistency интервью через две недели после перечисленного.
Изначально через компанию Bovitz рекрутировали 1300 человек (хотели в итоге получить 1000 для достаточной статистической мощности пяти поведенческих экспериментов). Участникам платили: $60 за первый опрос, $30 за self-consistency через две недели, и ещё был бонус в диапазоне 0-10$ по результатам экономических игр. Не все дошли до второй фазы и выполнили self-consistency опрос, так что осталось 1052 (но ожидали ещё больший отсев).
Для этого прям заморочились и собрали свою платформу, где респондент может зарегаться, создать аватара, дать consent, пройти интервью, опросы и эксперименты, в заданном порядке и в нужное время. Для скейлинга интервью использовался ИИ-интервьюер, проводивший его по полуструктурированному протоколу. Хотели именно интервью, а не опрос, потому что надеялись получить более полную информацию с ценными нюансами. За основу взяли протокол, разработанный американскими социологами в рамках American Voices Project. В скрипте были темы от истории жизни до взглядов на текущие социальные темы. Оригинальный протокол был рассчитан на трёхчасовое интервью, здесь его немного урезали, чтобы всё умещалось в два часа.
ИИ-Интервьюер сам динамически генерировал последующие вопросы, соответствующие ответам участников. Архитектура агента была вариацией на тему оригинального Generative Agent (https://t.me/gonzo_ML/1486). Агент принимал на вход свежие предыдущие ответы респондента и скрипт интервью, и генерил follow-up вопросы или переходил к следующему вопросу в скрипте. Вопросы структурированы в блоки, для каждого вопроса прописано поле с указанием, сколько времени дано на вопрос. Первый вопрос блока агент задаёт не меняя, а затем ориентируясь на оставшийся бюджет времени и ответы респондента принимает решения в динамике, что именно спросить. Модель для этого должна делать некоторый ризонинг и учитывать весь контекст, но при росте контекста текущие (на тот момент, да наверное и на этот) модели обычно деградируют, так что в агента ввели модуль рефлексии, который суммаризирует беседу и записывает выводы, которые можно сделать про респондента.
Так, если до этого агент спрашивал, где респондент родился, а тот упомянул природу этого места, агент мог задать вопрос про походы и записать в итоге после рефлексии что-то вроде:
{
“place of birth”: “New Hampshire”
“outdoorsy vs. indoorsy”: “outdoorsy with potentially a lot of time spent outdoors”
}Forwarded from gonzo-обзоры ML статей
Такие заметки потом и подаются в агента вместо полного транскрипта интервью + последние 5000 символов транскрипта.
Агента собрали в виде веб-приложения с голосовым общением, реализованным через комбинацию OpenAI TTS + Whisper. Тут не до конца понятно, упоминают также их Audio модель, а это gpt-4o-audio (но тогда непонятно, зачем whisper).
🤖 Симулякр
Архитектура агента-симулякра тоже наследует предыдущей работе. У агента есть память, "memory stream" в текстовой форме. Есть модуль рефлексии, синтезирующий элементы памяти в рефлексию (аналогично https://t.me/gonzo_ML/1481).
Промптинг LLM-ки транскриптом интервью для предсказания реакции респондента в режиме одиночного chain-of-thought (CoT) может пропустить латентную информацию не выраженную явно в тексте. Чтобы явно вытащить эту информацию из транскрипта был введён специальный модуль “expert reflection”, которого промптят чтобы он действовал в роли доменного эксперта. Если точнее, то генерятся четыре набора рефлексий от лица четырёх различных экспертов: психолог, поведенческий экономист, политолог и демограф. Используется GPT-4o, которую для каждого респондента и эксперта просят сгенерить до 20 наблюдений или рефлексий. Эти рефлексии генерятся единожды и сохраняются в памяти агента.
Когда симулякр должен предсказать ответ респондента на заданный вопрос, сначала происходит классификация (через промптинг), какой из четырёх экспертов лучше бы на это ответил. Затем подтягиваются рефлексии выбранного эксперта, и вместе с транскриптом интервью используются для промптинга генерации ответа (тоже через GPT-4o). Все вопросы с множественным выбором или численным ответом, модель промптят использовать CoT. Интересно, что бы изменил переход на reasoning модель типа o1/o3/R1?
Если для поведенческого эксперимента важно поддержание контекста, то полученные агентом стимулы и его ответы дописывают текстом к транскрипту и рефлексиям.
🏋️♀️ Эксперимент
Далее полученным агентам дают ту же самую батарею тестов и экспериментов (GSS, BFI-44, пять экономических игр, пять поведенческих экспериментов), сравнивают с настоящими ответами респондента.
В качестве бейзлайнов сравнивают с двумя: 1) агент с демографическими атрибутами (вытянули из ответов GSS) и 2) параграф текста, суммаризирующий конкретную персону (респондентов просили написать о себе бриф).
На GSS, BFI-44 и пяти играх считали normalized accuracy как отношение точности предсказания агента к internal consistency, точности репликации человеком своих ответов через две недели. Для категориальных задач использовалась accuracy, для числовых mean absolute error (MAE).
Для GSS средняя normalized accuracy равна 0.85 с std = 0.11, получена как 68.85% точность агента делённая на 81.25% точность репликации ответа самим человеком. Агент на основе интервью заметно лучше бейзлайнов (и сильно выше рандома). На BFI тоже лучше. В экономических играх значимой разницы с бейзлайнами нет.
Провели ещё сколько-то разных экспериментов, включая собирание композитного агента с компиляцией всех ответов респондента на GSS, BFF, игры, но без интервью. С интервью лучше, даже если оттуда вырезать рандомно до 80% транскрипта или сгенерировать короткое саммари из буллет пойнтов.
На пяти поведенческих экспериментах (например, про “allocator’s illusion” https://www.pnas.org/doi/10.1073/pnas.1606574113) и люди, и агенты реплицировали 4 из 5 экспериментов. То есть агенты действуют аналогично и на них можно проверяться.
Ещё проверили, есть ли баесы по полу, расе или идеологии, оценивали разницу между группами, перформящими лучшу и хуже всех. Агенты на основе интервью лучше агентов на основе демографии или персон. Интервью рулят короче.
———
Агента собрали в виде веб-приложения с голосовым общением, реализованным через комбинацию OpenAI TTS + Whisper. Тут не до конца понятно, упоминают также их Audio модель, а это gpt-4o-audio (но тогда непонятно, зачем whisper).
🤖 Симулякр
Архитектура агента-симулякра тоже наследует предыдущей работе. У агента есть память, "memory stream" в текстовой форме. Есть модуль рефлексии, синтезирующий элементы памяти в рефлексию (аналогично https://t.me/gonzo_ML/1481).
Промптинг LLM-ки транскриптом интервью для предсказания реакции респондента в режиме одиночного chain-of-thought (CoT) может пропустить латентную информацию не выраженную явно в тексте. Чтобы явно вытащить эту информацию из транскрипта был введён специальный модуль “expert reflection”, которого промптят чтобы он действовал в роли доменного эксперта. Если точнее, то генерятся четыре набора рефлексий от лица четырёх различных экспертов: психолог, поведенческий экономист, политолог и демограф. Используется GPT-4o, которую для каждого респондента и эксперта просят сгенерить до 20 наблюдений или рефлексий. Эти рефлексии генерятся единожды и сохраняются в памяти агента.
Когда симулякр должен предсказать ответ респондента на заданный вопрос, сначала происходит классификация (через промптинг), какой из четырёх экспертов лучше бы на это ответил. Затем подтягиваются рефлексии выбранного эксперта, и вместе с транскриптом интервью используются для промптинга генерации ответа (тоже через GPT-4o). Все вопросы с множественным выбором или численным ответом, модель промптят использовать CoT. Интересно, что бы изменил переход на reasoning модель типа o1/o3/R1?
Если для поведенческого эксперимента важно поддержание контекста, то полученные агентом стимулы и его ответы дописывают текстом к транскрипту и рефлексиям.
🏋️♀️ Эксперимент
Далее полученным агентам дают ту же самую батарею тестов и экспериментов (GSS, BFI-44, пять экономических игр, пять поведенческих экспериментов), сравнивают с настоящими ответами респондента.
В качестве бейзлайнов сравнивают с двумя: 1) агент с демографическими атрибутами (вытянули из ответов GSS) и 2) параграф текста, суммаризирующий конкретную персону (респондентов просили написать о себе бриф).
На GSS, BFI-44 и пяти играх считали normalized accuracy как отношение точности предсказания агента к internal consistency, точности репликации человеком своих ответов через две недели. Для категориальных задач использовалась accuracy, для числовых mean absolute error (MAE).
Для GSS средняя normalized accuracy равна 0.85 с std = 0.11, получена как 68.85% точность агента делённая на 81.25% точность репликации ответа самим человеком. Агент на основе интервью заметно лучше бейзлайнов (и сильно выше рандома). На BFI тоже лучше. В экономических играх значимой разницы с бейзлайнами нет.
Провели ещё сколько-то разных экспериментов, включая собирание композитного агента с компиляцией всех ответов респондента на GSS, BFF, игры, но без интервью. С интервью лучше, даже если оттуда вырезать рандомно до 80% транскрипта или сгенерировать короткое саммари из буллет пойнтов.
На пяти поведенческих экспериментах (например, про “allocator’s illusion” https://www.pnas.org/doi/10.1073/pnas.1606574113) и люди, и агенты реплицировали 4 из 5 экспериментов. То есть агенты действуют аналогично и на них можно проверяться.
Ещё проверили, есть ли баесы по полу, расе или идеологии, оценивали разницу между группами, перформящими лучшу и хуже всех. Агенты на основе интервью лучше агентов на основе демографии или персон. Интервью рулят короче.
———
Forwarded from ЦДО “Моноид”
ИИ меняет мир с безумной скоростью, но вместе с этим несет в себе серьезные риски. Задача AI Safety – позаботиться, чтобы эти изменения были положительными
Цель курса – дать базу для начала карьеры в AI Safety. Программа знакомит с основными концепциями, ландшафтом исследований и работами Anthropic, Redwood Research, MIRI
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from whargarbl
Инсайды по претрейну
0. Начните с первоисточника, я попробую подсветить только неочевидные места и грабли на кот наступил
https://karpathy.github.io/2019/04/25/recipe/
1. Самое главное. Можно биться головой об клавиатуру - запустить и будет работать. Потому что всем насрать. Здесь нет нерабочего кода. Это просто матрицы, они просто перемножаются. Можно написать вообще всё неправильно - и будет работать. И даже будет трениться, но очень хреново. Но вы даже не узнаете насколько хреново - тк сравнить не с чем
2. Следствие первого. Пишем трейн на мнист и гоняем гоняем гоняем. Добавляем строчку - прогоняем трейн - добавляем строчку - прогоняем трейн - сравниваем результат. Я начинал с МНИСТ зиферки различимы через 30 эпох - и пришел к мнист тренится за 4 эпохи (ну, уже видно что это цифра три).
3. Неочевидная хрень - велости предикшен дал нехилое ускорение, сложно сказать в штуках это надо смотреть глазами, я реально прифигел
4. Легенда про импортнуть веса думаю хрень. Вначале модель тренится очень быстро и при этом она очень нестабильна. Стабилизировать модель можно:
- стартовав с каких то весов написав конверТор
- включив клипинг по градиентам
- тупо пробить нестабильность протренив буквально минут 10 - пройти яму где модель колбасит как не в себя
Эффект примерно одинаковый. Те можно не танцевать с бубном а тупо пробить нестабильный старт и продолжить уже с претрейна или посмотреть где и как градинты взрываются и подобрать обрезку. Дальше все идет как по маслу в случае юнета. На Сана Взрыв/Кишки/Расчлененка были непрерывно на всех этапах - видимо от кривизны архитектуры сильно зависит насколько стабильно модель учится
5. Лернинг рейт. Я остановился на стратегии трейна на диапазоне, например
- начинаем трейн на 1e-4 и плавно снижаем его до 1e-5 в течение 20 эпох
- продолжаем трейн с 5e-5 и плавно снижаем его до 5e-6 в течение 20 эпох
- финальный файнтюн по обстоятельствам - но еще ниже и видимо плавнее. Это для Адам - для например Адафактора надо подбирать. Для другой модели - подбирать. Все через эксперименты. Например сперва я на втором этапе долбил с 1e-5 до 1e-6 - очень крутой спуск - модели очень тяжело
6. Есть две точки. Первая трейн уже не работает и где еще не работает. В моей модели верхняя точка примерно 1.5-e4 - выше сразу взрыв/кишки/расчлененка. Нижнюю я пока не нащупал. Мнист тренится где угодно сколько угодно и не видно переобучения. Но думаю низ будет в районе 7e-7 (по опыту сдхл)
Нет публикаций с каким ЛР тренили sd1.5 - но есть упоминание что начинали с 1e-4 и что снижали (вроде гдето в коде мелькало 5e-5) - видимо также игрались.
7. Градиент аккумулейшен степ дает огромный буст к размеру батчсайза (следовательно ускорению трейна) засчет снижения памяти - особенно при трейне на 1 ГПУ - я пока пробовал 4 и 2 - остановился на 2 - страшно
8. Переобучение не страшно. Всегда сможете поднять ЛР и "стереть" часть обучения. Страшно недообучение.
ТЛДР: это минное поле - обосраться можно запросто местах в пяти одновременно. Там вае не шифтнул, тут градин аккум в акселератор не прокинул, здесь град норм дважды применил или не в той последовательности. Самое удивительное - все работает. Но хреново. Очень странно.
0. Начните с первоисточника, я попробую подсветить только неочевидные места и грабли на кот наступил
https://karpathy.github.io/2019/04/25/recipe/
1. Самое главное. Можно биться головой об клавиатуру - запустить и будет работать. Потому что всем насрать. Здесь нет нерабочего кода. Это просто матрицы, они просто перемножаются. Можно написать вообще всё неправильно - и будет работать. И даже будет трениться, но очень хреново. Но вы даже не узнаете насколько хреново - тк сравнить не с чем
2. Следствие первого. Пишем трейн на мнист и гоняем гоняем гоняем. Добавляем строчку - прогоняем трейн - добавляем строчку - прогоняем трейн - сравниваем результат. Я начинал с МНИСТ зиферки различимы через 30 эпох - и пришел к мнист тренится за 4 эпохи (ну, уже видно что это цифра три).
3. Неочевидная хрень - велости предикшен дал нехилое ускорение, сложно сказать в штуках это надо смотреть глазами, я реально прифигел
4. Легенда про импортнуть веса думаю хрень. Вначале модель тренится очень быстро и при этом она очень нестабильна. Стабилизировать модель можно:
- стартовав с каких то весов написав конверТор
- включив клипинг по градиентам
- тупо пробить нестабильность протренив буквально минут 10 - пройти яму где модель колбасит как не в себя
Эффект примерно одинаковый. Те можно не танцевать с бубном а тупо пробить нестабильный старт и продолжить уже с претрейна или посмотреть где и как градинты взрываются и подобрать обрезку. Дальше все идет как по маслу в случае юнета. На Сана Взрыв/Кишки/Расчлененка были непрерывно на всех этапах - видимо от кривизны архитектуры сильно зависит насколько стабильно модель учится
5. Лернинг рейт. Я остановился на стратегии трейна на диапазоне, например
- начинаем трейн на 1e-4 и плавно снижаем его до 1e-5 в течение 20 эпох
- продолжаем трейн с 5e-5 и плавно снижаем его до 5e-6 в течение 20 эпох
- финальный файнтюн по обстоятельствам - но еще ниже и видимо плавнее. Это для Адам - для например Адафактора надо подбирать. Для другой модели - подбирать. Все через эксперименты. Например сперва я на втором этапе долбил с 1e-5 до 1e-6 - очень крутой спуск - модели очень тяжело
6. Есть две точки. Первая трейн уже не работает и где еще не работает. В моей модели верхняя точка примерно 1.5-e4 - выше сразу взрыв/кишки/расчлененка. Нижнюю я пока не нащупал. Мнист тренится где угодно сколько угодно и не видно переобучения. Но думаю низ будет в районе 7e-7 (по опыту сдхл)
Нет публикаций с каким ЛР тренили sd1.5 - но есть упоминание что начинали с 1e-4 и что снижали (вроде гдето в коде мелькало 5e-5) - видимо также игрались.
7. Градиент аккумулейшен степ дает огромный буст к размеру батчсайза (следовательно ускорению трейна) засчет снижения памяти - особенно при трейне на 1 ГПУ - я пока пробовал 4 и 2 - остановился на 2 - страшно
8. Переобучение не страшно. Всегда сможете поднять ЛР и "стереть" часть обучения. Страшно недообучение.
ТЛДР: это минное поле - обосраться можно запросто местах в пяти одновременно. Там вае не шифтнул, тут градин аккум в акселератор не прокинул, здесь град норм дважды применил или не в той последовательности. Самое удивительное - все работает. Но хреново. Очень странно.
Forwarded from Data Blog
Привет, друзья!
Немного заболела (не люблю эту необходимость не работать) и в часы просветления занималась и продолжаю заниматься модулем про оценку объяснений для курса. Поэтому туториал (и даже ролик на ютуб) будут, когда я оживу, а пока немного про метрики.
В XAI нет стандартного подхода к оценке объяснений (пока что) и, вместо изучения десятков формул удобнее рассматривать общие категории. Одна из них — классификация Co-12:
Correctness — насколько точно объяснение соответствует модели.
Completeness — насколько полно объяснение отражает логику модели.
Consistency — дают ли похожие данные похожие объяснения?
Continuity — небольшие изменения входных данных не должны сильно менять объяснение.
Contrastivity — объясняет ли метод, почему предсказан X, а не Y?
Covariate complexity — как объяснение учитывает сложные взаимодействия признаков?
Compactness — «чем меньше, тем лучше» (разреженность объяснения).
Composition — как представлена информация в объяснении?
Confidence — насколько метод учитывает неопределенность?
Context — насколько объяснение полезно для конкретного пользователя?
Coherence — согласуется ли объяснение с известными знаниями?
Controllability — может ли пользователь влиять на объяснение?
Важно понимать: не нужно заучивать все эти критерии (и даже знать 🎅🏻). Классификацию привожу просто для того, чтобы вы понимали, насколько широк взгляд на оценку. Ну и вдовесок — в библиотеках XAI реализована лишь часть из метрик [можно почитать тут].
Для понимания метрики иногда полезно лезть в код библиотеки. Например, я выше писала про xai_evals, там в статье Faithfullness имеет одну математическую постановку, для табличек, а на практике — вычисляется как корреляция. Прикреплю картинки.
Ну, и суммируя, всё вот так:
❄️Как и в ситуации оценки ML/DL моделей, бинарная оценка "окей", "не окей" не подходит.
❄️В сообществе XAI не существует стандартизированного набора метрик.
❄️Основная сложность — нужно сравнивать методы по скорости, устойчивости, надежности и применимости в разных доменах (наборы данных, модели).
❄️Одна и та же метрика может по-разному реализовываться в разных библиотеках.
✔️ Практически важно — сравнивать методы в рамках одной библиотеки.
Такие дела! Не болейте, друзья!
Пойду восстанавливаться и делать видос,
Ваш Дата-автор!
Немного заболела (не люблю эту необходимость не работать) и в часы просветления занималась и продолжаю заниматься модулем про оценку объяснений для курса. Поэтому туториал (и даже ролик на ютуб) будут, когда я оживу, а пока немного про метрики.
В XAI нет стандартного подхода к оценке объяснений (пока что) и, вместо изучения десятков формул удобнее рассматривать общие категории. Одна из них — классификация Co-12:
Correctness — насколько точно объяснение соответствует модели.
Completeness — насколько полно объяснение отражает логику модели.
Consistency — дают ли похожие данные похожие объяснения?
Continuity — небольшие изменения входных данных не должны сильно менять объяснение.
Contrastivity — объясняет ли метод, почему предсказан X, а не Y?
Covariate complexity — как объяснение учитывает сложные взаимодействия признаков?
Compactness — «чем меньше, тем лучше» (разреженность объяснения).
Composition — как представлена информация в объяснении?
Confidence — насколько метод учитывает неопределенность?
Context — насколько объяснение полезно для конкретного пользователя?
Coherence — согласуется ли объяснение с известными знаниями?
Controllability — может ли пользователь влиять на объяснение?
Важно понимать: не нужно заучивать все эти критерии (и даже знать 🎅🏻). Классификацию привожу просто для того, чтобы вы понимали, насколько широк взгляд на оценку. Ну и вдовесок — в библиотеках XAI реализована лишь часть из метрик [можно почитать тут].
Для понимания метрики иногда полезно лезть в код библиотеки. Например, я выше писала про xai_evals, там в статье Faithfullness имеет одну математическую постановку, для табличек, а на практике — вычисляется как корреляция. Прикреплю картинки.
Ну, и суммируя, всё вот так:
❄️Как и в ситуации оценки ML/DL моделей, бинарная оценка "окей", "не окей" не подходит.
❄️В сообществе XAI не существует стандартизированного набора метрик.
❄️Основная сложность — нужно сравнивать методы по скорости, устойчивости, надежности и применимости в разных доменах (наборы данных, модели).
❄️Одна и та же метрика может по-разному реализовываться в разных библиотеках.
✔️ Практически важно — сравнивать методы в рамках одной библиотеки.
Такие дела! Не болейте, друзья!
Пойду восстанавливаться и делать видос,
Ваш Дата-автор!