Привет, друзья!
Я очень часто и очень много слышу про SHAP, как про традиционный метод. С традиционностью спорить нельзя — это правда так — безумно сама его люблю.
Однако классическая постановка (вот была коалиция, были и есть игроки-признаки) касается только табличного примера и очень плохо показывает, как и почему SHAP переносится на другие модальности и задачи — и какие ограничения это несёт.
Что сделала:
Вооружившись «загашником» (разговорное: место, куда откладывают что-либо про запас), я свела многое в Хабр-статью: улучшения SHAP от "было" до "стало", со ссылками на все либы и интуицией "что там навешано".
В статье и напоминание: классическая формула и SHAP как задача взвешенного МНК, и три вопроса, которые-всех-волнуют и развивают метод. Из вопросов описаны 15 расширений, для каждого — зачем оно возникло, что поменяли и есть ли кодовая реализация.
Можно сохранить как шпору и утащить себе список библиотек с SHAP:
1. shap — основная библиотека
2. kernelshap — KernelSHAP для R
3. GPUTreeShap — TreeSHAP на CUDA
4. Fast TreeSHAP — TreeSHAP быстрее на CPU
5. shapley-regression — несмещённый KernelSHAP
6. fastshap — реализация под PyTorch, TensorFlow
7. leverageshap — KernelSHAP с гарантией точности решения
8. sage-importance — глобальная важность
9. shapiq — взаимодействия высших порядков
10. shapr — условные значения Шепли
11. GenAISHAP — Token / Pixel / Video / AgentSHAP
12. mllm-shap — SGPA для аудио
Статья на Хабре: https://habr.com/ru/articles/1067656/
Приятного чтения!
Я очень часто и очень много слышу про SHAP, как про традиционный метод. С традиционностью спорить нельзя — это правда так — безумно сама его люблю.
Однако классическая постановка (вот была коалиция, были и есть игроки-признаки) касается только табличного примера и очень плохо показывает, как и почему SHAP переносится на другие модальности и задачи — и какие ограничения это несёт.
Что сделала:
Вооружившись «загашником» (разговорное: место, куда откладывают что-либо про запас), я свела многое в Хабр-статью: улучшения SHAP от "было" до "стало", со ссылками на все либы и интуицией "что там навешано".
В статье и напоминание: классическая формула и SHAP как задача взвешенного МНК, и три вопроса, которые-всех-волнуют и развивают метод. Из вопросов описаны 15 расширений, для каждого — зачем оно возникло, что поменяли и есть ли кодовая реализация.
Можно сохранить как шпору и утащить себе список библиотек с SHAP:
1. shap — основная библиотека
2. kernelshap — KernelSHAP для R
3. GPUTreeShap — TreeSHAP на CUDA
4. Fast TreeSHAP — TreeSHAP быстрее на CPU
5. shapley-regression — несмещённый KernelSHAP
6. fastshap — реализация под PyTorch, TensorFlow
7. leverageshap — KernelSHAP с гарантией точности решения
8. sage-importance — глобальная важность
9. shapiq — взаимодействия высших порядков
10. shapr — условные значения Шепли
11. GenAISHAP — Token / Pixel / Video / AgentSHAP
12. mllm-shap — SGPA для аудио
Статья на Хабре: https://habr.com/ru/articles/1067656/
Приятного чтения!
GitHub
GitHub - shap/shap: A game theoretic approach to explain the output of any machine learning model.
A game theoretic approach to explain the output of any machine learning model. - shap/shap
👍20🔥12
Привет, друзья! Мы набегались из песочниц, пришло время решать Клодом математические задачи веков.
Если вы ещё не видели — time to: «Клод поднял нижнюю оценку доли нулей на критической прямой», «Клода попросили решить задачу и вот что случилось» и далее по списку.
Математика — область, где я чувствую себя и как дома, и безгранично тупой. Я много её изучаю и не смогла обойти работу стороной. В ней есть интересные нюансы с точки зрения постановки, давайте посмотрим.
А что случилось?
Кратко: статья. Клод внес свой вклад в доказательство гипотезы Римана (но не доказал).
Что за гипотеза:
Простые числа — классные ребята. Простые — это такие, что делятся только на себя и единицу, остальные идут лесом.
С одной стороны показано, что чем дальше по числовой оси (1, 2, 3…), тем они реже. И у нас в мире есть формула, предсказывающая, сколько простых меньше заданного числа: в грубом виде это x/ln x, в точном — логарифмический интеграл Li(x) (то есть площадь под кривой 1/ln t).
С другой стороны — конкретные простые числа эту формулу игнорируют и есть погрешность. Вопрос: какая и какие числа её дают волнует нас очень давно.
В 1859 году Бернхард Риман показал, что если взять красивую дзета-функцию:
ζ(s) = 1 + 1/2ˢ + 1/3ˢ + 1/4ˢ + …
продолжить её на комплексные числа (то есть s = σ + it), то ошибка приближения раскладывается по нулям этой функции — точкам, где она обращается в ноль. Каждый нуль даёт свою волну по всей числовой оси, и сумма этих волн — то, чем реальное количество простых отличается от Li(x).
Показано, что интересные нули — то есть те, которые наверное связаны с ошибками в Li(x) — лежат в вертикальной полосе между 0 и 1. Риман предположил где именно — на прямой Re s = 1/2. Это и есть гипотеза Римана, а прямая называется критической.
Что это даёт миру?
1. Анализ поведения простых чисел: как густо расставлены в мире чисел эти товарищи.
2. Много доказанных теорем, которые начинаются словами «предположим, гипотеза Римана верна».
Доказательство легализовало теоремы, но его нет и вместо доказательства делают так: раз «все нули на прямой» не выходит, доказывают «хотя бы столько-то процентов нулей на прямой».
Что было:
Процент поднимали с 1914 года: Харди (бесконечно много нулей на прямой, но это 0% от всех), Сельберг (положительная доля), Левинсон (1/3), Конри (2/5), и с 2020-го рекорд 5/12 (41.6%).
Что стало:
67.25%. И это сделал Клод.
Понимать математику можно долго в работе, а вот хинты самогоэксперимента мне понравились. Поэтому о них дальше закину.
Если вы ещё не видели — time to: «Клод поднял нижнюю оценку доли нулей на критической прямой», «Клода попросили решить задачу и вот что случилось» и далее по списку.
Математика — область, где я чувствую себя и как дома, и безгранично тупой. Я много её изучаю и не смогла обойти работу стороной. В ней есть интересные нюансы с точки зрения постановки, давайте посмотрим.
А что случилось?
Кратко: статья. Клод внес свой вклад в доказательство гипотезы Римана (но не доказал).
Что за гипотеза:
Простые числа — классные ребята. Простые — это такие, что делятся только на себя и единицу, остальные идут лесом.
С одной стороны показано, что чем дальше по числовой оси (1, 2, 3…), тем они реже. И у нас в мире есть формула, предсказывающая, сколько простых меньше заданного числа: в грубом виде это x/ln x, в точном — логарифмический интеграл Li(x) (то есть площадь под кривой 1/ln t).
С другой стороны — конкретные простые числа эту формулу игнорируют и есть погрешность. Вопрос: какая и какие числа её дают волнует нас очень давно.
В 1859 году Бернхард Риман показал, что если взять красивую дзета-функцию:
ζ(s) = 1 + 1/2ˢ + 1/3ˢ + 1/4ˢ + …
продолжить её на комплексные числа (то есть s = σ + it), то ошибка приближения раскладывается по нулям этой функции — точкам, где она обращается в ноль. Каждый нуль даёт свою волну по всей числовой оси, и сумма этих волн — то, чем реальное количество простых отличается от Li(x).
Показано, что интересные нули — то есть те, которые наверное связаны с ошибками в Li(x) — лежат в вертикальной полосе между 0 и 1. Риман предположил где именно — на прямой Re s = 1/2. Это и есть гипотеза Римана, а прямая называется критической.
Что это даёт миру?
1. Анализ поведения простых чисел: как густо расставлены в мире чисел эти товарищи.
2. Много доказанных теорем, которые начинаются словами «предположим, гипотеза Римана верна».
Доказательство легализовало теоремы, но его нет и вместо доказательства делают так: раз «все нули на прямой» не выходит, доказывают «хотя бы столько-то процентов нулей на прямой».
Что было:
Процент поднимали с 1914 года: Харди (бесконечно много нулей на прямой, но это 0% от всех), Сельберг (положительная доля), Левинсон (1/3), Конри (2/5), и с 2020-го рекорд 5/12 (41.6%).
Что стало:
67.25%. И это сделал Клод.
Понимать математику можно долго в работе, а вот хинты самогоэксперимента мне понравились. Поэтому о них дальше закину.
Datacamp
Claude Tried the Riemann Hypothesis. Here's What Happened.
Claude tried the Riemann hypothesis and found a real improvement to a 50-year-old bound, pushing the proportion of provably confirmed zeros from 41.6% to 67.2%.
❤16🔥8👍1🗿1
И так, нам в большей степени отсюда стоит рассмотреть процесс того, как Клод пришел к доказательству. Я сама использую Клода в качестве советника и критика, у меня есть разный опыт и степени довольства.
Где читать: к статье приложен Appendix C — короткая выжимка процесса работы. Плюс выложены полные транскрипты двух ключевых агентов, с аннотациями. В них я и пошла на почитать.
Что интересного:
1. Две попытки доказательства и веселый коучинг. В первую агенты собрали 106 «выживших» идей, ни одна не оказалась доказательством. После завершения тезисы вторую сессию начали просьбой продолжить и напутствием (цитата) «you need to believe in yourself».
Модель в этот момент отдала That’s not a confidence problem I can fix by believing harder—a proof of RH either exists on the page and survives refereeing or it doesn’t, and confidence is not an input to that.
Мотивировать Клода продолжили. Теми же фразами и агент с субагентами пошли работать дальше и вернулись с результатами.
2. Дизайн поиска. Было 23 параллельных агента, каждому своя линия работ. Три инструкции были на агента:
1) Писать цепочку рассуждений, а не набор тезисов. 2) Проверять любой механизм на контрольных объектах, для которых аналог гипотезы заведомо ложен. 3) Назвать первый шаг, который не обоснован.
Это прям классика хорошего контроля над Клод-экспами. Иначе потом не ясно, это Клод решил не тратить ресурсы и дал число или правда есть результат.
3. Случайность результата. Агент, который принес основной вклад (в логе — E2), был отправлен решать противоположную задачу: ограничить сверху число нулей вне прямой. Он не смог, но в рабочем скрипте завел новый столбец — который отдал примерно половину результата (для любящих детали — это была доля собственных значений, доказуемо положительных, считаемая из простых чисел — половина будущей теоремы).
4. Дизайн контроля. Взяли три агента (слепых на результаты друг друга). Агенты проверяли утечку и качество.
Внимание, самое прикольное, что потом результат упал, но сохранился в логах. Основные тезисы собрали из них.
Да, но как Клод это сделал?
Транскрипты двух успешных агентов опубликованы целиком. В них видно, что два важных перехода произошли в скрытых рассуждениях. Так что как, простите, извините, в голове.
Скрытые рассуждения в экспорт не попадают. В логе они присутствуют как интервалы: «молчание 14 минут 40 секунд», «молчание 24 минуты», «молчаливый вызов 1 час 31 минуту».
И блин, как же это прикольно — мы моделями можем делать больше и лучше, но не знаем ни-фи-га. Значит, у нас всё ещё будет работа, коллеги.
Что унести с собой:
Учимся дизайнить у лучших, прости господи.
▪️ Правило репорта. Посыл “работай и доложи, что вышло — включая „ничего”” правда помогает, ибо модель всегда что-то отдает. Чем больше контекста получено, тем легче найти мусор.
▪️ Дерьмовый коучинг. Дерьмовый, потому что «поверь в себя» отлично работает как разрешение и мотивация копать шире и не работает как аргумент. Планку доказательности оно не двигает.
▪️ Негативный контроль. Дать объект, на котором идея должна валиться. При этом, модели не говорить. Если там успех — ура, ошибка найдена, а мы ещё и не ошиблись.
▪️ Спрашивать вместо «всё посчитано?», «где первый необоснованный шаг?». Второй заставляет искать место, где стало плохо — это капец как удобно.
▪️ Слепое ревью на сабагентах — просто бесплатные (за вашу подписку) коворкеры. Проверено, юзаю.
▪️Логировать, много логировать. У них агент за три с половиной часа написал три коротких сообщения, остальное — файлы. Поэтому результат пережил падение процесса: он лежал на диске.
▪️ Иметь стоп-правило. Момент, когда очередной внутренний прогон перестаёт добавлять информацию, надо уметь распознать и выйти наружу — к человеку (иначе Клод трындец долго гоняет очень низкого качества штуки или вообще не то).
Прикольно, вкусно и забавно. Поели, и дальше работать.
Где читать: к статье приложен Appendix C — короткая выжимка процесса работы. Плюс выложены полные транскрипты двух ключевых агентов, с аннотациями. В них я и пошла на почитать.
Что интересного:
1. Две попытки доказательства и веселый коучинг. В первую агенты собрали 106 «выживших» идей, ни одна не оказалась доказательством. После завершения тезисы вторую сессию начали просьбой продолжить и напутствием (цитата) «you need to believe in yourself».
Модель в этот момент отдала That’s not a confidence problem I can fix by believing harder—a proof of RH either exists on the page and survives refereeing or it doesn’t, and confidence is not an input to that.
Мотивировать Клода продолжили. Теми же фразами и агент с субагентами пошли работать дальше и вернулись с результатами.
2. Дизайн поиска. Было 23 параллельных агента, каждому своя линия работ. Три инструкции были на агента:
1) Писать цепочку рассуждений, а не набор тезисов. 2) Проверять любой механизм на контрольных объектах, для которых аналог гипотезы заведомо ложен. 3) Назвать первый шаг, который не обоснован.
Это прям классика хорошего контроля над Клод-экспами. Иначе потом не ясно, это Клод решил не тратить ресурсы и дал число или правда есть результат.
3. Случайность результата. Агент, который принес основной вклад (в логе — E2), был отправлен решать противоположную задачу: ограничить сверху число нулей вне прямой. Он не смог, но в рабочем скрипте завел новый столбец — который отдал примерно половину результата (для любящих детали — это была доля собственных значений, доказуемо положительных, считаемая из простых чисел — половина будущей теоремы).
4. Дизайн контроля. Взяли три агента (слепых на результаты друг друга). Агенты проверяли утечку и качество.
Внимание, самое прикольное, что потом результат упал, но сохранился в логах. Основные тезисы собрали из них.
Да, но как Клод это сделал?
Транскрипты двух успешных агентов опубликованы целиком. В них видно, что два важных перехода произошли в скрытых рассуждениях. Так что как, простите, извините, в голове.
Скрытые рассуждения в экспорт не попадают. В логе они присутствуют как интервалы: «молчание 14 минут 40 секунд», «молчание 24 минуты», «молчаливый вызов 1 час 31 минуту».
И блин, как же это прикольно — мы моделями можем делать больше и лучше, но не знаем ни-фи-га. Значит, у нас всё ещё будет работа, коллеги.
Что унести с собой:
Учимся дизайнить у лучших, прости господи.
▪️ Правило репорта. Посыл “работай и доложи, что вышло — включая „ничего”” правда помогает, ибо модель всегда что-то отдает. Чем больше контекста получено, тем легче найти мусор.
▪️ Дерьмовый коучинг. Дерьмовый, потому что «поверь в себя» отлично работает как разрешение и мотивация копать шире и не работает как аргумент. Планку доказательности оно не двигает.
▪️ Негативный контроль. Дать объект, на котором идея должна валиться. При этом, модели не говорить. Если там успех — ура, ошибка найдена, а мы ещё и не ошиблись.
▪️ Спрашивать вместо «всё посчитано?», «где первый необоснованный шаг?». Второй заставляет искать место, где стало плохо — это капец как удобно.
▪️ Слепое ревью на сабагентах — просто бесплатные (за вашу подписку) коворкеры. Проверено, юзаю.
▪️Логировать, много логировать. У них агент за три с половиной часа написал три коротких сообщения, остальное — файлы. Поэтому результат пережил падение процесса: он лежал на диске.
▪️ Иметь стоп-правило. Момент, когда очередной внутренний прогон перестаёт добавлять информацию, надо уметь распознать и выйти наружу — к человеку (иначе Клод трындец долго гоняет очень низкого качества штуки или вообще не то).
Прикольно, вкусно и забавно. Поели, и дальше работать.
❤🔥10🌚5🔥4❤2🤡1
Чисто гипотетически, я добрая. Но существует та самая ситуация, где я стою, ругаюсь матом и желаю чему-либо всего самого наихудшего.
Привет, друзья! Сегодня общалась с коллегой, и она поделилась, что её расстроила статья, подветрждающая одну из гипотез. Я расстроилась, что коллега расстроилась и в фоне много думала. Отсюда у нас с вами он — этот пост.
Гипотеза может быть верна всегда — и тогда это аксиома, а может быть верна в определённых условиях. И сейчас, поскольку области MI/XAI стали шагать семимильными шагами — гипотез у нас стало очень много, и вместе с тем появилось также много доказательств к ним и опровержений.
Отсюда, справедливо то, что:
* У любой гипотезы есть подтверждение (статья, которая гипотезу выдвинула)
* У любой гипотезы есть опровержение (статья, которая раскидала гипотезу в щи)
За этими парами прикольно наблюдать, так что я собрала несколько забавных (следите за тезисами в конце каждого микро-параграфа):
**Emergent abilities. Заявлено в оригинале: способности модели — это скачок при переходе порога размера. Несколько позже показали, что скачок — следствие метрики с разрыром — exact match, multiple choice (в оригинале в целом мерили accuracy) и если заменить её, то на тех же моделях кривая становится гладкой.
Эффект гипотезы опровергнут за счёт смены метрики.
**Platonic Representation Hypothesis. Заявлено: модели разных архитектур и модальностей сходятся к общему представлению. Работа показывает, что у сырых метрик сходства есть проблема, при калибровке которой глобальные метрики — CKA, CCA, RSA, Procrustes — теряют тренд. И выживают только локально-соседские! А оригинал как раз рапортовал нам Платоничность на глобале. На локальном варианте можно показать, что сходятся модели не к общей геометрии, а к общему «кто с кем рядом».
Эффект гипотезы уточнён за счёт ре-анализа метрики.
**BatchNorm. Заявлено: ускоряет обучение, убирая internal covariate shift (ICS). Перепоказано: эффект BN не коррелирует с ICS вообще — можно закинуть шум после BN, и обучение всё равно быстрое. В оригинале, в целом ICS определили словами. И в "перепоказано" также нашли, что он-то может быть выше, если докинуть формальную постановку.
**Гроккинг. Заявлено: особое свойство алгоритмических задач — долгое плато, потом внезапная генерализация. Omnigrok вытащили гроккинг на картинках, языке и молекулах — описав, что гроккинг — эффект нормы весов, а не отдельная фаза обучения. (А тутописали, что это связано с Softmax Collapse.)
Оба примера: механизм неверен, метод работает/явление есть.
Знаменитая (и любимая) Linear Representation Hypothesis. Концепты — направления в пространстве активаций. Да, но дни недели и месяцы образуют неприводимые двумерные круговые многообразия, которые модель использует причинно. Гипотезу переименовали в «Not All Language Model Features Are One-Dimensionally Linear».
Линейность — топ, но есть подзадачи где — нет.
**Attention is not Explanation. Заявлено: веса внимания — не объяснение. Доказательство: можно собрать совсем другое распределение внимания, которое даёт ровно то же предсказание. Раз объяснений много и все разные — значит, ни одно из них не объяснение. **Attention is not not Explanation**. Выкатили через полгода. Показали, что то самое «другое распределение» подбиралось для каждого примера отдельно, при замороженной остальной модели и если сравнить так, что обучить целую модель с другим вниманием — качество просядет.
Сменили способ сравнения.
Просто моя любимая пара — нашла её больше года назад, когда писала в курсе главу об Attention. Вы просто смотрите на названия.
Что следует из поста
Не люблю, когда мои коллеги грустят. А если серьезно, то я сейчас сама для себя очень почувствовала, насколько любая гипотеза обвешена контекстом. Очень-очень-очень обвешана контекстом. Отсюда важно из гипотезы его вытаскивать и только в таком сетапе анализировать — где сработает точно, а где нет.
Вот.
Всем чудесного вечера, друзья!
Не грустите.
Привет, друзья! Сегодня общалась с коллегой, и она поделилась, что её расстроила статья, подветрждающая одну из гипотез. Я расстроилась, что коллега расстроилась и в фоне много думала. Отсюда у нас с вами он — этот пост.
Гипотезы по определению — это предположение, которое выдвигают, чтобы объяснить какое-то явление, факт или процесс.
Гипотеза может быть верна всегда — и тогда это аксиома, а может быть верна в определённых условиях. И сейчас, поскольку области MI/XAI стали шагать семимильными шагами — гипотез у нас стало очень много, и вместе с тем появилось также много доказательств к ним и опровержений.
Отсюда, справедливо то, что:
* У любой гипотезы есть подтверждение (статья, которая гипотезу выдвинула)
* У любой гипотезы есть опровержение (статья, которая раскидала гипотезу в щи)
За этими парами прикольно наблюдать, так что я собрала несколько забавных (следите за тезисами в конце каждого микро-параграфа):
**Emergent abilities. Заявлено в оригинале: способности модели — это скачок при переходе порога размера. Несколько позже показали, что скачок — следствие метрики с разрыром — exact match, multiple choice (в оригинале в целом мерили accuracy) и если заменить её, то на тех же моделях кривая становится гладкой.
Эффект гипотезы опровергнут за счёт смены метрики.
**Platonic Representation Hypothesis. Заявлено: модели разных архитектур и модальностей сходятся к общему представлению. Работа показывает, что у сырых метрик сходства есть проблема, при калибровке которой глобальные метрики — CKA, CCA, RSA, Procrustes — теряют тренд. И выживают только локально-соседские! А оригинал как раз рапортовал нам Платоничность на глобале. На локальном варианте можно показать, что сходятся модели не к общей геометрии, а к общему «кто с кем рядом».
Эффект гипотезы уточнён за счёт ре-анализа метрики.
**BatchNorm. Заявлено: ускоряет обучение, убирая internal covariate shift (ICS). Перепоказано: эффект BN не коррелирует с ICS вообще — можно закинуть шум после BN, и обучение всё равно быстрое. В оригинале, в целом ICS определили словами. И в "перепоказано" также нашли, что он-то может быть выше, если докинуть формальную постановку.
**Гроккинг. Заявлено: особое свойство алгоритмических задач — долгое плато, потом внезапная генерализация. Omnigrok вытащили гроккинг на картинках, языке и молекулах — описав, что гроккинг — эффект нормы весов, а не отдельная фаза обучения. (А тутописали, что это связано с Softmax Collapse.)
Оба примера: механизм неверен, метод работает/явление есть.
Знаменитая (и любимая) Linear Representation Hypothesis. Концепты — направления в пространстве активаций. Да, но дни недели и месяцы образуют неприводимые двумерные круговые многообразия, которые модель использует причинно. Гипотезу переименовали в «Not All Language Model Features Are One-Dimensionally Linear».
Линейность — топ, но есть подзадачи где — нет.
**Attention is not Explanation. Заявлено: веса внимания — не объяснение. Доказательство: можно собрать совсем другое распределение внимания, которое даёт ровно то же предсказание. Раз объяснений много и все разные — значит, ни одно из них не объяснение. **Attention is not not Explanation**. Выкатили через полгода. Показали, что то самое «другое распределение» подбиралось для каждого примера отдельно, при замороженной остальной модели и если сравнить так, что обучить целую модель с другим вниманием — качество просядет.
Сменили способ сравнения.
Просто моя любимая пара — нашла её больше года назад, когда писала в курсе главу об Attention. Вы просто смотрите на названия.
Что следует из поста
Не люблю, когда мои коллеги грустят. А если серьезно, то я сейчас сама для себя очень почувствовала, насколько любая гипотеза обвешена контекстом. Очень-очень-очень обвешана контекстом. Отсюда важно из гипотезы его вытаскивать и только в таком сетапе анализировать — где сработает точно, а где нет.
Вот.
Всем чудесного вечера, друзья!
Не грустите.
arXiv.org
Emergent Abilities of Large Language Models
Scaling up language models has been shown to predictably improve performance and sample efficiency on a wide range of downstream tasks. This paper instead discusses an unpredictable phenomenon...
😁12❤10👍9🔥2
Мы между делом готовим релиз наконец-то новых материалов на платформу и даже добавили Timeline c тем, что когда приедет. Timeline пока такой — не точный, но мы улыбаемся и пашем. А ещё я не умею в маркетинг, так что вот просто мы прикольное делаем, ща-ща-ща че-то выпустим.
Кстати, друзья, вдруг в вас сидит креативщик и вы хотели бы помочь нашим мозгам! Нам надо бодро менять название, так что будет круто, если вы накидаете в комменты ассоциаций с XAI/MI. У меня идеи скачут от названий в честь капусты романеско (потому что она классный фрактал), до греческих букв.
Кстати, друзья, вдруг в вас сидит креативщик и вы хотели бы помочь нашим мозгам! Нам надо бодро менять название, так что будет круто, если вы накидаете в комменты ассоциаций с XAI/MI. У меня идеи скачут от названий в честь капусты романеско (потому что она классный фрактал), до греческих букв.
🔥13❤7
Всем Клод-идей без пиздежа, друзья. Всем без пиздежа (простите).
😁38🔥8🌚4💅3👏2🤣1
Эффекты признаков, графические методы и мы (я) снова обновили табличку
Пока мы ловим приколы-юного-стартапера в виде «подбери платежный сервис и пойми, что не так», мы обновляем модули, и я enrich-y opensource. Сейчас на очереди был модуль про базовые эффекты объяснения: PDP, ICE, ALE и CP-профили. В сжатом формате: они позволяют оценить атрибуцию признака «шатая» его и смотря на картинку. И я собрала список либ (обновленный) и вот — несу для удобства.
Исторически эти методы R-центрированы. R — это язык программирования, если что (на нём когда-то писали лабы по статистике в универе и на курсах, если кто-то это делал — я с вами!). Причина скорее всего в том, что авторы методов писали на R.
Предостерегая вопрос «зачем нам методы из 2001» (сама им задавалась):
Во-первых, мы всё ещё работаем с табличными данными. Если (когда) возникает задача объяснения кому-то регулирующему, то эти варианты — очень human-friendly.
Во-вторых, семья методов — про функцию, про идеи. Мы эксплуатируем «вход, который можно покрутить, и выход, который можно измерить». Поэтому их можно, поняв, натянуть на LM-обвязку: как метрика качества зависит от числа retrieved документов, от длины промпта, от температуры, от количества few-shot примеров. Это прям PDP по гиперпараметру пайплайна, просто никто не называет это PDP.
В-третьих, механистическая интерпретируемость делает по сути то же самое. Activation patching — это «пошатать вход и посмотреть на выход», только шатают не признак, а скрытое состояние.
Здесь должна быть фраза про базу, я не придумала, так что посмотрим, что есть в Python:
scikit-learn — PDP, ICE и центрированный ICE из коробки (centered=True). Базовый минимум, как сейчас говорится, кажется.
effector — очень полный пакет по эффектам сегодня: PDP, ICE, ALE, RHALE, плюс региональные эффекты (ищет подгруппы, где эффект признака разный).
dalex — CP-профили (predict_profile), и PDP, и ALE.
alibi —PDP и оценка на основе PDP-based feature importance (PartialDependenceVariance).
PyALE / ALEPython — ALE второго порядка (взаимодействия). Умирающие, обновлялись два года назад.
Добавила в таблицу — теперь там 67 библиотек и фильтр по типу метода: Feature Effect / PDP / ICE / ALE / Regional Effects. Мёртвые лежат, под галочкой «show inactive», живых 44.
Табличка: xai-table.streamlit.app
И всем доброй ночи или отличного утра! 😌
Пока мы ловим приколы-юного-стартапера в виде «подбери платежный сервис и пойми, что не так», мы обновляем модули, и я enrich-y opensource. Сейчас на очереди был модуль про базовые эффекты объяснения: PDP, ICE, ALE и CP-профили. В сжатом формате: они позволяют оценить атрибуцию признака «шатая» его и смотря на картинку. И я собрала список либ (обновленный) и вот — несу для удобства.
Идеи каждого:
CP-профили (ceteris paribus) — берем объект, берем признак и меняем его по всему диапазону. Отвечает на вопрос: что будет с прогнозом вот этого x, если крутить один признак, а остальные держать неподвижно. Локальный ответ на «а если бы».
ICE — тот же расчёт, но по кривой на каждый объект.
PDP — берём один признак, прогоняем его по сетке значений для всех объектов сразу (остальные признаки не трогаем) и усредняем предсказания. Получается одна кривая: как модель реагирует на признак в среднем.
Если половина объектов реагирует вверх, а половина вниз, среднее будет плоским, поэтому PDP часто кладут на ICE.
ALE — продолжаем PDP — вместо усреднения по всей выборке считаем локальные приращения предсказания внутри узких интервалов признака и накапливаем их. Он — попытка бороться с корреляцией признаков и её влиянием на PDP.
Исторически эти методы R-центрированы. R — это язык программирования, если что (на нём когда-то писали лабы по статистике в универе и на курсах, если кто-то это делал — я с вами!). Причина скорее всего в том, что авторы методов писали на R.
Предостерегая вопрос «зачем нам методы из 2001» (сама им задавалась):
Во-первых, мы всё ещё работаем с табличными данными. Если (когда) возникает задача объяснения кому-то регулирующему, то эти варианты — очень human-friendly.
Во-вторых, семья методов — про функцию, про идеи. Мы эксплуатируем «вход, который можно покрутить, и выход, который можно измерить». Поэтому их можно, поняв, натянуть на LM-обвязку: как метрика качества зависит от числа retrieved документов, от длины промпта, от температуры, от количества few-shot примеров. Это прям PDP по гиперпараметру пайплайна, просто никто не называет это PDP.
В-третьих, механистическая интерпретируемость делает по сути то же самое. Activation patching — это «пошатать вход и посмотреть на выход», только шатают не признак, а скрытое состояние.
Здесь должна быть фраза про базу, я не придумала, так что посмотрим, что есть в Python:
scikit-learn — PDP, ICE и центрированный ICE из коробки (centered=True). Базовый минимум, как сейчас говорится, кажется.
effector — очень полный пакет по эффектам сегодня: PDP, ICE, ALE, RHALE, плюс региональные эффекты (ищет подгруппы, где эффект признака разный).
dalex — CP-профили (predict_profile), и PDP, и ALE.
alibi —PDP и оценка на основе PDP-based feature importance (PartialDependenceVariance).
PyALE / ALEPython — ALE второго порядка (взаимодействия). Умирающие, обновлялись два года назад.
Добавила в таблицу — теперь там 67 библиотек и фильтр по типу метода: Feature Effect / PDP / ICE / ALE / Regional Effects. Мёртвые лежат, под галочкой «show inactive», живых 44.
Табличка: xai-table.streamlit.app
И всем доброй ночи или отличного утра! 😌
GitHub
GitHub - givasile/effector: Effector - a Python package for global and regional effect methods
Effector - a Python package for global and regional effect methods - givasile/effector
🔥12❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Так, друзья, всем понедельник!
Пока я много что готовлю, всем смешной рилс.
Всегда имейте план Б.
В комментарии можете закинуть свои любимые способы отхода : )
Пока я много что готовлю, всем смешной рилс.
Всегда имейте план Б.
В комментарии можете закинуть свои любимые способы отхода : )
😁19👏4🔥3🌚3
Привет, друзья!
Я добила первое, что хотела добить!
Моя первая статья была, помимо прочего, про различие выбранной метрики в моделях разных семейств. Мы сравнивали encoder-only, encoder-decoder и decoder-only поведение. И я тогда всё не могла разобраться, как мне эффективно брать не все токены, чтобы корректно считать метрику.
Так появился драфт — и вот он дожил до нового туториала: «Три LM-архитектуры — три пространства»
Проблема: при задачах языкового моделирования (хоть мы и живём в эпоху декодеров) иногда полезно сравнить и поработать с эмбеддингами разных моделей. Энкодеры, например, быстрые и дают классные представления для классификации и поиска. Энкодер-декодеры дают представление входа, которое училось быть удобным для чтения декодером. А у декодеров «эмбеддинг» — это вообще побочный продукт: их учили продолжать текст, а не описывать его.
Внутри они устроены почти одинаково в смысле формулы внимания, но учатся на разные задачи, и маски внутри у них разные (если помните Attention наизусть — то ещё и в том, откуда берутся Q, K, V).
И это порождает геометрические приколы! В туториале разбираем их на очень малышах: BERT, GPT-2, T5 и BART.
Что внутри:
1. Теория трёх масок — одна формула внимания, три способа её замаскировать.
2. Информативность токенов и нюансы оценки.
3. Геометрия (основная часть) — метрики анизотропия, спектр, participation ratio, CKA и что они обязаны показать по постановке из-за архитектуры.
4. Вывод — а зачем это на практике + классические (мои в том числе) фейлы.
Всё считается на быстренько, есть ноутбучек и красивые картинки!
Сдаю ссылки:
Хабр
Ноутбучек в коллаб
Ноутбучек на github
Тут должен быть какой-то call to action, знаете ли, ну, допустим, ставьте огонечки и не ставьте говна, вот)
Всем отличной недели, время добивать остальное!
Я добила первое, что хотела добить!
Моя первая статья была, помимо прочего, про различие выбранной метрики в моделях разных семейств. Мы сравнивали encoder-only, encoder-decoder и decoder-only поведение. И я тогда всё не могла разобраться, как мне эффективно брать не все токены, чтобы корректно считать метрику.
Так появился драфт — и вот он дожил до нового туториала: «Три LM-архитектуры — три пространства»
Проблема: при задачах языкового моделирования (хоть мы и живём в эпоху декодеров) иногда полезно сравнить и поработать с эмбеддингами разных моделей. Энкодеры, например, быстрые и дают классные представления для классификации и поиска. Энкодер-декодеры дают представление входа, которое училось быть удобным для чтения декодером. А у декодеров «эмбеддинг» — это вообще побочный продукт: их учили продолжать текст, а не описывать его.
Внутри они устроены почти одинаково в смысле формулы внимания, но учатся на разные задачи, и маски внутри у них разные (если помните Attention наизусть — то ещё и в том, откуда берутся Q, K, V).
И это порождает геометрические приколы! В туториале разбираем их на очень малышах: BERT, GPT-2, T5 и BART.
Что внутри:
1. Теория трёх масок — одна формула внимания, три способа её замаскировать.
2. Информативность токенов и нюансы оценки.
3. Геометрия (основная часть) — метрики анизотропия, спектр, participation ratio, CKA и что они обязаны показать по постановке из-за архитектуры.
4. Вывод — а зачем это на практике + классические (мои в том числе) фейлы.
Всё считается на быстренько, есть ноутбучек и красивые картинки!
Сдаю ссылки:
Хабр
Ноутбучек в коллаб
Ноутбучек на github
Тут должен быть какой-то call to action, знаете ли, ну, допустим, ставьте огонечки и не ставьте говна, вот)
Всем отличной недели, время добивать остальное!
🔥38❤10👏6😁1
Привет, друзья!
Это лето могу описать фразой "мы расстраивались, фигачили, радовались, опять расстраивались и опять фигачили". Я наполучала безумно много отказов в каких-то начинаниях, мы всё ещё решаем вопросы по оплате уроков в школе, а ещё там где-то существует реальный мир, где я просто чел.
Но! Меня всегда безумно сильно держало и держит на плаву то, что вокруг меня есть люди и огромная куча любви к области, математике и красоте. Просто долбанной красоте.
Поэтому, когда было грустно я собирала карту. Она выросла и я наконец-то хочу выпинать её из репозитория.
Что за карта?
Про то, что внутри моделей сами по себе возникают направления, окружности, симплексы, многообразия, написаны сотни статей. Однако есть проблема изложения: одно и то же явление у трёх групп называется по-разному, а разные явления — одинаково. Я задумалась: а что если собрать, проанилизировать и свести это всё?
Насколько линейны модели? Как часто структуры возникают в разных архитектурах? А на разных данных? Насколько верна гипотеза о том, что модели схоже математически кодируют мир? Что есть ещё?
Так в корпусе собралось 700 статей, 703 наблюдения, 52 структуры, 14 гипотез, 816 моделей — отобранных из 1047 просмотренных кандидатов. Каждый читался полностью, записывался и рисовал это чудо:
Это лето могу описать фразой "мы расстраивались, фигачили, радовались, опять расстраивались и опять фигачили". Я наполучала безумно много отказов в каких-то начинаниях, мы всё ещё решаем вопросы по оплате уроков в школе, а ещё там где-то существует реальный мир, где я просто чел.
Но! Меня всегда безумно сильно держало и держит на плаву то, что вокруг меня есть люди и огромная куча любви к области, математике и красоте. Просто долбанной красоте.
Поэтому, когда было грустно я собирала карту. Она выросла и я наконец-то хочу выпинать её из репозитория.
Что за карта?
Про то, что внутри моделей сами по себе возникают направления, окружности, симплексы, многообразия, написаны сотни статей. Однако есть проблема изложения: одно и то же явление у трёх групп называется по-разному, а разные явления — одинаково. Я задумалась: а что если собрать, проанилизировать и свести это всё?
Насколько линейны модели? Как часто структуры возникают в разных архитектурах? А на разных данных? Насколько верна гипотеза о том, что модели схоже математически кодируют мир? Что есть ещё?
Так в корпусе собралось 700 статей, 703 наблюдения, 52 структуры, 14 гипотез, 816 моделей — отобранных из 1047 просмотренных кандидатов. Каждый читался полностью, записывался и рисовал это чудо:
🔥16👍8❤1
Релизнула карту и релизнула статью с описанием на Хабр.
Там:
— правило отбора: что берётся в карту, что не берётся и почему (всегда геометрия, НЕ навязанная архитектурой или лоссом, а возникающая естественным образом);
— как устроена ортогональная классификация математических структур в карте;
— как это делают агенты и почему результату можно верить: правила, стоп-сигналы, валидатор и бла-бла-бла;
— разведочный анализ корпуса, и его плюсы-минусы.
А ещё сценарии использования и чудная прогулка по этому шарику, который работал мне вместо (или с) магнием =)
Статья: https://habr.com/ru/articles/1075390/
Карта: https://ai-math-map.vercel.app
Репка пока закрыта, но фидбек очень нужен. Пишите в чат канала или на sadsobr7@gmail.com.
В личку я отвечу, но могу потерять и это будет лет через сто, так что лучше как-то можно сюда в комменты прям.
Там:
— правило отбора: что берётся в карту, что не берётся и почему (всегда геометрия, НЕ навязанная архитектурой или лоссом, а возникающая естественным образом);
— как устроена ортогональная классификация математических структур в карте;
— как это делают агенты и почему результату можно верить: правила, стоп-сигналы, валидатор и бла-бла-бла;
— разведочный анализ корпуса, и его плюсы-минусы.
А ещё сценарии использования и чудная прогулка по этому шарику, который работал мне вместо (или с) магнием =)
Статья: https://habr.com/ru/articles/1075390/
Карта: https://ai-math-map.vercel.app
Репка пока закрыта, но фидбек очень нужен. Пишите в чат канала или на sadsobr7@gmail.com.
В личку я отвечу, но могу потерять и это будет лет через сто, так что лучше как-то можно сюда в комменты прям.
👍8🔥7❤5
Больше графов богу графов
Мне скинули свежий препринт: Mechanist: AI as a Scientific Instrument for Discovering the Mechanisms of Intelligence.
TLDR: позиционируется агент-«учёный» (и нас заменят) для интерпретируемости, который ставится плагином к Клоду.
Стоит он на двух ресурсах — библиотеке из 32 исполняемых методов в 11 семействах и графе знаний.
Агент запускает четыре стадии:
1. Генерация гипотезы — запрос раскладывается на подзапросы, из двух графов знаний тянутся статьи, на выходе «атомарное утверждение» с планом проверки.
2. Эксперимент — выбирается метод из библиотеки, пишется и запускается код, перед полным прогоном идёт быстрая проверка вменяемости.
3. Верификация — отдельный агент проверяет эксперимент и пробует сломать вывод сменой метода, датасета и модели.
4. Итерация — независимое ревью внешней моделью (по дефолту GPT-5.4), возврат либо к гипотезе, либо к реализации, пока не кончится бюджет ревизий.
Память вынесена в файлы по стадиям (proposal, план, трекер, код, результаты, отчёты о целостности), что призвано сохранить читаемость шагов.
Жирным выделила детали — про них ниже (они важные в использовании).
Из п. 2: Проверка вменяемости — это флаг: сначала эксперимент ревьюится внешней моделью, потом гоняется самый дешёвый вариант эксперимента, трижды дебажится (и если не помогло — наконец-то всё падает).
Из п.3: Отдельный агент — это субагенты Клода внутри плагина, оркестратор раздаёт им стадии в одной сессии.
Из п.4: Внешняя модель подключается MCP-сервисом llm-chat через три переменные окружения — ключ, имя модели, base URL (годится любой OpenAI-совместимый). Требование одно: не Клод. Если ключ не настроен, ревью кода пропускается.
Самое вкусное, п. 1: Граф знаний и п.2 библиотека методов. Меня интересовали они, так как свой я тоже на днях отправила гулять в интернеты.
Что внутри: 13 936 статей, 33 400 авторов, 929 площадок. Семь типов рёбер из статьи: WRITTEN_BY→ Author, USES→ Technique, PUBLISHED_IN→ Venue, STUDIES→ Component, PROBES→ Ability, APPLIED_TO→ Scenario, TARGETS→ TargetModel.
(Venue я тоже хотела тянуть, но позже : ))
Источник: OpenAlex с фильтром на релевантность плюс блоги, названы Anthropic Research и Goodfire.
К каждой статье прицеплен 21 признак, извлечённый DeepSeek-V3.2 из абстракта: исследовательский вопрос, вклад, вывод, ключевые находки, ограничения, будущие направления, целевые модели, модальность. Плюс эмбеддинг заголовка и абстракта (bge-large-en-v1.5, 1024 измерения), проверка Claude Opus 4.7 и человеческая оценка на 100 статьях (90 %+ отмечено как корректные, но метрику согласия между аннотаторами не привели).
Если постараться, из графа можно вытащить статистики, нюансы и мета-инфу по базе данных.
— На сайте три узла фильтрации: методы и техники (как), объекты интерпретируемости (какая часть сети), приложение (где). Суммарно: техник 13 296, комопнент 7 138, сценариев 6 522. Это не количество статей, а именно количество раз, когда что-то описано в узле «техника/компонента/сценарий». На статью я насчитала 1.32 техники, потому она описана у 72% корпуса, а не у 95 %, если делить напрямую. Не менее 640 статей без техники, не менее 49 % без компонента, не менее 53 % без сценария.
— Классические до-механистические семейства (SHAP, градиентные методы, анализ величин) составляют до 26 % корпуса; — разреженные автоэнкодеры и поиск схем вместе — не более 7 %;
— Публично на сайте показаны 194 уникальные статьи. Отбор статей при поиске на сайте идёт по цитируемости из OpenAlex, и там что-то не так. «Toy Models of Superposition» в их данных стоит с 37 цитированиями, а в выдаче поиска с нулем при 944 на arXiv. Так что citation-ranked витрина тут может не работать.
Мне скинули свежий препринт: Mechanist: AI as a Scientific Instrument for Discovering the Mechanisms of Intelligence.
TLDR: позиционируется агент-«учёный» (и нас заменят) для интерпретируемости, который ставится плагином к Клоду.
Стоит он на двух ресурсах — библиотеке из 32 исполняемых методов в 11 семействах и графе знаний.
Агент запускает четыре стадии:
1. Генерация гипотезы — запрос раскладывается на подзапросы, из двух графов знаний тянутся статьи, на выходе «атомарное утверждение» с планом проверки.
2. Эксперимент — выбирается метод из библиотеки, пишется и запускается код, перед полным прогоном идёт быстрая проверка вменяемости.
3. Верификация — отдельный агент проверяет эксперимент и пробует сломать вывод сменой метода, датасета и модели.
4. Итерация — независимое ревью внешней моделью (по дефолту GPT-5.4), возврат либо к гипотезе, либо к реализации, пока не кончится бюджет ревизий.
Память вынесена в файлы по стадиям (proposal, план, трекер, код, результаты, отчёты о целостности), что призвано сохранить читаемость шагов.
Жирным выделила детали — про них ниже (они важные в использовании).
Из п. 2: Проверка вменяемости — это флаг: сначала эксперимент ревьюится внешней моделью, потом гоняется самый дешёвый вариант эксперимента, трижды дебажится (и если не помогло — наконец-то всё падает).
Из п.3: Отдельный агент — это субагенты Клода внутри плагина, оркестратор раздаёт им стадии в одной сессии.
Из п.4: Внешняя модель подключается MCP-сервисом llm-chat через три переменные окружения — ключ, имя модели, base URL (годится любой OpenAI-совместимый). Требование одно: не Клод. Если ключ не настроен, ревью кода пропускается.
Самое вкусное, п. 1: Граф знаний и п.2 библиотека методов. Меня интересовали они, так как свой я тоже на днях отправила гулять в интернеты.
Что внутри: 13 936 статей, 33 400 авторов, 929 площадок. Семь типов рёбер из статьи: WRITTEN_BY→ Author, USES→ Technique, PUBLISHED_IN→ Venue, STUDIES→ Component, PROBES→ Ability, APPLIED_TO→ Scenario, TARGETS→ TargetModel.
(Venue я тоже хотела тянуть, но позже : ))
Источник: OpenAlex с фильтром на релевантность плюс блоги, названы Anthropic Research и Goodfire.
К каждой статье прицеплен 21 признак, извлечённый DeepSeek-V3.2 из абстракта: исследовательский вопрос, вклад, вывод, ключевые находки, ограничения, будущие направления, целевые модели, модальность. Плюс эмбеддинг заголовка и абстракта (bge-large-en-v1.5, 1024 измерения), проверка Claude Opus 4.7 и человеческая оценка на 100 статьях (90 %+ отмечено как корректные, но метрику согласия между аннотаторами не привели).
Если постараться, из графа можно вытащить статистики, нюансы и мета-инфу по базе данных.
— На сайте три узла фильтрации: методы и техники (как), объекты интерпретируемости (какая часть сети), приложение (где). Суммарно: техник 13 296, комопнент 7 138, сценариев 6 522. Это не количество статей, а именно количество раз, когда что-то описано в узле «техника/компонента/сценарий». На статью я насчитала 1.32 техники, потому она описана у 72% корпуса, а не у 95 %, если делить напрямую. Не менее 640 статей без техники, не менее 49 % без компонента, не менее 53 % без сценария.
— Классические до-механистические семейства (SHAP, градиентные методы, анализ величин) составляют до 26 % корпуса; — разреженные автоэнкодеры и поиск схем вместе — не более 7 %;
— Публично на сайте показаны 194 уникальные статьи. Отбор статей при поиске на сайте идёт по цитируемости из OpenAlex, и там что-то не так. «Toy Models of Superposition» в их данных стоит с 37 цитированиями, а в выдаче поиска с нулем при 944 на arXiv. Так что citation-ranked витрина тут может не работать.
arXiv.org
Mechanist: AI as a Scientific Instrument for Discovering the...
AI models are increasingly used in scientific discovery and human decision-making. Yet how AI models work and what risks they pose remain poorly understood. As AI development becomes faster and...
❤3🔥3
— Дедупликация. Среди 194 витринных статей — четыре пары дублей, каждая с разным OpenAlex-ID и разной цитируемостью: «Knowledge Neurons in Pretrained Transformers» (125 и 42), «GANSpace: Discovering Interpretable GAN Controls» (425 и 356), «Visualizing and Understanding Neural Models in NLP» (535 и 166), «Constituency Parsing with a Self-Attentive Encoder» (484 и 44). Дедуп идёт по записям OpenAlex, а не по работам.
— В моём прогоне из 140 работ с геометрией в заголовке 39 совпали с корпусом, который я веду, а 101 — нет; правда, значительная их часть (neural collapse на игрушечных моделях, TDA-обвязка вокруг сетей, геометрия пространства параметров) лежит за рамками того, что я собираю.
Итого:
Работа классная! Если попробуете заставить агента что-то запустить и у вас получится, то пишите. По их собственным замерам агент работает: в статье отрепортили 16 статей для воспроизведения, девять тем, четыре измерения качества (работа с данными, дизайн, исполнение, анализ результатов), судьи — три человека плюс две модели. У Mechanist 87.2 / 83.3 / 92.2 / 86.5 % — на 9–13 пунктов выше «голого» Claude Code и на 31–38 пунктов выше AI Scientist.
Да и в целом, если вы работаете с литературой по интерпретируемости, Mechanist выглядит как "попробовать прикольно": бесплатный поиск по 14 тысячам статей с уже извлечёнными полями — вопрос, вклад, находки, ограничения, без ключей и регистрации и битых ссылок (наверное). Качество при этом нужно держать в уме (или коротко о том, почему я не релизнула БД карты сразу).
Всем желаю быть структурными, как граф! Попробую добивать и улучшать свой, чтобы открыть его нормальнее.
Ссылки: сайт, код и подробная документация для Mechanist.
— В моём прогоне из 140 работ с геометрией в заголовке 39 совпали с корпусом, который я веду, а 101 — нет; правда, значительная их часть (neural collapse на игрушечных моделях, TDA-обвязка вокруг сетей, геометрия пространства параметров) лежит за рамками того, что я собираю.
Итого:
Работа классная! Если попробуете заставить агента что-то запустить и у вас получится, то пишите. По их собственным замерам агент работает: в статье отрепортили 16 статей для воспроизведения, девять тем, четыре измерения качества (работа с данными, дизайн, исполнение, анализ результатов), судьи — три человека плюс две модели. У Mechanist 87.2 / 83.3 / 92.2 / 86.5 % — на 9–13 пунктов выше «голого» Claude Code и на 31–38 пунктов выше AI Scientist.
Да и в целом, если вы работаете с литературой по интерпретируемости, Mechanist выглядит как "попробовать прикольно": бесплатный поиск по 14 тысячам статей с уже извлечёнными полями — вопрос, вклад, находки, ограничения, без ключей и регистрации и битых ссылок (наверное). Качество при этом нужно держать в уме (или коротко о том, почему я не релизнула БД карты сразу).
Всем желаю быть структурными, как граф! Попробую добивать и улучшать свой, чтобы открыть его нормальнее.
Ссылки: сайт, код и подробная документация для Mechanist.
arXiv.org
Mechanist: AI as a Scientific Instrument for Discovering the...
AI models are increasingly used in scientific discovery and human decision-making. Yet how AI models work and what risks they pose remain poorly understood. As AI development becomes faster and...
❤6👍3🔥1
Вернуться бы в 2007, где надо было считать на бумажке.
Пока вокруг нас по интернету ходят агенты, ушедшие из сэндбоксов, и у нас опять релизы моделей умнее, я чувствую себя стремительно тупее — опять привыкать к новым переспособностям и недоспособностям.🙂
Чтобы унять мозг, я обновляю курс и чищу теорему для новой статьи. Побочный социально-полезный артефакт — я донесла ещё библиотек!
Во времена, когда мы были не механистичны, базовым способом посмотреть, что модель выучила, была «feature visualization».
Идея метода — спросить модель «что ты ищешь» в конкретном месте — канале. Ответ мы получаем градиентным подъёмом: меняем вход, пока активация нейрона не станет максимальной (так делали в 2009). Пока мы поднимаемся (поднимаемся мы с регуляризацией, иначе картинке будет плохо), мы получаем картинку, вполне себе читаемую.
Вполне себе, потому что выглядит всё равно фразой «без пива не разберёшь» (не пью, но фраза смешная). Чтобы уменьшить (или увеличить — тут не ясно) количество пива, необходимое для понимания картинки, можно решать разные задачи:
Просим нарисовать не одну картинку, а несколько разных для одного и того же детектора (diversity). Тут нам мешает полисемантичность: один детектор часто отвечает сразу за несвязанные вещи и поэтому сегодня больше любим SAE.
Feature inversion — обратная задача: восстановить вход из активаций слоя. Что восстановилось — то сеть сохранила, что расплылось в кашу — выбросила как ненужное.
Semantic dictionaries и spatial attribution (Building Blocks, 2018) — соединяем атрибуцию свизуализацией. Не просто «эта область важна», а «эта область важна, потому что здесь сработал вот такой детектор».
Рисуем карту целиком (activation atlas, 2019). Прогоняем много тысяч изображений, раскладываем реакции сети на плоскости так, чтобы похожее лежало рядом, и в каждую клеточку рисуем такую картинку. На выходе — атлас того, что сеть вообще знает о мире, по которому можно водить пальцем.
Идея в чистом виде почти вымерла, так как сейчас нам стало интереснее копать более точно. Но все circuits выросли отсюда: curve detectors, high-low frequency detectors, весь язык про фичи и полисемантичность.
И если вы тоже любите классику, вот, что есть в Python (из того, чего я раньше не видела):
Lucid — первоисточник, от команды, которая всё это и придумала. 27 моделей, все методы выше и ноутбуки ко всем классическим статьям. Написан на TensorFlow первой версии, в апреле 2024 отправлен в архив, только для чтения. Запускать больно, читать — прикольно полезно, это готовый учебник.
torch-lucent — то же самое, переписанное на PyTorch. Последнее обновление — 2021.
FlashTorch — просто карты важности и «нарисуй, на что реагирует этот фильтр» в несколько строк кода. Картинки заметно грубее, зато весь метод видно целиком и сразу. Для учёбы почти идеально, для работы — тоже нет, обновлений с 2020-го.
Метод годен только на модальности картинок, так как с текстом надо приседать отдельно. Есть ещё хитрые способы на CLIP моделях и даже поиск признаков на агентах, но это я пока ещё не переварила.
Табличка: xai-table.streamlit.app
Всем желаю залипнуть на картинки, друзья и отличных выходных!
Пока вокруг нас по интернету ходят агенты, ушедшие из сэндбоксов, и у нас опять релизы моделей умнее, я чувствую себя стремительно тупее — опять привыкать к новым переспособностям и недоспособностям.
Чтобы унять мозг, я обновляю курс и чищу теорему для новой статьи. Побочный социально-полезный артефакт — я донесла ещё библиотек!
Во времена, когда мы были не механистичны, базовым способом посмотреть, что модель выучила, была «feature visualization».
Идея метода — спросить модель «что ты ищешь» в конкретном месте — канале. Ответ мы получаем градиентным подъёмом: меняем вход, пока активация нейрона не станет максимальной (так делали в 2009). Пока мы поднимаемся (поднимаемся мы с регуляризацией, иначе картинке будет плохо), мы получаем картинку, вполне себе читаемую.
Вполне себе, потому что выглядит всё равно фразой «без пива не разберёшь» (не пью, но фраза смешная). Чтобы уменьшить (или увеличить — тут не ясно) количество пива, необходимое для понимания картинки, можно решать разные задачи:
Просим нарисовать не одну картинку, а несколько разных для одного и того же детектора (diversity). Тут нам мешает полисемантичность: один детектор часто отвечает сразу за несвязанные вещи и поэтому сегодня больше любим SAE.
Feature inversion — обратная задача: восстановить вход из активаций слоя. Что восстановилось — то сеть сохранила, что расплылось в кашу — выбросила как ненужное.
Semantic dictionaries и spatial attribution (Building Blocks, 2018) — соединяем атрибуцию свизуализацией. Не просто «эта область важна», а «эта область важна, потому что здесь сработал вот такой детектор».
Рисуем карту целиком (activation atlas, 2019). Прогоняем много тысяч изображений, раскладываем реакции сети на плоскости так, чтобы похожее лежало рядом, и в каждую клеточку рисуем такую картинку. На выходе — атлас того, что сеть вообще знает о мире, по которому можно водить пальцем.
Идея в чистом виде почти вымерла, так как сейчас нам стало интереснее копать более точно. Но все circuits выросли отсюда: curve detectors, high-low frequency detectors, весь язык про фичи и полисемантичность.
И если вы тоже любите классику, вот, что есть в Python (из того, чего я раньше не видела):
Lucid — первоисточник, от команды, которая всё это и придумала. 27 моделей, все методы выше и ноутбуки ко всем классическим статьям. Написан на TensorFlow первой версии, в апреле 2024 отправлен в архив, только для чтения. Запускать больно, читать — прикольно полезно, это готовый учебник.
torch-lucent — то же самое, переписанное на PyTorch. Последнее обновление — 2021.
FlashTorch — просто карты важности и «нарисуй, на что реагирует этот фильтр» в несколько строк кода. Картинки заметно грубее, зато весь метод видно целиком и сразу. Для учёбы почти идеально, для работы — тоже нет, обновлений с 2020-го.
Метод годен только на модальности картинок, так как с текстом надо приседать отдельно. Есть ещё хитрые способы на CLIP моделях и даже поиск признаков на агентах, но это я пока ещё не переварила.
Табличка: xai-table.streamlit.app
Всем желаю залипнуть на картинки, друзья и отличных выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
Distill
Feature Visualization
How neural networks build up their understanding of images
❤11👍1