TGViewer
Channel Public Channel
Препарируем LLM

Препарируем LLM

@nlp_with_heart

Пишу здесь об интерпретируемости языковых моделей, детекции машинной генерации и галлюцинациях
Subscribers
375
Photos
16
Videos
0
Links
14
Recent Posts 19 shown
Post #37 696

Forwarded from Рандомные галлюцинации

Сегодня расскажу про нашу свежую статью «When Models Lie, We Learn: Multilingual Span-Level Hallucination Detection with PsiloQA», которую приняли на EMNLP 🎉
Кстати, если работа вам понравилась прошу проголосовать за нее на HuggingFace Daily Papers.

В работе мы предложили метод генерации синтетических данных, содержащих естественные (не инсценированные) галлюцинации, размеченные на уровне спанов. Но ценность этой работы — не только в содержании, а ещё и в том, как она родилась.
Я давно убеждён: NLP — это прикладная область. А в прикладных областях особое значение имеют соревнования — от Kaggle до академических вроде SemEval, DSTC и других.
Участие в них позволяет:
1️⃣ прокачивать технические навыки
2️⃣ понимать, что коммьюнити считает актуальным и сложным
3️⃣ находить идеи, достойные статьи
Эта работа — как раз результат одного из таких опытов.

📜О чём статья

Мы разработали пайплайн для генерации датасета с естественными галлюцинациями. Мы не просили LLM намеренно ошибаться (как в HalluEval), а детектировали реальные примеры. Так мы получили многоязычный датасет PsiloQA для поспановой (span-level) детекции галлюцинаций и протестировали на нём разные подходы.

⚙️Как работает пайплайн

1️⃣ Берём пару первых абзацев статьи из Википедии (или любого источника знаний).
2️⃣С помощью GPT-4o получаем вопрос–ответ для этого контекста.
3️⃣ Просим открытую модель ответить на этот же вопрос. Получаем ответ-кандидат.
4️⃣ GPT-4o, имея контекст, вопрос, исходный ответ и ответ-кандидат, размечает галлюцинации в кандидате.
5️⃣ Делаем постфильтрацию (убираем пустые или отказные примеры).

📈Результаты

1️⃣Пайплан позволяет генерировать датасеты разных доменов, размеров и языков с минимальными затратами.
2️⃣Все галлюцинации — естественные, LLM никто не просил галлюцинировать намеренно. Таким образом, для детекции можно использовать методы на основе внутренних представлений моделей, тем более что мы добавили инфрмации о модели.
3️⃣Датасет подходит для тестирования LLM на множестве языков.
4️⃣Кросспроверка показала: при обучении на нашем датасете мы почти всегда получали лучшие результаты при тестах на других, вручную размеченных датасетах.

🌐Рандомные галлюцинации
  • ❤ 5
  • 🔥 2
Post #36 572
Всем привет!


Не освещала в своих постах кажется проблему галлюцинаций моделей, так что пора это сделать. То, что LLM галюцинируют — пожалуй основная проблема, которая мешает использовать LLM во многих доменах. Сегодня вышла статья у коллег, в которой они рассматривают проблему на уровне спанов (слов или фраз), а не предложений, как это делается во многих других статьях. Также интересно то, что эта работа потверждает довольно интуитивную мысль, что модели должны ошибаться примерно в одних и тех же местах (например, путать даты, адреса или какие-то конкретные детали) и это можно использовать для поиска галлюцинаций.
Post #34 820
Исследователям надо было держать баланс между тем, чтобы
а) тесты были корректным, осмысленными и действительно проверяли ввод, а не просто были легкопроходимым заглушками;
б) в тестах не было регулярных выражений;
в) чтобы весь процесс, как определения признаков, так и вмешательство во время генерации было не очень долгим.


И как раз их метод SAE-based интервенеций лучше всего справился с тем, чтобы выдержать этот баланс (показано с помощью Pareto-dominance). Кроме того, у этого метода достаточно высокая точность — признак действительно активировался только на регулярные выражения. Интересно кстати, что у Gemma всего один признак полностью отвечал за появление регулярных выражений, в то время как у натренированного исслдеователями SAE для LLaMA таких признаков оказалось больше 50.

