В области разработки искусственного интеллекта существует фундаментальный разрыв: современные нейросети, такие как архитектура Transformer, демонстрируют поразительную эффективность, но остаются для человека «черными ящиками». Дэн Фридман, докторант Принстонского университета, в интервью Сэму Чаррингтону в рамках подкаста TWIML AI представил метод обучения «программ на основе Трансформеров», который позволяет автоматически превращать веса нейросети в понятный человекочитаемый код на языке Python.
🚀 Переход от наблюдений к механистической интерпретируемости 2:54
Современные методы объяснимого ИИ (XAI) часто ограничиваются поверхностным анализом. Прошлые подходы, такие как LIME, Фридман называет «архитектурно-агностическими» . Они смотрят на корреляцию входных и выходных данных, не вникая во внутреннюю логику модели. Например, метод важности признаков (feature importance) может подсветить слова в предложении, которые повлияли на решение классификатора, но это не дает «алгоритмического понимания» .
Механистическая интерпретируемость (mechanistic interpretability) ставит перед собой более амбициозную цель — декомпозировать нейросеть на понятные человеку логические компоненты . По мнению Фридмана, этот процесс похож на реверс-инжиниринг: перевод высокомерных вычислений в понятные алгоритмы, которые человек может симулировать «в уме» и верифицировать так же, как обычное программное обеспечение .
🛠 Дизайн для интерпретируемости: подход Фридмана 11:36
Вместо того чтобы пытаться расшифровать уже обученную огромную модель вроде GPT-3, Фридман предлагает проектировать модели так, чтобы они были «врожденно интерпретируемыми» . Разработчики вдохновлялись языком программирования Rasp (Restricted Access Sequence Processing), созданным Гейл Вайс, который позволяет описывать операции Трансформера в коде, похожем на Python .
Разница между обычным кодом (например, на PyTorch) и подходом Фридмана заключается в следующем:
- Код на PyTorch — это лишь «скелет», поведение которого полностью зависит от миллионов весов, непонятных при чтении .
- Программы Фридмана — это явные инструкции, где веса модели напрямую отображаются в логические правила .
Ключевым достижением исследования стала разработка метода «декомпиляции»: обучения модели с такими ограничениями, которые гарантируют, что итоговые веса будут иметь прямое соответствие с программой на Rasp .
⛓️ Два главных ограничения архитектуры 17:40
Для достижения стопроцентной прозрачности Фридман ввел в архитектуру Трансформера два жестких ограничения:
- Распутанные остаточные связи (Disentangled residual streams): В стандартном Трансформере информация от разных слоев записывается в общее пространство («residual stream») через сложение, что создает хаос . Фридман заменил сложение на конкатенацию . Теперь каждый слой и каждая голова внимания пишут свои данные в строго отведенный «адрес» памяти, не затирая чужие переменные .
- Интерпретируемые модули: Каждый блок вычислений должен следовать правилам, которые легко конвертируются в логику «если — то» .
Чтобы модель оставалась обучаемой с помощью градиентного спуска, исследователи использовали «трюк» с репараметризацией Гумбеля (Gumbel softmax) . Это позволяет системе во время обучения выбирать между дискретными программными путями, сохраняя математическую возможность вычисления производных .
💻 Как выглядит ИИ-программа изнутри 28:35
Результатом работы системы является обычный Python-файл, который можно скачать с GitHub и запустить . Основная часть такой программы описывает работу голов внимания через предикаты.
Примеры логики, выученной моделью:
- Синтаксический анализ: Программа может содержать правило: «Если в текущей позиции стоит открывающая скобка, проверь, не следует ли за ней закрывающая квадратная скобка», — что позволяет определить валидность последовательности .
- Поиск зависимостей: Модель может создать правило «смотреть на предыдущий токен», реализуемое через анализ позиционных индексов .
Фридман отмечает, что такие программы сохраняют детерминированность: вы можете поставить точку останова (breakpoint) в стандартном отладчике Python и пошагово наблюдать, как «нейросеть» принимает решение .
📈 Ограничения и перспективы метода 33:04
Несмотря на успех, у подхода есть цена. Наложение жестких ограничений сужает спектр решений, которые может найти модель . Например, в текущей реализации используется «жесткое внимание» (hard attention) — модель смотрит либо на один токен, либо распределяет внимание равномерно, что проще для понимания, но менее гибко, чем стандартные механизмы .
Основные выводы дискуссии:
- Проблема оптимизации: Самым сложным оказывается не сама структура программы, а поиск оптимальных параметров в дискретном пространстве в процессе обучения .
- Масштабируемость: На данном этапе невозможно просто «декомпилировать» GPT-3, так как она не была обучена с учетом этих ограничений .
- Философский аспект: Фридман признает, что «читаемость кода» — понятие субъективное, и плохой код программиста может быть так же непонятен, как нейросеть . Тем не менее, дискретные программы позволяют использовать инструменты статического анализа, недоступные для классического глубокого обучения .