Привет, друзья!
Продолжая тему LLM и attention — хочу поделиться штукой, от красоты который у меня, как говорят, отвисла челюсть!
Визуализация некоторых LLM моделей. Можно интерактивно запустить attention и посмотреть воочию, как эти товарищи вообще нам прогнозы готовят.
Для обучения штука также огонь!
Надеюсь, она доставит вам столько же восторга,
Ваш Дата-автор!
P.S. Сейчас (буквально прямо сейчас) села делать ресерч по XAI для генеративок. Просто спонтанно задали вопрос, так что может быть что-то интересное на эту тему тоже появится. 👀
Продолжая тему LLM и attention — хочу поделиться штукой, от красоты который у меня, как говорят, отвисла челюсть!
Визуализация некоторых LLM моделей. Можно интерактивно запустить attention и посмотреть воочию, как эти товарищи вообще нам прогнозы готовят.
Для обучения штука также огонь!
Надеюсь, она доставит вам столько же восторга,
Ваш Дата-автор!
P.S. Сейчас (буквально прямо сейчас) села делать ресерч по XAI для генеративок. Просто спонтанно задали вопрос, так что может быть что-то интересное на эту тему тоже появится. 👀
🔥13❤🔥1
Probing: что еще можно делать с моделями, чтобы их объяснить 🩺
Привет, друзья! Недавно столкнулась с новой для себя идеей в exaplinable AI: model probing.
Происхождение термина: Термин probing classifier можно встретить в контексте генеративных моделей и, нередко, лингвистических.
Решаемая проблема: Допустим, у нас обучена большая широкая модель. Как понять, на каком уровне модели хранится информация о, например, частях речи?
Идея «зондирования» не является новой, она в чём-то похожа на идею суррогатных моделей, повернутую на 180 градусов. Модель g называется зондирующей, если она обучена (с учителем) решению какой-либо задачи на скрытых представлениях модели. Обращаясь к поставленной проблеме, мы бы могли обучить g прогнозировать части речи на основе выходов модели.
Чуть подробнее: Представим, что у нас есть модель Net, обученная решать задачу перевода. Предположим дополнительно, что модель состоит из двух частей — кодирующей (encoder) и декордирующей (decoder). Построим зондирующие модели g1, g2 на частях кодера и декодера. Чтобы понять, где в модели информация о частях речи, сравним точности g1 и g2 на тестовых данных.
Полученный результат обработаем и получим какой-то вывод!
Преимущества метода:
1. Легкость применения
2. Возможность сравнивать модели различных архитектур, при условии, что они обучены на одном и тоже датасете
Недостатки:
1. Чувствительность к обработке данных и гиперпараметрам зондирующей и исходной моделей
2. Отсутствие обобщения — пробинг для одной задачи и для одной модели не гарантирует, что модель и модели этого семейства хорошо понимают эту информацию в общем контексте или в других задачах
Мнение:
В целом, идея интересная. Многие нюансы, такие как насколько можно доверять "зондам", исследуют, разрабатывая механизмы тестирования.
Как всегда небольшое пожелание — интересных вам идей, друзья!
Ваш Дата автор! 😌
Привет, друзья! Недавно столкнулась с новой для себя идеей в exaplinable AI: model probing.
Происхождение термина: Термин probing classifier можно встретить в контексте генеративных моделей и, нередко, лингвистических.
Решаемая проблема: Допустим, у нас обучена большая широкая модель. Как понять, на каком уровне модели хранится информация о, например, частях речи?
Идея «зондирования» не является новой, она в чём-то похожа на идею суррогатных моделей, повернутую на 180 градусов. Модель g называется зондирующей, если она обучена (с учителем) решению какой-либо задачи на скрытых представлениях модели. Обращаясь к поставленной проблеме, мы бы могли обучить g прогнозировать части речи на основе выходов модели.
Чуть подробнее: Представим, что у нас есть модель Net, обученная решать задачу перевода. Предположим дополнительно, что модель состоит из двух частей — кодирующей (encoder) и декордирующей (decoder). Построим зондирующие модели g1, g2 на частях кодера и декодера. Чтобы понять, где в модели информация о частях речи, сравним точности g1 и g2 на тестовых данных.
Полученный результат обработаем и получим какой-то вывод!
Преимущества метода:
1. Легкость применения
2. Возможность сравнивать модели различных архитектур, при условии, что они обучены на одном и тоже датасете
Недостатки:
1. Чувствительность к обработке данных и гиперпараметрам зондирующей и исходной моделей
2. Отсутствие обобщения — пробинг для одной задачи и для одной модели не гарантирует, что модель и модели этого семейства хорошо понимают эту информацию в общем контексте или в других задачах
Мнение:
В целом, идея интересная. Многие нюансы, такие как насколько можно доверять "зондам", исследуют, разрабатывая механизмы тестирования.
Как всегда небольшое пожелание — интересных вам идей, друзья!
Ваш Дата автор! 😌
🔥6❤2
Привет, друзья!
Если Дата-автор долго молчит, значит дата-автор снова что-то делает! И в этот раз руки дошли до YouTube!
Первое видео: Explainable AI: Линейная регрессия в задаче интерпретации признаков!
Видео посвящено базовому алгоритму машинного обучения — линейной регресии. В нём рассмотрено, как корректно строить и использовать регрессию в задаче интерпретации признаков. 🐥
📌 В видео:
- Повторение линейной регрессии: основные концепции
- Решение задачи прогноза цены домов
- Интерпретация коэффициентов модели: как понять важность и влияние каждого признака.
- Техники для повышения интерпретируемости модели
- Общий вывод
Буду очень рада, если вы посмотрите и подпишитесь на канал! Регрессия — первая, дальше — больше, деревья, ансамбли и, конечно, Deep Learning!
А если у вас есть вопросы/темы, которые вы хотели бы услышать от меня, оставляйте их в комментариях ниже!
🔗 Полезные ссылки:
- Ноутбук из видео.
- Курс по Объяснимому машинному и глубинному обучению
Страшно волнительно выпускать первый видео-контент! Поэтому буду рада вашей поддержке ☺️
Ваш Дата-автор!
Если Дата-автор долго молчит, значит дата-автор снова что-то делает! И в этот раз руки дошли до YouTube!
Первое видео: Explainable AI: Линейная регрессия в задаче интерпретации признаков!
Видео посвящено базовому алгоритму машинного обучения — линейной регресии. В нём рассмотрено, как корректно строить и использовать регрессию в задаче интерпретации признаков. 🐥
📌 В видео:
- Повторение линейной регрессии: основные концепции
- Решение задачи прогноза цены домов
- Интерпретация коэффициентов модели: как понять важность и влияние каждого признака.
- Техники для повышения интерпретируемости модели
- Общий вывод
Буду очень рада, если вы посмотрите и подпишитесь на канал! Регрессия — первая, дальше — больше, деревья, ансамбли и, конечно, Deep Learning!
А если у вас есть вопросы/темы, которые вы хотели бы услышать от меня, оставляйте их в комментариях ниже!
🔗 Полезные ссылки:
- Ноутбук из видео.
- Курс по Объяснимому машинному и глубинному обучению
Страшно волнительно выпускать первый видео-контент! Поэтому буду рада вашей поддержке ☺️
Ваш Дата-автор!
Google
Линрег_yt.ipynb
Colab notebook
🔥18❤3
Привет, друзья! 🍉
Обещала сделать обзор про Generative AI + XAI.
Генеративные модели делают переход от «распознавания верного решения задачи» к «генерации решения».
Требует ли такой манёвр радикальных изменений в техниках объяснения модели? 🧐
Нырок по статьям на эту тему показывает, что и да, и нет.
В этом посте выделила несколько тривиальных, но интересных штук по XAI для генеративных моделей:
1. Совместимость с классикой: с одной стороны, классические методы, такие как SHAP, LIME, Counterfactual explanations применимы как к моделям, решающим задачи в классической постановке, так и к генеративным моделям. С другой — сама идея генерации открывает новые возможности (а некоторые наоборот — частично закрывает), что, конечно, влияет и на объяснения.
2. Проблема доступа: широкое использование генеративок существует не только из-за эффективности моделей, но ещё и из-за их доступности — например, chatGPT привлекает более 100 миллионов посетителей каждый месяц.
Однако пользователи, заинтересованные в понимании процесса генерации, не могут получить доступ к внутренним компонентам моделей, что исключает подходы XAI, основанные на данных и на анализе внутренних слоев.
3. Самообъяснения и их неоднозначность: генеративные языковые модели можно попросить генерировать так называемую Chain-of-though, однако такой подход завязан на ряде недостатков. Например, цепочка рассуждений, которые модель может отдавать очень чувствительна к данным обучения — например, если слова вроде «потому что» удалить из данных обучения, то они никогда не будут сгенерированы.
🍉 А больше и ничего интересного мне не нашлось. Конечно, еще оптимизируют архитектуры для отдельных модальностей данных (натыкалась на статьи про Generative XAI for music и for art), но челленджей тут много.
Обещала сделать обзор про Generative AI + XAI.
Генеративные модели делают переход от «распознавания верного решения задачи» к «генерации решения».
Требует ли такой манёвр радикальных изменений в техниках объяснения модели? 🧐
Нырок по статьям на эту тему показывает, что и да, и нет.
В этом посте выделила несколько тривиальных, но интересных штук по XAI для генеративных моделей:
1. Совместимость с классикой: с одной стороны, классические методы, такие как SHAP, LIME, Counterfactual explanations применимы как к моделям, решающим задачи в классической постановке, так и к генеративным моделям. С другой — сама идея генерации открывает новые возможности (а некоторые наоборот — частично закрывает), что, конечно, влияет и на объяснения.
2. Проблема доступа: широкое использование генеративок существует не только из-за эффективности моделей, но ещё и из-за их доступности — например, chatGPT привлекает более 100 миллионов посетителей каждый месяц.
Однако пользователи, заинтересованные в понимании процесса генерации, не могут получить доступ к внутренним компонентам моделей, что исключает подходы XAI, основанные на данных и на анализе внутренних слоев.
3. Самообъяснения и их неоднозначность: генеративные языковые модели можно попросить генерировать так называемую Chain-of-though, однако такой подход завязан на ряде недостатков. Например, цепочка рассуждений, которые модель может отдавать очень чувствительна к данным обучения — например, если слова вроде «потому что» удалить из данных обучения, то они никогда не будут сгенерированы.
🍉 А больше и ничего интересного мне не нашлось. Конечно, еще оптимизируют архитектуры для отдельных модальностей данных (натыкалась на статьи про Generative XAI for music и for art), но челленджей тут много.
🔥7
Друзья, еще очень хочу сказать вам огромное спасибо за поддержку на Ютуб! 🥹
Для меня это какой-то новый опыт, и я очень настроена продолжать :)
Уже потихоньку планирую следующее видео!
Желаю вам чудного вечера,
Как всегда ваш,
Дата-автор!
Для меня это какой-то новый опыт, и я очень настроена продолжать :)
Уже потихоньку планирую следующее видео!
Желаю вам чудного вечера,
Как всегда ваш,
Дата-автор!
❤8🔥5👍2
Привет, друзья!
Основное время сейчас занимаюсь практическим контентом для курса — реализовываю методы fom scratch на торче, сравниваю их с библиотечными имплементациями и создаю задания.
🍉 Хочу поделиться наблюдением:
1. Если вы не знакомы с методами объяснения и хотите "пощупать что есть", то очень рекомендую библиотеку captum. Она собрала в себе абсолютное большинство методов, и именно её стоит использовать, чтобы потыкать, что подойдет лучше всего для вашей модели. НО!
2. Если вы уже знакомы с методами объяснения или у вас есть данные о том, что метод X сработал лучше всего, то ищите пользовательские реализации! Зачастую они дают много бонусов, таких как интерактивность, реализация модификаций метода и пр.
Например, рассмотрим метод LRP (Layer-wise Relevance Propagation).
Реализация в captum
VS
Пользовательская реализация с интерактивностью
пользовательская реализация с модификациями
В общем, так как область только развивается, смело ищите энтузиастов, которые адаптируют методы. Они есть!
Всем чудного и продуктивного дня,
Ваш Дата-автор! 🐥
Основное время сейчас занимаюсь практическим контентом для курса — реализовываю методы fom scratch на торче, сравниваю их с библиотечными имплементациями и создаю задания.
🍉 Хочу поделиться наблюдением:
1. Если вы не знакомы с методами объяснения и хотите "пощупать что есть", то очень рекомендую библиотеку captum. Она собрала в себе абсолютное большинство методов, и именно её стоит использовать, чтобы потыкать, что подойдет лучше всего для вашей модели. НО!
2. Если вы уже знакомы с методами объяснения или у вас есть данные о том, что метод X сработал лучше всего, то ищите пользовательские реализации! Зачастую они дают много бонусов, таких как интерактивность, реализация модификаций метода и пр.
Например, рассмотрим метод LRP (Layer-wise Relevance Propagation).
Реализация в captum
VS
Пользовательская реализация с интерактивностью
пользовательская реализация с модификациями
В общем, так как область только развивается, смело ищите энтузиастов, которые адаптируют методы. Они есть!
Всем чудного и продуктивного дня,
Ваш Дата-автор! 🐥
captum.ai
Captum · Model Interpretability for PyTorch
❤🔥8
Какой контент вы хотите видеть?
Anonymous Poll
53%
Разбор методов объяснения для DL
37%
Разбор методов объяснения для ML
64%
Юпитер-тетрадки с туториалами
3%
Свой вариант (напишу в комментах/в личку)
Также, друзья, прошу вашей помощи! Тыкните в опросе выше — это позволит мне сделать канал лучше и информативнее для вас! 😌
🤝3
🐔❗️Важное UPD:
Если вы пользовались приложением-табличкой для навигации по XAI библиотекам, ссылка обновилась (потому что я переименовала ветку на main ) :
Обновленная навигация
Буду благодарна, если пошарите её друзьям, и буду рада, если она окажется для вас полезной 😌
А табличный вариант по прежнему лежит на диске!
- Библиотека + фреймворк обучения
- Библиотека + метод
- Библиотека + тип данных
Спасибо!
Ваш Дата-автор!
Если вы пользовались приложением-табличкой для навигации по XAI библиотекам, ссылка обновилась (
Обновленная навигация
Буду благодарна, если пошарите её друзьям, и буду рада, если она окажется для вас полезной 😌
А табличный вариант по прежнему лежит на диске!
- Библиотека + фреймворк обучения
- Библиотека + метод
- Библиотека + тип данных
Спасибо!
Ваш Дата-автор!
Streamlit
main page
Here you can find a library offering model interpretation methods tailored to your needs. The cla...
❤3
Привет, друзья! 🐷
В последнее время много экспериментирую с методами объяснения DL моделей, в частности для проектирования интересных задач для студентов курса (и самой себя).
Последние пару дней копаюсь с методом Integrated Gradients, который мы с вами обсуждали в этом и этом посте.
Среди минусов, я упомянула чувствительность к baseline. Предлагаю воочию посмотреть что это такое.
Напоминание:
Baseline input — объект, который мы считаем некоторым "средним" относительно всей выборки тренировочных данных. Но что считать "средним" для изображений? Гауссовский шум, серую картинку, белый/черный input или какое-то случайное распределение? 👀
Ответ: для каждого объекта — лучше сработает свой baseline.
В качестве примера сгенерировала несколько базовых картинок и объяснения прогнозов ResNet.
Делюсь результатами! Как видите, что сработало для хрюши не сработало для собаки.
Вот такое творческое напоминание об экспериментах в explainable AI!
Весь в работе,
Ваш Дата автор! :)
В последнее время много экспериментирую с методами объяснения DL моделей, в частности для проектирования интересных задач для студентов курса (и самой себя).
Последние пару дней копаюсь с методом Integrated Gradients, который мы с вами обсуждали в этом и этом посте.
Среди минусов, я упомянула чувствительность к baseline. Предлагаю воочию посмотреть что это такое.
Напоминание:
Baseline input — объект, который мы считаем некоторым "средним" относительно всей выборки тренировочных данных. Но что считать "средним" для изображений? Гауссовский шум, серую картинку, белый/черный input или какое-то случайное распределение? 👀
Ответ: для каждого объекта — лучше сработает свой baseline.
В качестве примера сгенерировала несколько базовых картинок и объяснения прогнозов ResNet.
Делюсь результатами! Как видите, что сработало для хрюши не сработало для собаки.
Вот такое творческое напоминание об экспериментах в explainable AI!
Весь в работе,
Ваш Дата автор! :)
👍4🔥3
Привет, друзья! 🦑
Сейчас дошла до своего обучения (ура!) и прикоснулась области Super Resolution. Сразу стало интересно, как она применется в explainable AI.
👀 Чем занимается SR:
1. Улучшает разрешение изображений, увеличивая их размер и детализацию без значительных потерь в качестве.
2. Восстанавливает или улучшает изображения с низким разрешением, делая их более четкими и детализированными.
3. Убирает незначительные шумы.
Где используют SR: в медицинской визуализации, видеонаблюдении, мультимедия и научных исследованиях.
Что используют в SR: CNN, GANы, диффузионки, трансформеров.
🧐Куда прикручивать XAI?
Однозначно сходу — в медицину! Можно ковырять совсем крохотные структурки при помощи SR (например, есть целая "область" super-resolution microscopy).
В чем польза:
Так как анализ структур затруднен, ожидается, что применение XAI к области может например, позволить идентифицировать новые субклеточные структуры и процессы.
И польза настолько есть, что в SR даже пытаются делать свои техники объяснения моделей, например LAM. Но они базируются на классике (Integrated Gradients), про который, как раз, пост выше(и который я тоже даю на курсе ) !
Меня это восхитило! 🦑
Представьте, друзья, чего можно достичь, верно комбинируя техники и направляя умы исследователей?) Просто восторг!
Вот такой легкий пост среды. :)
Желаю вам удивительного и доброго дня,
Ваш Дата-автор!
Сейчас дошла до своего обучения (ура!) и прикоснулась области Super Resolution. Сразу стало интересно, как она применется в explainable AI.
👀 Чем занимается SR:
1. Улучшает разрешение изображений, увеличивая их размер и детализацию без значительных потерь в качестве.
2. Восстанавливает или улучшает изображения с низким разрешением, делая их более четкими и детализированными.
3. Убирает незначительные шумы.
Где используют SR: в медицинской визуализации, видеонаблюдении, мультимедия и научных исследованиях.
Что используют в SR: CNN, GANы, диффузионки, трансформеров.
🧐Куда прикручивать XAI?
Однозначно сходу — в медицину! Можно ковырять совсем крохотные структурки при помощи SR (например, есть целая "область" super-resolution microscopy).
В чем польза:
Так как анализ структур затруднен, ожидается, что применение XAI к области может например, позволить идентифицировать новые субклеточные структуры и процессы.
И польза настолько есть, что в SR даже пытаются делать свои техники объяснения моделей, например LAM. Но они базируются на классике (Integrated Gradients), про который, как раз, пост выше
Меня это восхитило! 🦑
Представьте, друзья, чего можно достичь, верно комбинируя техники и направляя умы исследователей?) Просто восторг!
Вот такой легкий пост среды. :)
Желаю вам удивительного и доброго дня,
Ваш Дата-автор!
MavMatrix
An Explainable Artificial Intelligence Approach to Convolutional Neural Network Optimization and Understanding
Advancements in artificial intelligence (AI) show promise for the technology’s use in widespread biomedical applications. As these models grow more complex, understanding how they work becomes increasingly more difficult. To use these systems in the healthcare…
❤3🔥2
Привет, друзья! 🤓
Предлагаю к вашей понедельничной разминке задачу с курса. Задача отражает идею формирования бенчмарка для Concept Embedding models.
Кто такие CEM?
Concept Embedding Models представляют собой продолжение Concept Bottleneck Models. Идея таких моделей — добавить к задаче прогнозирование не только вероятности классов, но и вероятности наличия или отсутствия определенного концепта (смотрите архитектуру 1)
CEM — достаточно простая надстройка над CBM — мы прикручиваем к концептам ещё и эмбеддинги (смотрите архитектуру 2).
Идея этих моделей некультурно проста — хочется видеть в ответе больше человеко-понятных меток. Это помогает достичь интерпретируемости.
Чем плохи CBM/CEM:
Нужно аннотировать. Аннотировать, аннотировать и еще раз аннотировать. Это таке усложняет процесс бенчмаркинга моделей, однако авторы архитектур не отчаялись и предложили целых 3 красивых идеи — XOR, Dot и Trigonometry datasets. Разберем первые две.
1. Датасет XOR в качестве входных признаков использует непрерывную пару значений (x_1, x_2) из отрезка [0, 1]. Концептами в задаче являются булевы векторы, сформированные по правилу (Bool(c_1 > 0.5), Bool(c_2 > 0.5))
2. Датасет Dot основан на идее разделения плоскости. Предлагаю вам посмотреть на код формирования такого датасета и ответить на вопрос:
"Какие части плоскости делит Dot data?" 👀
Предлагаю к вашей понедельничной разминке задачу с курса. Задача отражает идею формирования бенчмарка для Concept Embedding models.
Кто такие CEM?
Concept Embedding Models представляют собой продолжение Concept Bottleneck Models. Идея таких моделей — добавить к задаче прогнозирование не только вероятности классов, но и вероятности наличия или отсутствия определенного концепта (смотрите архитектуру 1)
CEM — достаточно простая надстройка над CBM — мы прикручиваем к концептам ещё и эмбеддинги (смотрите архитектуру 2).
Идея этих моделей некультурно проста — хочется видеть в ответе больше человеко-понятных меток. Это помогает достичь интерпретируемости.
Чем плохи CBM/CEM:
Нужно аннотировать. Аннотировать, аннотировать и еще раз аннотировать. Это таке усложняет процесс бенчмаркинга моделей, однако авторы архитектур не отчаялись и предложили целых 3 красивых идеи — XOR, Dot и Trigonometry datasets. Разберем первые две.
1. Датасет XOR в качестве входных признаков использует непрерывную пару значений (x_1, x_2) из отрезка [0, 1]. Концептами в задаче являются булевы векторы, сформированные по правилу (Bool(c_1 > 0.5), Bool(c_2 > 0.5))
2. Датасет Dot основан на идее разделения плоскости. Предлагаю вам посмотреть на код формирования такого датасета и ответить на вопрос:
"Какие части плоскости делит Dot data?" 👀
❤1👍1
🗿9
И конечно я желаю вам продуктивного начала недели!
Куда без этого,
Ваш Дата-автор! 😌🫶🏻
Куда без этого,
Ваш Дата-автор! 😌🫶🏻
❤4🔥1
Привет, друзья!
Пишу пожелать вам легкой, уютной и тёплой осени и делюсь красивым материалом:
Могут ли трансформеры думать? И почему, отвечая на этот вопрос, можно сказать «да»?
Читайте в статье моего товарища по научному руководителю в бакалавриате 👇🏻
Пишу пожелать вам легкой, уютной и тёплой осени и делюсь красивым материалом:
Могут ли трансформеры думать? И почему, отвечая на этот вопрос, можно сказать «да»?
Читайте в статье моего товарища по научному руководителю в бакалавриате 👇🏻
🔥2❤1
Forwarded from Идеальный стартап
Могут ли трансформеры думать?
В этой статье мы разберем как трансформеры решают задачи рассуждения, какие цепочки формируются внутри и посмотрим на феномен гроккинга - когда модель начинает решать задачи на тестовой выборке, хотя по логике не должна. Подготовил большой ноутбук с кодом, где мы натренируем модель решать задачу рассуждения с помощью гроккинга с 100% метрикой.
Честно, мне эта статья очень понравилась - редко такое происходит, но тут на меня напала муза и заставила потратить часов 20-25 в последние выходные.
Так что, жду ваших оценок, репостов и комментариев
https://habr.com/ru/articles/840136/
В этой статье мы разберем как трансформеры решают задачи рассуждения, какие цепочки формируются внутри и посмотрим на феномен гроккинга - когда модель начинает решать задачи на тестовой выборке, хотя по логике не должна. Подготовил большой ноутбук с кодом, где мы натренируем модель решать задачу рассуждения с помощью гроккинга с 100% метрикой.
Честно, мне эта статья очень понравилась - редко такое происходит, но тут на меня напала муза и заставила потратить часов 20-25 в последние выходные.
Так что, жду ваших оценок, репостов и комментариев
https://habr.com/ru/articles/840136/
Хабр
Могут ли трансформеры «думать»
Недавние исследования показывают, что модели трансформеров способны почти безошибочно решать задачи, требующие нескольких логических шагов. Например, из утверждения А вывести Б и дойти логически до В....
❤7🔥3