В качестве заключения, авторы еще раз подчеркивают, что данный метод не является специфичным и может быть применен к любым схожим задачам. Кроме того, у исследователей есть возможность самостоятельно проверять что найденный признак соотносится с нашими ожиданиями (с помощью Neuronpedia, см. картинку), что упрощает весь процесс и отнимает не так много времени на исследования и поиск гипотез, в отличии от других методов для решениях схожих задач.


Такая вот интересная работа, определенно надо пробовать применять SAE и к другим таким техническим задачам.


Ссылка на посте в блоге Tilde Research
  • 👍 6
  • 🔥 3
Post #33 610
Всем привет!

Давно конечно было постов, так как я буквально пару дней назад приехала на учебу в Австрию и до этого нужно было сделать примерно миллион дел. Надеюсь, что учеба здесь даст еще больше поводов готовить посты и рассказывать интересное из научной жизни тут:)

Сегодня я хотела сделать небольшой рассказ о том, как можно применять инструменты анализа внутренних представлений моделей для задачи написания тестов на Python по мотивам работы исследователей из Tilde Research.
Это небольшое практическое исследование подсветило мне, что методы интерпретируемости можно пробовать применять к задачам, где мы хотим как-то на ходу фильтровать генерации языковых моделей или же как-то осмысленно ограничивать то, что они генерируют и эти методы могут очень здорово работать.


Итак, к Tilde Research пришла компания по автоматической генерации кода на Python с конкретным запросом сделать так, чтобы языковая модель по данному коду программы генерировала тесты, которые проверяют валидность ввода в программу (например, что в e-mail есть символ @ и точка).

У авторов были ограничения на содержание тестов: там не должно было быть вызовов регулярных функций, так как они часто приводят к false positive errors. При этом генерируемые тесты должны были быть разумными и корректными.

Обычно с такой задачей вполне хорошо справляется промптинг, но проблема в том, что у данной компании уже достаточно большой системный промпт (> 10000 символов) для автоматизации процессов, что создает проблему. Часто модели при работе с таким большим промптом либо
а) начинают игнорировать инструкции
б) при попытке исправить одну ошибку, начинают откатывать исправления прошлых ошибок.

Поэтому было решено попробовать действовать на модель «извне» а не с помощью инструкций. А именно, было предложено научиться находить явно признаки внутри модели, которые бы реагировали на появление регулярных выражений в тексте. Значение такого признака внутри модели для конкретного текста в каком-то смысле обозначала бы вероятность того, что в тексте есть регулярное выражение. И поэтому, руками уменьшив это значение, можно как бы «заставить» модель не добавлять регулярные выражения в тест.


Итак, что сделали авторы
1. Взяли три легковесные модели для генерации: Gemma и LLaMA (2B, 8B, 9B) и хорошие датасеты с кодом.
2. Для Gemma-моделей взяли уже обученный GemmaScope SAE, а для LLaMA обучили свой SAE на датасете с кодом на Python. Эти модели отвечают за поиск нужных признаков внутри моделей-генераторов.
3. Для каждой модели из (1) с помощью (2) настроили автоматическое определение признаков-кандидатов, наиболее чувствительных к появлению регулярных выражений.
4. Далее, уже в процессе генерации нового текста моделью из (1) можно определять достаточно ли активен этот признак и если да, то вмешиваемся и уменьшаем влияние этого признака на генерацию.

Продолжение ⬇️
  • ❤ 7
Post #31 929
Пару дней назад наткнулась на исследование о том, как конкретно дообучение LLM изменяет внутреннее распределение предсказания следующих токенов. Ниже кратко расскажу про его суть, а также почему это предложенный метод это хорошие новости для исследователей интерпретируемости моделей, и плохие для тех, кто занимается алайнментом (ниже кратко рассказала, что это).

Интуитивно понятно, что дообучение на медицинском домене при предсказании новых токенов будет больший вес придавать медицинским терминам, но интересно посмотреть, насколько сильно увеличивается "вес" таких токенов при предсказании и как это проявляется внутри модели.

