Как превратить нейросеть в читаемую программу: метод Дэна Фридмана

The TWIML AI Podcast 848 42 мин 3 мин 15.01.2024
Главное

В области разработки искусственного интеллекта существует фундаментальный разрыв: современные нейросети, такие как архитектура Transformer, демонстрируют поразительную эффективность, но остаются для человека «черными ящиками». Дэн Фридман, докторант Принстонского университета, в интервью Сэму Чаррингтону в рамках подкаста TWIML AI представил метод обучения «программ на основе Трансформеров», который позволяет автоматически превращать веса нейросети в понятный человекочитаемый код на языке Python.

🚀 Переход от наблюдений к механистической интерпретируемости 2:54

Современные методы объяснимого ИИ (XAI) часто ограничиваются поверхностным анализом. Прошлые подходы, такие как LIME, Фридман называет «архитектурно-агностическими» . Они смотрят на корреляцию входных и выходных данных, не вникая во внутреннюю логику модели. Например, метод важности признаков (feature importance) может подсветить слова в предложении, которые повлияли на решение классификатора, но это не дает «алгоритмического понимания» .

Механистическая интерпретируемость (mechanistic interpretability) ставит перед собой более амбициозную цель — декомпозировать нейросеть на понятные человеку логические компоненты . По мнению Фридмана, этот процесс похож на реверс-инжиниринг: перевод высокомерных вычислений в понятные алгоритмы, которые человек может симулировать «в уме» и верифицировать так же, как обычное программное обеспечение .

🛠 Дизайн для интерпретируемости: подход Фридмана 11:36

Вместо того чтобы пытаться расшифровать уже обученную огромную модель вроде GPT-3, Фридман предлагает проектировать модели так, чтобы они были «врожденно интерпретируемыми» . Разработчики вдохновлялись языком программирования Rasp (Restricted Access Sequence Processing), созданным Гейл Вайс, который позволяет описывать операции Трансформера в коде, похожем на Python .

Разница между обычным кодом (например, на PyTorch) и подходом Фридмана заключается в следующем:

Ключевым достижением исследования стала разработка метода «декомпиляции»: обучения модели с такими ограничениями, которые гарантируют, что итоговые веса будут иметь прямое соответствие с программой на Rasp .

⛓️ Два главных ограничения архитектуры 17:40

Для достижения стопроцентной прозрачности Фридман ввел в архитектуру Трансформера два жестких ограничения:

  1. Распутанные остаточные связи (Disentangled residual streams): В стандартном Трансформере информация от разных слоев записывается в общее пространство («residual stream») через сложение, что создает хаос . Фридман заменил сложение на конкатенацию . Теперь каждый слой и каждая голова внимания пишут свои данные в строго отведенный «адрес» памяти, не затирая чужие переменные .
  2. Интерпретируемые модули: Каждый блок вычислений должен следовать правилам, которые легко конвертируются в логику «если — то» .

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

💻 Как выглядит ИИ-программа изнутри 28:35

Результатом работы системы является обычный Python-файл, который можно скачать с GitHub и запустить . Основная часть такой программы описывает работу голов внимания через предикаты.

Примеры логики, выученной моделью:

Фридман отмечает, что такие программы сохраняют детерминированность: вы можете поставить точку останова (breakpoint) в стандартном отладчике Python и пошагово наблюдать, как «нейросеть» принимает решение .

📈 Ограничения и перспективы метода 33:04

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

Основные выводы дискуссии:

💬 Цитаты

«Вы не можете верифицировать свою модель ИИ так же, как программное обеспечение, если у вас нет алгоритмического понимания.»

Дэн Фридман 09:24

«Мы хотим ограничить оптимизацию подмножеством Трансформеров, которые соответствуют программам.»

Дэн Фридман 16:41
🔗 Упомянутые сайты и проекты
📖 Термины
Mechanistic Interpretability
Область ИИ, стремящаяся объяснить работу нейросетей через понятные алгоритмы и физические механизмы обработки данных.
Residual Stream
«Шина данных» внутри Трансформера, через которую слои передают информацию друг другу.
Rasp
Специализированный язык программирования, чья логика эквивалентна вычислительной структуре Трансформера.
Gumbel reparameterization
Математический метод, позволяющий пропускать градиент через дискретные (выбираемые) значения во время обучения.
📊 Цифры
🗓 Хронология
  1. 2021 Публикация работы 'Thinking like Transformers' Гейл Вайс, представившей язык Rasp.
  2. 2023 Представление исследования Дэна Фридмана на конференции NeurIPS.
⚖️ Другая сторона
Искусственный интеллект Transformer механистическая интерпретируемость Rasp programming language Gumbel reparameterization Dan Friedman