Методы интерпретации Large Language Models
Вторая часть кооперации двух лучистых пирогов: @data blog x @awesome_dl. В первой части у нас получилось не кратко, но интересно. Во второй — тоже.
И так, мы увидели, что на основе Large Language моделей в настоящее время решается много задач — саммаризация, генерация, машинный перевод, анализ сущностей и далее по списку. Разных —много, но все из них все из них так или иначе можно назвать автоматическим анализом текста.
Когда я анализирую текст, мой мозг выглядит как дерево решений с ноткой случайности — есть последовательность если есть “London”: - то добавляю “is the capital of Great Britain”, есть случайные идеи из памяти и вдохновения. Если вы спросите — я смогу step by step объяснить, как пришла к какому-либо своему “output”у. Я — почти white box модель. Языковые же модели имеют внутри себя огромную последовательность преобразований, в том числе “скрытых”, в скрытых слоях. Это делает их моделями типа black-box и их интерпретация уже не обходится визуализацией дерева.
Андрей: Зачем интерпретировать LLM?
- Обоснование решений и обеспечения доверия к модели — опуская критические области (хотя краеугольно это важно в них), интерпретация LLM нужна даже для проектирования умного дома. Вот скажет модель пальцы в розетку сунуть, и сиди думай — зачем, почему, а окажется, что это не розетка вовсе, а, я не знаю … система для снятия отпечатков пальцев. Разработчики или пользователи должны понимать причину ответов, чтобы безопасно пользоваться ими.
- Отладка модели, избежание непонимания — обоснованием этого пункта является основная идея интерпретации — связать влияние входа на выход. Понимание, какие слова или фразы модель считает важными, может помочь идентифицировать случаи, когда модель допускает некорректные выводы, игнорирует важные детали текста или позволяет себе то, что мы называем “предвзятость”.
- Улучшение управляемости — здесь тоже просто — лучше понимаем природу ответов, лучше составляем промпты для модели. Если помечтать (или просто логически прикинуть?), в будущем можно делать полноценные устройства с инструкцией не о том, какую жать кнопку, а о том, какую говорить фразу.
Андрей: В чем сложность с интерпретацией LLM?
Сабрина:
Основная — размер, на который далее накладываются абстрактность внутренних представлений, большая последовательность внутренних преобразований, учет контекста и скрытые взаимосвязи.
Но “есть вход” и “есть выход” — этой информации необходимо и достаточно только при входе в лабиринт, так что вопреки этому всему интерпретировать надо.
Андрей: Как с этим справляются в области?
- Адаптируют стандартные методы, такие как Counterfactual explanations, LIME и SHAP для LLM. И хотя здесь существует проблема производительности методов, это работает [1, 2].
- Для моделей, основанных на внимании рассматривают механизмы внимания модели, смотря на слова/токены, которые модель считает наиболее важными при создании вывода. Один из чудных примеров практически пощупать и применить это — библиотеки bertviz и transformers-intrpret. Также есть библиотека LIT.
- Что важно, методов, связанных с вниманием в разном ключе существует несколько. Их отличия связаны с отличиями в архитектурах моделей. Здесь мне очень нравится картинка:
- Заимствуют методы из компьютерного зрения, частным примером этого является Grad-CAM (gradient-weighted class activation mapping). [3, гитхаб]
- Развивают направление детального анализа пространств внутри модели — скрытых пространств. Такие исследования сосредотачиваются на связи ответов модели с векторными представлениям эмбеддингов внутри. Поскольку с пространствами можно делать многое, сюда я бы отнесла работы по преобразованию пространств, анализ изменений пространств при изменении входных данных, анализ близких векторов. Пример — [4]
- Создают модели, способные объяснить сами себя (self-explainable models в литературе). Под самообъяснением для LLM может считаться как возможность проследить логическую цепочку рассуждений (что мы можем наблюдать, например, в GPT), так и изменения в архитектуре модели, обеспечивающие объяснение. Пример изменений в архитектуре — [5].
Также придумывают новые методы. Например, меня изумила идея с маскированием выборки для повышения процента нахождения информативных текстовых блоков [6].
Сабрина:
Хм. Интерпретация LLM моделей сама по себе ветка, в которой можно закопаться также хорошо, как в самом NLP. Но относительно возможностей LLM моделей есть тренд на создание экспертных диалоговых систем (на основе LLM), позволяющих объяснить процесс решения той или иной задачи.
- Augmenting Interpretable Models with LLMs during Training [7]
- NLX-GPT: A Model for Natural Language Explanations in Vision and Vision-Language Tasks [8]
- Rethinking Explainability as a Dialogue: A Practitioner’s Perspective [9]
Explaining Machine Learning Models with Interactive Natural Language Conversations Using TalkToModel [10]
В работах 9, 10, авторы также проводят опрос, на основе которого выводят, что интерактивные (диалоговые) объяснения — более предпочитаемы для специалистов, использующих машинное/глубокое обучение как инструмент в работе. Так что стакание искусственных интеллектов для создания более понятного искусственного интеллекта тоже работает! Хотя звучит забавно.
На этом, вроде бы, получилась простыня текста, так что, думаю, можно ставить точку. Надеюсь, было интересно!
Андрей: Да, это было отличное путешествие в мир интерпретации языковых моделей. Для меня остается лишь открытым вопрос: можно ли этим техникам научить людей и что из этого выйдет)
Вывод:
В итоге нашего разговора в двух частях получился небольшой обзор области LLM, где по ключевым ссылкам вы можете дальше закопаться в теме. Область воистину с трудом обозрима одним человеком, поэтому постарайтесь найти одну тему и сфокусироваться на ней.
А завершить бы хотелось цитатой про языковые модели, о том, что они способны передать человеку знания целого интернета.
“…there are lots of books I’d like to read and websites I’d like to go to, and I find my bandwidth limiting. So instead of having a mere hundred trillion connections, we’ll have a hundred trillion times a million. We’ll be able to enhance our cognitive pattern recognition capabilities greatly, think faster, and download knowledge.”
— Dr Ray Kurzweil (January 2020)
До скорой связи на каналах @jdata_blog и @awesome_dl!