Авторы предлагают взять две версии одной модели, исходную и дообученную. Далее, им подается на вход короткий нейтральный текст из 3-5 слов, никак не связанный с тематикой дообучения (например, "сегодня прекрасная погода"). Затем сравниваем их внутренние представления: на фиксированном слое вычитаем вектор скрытого сосотояния дообученной модели из вектора исходной и отображаем его в наше пространство токенов (слов). После этого мы можем посмотреть топ "релевантных" токенов, чьи представления сместились сильнее всего в результате дообучения.

Допустим, что мы дообучили нашу модель на рецептах выпечки. Подав нейтральный текст как выше, мы все равно увидим что токены вроде "кулинария", "торт" или "выпекать" получают заметный положительный сдвиг.

Все это выглядит как довольно очевидный эффект от дообучения, но главный интерес лично для меня в том, что простота этого метода позволяет его автоматизировать. Авторы предлагают использовать дополнительную LLM, которая по 20 самым "релевантным" токенам пытается определить, по какой тематике дообучали модель. И это работает с различными режимами дообучения, в том числе и с теми, что сейчас популярны в области алайнмента*.

На картинке показаны несколько способов дообучения и как предложенный метод их определяет. Например Subliminal Learning подает модели на вход определенные последовательности чисел, в результате которых модель начинает больше писать о кошках в позитивном ключе. Несмотря на неочевидность такого сигнала, предложенный метод уверенно его "считывает".

✨ Почему это хорошо?

Это простой и вычислительно незатратный метод для анализа моделей, можно дообучать модели под какую-то гипотезу и быстро ее проверять.

✨ Почему это плохо?

Многие исследования алайнмента построены на том, что модель немного дообучается и далее оценивается соотвествие её поведения нашим ожиданиям. Однако, если след от быстрого дообучения определяется настолько на поверхности, это говорит о том, что такие исследования почти не смотрят внутреннюю структуру модели, а просто по сути изучают след собственного же вмешательства, а не внутреннюю структуру модели.

⭐️ Что такое алайнмент?

*Алайнмент (alignment) сфокусирован на определении того, насколько поведение LLM соотносится с нашими представлениями о том, что правильно и безопасно. Например, мы не хотим, чтобы модели сознательно вводила пользователя в заблуждение. Существуют множество способов это измерять, но один из самых простых, пожалуй, это дообучить модель на токсичных, ложных или опасных текстах, и потом оценить, просачиваются ли такие паттерны в ответы модели.

Блогпост.
  • 👍 8
  • ❤ 5
  • 🔥 3
Post #30 1.09K
Вопрос «Как именно внутри LLM устроен reasoning?» остаётся достаточно сложным, но достаточно важным, поскольку понимание внутрениих процесс поможет для лучшего решения целого класса задач, например, поиск галлюцинаций, улучшение математических способностей и т.д. Мы до сих пор не до конца понимаем, есть ли в модели специальные блоки — отдельные головы или их кластеры, — которые отвечают за рассуждения, или хотя бы отдельные части рассуждения.

Недавно нашу статью, которая делает шаг в сторону лучшего понимания этих процессов, Quantifying Logical Consistency in Transformers via Query-Key Alignment приняли на Main Conference в EMNLP, поэтому это хороший повод рассказать о ней немного побольше:)

Reasoning сам по себе — это достаточно большая задача, поэтому мы сосредоточились на ее более простом виде, а именно логическом выводе, подразделе математической логики. Такой подход упрощает анализ: вместо всех возможных сценариев рассуждений мы фокусируемся на конкретных логических подзадачах, которые легко формализовать и контролировать.

⭐️ Что мы сделали

Мы взяли различные типы логических высказываний, например, силлогизмы или модус поненс. Эксперименты проходили в двух форматах:

Базовый вариант: генерировались тексты с прямыми логическими зависимостями.

CONTEXT: If a person uses a fishing rod, they catch fish. Michael uses a fishing rod.  
QUESTION: Does Michael catch fish?


