Проблема «последнего слоя»
Анализ 78 публично доступных J-lens (Jacobians lenses) выявил критический паттерн: 80,8% из них настроены на целевой слой (target layer) как последний слой трансформера. Это решение, часто используемое по умолчанию в библиотеках, может искажать интерпретацию внутренних представлений модели. На примере архитектуры DeepSeek-V3 (671B MoE) показано, что последний блок специализируется на калибровке предсказания следующего токена, что вносит сильный систематический шум в джacobian.
Эффект доминирования направления
При использовании последнего слоя в качестве цели, J-lens захватывает направление, которое отделяет китайские токены от латинских. Это происходит потому, что последний блок DeepSeek-V3 принудительно подавляет вероятности китайских токенов при английском контексте. Хотя это почти не влияет на финальный прогноз модели, оно сильно меняет остаточный поток (residual stream). В результате:
- На половине глубины сети 50% топовых токенов в readout-ах — китайские иероглифы (при норме ~25%).
- Статистика эксцесса (excess kurtosis) меняет знак по сравнению с оригинальной статьей Anthropic.
- На тестах порядка операций (order-of-operations) J-lens искусственно завышает свои показатели, поднимая токены чисел на стандартное отклонение.
Решение: предпоследний слой
Переключение целевого слоя на предпоследний (penultimate layer) устраняет влияние последнего блока. В случае DeepSeek-V3 это снижает языковой эффект примерно в 20 раз, возвращая readout-ы к ожидаемому распределению (лишь 3% китайских токенов). Это подтверждает гипотезу Anthropic о том, что последний слой часто добавляет «шумные артефакты» из-за своей специализации.
Сравнение метрик и подходов
Автор провел сравнение J-lens с классическим Logit Lens и другими моделями. Ниже приведены ключевые различия в поведении линз в зависимости от выбранного целевого слоя:
| Параметр | Целевой слой: Последний (Default) | Целевой слой: Предпоследний (Рекомендуемый) |
|---|---|---|
| Доля китайских токенов в readout (на 50% глубины) | ~50% (сильный перекос) | 3% (соответствует норме) |
| Влияние на оценку Order-of-Operations | Искусственное завышение (bias +1 std dev) | Нейтральное/корректное поведение |
| Доминирующее направление (Top Singular Direction) | Сильно коррелирует с языковым разделением | Устраняет языковой артефакт |
| Распространенность в публичных репозиториях | 80.8% (78 проверенных линз) | 16.7% |
Выводы для разработчиков
Главный урок не в специфике DeepSeek-V3, а в общей методологии: сильное направление, введенное downstream-блоками, может доминировать в J-lens и менять то, что мы видим в ранних слоях. Рекомендуется:
- Использовать предпоследний слой как дефолт для J-lens.
- Проверять косинусное сходство топ-направлений каждого слоя с направлением последнего блока.
- Применять пре-фильтрацию промптов (отбрасывать промпты с нормой джacobian >5 медианы), так как редкие «тяжелые» промпты могут искажать усреднение (в исследовании 4 промпта давали 84% нормы).
Источник: LessWrong ↗
