Forwarded from Sinекура
Выложили мой доклад про AI Safety, который был в CS Space в воскресенье. Спасибо организаторам, что не прерывали, я, конечно, многие части прошёл в ускоренном темпе, но прошёл все, а видео в итоге получилось на 4 часа 12 минут чистого времени.
https://www.youtube.com/watch?v=PkYDScQg5PU&ab_channel=ComputerScienceSpace
Цель была в том, чтобы рассказать не только о том, почему AGI имеет все шансы уничтожить человечество, но и по существу о том, как человечество пытается сделать так, чтобы эти шансы не реализовались.
По порядку в докладе:
— введение, Хинтон и Бенджи беспокоятся
— таймлайны, slow vs. fast takeoff
— mundane risks: как LLM можно использовать в неблаговидных целях
— возможные экономические трансформации
— история AI safety от Чапека и Тьюринга
— аргументы об экзистенциальном риске
— разбор стандартных возражений
— основные определения: emergence, mesa-optimization, alignment, corrigibility
— пример конкретного направления: подхалимство (sycophancy) и как его уменьшить
— интроспекция / situational awareness: понимают ли модели свою ситуацию
— goodharting (закон Гудхарта), его частные случаи и яркие примеры reward hacking
— механистическая интерпретируемость: схемы, поиск признаков автокодировщиками
— sparks of misalignment (примеры): sleeper agents, alignment faking, emergent misalignment...
— заключение: что сейчас делают государства, учёные и компании, как LLM-агенты играют в википедию
Это было нелегко, потому что это был на 80% новый доклад с новыми слайдами и новыми идеями, которые я слышал раньше, конечно, но никогда сам не рассказывал. Пара накладок действительно случилась, но в основном, кажется, справился и результатом доволен.
А если вы хотите услышать одну cool story из доклада, отправляйтесь на таймкод 3:48:20 и послушайте буквально 5-7 минут про emergent misalignment. Эта работа вышла месяц назад (Betley et al., Feb 24, 2025), и это просто офигенно; не буду спойлерить, посмотрите сами.
https://www.youtube.com/watch?v=PkYDScQg5PU&ab_channel=ComputerScienceSpace
Цель была в том, чтобы рассказать не только о том, почему AGI имеет все шансы уничтожить человечество, но и по существу о том, как человечество пытается сделать так, чтобы эти шансы не реализовались.
По порядку в докладе:
— введение, Хинтон и Бенджи беспокоятся
— таймлайны, slow vs. fast takeoff
— mundane risks: как LLM можно использовать в неблаговидных целях
— возможные экономические трансформации
— история AI safety от Чапека и Тьюринга
— аргументы об экзистенциальном риске
— разбор стандартных возражений
— основные определения: emergence, mesa-optimization, alignment, corrigibility
— пример конкретного направления: подхалимство (sycophancy) и как его уменьшить
— интроспекция / situational awareness: понимают ли модели свою ситуацию
— goodharting (закон Гудхарта), его частные случаи и яркие примеры reward hacking
— механистическая интерпретируемость: схемы, поиск признаков автокодировщиками
— sparks of misalignment (примеры): sleeper agents, alignment faking, emergent misalignment...
— заключение: что сейчас делают государства, учёные и компании, как LLM-агенты играют в википедию
Это было нелегко, потому что это был на 80% новый доклад с новыми слайдами и новыми идеями, которые я слышал раньше, конечно, но никогда сам не рассказывал. Пара накладок действительно случилась, но в основном, кажется, справился и результатом доволен.
А если вы хотите услышать одну cool story из доклада, отправляйтесь на таймкод 3:48:20 и послушайте буквально 5-7 минут про emergent misalignment. Эта работа вышла месяц назад (Betley et al., Feb 24, 2025), и это просто офигенно; не буду спойлерить, посмотрите сами.
Forwarded from Neural Kovalskii
This media is not supported in your browser
VIEW IN TELEGRAM
Deep Research за копейки?
Йоу, народ! Время рассказать, чем я тут занимался в последнее время
Спойлер:Deep Кодил
Короче, решил я окунуться в мир опенсорса на тему Deep Research
Знаете, такие штуки, которые умнее обычного гугления
И вот что я там накопал прошелся по 3-4 репо и пока вот мой топ для понимания как это работает.
Значит берем LangGraph(langsmith)
Берем tavily
Берем LLM
Берем другую LLM которая будет кодить (кстати я попробовал Cursor скоро расскажу как оно там)
1. Можно кастомить агентов с помощью Structure Output + CoT (Chain of Thought, если кто не в курсе).
2. Есть готовые репо, типа этого: https://github.com/langchain-ai/ollama-deep-researcher
Но я же не ищу легких путей! Взял этот репо и перепилил всё под себя что поменял
- Промпты обновил (добавил SO, чтоб было красиво)
- Граф немного перекроил
- Подключил свои серваки с vLLM (видюхи не простаивают!)
- Поправил промпты рефлексии
Короче, получилось вот это чудо:
https://github.com/kekslop/ndt-deep-researcher
И вот что самое крутое: с сегодняшнего дня почти все мои наработки будут попадать на GitHub!
Да-да, вы тоже сможете их попробовать!
Я там расписал README так подробно, что даже моя бабушка сможет повторить мой опыт создания такого агента и использования его в быту
Ну, почти 😅
Основная фишка текущего подхода - это визуализация и работа с Structured Output и работа с моделькой 7b =)
Дальше буду кастомить свой CoT
Что умеет эта штука для меня
- Работает на разных языках (прям как я после пятничного стрима "запускаем новое направление))
- Ищет инфу в интернете через Tavily (круче, чем ваша школьная разработка на силениум )
А самое интересное впереди! Скоро расскажу, как сделать монструозную систему с генерацией биг отчета и поиском инфы в нескольких источниках
Следите за обновлениями, кто хочет быть в теме!
Ну а я пошел кодить дальше, пока команда думает, что я занимаюсь "стратегическим планированием" 😎
Йоу, народ! Время рассказать, чем я тут занимался в последнее время
Спойлер:
Короче, решил я окунуться в мир опенсорса на тему Deep Research
Знаете, такие штуки, которые умнее обычного гугления
И вот что я там накопал прошелся по 3-4 репо и пока вот мой топ для понимания как это работает.
Значит берем LangGraph(langsmith)
Берем tavily
Берем LLM
Берем другую LLM которая будет кодить (кстати я попробовал Cursor скоро расскажу как оно там)
1. Можно кастомить агентов с помощью Structure Output + CoT (Chain of Thought, если кто не в курсе).
2. Есть готовые репо, типа этого: https://github.com/langchain-ai/ollama-deep-researcher
Но я же не ищу легких путей! Взял этот репо и перепилил всё под себя что поменял
- Промпты обновил (добавил SO, чтоб было красиво)
- Граф немного перекроил
- Подключил свои серваки с vLLM (видюхи не простаивают!)
- Поправил промпты рефлексии
Короче, получилось вот это чудо:
https://github.com/kekslop/ndt-deep-researcher
И вот что самое крутое: с сегодняшнего дня почти все мои наработки будут попадать на GitHub!
Да-да, вы тоже сможете их попробовать!
Я там расписал README так подробно, что даже моя бабушка сможет повторить мой опыт создания такого агента и использования его в быту
Ну, почти 😅
Основная фишка текущего подхода - это визуализация и работа с Structured Output и работа с моделькой 7b =)
Дальше буду кастомить свой CoT
Что умеет эта штука для меня
- Работает на разных языках (прям как я после пятничного стрима "запускаем новое направление))
- Ищет инфу в интернете через Tavily (круче, чем ваша школьная разработка на силениум )
А самое интересное впереди! Скоро расскажу, как сделать монструозную систему с генерацией биг отчета и поиском инфы в нескольких источниках
Следите за обновлениями, кто хочет быть в теме!
Ну а я пошел кодить дальше, пока команда думает, что я занимаюсь "стратегическим планированием" 😎
Forwarded from Запрети мне псевдолейблить
🥇 Первое место на NeurIPS Lux AI 3
За первое место соперничали в основном только три топовые команды. Давайте разберем ключевые решения победителей соревы:
Массовый фичинжиниринг
• Создали более 1000+ признаков для каждого тайла (напомню, их размер — 24×24)
•Сами написали PPO с V-trace на PyTorch
• Тоже двухголовая архитектура. Одна голова выбирает действие, а вторая определяет, куда стрелять, если действие связано с выстрелом
• Приделали еще и голову, которая предсказывает, куда шагнут враги в следующий момент, даже если враг не наблюдается. Таким образом, модель научилась стрелять «вслепую» 👀
• Обучались в формате bfloat16 на 1.5 млрд матчей. Всего за всю соревновательную сессию сыграли около 20 млрд матчей ⚡
Все другие секреты PPO уже разобраны, поэтому давайте сосредоточимся на поистине уникальном приеме команды:
🔥 Противодействие Imitation Learning (тут еще есть второе мнение от настоящего грандмастера)
• С первого люкса команда понимала, что многие полагаются на imitation learning, и решила активно противодействовать этому.
• Были обучены две модели — слабая и сильная (предыдущая лучшая и текущая) — с рандомным выбором, какая из них будет играть во время инференса.
• Сильная модель работала всего в 15% случаев, но писала об этом в логи игры, позволяя после матча распарсить и понять какая модель играла и замерять эффект. Все остальное время учили IL оппонентов плохому
• Анализ логов после матчей позволял точно оценить преимущества сильной модели относительно предыдущей. К тому же, топовые команды генерировали около 1000 матчей в день уже на лб (из них ~150 с сильной моделью), так что можно было проверить статзначимость улучшения.
• Под конец модель настолько раздулась, что две модели не помещались в сабмишн, так что пришлось оставить только одну и добавить к её атрибутам шум для того, чтобы портить трейн сет всем подражателям
#lux
За первое место соперничали в основном только три топовые команды. Давайте разберем ключевые решения победителей соревы:
Массовый фичинжиниринг
• Создали более 1000+ признаков для каждого тайла (напомню, их размер — 24×24)
•Сами написали PPO с V-trace на PyTorch
• Тоже двухголовая архитектура. Одна голова выбирает действие, а вторая определяет, куда стрелять, если действие связано с выстрелом
• Приделали еще и голову, которая предсказывает, куда шагнут враги в следующий момент, даже если враг не наблюдается. Таким образом, модель научилась стрелять «вслепую» 👀
• Обучались в формате bfloat16 на 1.5 млрд матчей. Всего за всю соревновательную сессию сыграли около 20 млрд матчей ⚡
Все другие секреты PPO уже разобраны, поэтому давайте сосредоточимся на поистине уникальном приеме команды:
🔥 Противодействие Imitation Learning (тут еще есть второе мнение от настоящего грандмастера)
• С первого люкса команда понимала, что многие полагаются на imitation learning, и решила активно противодействовать этому.
• Были обучены две модели — слабая и сильная (предыдущая лучшая и текущая) — с рандомным выбором, какая из них будет играть во время инференса.
• Сильная модель работала всего в 15% случаев, но писала об этом в логи игры, позволяя после матча распарсить и понять какая модель играла и замерять эффект. Все остальное время учили IL оппонентов плохому
• Анализ логов после матчей позволял точно оценить преимущества сильной модели относительно предыдущей. К тому же, топовые команды генерировали около 1000 матчей в день уже на лб (из них ~150 с сильной моделью), так что можно было проверить статзначимость улучшения.
• Под конец модель настолько раздулась, что две модели не помещались в сабмишн, так что пришлось оставить только одну и добавить к её атрибутам шум для того, чтобы портить трейн сет всем подражателям
#lux
Forwarded from КПД
Overtrained Language Models Are Harder to Fine-Tune
[Статья] [Где код, Билли?]
Введение
Во многом успех современного глубокого обучения обусловлен масштабированием моделей и времени обучения. Стандартный пайплайн обучения включает в себя предобучение на большом объеме данных с последующим дообучением на куда меньшем количестве примеров высокого качества.
В текущей практике обыкновенно качество базовой модели напрямую транслируется в качество дообученной на инструкциях. А так как качество базовой монотонно растет, то кажется логичным продолжать дальнейшее наращивание бюджетов обучения.
Однако группа исследователей (часть из них ранее засветилась в Scaling Laws for Precision) обнаружила, что начиная с какого-то момента чекпоинты OLMo начинают проседать по качеству при файтьюнинге, решила поглубже исследовать данный вопрос и найти какое-то объяснение явлению “перетренированности” 💪.
[Статья] [Где код, Билли?]
Введение
Во многом успех современного глубокого обучения обусловлен масштабированием моделей и времени обучения. Стандартный пайплайн обучения включает в себя предобучение на большом объеме данных с последующим дообучением на куда меньшем количестве примеров высокого качества.
В текущей практике обыкновенно качество базовой модели напрямую транслируется в качество дообученной на инструкциях. А так как качество базовой монотонно растет, то кажется логичным продолжать дальнейшее наращивание бюджетов обучения.
Однако группа исследователей (часть из них ранее засветилась в Scaling Laws for Precision) обнаружила, что начиная с какого-то момента чекпоинты OLMo начинают проседать по качеству при файтьюнинге, решила поглубже исследовать данный вопрос и найти какое-то объяснение явлению “перетренированности” 💪.
Forwarded from КПД
Метод и эксперименты
Напомню, что OLMo - это полностью открытый проект по обучению больших языковых моделей с открытым исходным кодом и выложенными промежуточными чекпоинтами.
Давным-давно
Авторы взяли веса моделей (
Исследователи делают гипотезу, что данное явление, следствие повышенной чувствительности параметров к шуму и пертурбациям.
Дабы проверить данную гипотезу, авторы обучают на корпусе С4 модели от 15M до 90M параметров (с подвыборками размером от 4B до 128B токенов).
Сначала авторы исследуют зависимость лосса модели от времени обучения при фиксированной величине пертурбаций параметров гауссовым шумом. Первоначально, лосс модели не сильно меняется даже при большой величине шума. Но начиная с какого-то момента при сильном зашумлении лосс “зашумленной” модели начинает возрастать, несмотря на то, что качество исходной модели монотонно улучшается. То есть просадка модели, вызванная шумом, растет быстрее, чем улучшается модель.
Дообучение, конечно, сильно отличается от добавления гауссового шума, но тем не менее оказывается, что на некоторых датасетах при лернинг рейте побольше начиная с какого-то момента качество падает ↘️.
Далее авторы пробуют уменьшать шаг обучения, чтобы учесть большую чувствительность параметров модели, и это помогает на ID (in domain) задачах, но качество на OOD (out of domain) все равно может ухудшаться при дальнейшем обучении.
Затухающее расписание шагов обучения откладывает проблему на более позднее время, но не решает ее полностью.
Далее авторы рассматривают простую линейную модель: таргет генерируется линейным слоем, а обучается композиция двух слоев без активаций, где наблюдается тот же самый эффект - растущая чувствительность весов модели к зашумлению. В процессе обучения постепенно выучиваются все меньшие и меньшие сингулярные значения целевой матрицы, и в тот момент, когда шум превосходит одно из них, ошибка может начать расти.
В конце авторы вспоминают, про работы из RL и “пластичность”, комментируя , что обнаруженное явление имеет по всей видимости ту же самую природу.
Вывод
Довольно любопытное и интересное наблюдение. Для полноценной валидации требуется репродукция другими командами ибо результат может быть обусловлен такими нюансами как детали оптимизации, архитектуры, mixed-precision настроек и выбора данных. Потенциально еще причина может быть в специфике оптимизации Adam-oм или стремлении модели неограниченно наращивать логиты вероятностей для оптимизации кросс-энтропии. Использование другого оптимизатора или регуляризации (например, SAM) вероятно способно предотвратить проблему. Было бы интересно еще проверить имеет ли место эффект в других задачах: т.е будет ли ухудшаться качество vision foundation моделей (
Напомню, что OLMo - это полностью открытый проект по обучению больших языковых моделей с открытым исходным кодом и выложенными промежуточными чекпоинтами.
Давным-давно
в одной далекой Галактике было показано что при фиксированном количестве FLOPs на обучение оптимальное качество достигается при отношении количества токенов (D) к параметрам модели (N) около 20. Но жирные модельки потом дорого гонять на железе, потому обыкновенно выходят далеко за данное отношение и качество все равно монотонно растет, хоть и не так быстро, как при отпимальном скейлинге. В частности, для Llama-3 отношение D/N = 2000.Авторы взяли веса моделей (
OLMo-1B, OLMo-2-7B, LLM360-Amber) с разных шагов обучения и обнаружили, что начиная с какого-то момента качество на некоторых задачах (AlpacaEval, ARC (не AGI), PiQA) при дообучении начинает убывать. При этом качество базовой модели непрерывно растет. Для 7B модели при этом такого явления не наблюдается, так как модель, по всей видимости еще не успела перейти в режим “перетренированности”. Исследователи делают гипотезу, что данное явление, следствие повышенной чувствительности параметров к шуму и пертурбациям.
Дабы проверить данную гипотезу, авторы обучают на корпусе С4 модели от 15M до 90M параметров (с подвыборками размером от 4B до 128B токенов).
Сначала авторы исследуют зависимость лосса модели от времени обучения при фиксированной величине пертурбаций параметров гауссовым шумом. Первоначально, лосс модели не сильно меняется даже при большой величине шума. Но начиная с какого-то момента при сильном зашумлении лосс “зашумленной” модели начинает возрастать, несмотря на то, что качество исходной модели монотонно улучшается. То есть просадка модели, вызванная шумом, растет быстрее, чем улучшается модель.
Дообучение, конечно, сильно отличается от добавления гауссового шума, но тем не менее оказывается, что на некоторых датасетах при лернинг рейте побольше начиная с какого-то момента качество падает ↘️.
Далее авторы пробуют уменьшать шаг обучения, чтобы учесть большую чувствительность параметров модели, и это помогает на ID (in domain) задачах, но качество на OOD (out of domain) все равно может ухудшаться при дальнейшем обучении.
Затухающее расписание шагов обучения откладывает проблему на более позднее время, но не решает ее полностью.
Далее авторы рассматривают простую линейную модель: таргет генерируется линейным слоем, а обучается композиция двух слоев без активаций, где наблюдается тот же самый эффект - растущая чувствительность весов модели к зашумлению. В процессе обучения постепенно выучиваются все меньшие и меньшие сингулярные значения целевой матрицы, и в тот момент, когда шум превосходит одно из них, ошибка может начать расти.
В конце авторы вспоминают, про работы из RL и “пластичность”, комментируя , что обнаруженное явление имеет по всей видимости ту же самую природу.
Вывод
Довольно любопытное и интересное наблюдение. Для полноценной валидации требуется репродукция другими командами ибо результат может быть обусловлен такими нюансами как детали оптимизации, архитектуры, mixed-precision настроек и выбора данных. Потенциально еще причина может быть в специфике оптимизации Adam-oм или стремлении модели неограниченно наращивать логиты вероятностей для оптимизации кросс-энтропии. Использование другого оптимизатора или регуляризации (например, SAM) вероятно способно предотвратить проблему. Было бы интересно еще проверить имеет ли место эффект в других задачах: т.е будет ли ухудшаться качество vision foundation моделей (
CLIP/SigLIP) на downstream при очень продолжительном обучении?Forwarded from Quant Valerian
Я хотел сделать лайтовый пятничный "Пыльный чулан" про забавную физику, но посмотрел на пост про распределенные системы и решил дать вам ПОБОЛЬШЕ ХАРДКОРА.
Сегодня достаём разговорчики про перфоманс в основном внутри одной машины.
Не так уж и давно я решал SRE Week от Яндекса. Там были задачки на перфоманс.
- оптимизированный под разного размера массивы бинпоиск. Чуть подробнее о бинпоисках я писал когда-то давно, пригодилось
- потом была spsc queue на C++, rate limiter на golang и задача, которую я не решил из-за лени.
Для лучшего понимания memory ordering'ов в очереди стоит почитать пост с картинкой Serializable vs Linearizable и приправить постом про барьеры памяти.
Про отношения между latency и throughput (пригодится с рейт лимитером) есть (имхо) красивая аналогия в соответствующем посте.
- последний блок задач был на исследование проблем с производительностью с помощью bpftrace — там типичная история из жизни performance инженера, когда ты мерил, мерил, но мерил не то 🤡
Постов про bpftrace у меня нет, поэтому я просто порекомендую постом книгу Дениса Бахвалова про перфоманс и микрооптимизации с массированным использованием perf'а. Заодно разберетесь со всякими там фронтендами и бэкендами процессора. А для подготовки к этой книге, стоит прочитать (если еще не) WEPSKAM (хотя лучше pdf найдите).
Вне категорий ещё неймдроппинг:
- Brendon Gregg, System Performance, которую я украл у Серёги
- Peter Sewell, статьи из раздела Relaxed-memory concurrency, кладезь золота, которую мне открыл Шипилёв
Есть ещё, но мне кажется, что уже этого вполне достаточно, чтобы забить себе башку на месяца вперёд))
Сегодня достаём разговорчики про перфоманс в основном внутри одной машины.
Не так уж и давно я решал SRE Week от Яндекса. Там были задачки на перфоманс.
- оптимизированный под разного размера массивы бинпоиск. Чуть подробнее о бинпоисках я писал когда-то давно, пригодилось
- потом была spsc queue на C++, rate limiter на golang и задача, которую я не решил из-за лени.
Для лучшего понимания memory ordering'ов в очереди стоит почитать пост с картинкой Serializable vs Linearizable и приправить постом про барьеры памяти.
Про отношения между latency и throughput (пригодится с рейт лимитером) есть (имхо) красивая аналогия в соответствующем посте.
- последний блок задач был на исследование проблем с производительностью с помощью bpftrace — там типичная история из жизни performance инженера, когда ты мерил, мерил, но мерил не то 🤡
Постов про bpftrace у меня нет, поэтому я просто порекомендую постом книгу Дениса Бахвалова про перфоманс и микрооптимизации с массированным использованием perf'а. Заодно разберетесь со всякими там фронтендами и бэкендами процессора. А для подготовки к этой книге, стоит прочитать (если еще не) WEPSKAM (хотя лучше pdf найдите).
Вне категорий ещё неймдроппинг:
- Brendon Gregg, System Performance, которую я украл у Серёги
- Peter Sewell, статьи из раздела Relaxed-memory concurrency, кладезь золота, которую мне открыл Шипилёв
Есть ещё, но мне кажется, что уже этого вполне достаточно, чтобы забить себе башку на месяца вперёд))
Telegram
Quant Valerian
serializability vs linearizability
Начнём с изянства. Есть такие математические понятия, с которыми вы могли познакомиться в книжке The Art of Multiprocessor Programming.
Что это такое?
Если программа обладает любым из этих свойств, то гарантируется, что…
Начнём с изянства. Есть такие математические понятия, с которыми вы могли познакомиться в книжке The Art of Multiprocessor Programming.
Что это такое?
Если программа обладает любым из этих свойств, то гарантируется, что…
Forwarded from Data Blog
Закон Гутхарта — неожиданная сторона критичности в сторону объяснения моделей.
Привет, друзья! Сегодня прям о вкусном:
когда метрика становится целью, она перестаёт быть хорошей метрикой
Или в оригинале:
any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes
Именно так звучит закон Гудхарта, пришедший из экономики, чтобы в машинном обучении просто «с ноги» заставить исследователей обратить внимание на метрики. Изначально он появился примерно в такой амплуа:
если государство вводит KPI для измерения успеха, бюрократическая система начинает оптимизировать именно этот KPI, а не реальный результат.
Если это амплуа перенести в машинное обучение, то получается такой сценарий:
если задача обучения модели — оптимизация метрики, то модель может подогнаться под эту метрику вместо реального улучшения качества решения задачи.
Примеров исследований мало. Из игрушечных примеров (и вдогонку — обзор, почему метрика может быть проблемой):
* Переобучение модели в соревновании на оценку лидерборда.
* В результате оптимизации под CTR (click-through rate) можно прийти к показу провокационного (кликбейтного) контента, потому что он вызывает больше реакций, даже если это негативный эффект.
Из реальных, практико-ориентированных и связанных непосредственно с XAI мне удалось найти статью
Goodhart’s Law Applies to NLP’s Explanation Benchmarks.
Тейк статьи: показывают, что эти метрики объяснимости можно искусственно завысить, не улучшая реальную объяснимость модели.
Метод статьи: при помощи метрик — comprehensiveness (измеряет, насколько ухудшится предсказание модели, если убрать "объясняющие" токены) и sufficiency (оценивает, насколько хорошо модель предсказывает только по выделенным токенам) — показывают, что можно значимо увеличить значения этих метрик, не изменяя сами объяснения и предсказания модели.
Это достигается за счёт того, что удалённые и оставленные токены принадлежат разным распределениям, что приводит к "подгонке" модели под метрику.
Кроме того, с критической точки зрения, можно выдвинуть гипотезу о том, что в случае unlearning’а, модель обучается скорее «скрывать» свое поведение, а не реально избавляется он bias’а. Однако это нельзя однозначно подтвердить и здесь очень важен вопрос о способе отучения.
Таким образом, критическая пища на эти выходные (мне хватило на неделю):
Оценка объяснимости остаётся нерешённой проблемой: существующие метрики можно обмануть и, как следствие, можно измерить определенные показатели, но важно понимать их текущую уязвимость.
Оценку модели, оценку её прозрачности, как и вообще весь процесс разработки, стоит планировать аккуратно. И чем сложнее модель, тем больше зон, которые нужно учитывать.А так всё хорошо начиналось, когда нужно было просто решить задачу MNIST.
Хороших вам выходных, друзья! И множества критических вопросов при оценке моделей!
P.S. Знаю, что обещала вам туториал, но последнее время много учусь и работаю. Делаю интересный проект на учебе, пишу диплом — скоро буду математиком. Плюс подтягиваю навыки, чтобы больше уметь в оценку больших моделей. И чем больше я изучу, тем больше интересного смогу сделать, разобрать и показать)
Всё допишем, оформим, иначе никак 😌
Ваш,
Дата-автор!
Привет, друзья! Сегодня прям о вкусном:
когда метрика становится целью, она перестаёт быть хорошей метрикой
Или в оригинале:
any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes
Именно так звучит закон Гудхарта, пришедший из экономики, чтобы в машинном обучении просто «с ноги» заставить исследователей обратить внимание на метрики. Изначально он появился примерно в такой амплуа:
если государство вводит KPI для измерения успеха, бюрократическая система начинает оптимизировать именно этот KPI, а не реальный результат.
Если это амплуа перенести в машинное обучение, то получается такой сценарий:
если задача обучения модели — оптимизация метрики, то модель может подогнаться под эту метрику вместо реального улучшения качества решения задачи.
Примеров исследований мало. Из игрушечных примеров (и вдогонку — обзор, почему метрика может быть проблемой):
* Переобучение модели в соревновании на оценку лидерборда.
* В результате оптимизации под CTR (click-through rate) можно прийти к показу провокационного (кликбейтного) контента, потому что он вызывает больше реакций, даже если это негативный эффект.
Из реальных, практико-ориентированных и связанных непосредственно с XAI мне удалось найти статью
Goodhart’s Law Applies to NLP’s Explanation Benchmarks.
Тейк статьи: показывают, что эти метрики объяснимости можно искусственно завысить, не улучшая реальную объяснимость модели.
Метод статьи: при помощи метрик — comprehensiveness (измеряет, насколько ухудшится предсказание модели, если убрать "объясняющие" токены) и sufficiency (оценивает, насколько хорошо модель предсказывает только по выделенным токенам) — показывают, что можно значимо увеличить значения этих метрик, не изменяя сами объяснения и предсказания модели.
Это достигается за счёт того, что удалённые и оставленные токены принадлежат разным распределениям, что приводит к "подгонке" модели под метрику.
Кроме того, с критической точки зрения, можно выдвинуть гипотезу о том, что в случае unlearning’а, модель обучается скорее «скрывать» свое поведение, а не реально избавляется он bias’а. Однако это нельзя однозначно подтвердить и здесь очень важен вопрос о способе отучения.
Таким образом, критическая пища на эти выходные (мне хватило на неделю):
Оценка объяснимости остаётся нерешённой проблемой: существующие метрики можно обмануть и, как следствие, можно измерить определенные показатели, но важно понимать их текущую уязвимость.
Оценку модели, оценку её прозрачности, как и вообще весь процесс разработки, стоит планировать аккуратно. И чем сложнее модель, тем больше зон, которые нужно учитывать.
Хороших вам выходных, друзья! И множества критических вопросов при оценке моделей!
P.S. Знаю, что обещала вам туториал, но последнее время много учусь и работаю. Делаю интересный проект на учебе, пишу диплом — скоро буду математиком. Плюс подтягиваю навыки, чтобы больше уметь в оценку больших моделей. И чем больше я изучу, тем больше интересного смогу сделать, разобрать и показать)
Всё допишем, оформим, иначе никак 😌
Ваш,
Дата-автор!
Forwarded from Artificial stupidity
#statistics
Недавно прочитал статью "Choosing a Proxy Metric from Past Experiments". В авторах челики из google и deepmind. Сама статья, как можно понять из названия, про выбор правильных прокси-метрик.
Пока читал, не покидало ощущение, что что-то тут не так. Вроде идея интересная, какие-никакие аргументы в пользу их решения есть, но все равно интуитивно кажется, что решение в реальности не полетит. Ну да ладно, будущее покажет.
В общем, основных идей несколько:
1. Давайте введем метрику "качества прокси", которая будет зависеть от скрытой корреляции между долгосрочным и прокси эффектами и от соотношения сигнал/шум прокси-метрики.
2. Давайте будем выводить оптимальную прокси-метрику в виде линейной комбинации других прокси. Получаем такую себе портфельную оптимизацию, где мы хотим оптимально "вложиться" в наши прокси, чтобы получить наилучшее решение.
3. Для оценки скрытых параметров давайте будем использовать иерархическую модель (добро пожаловать в Байесовский мир).
4. Ну и все это вместе собирается в некий "фреймворк" для оценки и выбора наилучшего прокси.
Идея прикольная. Я думал о похожем, но скорее в плане вложений в результаты на основе А/Б тестов. У нас же есть какие-то оценки результатов (и в плане ожидания, и в плане неуверенности оценки). Так почему бы не пытаться из этого "портфеля" инициатив собрать оптимальный "портфель". Но я так эту идею и не добил (если кто вдруг знает такую статью или напишет таковую - скиньте почитать).
А вот по статье у меня есть вопросики:
1. Предполагается, что у нас набор все эксперименты i.i.d., что весьма сильное предположение. В статье идет сравнение с мета-анализом. И в мета-анализе это как раз более или менее логичное предположение, Но вот просто в наборе А/Б тестов слишком уж сильное.
2. По тому, как мы получаем итоговую прокси в виде комбинации других прокси с максимизации "хорошести" прокси, у меня есть вопросики к возможному переобучению. В статье вроде даже есть кросс-валидация, но я это ставлю на уровень "сомнительно, но окэй".
3. Не факт, что эта история хорошо обобщается. Впрочем, авторы так явно и заявляют в статье. Но там реально примеры весьма специфичные. Рек. системы, еще и на каких-то гигантских объемах выборок (гугл же). И вроде как еще и группа тестов с примерно одной системой (ну как я понял, иначе откуда i.i.d.).
4. Кажется, что иерархическая модель может быть не такой уж быстрой. Там будет много MCMC симуляций же. Но тут надо тестить, может и все быстро будет работать.
5. В appendix'е какая-то странная матрица ошибок с отсечениями по размеру t-статистик на тестах по двум метрикам (прокси и north-star). Выглядит скорее эвристикой. Возможно, даже рабочей, но как-то не очень надежно выглядит на такое смотреть.
Если подводить итог.
Идея прикольная, но про реальное применение большие вопросики. Может как-то руки дойдут с чем-нибудь таким поковыряться. Ну или в какой-нибудь из докладов утащу как идею.
Недавно прочитал статью "Choosing a Proxy Metric from Past Experiments". В авторах челики из google и deepmind. Сама статья, как можно понять из названия, про выбор правильных прокси-метрик.
Пока читал, не покидало ощущение, что что-то тут не так. Вроде идея интересная, какие-никакие аргументы в пользу их решения есть, но все равно интуитивно кажется, что решение в реальности не полетит. Ну да ладно, будущее покажет.
В общем, основных идей несколько:
1. Давайте введем метрику "качества прокси", которая будет зависеть от скрытой корреляции между долгосрочным и прокси эффектами и от соотношения сигнал/шум прокси-метрики.
2. Давайте будем выводить оптимальную прокси-метрику в виде линейной комбинации других прокси. Получаем такую себе портфельную оптимизацию, где мы хотим оптимально "вложиться" в наши прокси, чтобы получить наилучшее решение.
3. Для оценки скрытых параметров давайте будем использовать иерархическую модель (добро пожаловать в Байесовский мир).
4. Ну и все это вместе собирается в некий "фреймворк" для оценки и выбора наилучшего прокси.
Идея прикольная. Я думал о похожем, но скорее в плане вложений в результаты на основе А/Б тестов. У нас же есть какие-то оценки результатов (и в плане ожидания, и в плане неуверенности оценки). Так почему бы не пытаться из этого "портфеля" инициатив собрать оптимальный "портфель". Но я так эту идею и не добил (если кто вдруг знает такую статью или напишет таковую - скиньте почитать).
А вот по статье у меня есть вопросики:
1. Предполагается, что у нас набор все эксперименты i.i.d., что весьма сильное предположение. В статье идет сравнение с мета-анализом. И в мета-анализе это как раз более или менее логичное предположение, Но вот просто в наборе А/Б тестов слишком уж сильное.
2. По тому, как мы получаем итоговую прокси в виде комбинации других прокси с максимизации "хорошести" прокси, у меня есть вопросики к возможному переобучению. В статье вроде даже есть кросс-валидация, но я это ставлю на уровень "сомнительно, но окэй".
3. Не факт, что эта история хорошо обобщается. Впрочем, авторы так явно и заявляют в статье. Но там реально примеры весьма специфичные. Рек. системы, еще и на каких-то гигантских объемах выборок (гугл же). И вроде как еще и группа тестов с примерно одной системой (ну как я понял, иначе откуда i.i.d.).
4. Кажется, что иерархическая модель может быть не такой уж быстрой. Там будет много MCMC симуляций же. Но тут надо тестить, может и все быстро будет работать.
5. В appendix'е какая-то странная матрица ошибок с отсечениями по размеру t-статистик на тестах по двум метрикам (прокси и north-star). Выглядит скорее эвристикой. Возможно, даже рабочей, но как-то не очень надежно выглядит на такое смотреть.
Если подводить итог.
Идея прикольная, но про реальное применение большие вопросики. Может как-то руки дойдут с чем-нибудь таким поковыряться. Ну или в какой-нибудь из докладов утащу как идею.
Forwarded from Valuable AI / Валентин Малых
второе видео, которым хотел поделиться - выступление для ИТМО про то, что NLP было до LLM
Дзен | Видео
Краткая история NLP – Валентин Малых | Valuable AI / Валентин Малых | Дзен
Видео автора «Valuable AI / Валентин Малых» в Дзене 🎦: МегаШкола ИТМО 2024
Forwarded from Сиолошная
ООООЧень краткое объяснение того, почему ризонеры так сильно прокачивают модели, и почему они выигрывают «модели следующего поколения», обученные на в 10-15-20 раз большем количестве мощностей:
— увеличение вычислений во время инференса (предсказания) в большинстве своём сопоставимо с увеличением мощностей во время тренировки, однако связь не 1-к-1. Какая она точно — мы не знаем (я не знаю), но например в одной из работ по анализу нейросетей для настольных игр каждые x10 тренировочных мощностей были эквиваленты увеличению мощностей на инференс x15
— то есть можно тренировать и модель меньше, и сама тренировка короче, но использовать много "рассуждений" (инференса), и тогда она будет круче
— чем лучше базовая модель, тем очевидно более эффективно расходуются мощности на инференсе
— то есть условная o3, построенная на GPT-4o, может генерировать цепочки рассуждений в 50 раз длиннее, что условно равно увеличению мощностей на тренировку в 40 раз (цифры из головы). А поскольку GPT-4.5 тренировалась всего лишь в 15-20 раз больше, то получается, что ризонер на модели прошлого поколения как бы лучше
— однако эти цифры перемножаются, и ризонер на основе новой модели <должен быть> существенно лучше. Если модель ошибается реже на каждом шаге, то все мощности будут уходить в правильное русло, а не на исправление ошибок
Как итог на примере игры в Го: никто не обучил ОДНУ нейросеть, которая играет на уровне чемпионов мира. Они все хуже. Однако при добавлении времени на перебор (рассуждения) и последовательном многократном применении модели для одного хода качество прыгает до недостижимого человеком уровня — это и отражено на картинке.
Больше вот тут в лекции Noam Brown
— увеличение вычислений во время инференса (предсказания) в большинстве своём сопоставимо с увеличением мощностей во время тренировки, однако связь не 1-к-1. Какая она точно — мы не знаем (я не знаю), но например в одной из работ по анализу нейросетей для настольных игр каждые x10 тренировочных мощностей были эквиваленты увеличению мощностей на инференс x15
— то есть можно тренировать и модель меньше, и сама тренировка короче, но использовать много "рассуждений" (инференса), и тогда она будет круче
— чем лучше базовая модель, тем очевидно более эффективно расходуются мощности на инференсе
— то есть условная o3, построенная на GPT-4o, может генерировать цепочки рассуждений в 50 раз длиннее, что условно равно увеличению мощностей на тренировку в 40 раз (цифры из головы). А поскольку GPT-4.5 тренировалась всего лишь в 15-20 раз больше, то получается, что ризонер на модели прошлого поколения как бы лучше
— однако эти цифры перемножаются, и ризонер на основе новой модели <должен быть> существенно лучше. Если модель ошибается реже на каждом шаге, то все мощности будут уходить в правильное русло, а не на исправление ошибок
Как итог на примере игры в Го: никто не обучил ОДНУ нейросеть, которая играет на уровне чемпионов мира. Они все хуже. Однако при добавлении времени на перебор (рассуждения) и последовательном многократном применении модели для одного хода качество прыгает до недостижимого человеком уровня — это и отражено на картинке.
Больше вот тут в лекции Noam Brown
Forwarded from Math and ML stuff
LLM с диффузией. Почти прорыв.
В последнее время в топах среди тем на AI конференциях можно встретить LLM и диффузию. Нетрудно догадаться, что научный хайп-трейн наконец-то заставит разработать эффективный метод языкового моделирования с помощью диффузии. На самом деле, попытки уже ведутся давно, например в прошлом году появились MDLM и Score Entropy Discrete Diffusion.
Это вопрос может особо остро встать, когда обычные LLM зайдут в тупик и окончательно выйдут на плато. Может быть уже?
У авто-регрессионных (AR) моделей из-за последовательного (слева-направо) вывода есть ограничения: односторонний контекст и усложнен параллелизм. При этом диффузионные dLLM (двунаправленные) языковые модели могут генерировать токены параллельно, но они ограничены фиксированной длиной контекста и на практике все предложенные ранее dLLM показывали перформанс сильно хуже AR.
В работе "Block Discrete Denoising Diffusion Language Models (BD3-LMs)", ICLR 2025, предлагается гибридный подход, использующий лучшее из обеих парадигм вместе.
Принцип архитектуры блочной диффузии BD3-LMs.
Последовательность разбивается на блоки токенов, на уровне каждого блока реализуется диффузионный процесс через зашумление (маскирование ) части токенов и денойзинг (демаскирование через значение logitа). На уровне всей последовательности, сами блоки генерируются авто-регрессионно. В результате преодолеваются проблемы обеих парадигм, и интегрально оно должно работать лучше, в теории .
Эвристики при дизайне нейросеток. Когда разрабатываешь архитектуру, сталкиваешься с инженерными проблемами, которые затрудняют масштабирование и использование моделей в реальных сценариях. Мне иногда интересно проследить, какие трюки дизайнерской эквилибристики разрабатываются для их разрешения, для dLLM они следующие:
1.Выбор диапазона для уровня шума. Нетрудно заметить, что в предельном случае, когда размер блока = 1, dLLM подход эквивалентен просто AR-подходу, но на практике обнаруживается сильное различие в perplexity для BD3-LMS и AR-модели на одних и тех же данных. Это объясняется повышенной дисперсии градиентов, так происходит из-за того, что для диффузии вычисления градиентов идут только по зашумленным токенам, если установить уровень зашумления в максимум, perplexity выравниваются. Возникает проблема: поиск границ (clipped) для оптимального диапазона уровня зашумления, для этого предлагается data-driven noise schedules - поиск границ вероятности маскирования на основе данных, минимизирующий дисперсию градиентов по батчу данных.
2.KV-кэширование в трансформерах - это трюк для ускорения вычислений для однонаправленного внимания: чтобы не вычислять KV контекст на каждом шаге заново, мы кэшируем отвечающие за контекст Key и Value представления токенов с прошлых шагов и итеративно его пополняем, подобно тут. Проблема кэширования усугубляется для dLLM из-за двунаправленного контекста, т.е. KV должны пересчитываться заново на каждом шаге, что дезавуирует возможные бонусы от диффузии. Эта проблема преодолевается эвристикой через "холостой" прогон по всем токенам для вычисления и кэширования только KV значений и последующего их использования для демаскирования при диффузии.
Эксперименты на датасетах LM1B и OpenWebText показывает заметное превосходство BD3-LMs над всеми предыдущими dLLM (D3PM, S2DD, MDLM), но она все еще немного уступает AR LLM.
Революции и чуда не случилось, по-прежнему сидим с GPT. Но из примечательного, недавно появился dLLM Mercury Coder, который в 5-10 раз быстрее AR-LLM. А также Large Language Diffusion Models (LLaDa) бросает вызов тейку, что LLM хороши, потому что авто-регрессионны. В общем, работа ведется.
Здесь больше статей про LLM, особенно в странных сеттингах.
В последнее время в топах среди тем на AI конференциях можно встретить LLM и диффузию. Нетрудно догадаться, что научный хайп-трейн наконец-то заставит разработать эффективный метод языкового моделирования с помощью диффузии. На самом деле, попытки уже ведутся давно, например в прошлом году появились MDLM и Score Entropy Discrete Diffusion.
Это вопрос может особо остро встать, когда обычные LLM зайдут в тупик и окончательно выйдут на плато. Может быть уже?
У авто-регрессионных (AR) моделей из-за последовательного (слева-направо) вывода есть ограничения: односторонний контекст и усложнен параллелизм. При этом диффузионные dLLM (двунаправленные) языковые модели могут генерировать токены параллельно, но они ограничены фиксированной длиной контекста и на практике все предложенные ранее dLLM показывали перформанс сильно хуже AR.
В работе "Block Discrete Denoising Diffusion Language Models (BD3-LMs)", ICLR 2025, предлагается гибридный подход, использующий лучшее из обеих парадигм вместе.
Принцип архитектуры блочной диффузии BD3-LMs.
Последовательность разбивается на блоки токенов, на уровне каждого блока реализуется диффузионный процесс через зашумление (маскирование ) части токенов и денойзинг (демаскирование через значение logitа). На уровне всей последовательности, сами блоки генерируются авто-регрессионно. В результате преодолеваются проблемы обеих парадигм, и интегрально оно должно работать лучше
Эвристики при дизайне нейросеток. Когда разрабатываешь архитектуру, сталкиваешься с инженерными проблемами, которые затрудняют масштабирование и использование моделей в реальных сценариях. Мне иногда интересно проследить, какие трюки дизайнерской эквилибристики разрабатываются для их разрешения, для dLLM они следующие:
1.Выбор диапазона для уровня шума. Нетрудно заметить, что в предельном случае, когда размер блока = 1, dLLM подход эквивалентен просто AR-подходу, но на практике обнаруживается сильное различие в perplexity для BD3-LMS и AR-модели на одних и тех же данных. Это объясняется повышенной дисперсии градиентов, так происходит из-за того, что для диффузии вычисления градиентов идут только по зашумленным токенам, если установить уровень зашумления в максимум, perplexity выравниваются. Возникает проблема: поиск границ (clipped) для оптимального диапазона уровня зашумления, для этого предлагается data-driven noise schedules - поиск границ вероятности маскирования на основе данных, минимизирующий дисперсию градиентов по батчу данных.
2.KV-кэширование в трансформерах - это трюк для ускорения вычислений для однонаправленного внимания: чтобы не вычислять KV контекст на каждом шаге заново, мы кэшируем отвечающие за контекст Key и Value представления токенов с прошлых шагов и итеративно его пополняем, подобно тут. Проблема кэширования усугубляется для dLLM из-за двунаправленного контекста, т.е. KV должны пересчитываться заново на каждом шаге, что дезавуирует возможные бонусы от диффузии. Эта проблема преодолевается эвристикой через "холостой" прогон по всем токенам для вычисления и кэширования только KV значений и последующего их использования для демаскирования при диффузии.
Эксперименты на датасетах LM1B и OpenWebText показывает заметное превосходство BD3-LMs над всеми предыдущими dLLM (D3PM, S2DD, MDLM), но она все еще немного уступает AR LLM.
Революции и чуда не случилось, по-прежнему сидим с GPT. Но из примечательного, недавно появился dLLM Mercury Coder, который в 5-10 раз быстрее AR-LLM. А также Large Language Diffusion Models (LLaDa) бросает вызов тейку, что LLM хороши, потому что авто-регрессионны. В общем, работа ведется.
Здесь больше статей про LLM, особенно в странных сеттингах.