Усложненный вариант: в тексты добавлялись «дистракторы» — факты, не связанные с ответом, но способные ввести модель в заблуждение.

Помимо наличия дистракторов, тексты отличались по «сложности», то есть сколько шагов-рассуждений нужно сделать, чтобы дать ответ на вопрос.

Дальше мы анализировали, в каких именно частях модели (мы фокусировались на головах) наиболее ярко проявляется связь между токенами ответа (yes/no, true/false) и самим вопросом через метрику QK-score.


⭐️ QK-score как инструмент анализа

В предыдущей нашей работе мы предложили метрику QK-score: она смотрит на скалярное произведение query-вектор вопроса и key-вектор предполагаемого ответа, показывая, в каком-то смысле, силу их связи. Такая метрика может использоваться сразу несколькими способами:

🔵 как предсказатель ответа (сама по себе),

🔵 как инструмент интерпретации, позволяющий находить «ответственные» головы, которые играют ключевую роль в решении рассматриваемой задачи (так, мы рассматривали выбор ответа из четырех представленных).

Используя QK-score и здесь, мы выделили несколько голов, которые демонстрируют неплохую спосбность делать логический вывод.


⭐️ Что дальше?

Можно ли утверждать, что эти головы «делают» более сложный reasoning? Не обязательно. Но вполне может быть так, что эти два множества голов пересекаются, ведь логические рассуждение — подзадача reasoning. Это открывает путь к следующему шагу: начиная с этих голов, можно изучать, как модель ведёт себя в более сложных сценариях reasoning.
  • ❤ 13
Post #29 859
Тем не менее, на сегодняшний день SAE показывают результаты ниже ожидаемых в ряде задач.

Первая из них — обнаружение концепций (concept detection). Суть в том, чтобы определить, присутствует ли в тексте заранее заданный концепт, например: «упоминается ли в тексте баскетболист?» или «есть ли в тексте позитивная эмоция?». Тут SAE уступают гораздо более простым подходам, таким как логистическая регрессия или даже просто прямой запрос к LLM.

Вторая задача — управление моделью (model steering). Предполагается, что изменяя внутренние представления модели, можно изменить ее поведение, например заставить LLM в ответе на вопрос упомянуть экономический кризис 2008 года. На практике же, прямое указание в промпте или дообучение модели работают куда лучше.

Однако, это не значит, что SAE — бесполезный инструмент, ведь обе эти задачи имеют общую особенность: концепт здесь подаётся на вход. Но по своему дизайну, SAE при отображении представления теряют часть информации, поэтому они и будут проигрывать методам, где такой потери нет. Если мы перейдем к задачам, где требуется найти в тексте новые, заранее неизвестные концепты, то увидим, что с ними SAE справляется гораздо лучше.

Так, например, в работе по генерации гипотез (hypothesis generation) исследователи взяли корпус новостных заголовков, каждый из которых имел числовую оценку вовлечённости читателей. SAE выделил и описал концепты, позволяющие предсказать этот уровень вовлечённости, гораздо лучше других методов. Таким образом, можно применять SAE в случае, когда необходимо описать естественным языком, что конкретно влияет на искомую переменную.

Вторая работа, в которой также концепты изначально не заданы, посвящена механике LLM (biology of LLMs). Задача заключалась в том, чтобы выявить, какие механизмы моделей активируются в процессе выполнения различных задач. Так, при решении примера «36 + 59» модель активировала нейрон «единицы = 5» и «40 + 50». А при написании стихотворения, если первая строка заканчивалась на слово «rabbit», сразу после её генерации включался нейрон «рифмуется с “it”».

Итого: в задачах, где нужно работать с заранее заданными концепциями, SAE проигрывают, в то время как в задачах с поиском новых, объясняющих задачу концептов, они показывают себя лучше остальных методов.

Статья
  • ❤ 12
  • 👍 1
Post #28 706
Очень интересно наблюдать за тем, как развивается область интерпретации того, как «думают» языковые модели. Основным инструментом, которым пользуются для этого исследователи (в том числе и мы в нашей работе по интерпретации искуственных текстов) — это разреженные автоэнкодеры (Sparse Auto Encoders). Для тех, кому интересно больше узнать про принцип их работы, есть замечательное видео от Welsh Labs The Dark Matter of AI : Mechanistic Interpretability. Для любителей же кроличьих дыр есть монументальная работа от Antropic, где авторы анализировали внутренности Claude Sonnet, и нашли части модели, отвечающие за упоминание моста Golden Gate в Сан-Франциско

Но здесь я сегодня хочу разобрать статью Use Sparse Autoencoders to Discover Unknown
Concepts, Not to Act on Known Concepts
посвященной тому, в каких задачах лучше использовать Sparse Auto Encoders.

Для того, чтобы рассказать дальше про статью, я все же приведу краткое объяснение принципа SAE здесь:

Попробуйте прикинуть, сколько в мире существует различный идей и концептов. А теперь представьте, что надо как-то все эти идеи упаковать внутрь LLM. В идеале для каждого концепта можно было бы выделить отдельный нейрон — так, чтобы он активировался только при его присутствии в тексте. Однако, в таком случае, пространство, в котором оперирует LLM было бы слишком велико, поэтому происходит сжатие — и одному нейрону приходится кодировать несколько несвязанных концептов. Эта явление называют многозначностью нейронов (polysemanticity).

Из-за этой многозначности нейронов LLM выглядит как клубок запутанных ниток, почти не поддающийся интерпретации. Поэтому появилась идея брать эти плотные внутренние представления LLM и отображать их в пространство гораздо большей размерности. Однако, сама по себе бОльшая размерность нам ничего полезного не дает. Что действительно может помочь, так это ограничение на разреженность: при оттображении почти все координаты обнуляются, активным остаётся лишь пара штук. Такое преобразование помогает приблизиться к идеальной ситуации, когда один нейрон отвечает за один интерпретируемый концепт, что значительно облегчает анализ модели.
  • ❤ 12
  • 👍 1
Post #27 1.11K
People who frequently use ChatGPT for writing tasks are accurate and robust detectors of AI-generated text

Сегодня разберу интересную работу с идущей сейчас главной конференции по NLP — ACL 2025.

TL;DR: Люди, которые часто используют LLM для написания / редактуры текстов, могут очень хорошо отличать сгенерированные тексты от человеческого. Каждый такой аннотатор обращает внимание на различные характеристики текста, но наиболее часто они обращают внимание на вокабуляр, используемый в тексте, а также на структуру текста и то, насколько «оригинальным» и «нескучным» является текст.

Итак, авторы наняли 9 аннотаторов: как тех, кто никогда не работал с LLM, так и тех, кто часто их использует (далее будут обозначены как эксперты). Было проведено 5 разных экспериментов, для каждого из которых было взято 30 человеческих статей и 30 сгенерированных статей-близнецов, по той же теме и с тем же названием. Помимо лейбла «человек / генерация», аннотаторов просили оценить свою уверенность в своем предсказании, выделить, на что конкретно они обратили внимание, а также написать короткое объяснение.

💚 Кто может увереннее определять AI тексты?
Аннотаторы, которые почти не использовали LLM для того, чтобы писать / редактировать тексты, определяют авторство текста практически случайно, в то время как эксперты достигли TPR в 92.7%. Не-эксперты часто отмечали тексты со «сложными» (fancy) лексикой как сгенерированные, в то время как эксперты благодаря работе с LLM знали, какие именно слова LLM чаще используют. Примеры таких слов-маркеров: realm, знаменитое delve (хоть и в последнее время оно встречается уже не так часто), navigate, crucial, essential, фраза not only ___ but also. Неопытных аннотаторов также часто сбивал нейтральный тон, который они ошибочно сразу классифицировали как признак ИИ-текста

Все последующие эксперименты велись только с 5ью экспертами.

💛 Могут ли эксперты отметить сгенерированными тексты и от других LLM?
Все эксперты успешно справились и со сменой модели (с gpt-4o на Claude 3.5 Sonnet). Единственный аннотатор, которого это немного сбило, сильнее остальных опирался на свой словарь AI-слов, и так как у Claude он несколько отличается, то точность ответов этого эксперта немного снизилась.

💗 Устойчивы ли эксперты к перефразированию?
Парафраз совсем не сбил с толку экспертов.

🧡 Устойчивы ли эксперты к текстам от reasoning-моделей?
Во время проведения экспериментов вышла модель OpenAI o1, и так как ни один из экспертов еще не работал с ней, у авторов была отличная возможность проверить, смену стилистики и заметна ли эта смена. Несмотря на то, что экспертам пришлось приложить больше усилий при предсказании авторства, все равно качество их работы осталось достаточно высоким. При этом, все эксперты обращали внимание уже на другие характеристики, чем для обычных моделей.

💛Можно ли сбить с толку экспертов «очеловечиванием» текста?
Авторы собрали список критериев, которыми аннотаторы руководствовались при разметке текстов. Эти критерии подали o1 и попросили сгенерировать такой текст, который смог бы обмануть детектор, основанный на этих критериях. В результате, несмотря на то, что уверенность экспертов снизилась, 4 из 5 экспертов довольно хорошо справились с задачей. В текстах все равно остались «следы» генерации, даже при явном указании их избегать.


У каждого эксперта были свои маркеры ИИ-текстов, которыми они пользовались при проставлении оценок. И так как разные модели пишут тексты по-разному, можно увидеть, что текстах от одних моделей эти критерии работают, а на текстах от других нет. Как результат, авторы призывают использовать группу аннотаторов, в случае когда цена ошибки очень высока и нужно быть стопроцентно уверенным в правильности предсказания.

Вообще, то, что ИИ-текст просто скучно читать — это наверное действительно очень близко к правде. ChatGPT генерирует полотна, которые никому не интересны, потому что текста слишком много, потому что он слишком «вылизан» и «предсказуем». Осталось только это научиться определять автоматически:)

Полная статья
  • ❤ 17
  • 👍 2
Post #26 868
Всем привет!

Искала какой-то повод для себя вернуться после отпуска и водоворота рабочих проектов, а тут мой канал прорекламировали (https://t.me/boris_again) так что посчитаю для себя это знаком вернуться!


В последнее время стала много времени уделять исследованию по анализу качества текстов. Расскажу сегодня немного про задачу и зачем вообще ей заниматься. Буду рада и вашим мыслям в комментариях.


Изначально, предпосылкой для это задачи стал некий тупик, в который мы уперлись с задачей детекции машинной генерации, поскольку задача стала напоминать какие-то кошки-мышки между детекторами и генерирующими моделями. Мы обратили внимание, что довольно часто люди могут эмпирически понять, что текст написан условным ChatGPT по «водянистости» текста. Мы задались вопросом - а как это вообще формализовать?


Сначала мы обратились к работам лингвистов, однако они больше занимаются либо анализом читаемости текста (например, поймет ли текст 5-классник), либо разработкой технических метрик, например наполненность терминами, что, конечно можно использовать, но это не всегда показательно и интерпретируемо.


Вторая идея - обратиться к задаче Discourse Coherence и попробовать надстроить над ней что-то сверху. Данная задача посвящена анализу логических связей внутри текста, например, построения связей «причина-следствие»

Это выглядит более релевантным, но тут стоит отметить, что конечно LLM скорее пишет более связные тексты (ведь надо же как-то размазывать одну мысль на весь параграф), чем человек, но при этом информативность текста все еще может быть низкой.


Мы все еще в процессе формализации задачи и поиске интерпретируемых способов оценка, но в заключение хочется отметить, что пока мы исследовали эту задачу, стало ясно, что анализ качества содержания текста кажется действительно более полезной вещь, чем просто детектор авторства, поскольку отфильтровывать недостаточные качественные тексты любого авторства всегда будет актуально и может использоваться например доя самопроверки при написании текстов.
Telegram Борис опять life = curiosity + irreducible noise Whois: https://t.me/boris_again/3400 Лс: @btseytlin
  • ❤ 13
  • 🔥 6
Post #25 1.13K
Последние пару месяцев была довольно сильно занята проектами по работе, поэтому не получалось уделять блогу достаточно времени, очень хочу это наверстать на майских праздника.


Тем не менее, хотелось бы поделиться, что сейчас идет (и почти заканчивается!) набор в летнюю школу по машинному обучению в Лиссабоне. Я была в ней в прошлом году, и помимо достаточно интересных и продвинутых лекций каждый день, к нам приезжали с гостевыми лекциями создатель Mamba, один из разработчиков Gemini, глава Cohere. Как мне кажется, это очень классное место, чтобы вживую пообщаться с коммьюнити, узнать что-то новое и посмотреть Лиссабон. Так что всем кто ищет куда бы поехать на лето, советую рассмотреть эту школу!

Сайт школы
Форма подачи
  • ❤ 9
  • 🙏 4
Post #24 9.69K
Are_Detectors_Good_Enough?.pdf1.3 MB
Сегодня выступаю на воркшопе Preventing and Detecting LLM Misinformation AAAI с нашей статьей по анализу датасетов с искуственными текстами. Прикладываю слайды и кратко рассказываю про мотивацию статьи:

Если сравнить результаты с соревнований по детекции искуственных текстов и с тем, какой результат выдают реальные детекторы, то мы увидим довольно сильное расхождение. На соревнованиях участники выбивают точность под 100%, да и в статьях про новые детекторы
авторы часто репортят схожие метрики.

Понятно, что реальные тексты чаще сложнее и длиннее тех, что встречаются в выборках, однако тем не менее, все текущие детекторы работают гораздо хуже, если вообще не на уровне рандома.

Еще одна проблема - то, что Интернет активно наполняется искуственными текстами. А знаете, где они потом используются? При обучении новых моделей ИИ. В нескольких работах было показано, что когда модели переходят на обучение на сгенерированных текстах, их качество заметно ухудшается. Поэтому, вопрос проверки качества сгенерированных данных касается еще и тех, кто учит новые модели.

В самой статье мы запускаем некоторые методы детекции на 17 выборках с соревнований и из статей, а также предлагаем новые методы анализа качества выборок с искуственными текстами.


Что мы выявили: почти для каждого датасета получилось так, что на каких-то методах он проявил себя плохо, а на каких-то хорошо - т.е в теории можно использовать ансамбль детекторов различной природы, чтобы находить аспект, по которому можно достаточно хорошо разделить искуственный текст от человеческого.

Надеемся нашей статьей развить какую-то дискуссию о качествах датасетов для детекции и об адаптации "теоретических" детекторов к реальным текстам


Статья на OpenReview
  • 🔥 11
  • ❤ 8
  • 🎉 3
Post #22 1.18K
Существует два подхода в таком смешивании (его еще называют activation patching) - Noising и Denoising. Что у них общего - после запуска модели на одном промпте, мы сохраняем активации модели (либо же какую-то другую информацию, например полносвязные слои), а при запуске на втором промпте, заменяем истинные активации на те, что мы сохранили. Наша цель, найти путь внутри модели который либо ломает поведение модели на некоторой задаче, либо наоборот, сохраняет его.

В нашей задаче, где мы хотим проверить работу модели с локациями, назовём «чистым» промптом наш промпт с Колизеем и Римом, а «поврежденным» (corrupted) - промпт с Лувром в Париже.

⭐️Denoising - когда мы подмешиваем активации с чистого промпта к поврежденному. Так как мы запускаем на втором промпте, то модель сначала выдает Париж. При увеличении количества замененных активаций, в какой-то момент модель станет выдавать Рим вместо Парижа. Таким образом, мы найдем части модели, который достаточны для связи локации в вопросе с Римом и соотвественно выдачи именно Рима в ответе.

⭐️Noising - когда, наоборот, мы подмешиваем активации с поврежденного промпта к чистому. Тут изначально модель выдает Рим (так как мы запускаем на чистом промпте), но в какой-то момент она перестанет это делать, и таким образом, noising позволяет найти путь в модели, необходимый для определения локации с Римом, так как при его изменении «ломается» поведение модели

В статье еще можно прочитать про различные любопытные моменты связанные с настройкой интерпретацией всего того, что мы получаем в результате activation patching😈

Оригинальная статья: How to use and interpret activation patching
  • 😍 7
Post #21 825
Сегодня хочу рассказать о достаточно простой и короткой статье-туториале о способах интервенции модели.

Итак, наша мотивация довольно проста - определить, какие части модели отвечают за решение некоторой задачи. Так, в текущем посте сосредоточимся на задае factual recall. Например:

The Colloseum is in … ?


Модель должна продолжить словом Rome.

Такое простое задание требует от модели как минимум три навыка - работа с английским языком, определение, что речь идет о какой-то существующей локации, а также работа со связью Колизей <—> Рим (достопримечательность <—> местоположение). Чтобы найти, какие конкретно части модели отвечают за каждую из этих подзадач, мы можем модифицировать наш промпт чтобы явно проверять каждый из навыков (см. рисунок)

Допустим мы хотим понять, как модель работает с landmark recall. Возьмем промпт с другой локацией:

The Louvre is in …. ?


Гипотеза: при работе с обоими промптами будут срабатывать части модели, отвечающие конкретно за наш landmark recall. При этом, для второго промпта части, связанные конкретно с Колизеем и Римом, не будут активированы.

Однако чтобы именно определить что внутри модели заставляет ее выдавать Рим, нам придется «смешать» выходы (например, активации) нашей модели на этих промптах.

Продолжение⬇️
  • ❤ 4
Post #20 749

Forwarded from Mashkka про Data Science

🫥Paper Watch Are AI Detectors Good Enough? A Survey on Quality of Datasets With Machine-Generated Texts

В новом выпуске #paperwatch рассказываем про эффективность существующих методов детекции AI-сгенерированных текстов и подходы для оценки качества датасетов, содержащий подобные тексты.

👀Запись
💭Статья
📺Слайды

@mashkka_ds

#paperwatch #llm #nlp
  • 🔥 6
  • 🎉 3
  • ❤ 2
  • 👏 1
Post #19 743
ого, про нашу статью оказывается сделали доклад в Russian NLP🥸
  • 🤯 3
  • 🔥 1
Post #18 919
Наконец, самое точечное влияние - когда мы выделям конкретный путь в графе от начала и до конца, и меняем только что-то внутри него.

Сложность данного подхода заключается в том, что разбить вычислительный граф на отдельные пути - очень ресурснозатратная задача и именно поиск такого пути займет экспоненциальное количество времени.

Однако, если же мы уже знаем какой конкретно путь в графе нам нужен и просто хотим провести какие-то оценки влияния, то данный подход является оптимальным.
  • 🌭 4
Post #17 660
Это не всегда нам подходит, так как каждое изменение затрагивает слишком много элементов.

Можно сузить влияние, изменяя уже конкретную связь между двумя элементами модели, то есть влияя на ребро только между двумя вершинами нашего графа. Но и здесь все что идет после этого ребра будет подвержено влиянию.
  • 💊 2
Post #16 644
Сегодня напишу про то, как мы можем оценивать какие части модели влияют на определенное поведение

Из статьи Transformer Circuit Faithfulness Metrics Are Not Robust

Модель можно представить как вычислительный граф.

🟡Вершинами в зависимости от целей можно рассматривать разные сущности, так в языковых моделях обычно фокусируются на attention головах и на многослойных перцептронах (MLP), которые получают на вход информацию из голов. (см картинку)

🟡Ребрами графа буду являться связи между вершинами, т.е, ребро появляется, если одна из вершин передает что-то другой.

Если нам интересно как конкретно одна голова влияет на весь процесс, мы можем подменять ее выход и смотреть, как меняется поведение модели. Однако, в этом случае меняется и поведение всех последующих элементов, так как они теперь получают измененную информацию на вход, и, соотвественно могут совсем по другому ее обработать.
  • 🍌 1
Older posts →

About this channel

How can I read @nlp_with_heart without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Препарируем LLM: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Препарируем LLM have?
Препарируем LLM (@nlp_with_heart) has 375 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Препарируем LLM know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →