Суть эксперимента: от 64 до 2048 кластеров
Автор использовал модель Qwen2.5-7B-Instruct, извлекая активации residual-stream на 20-м слое (layer 20). Датасет: 50k документов из monology/pile-uncopyrighted (третированных до 512 токенов), что дало ~25 млн активаций. Обучение проводилось на выборке из 1 млн нормализованных векторов.
Применена рекурсивная бинарная кластеризация:
- Уровень 6: плоский k-means с k=64 (2^6).
- Уровень 11: рекурсивное разделение листьев до 2048 (2^11) кластеров.
Каждый активация получает ID-путь (например, 46.01110), позволяющий отследить иерархию принадлежности.
Качественный анализ: язык и семантика
Даже на первом уровне (64 кластера) активации сгруппированы по понятным категориям: прилагательные, глаголы, существительные, географические названия, биомедицинские термины. При углублении в дерево (вертикальный анализ) кластер «существительные» распадается на «физические объекты», «пространства», «концепции» и «группы».
Количественная проверка: Actual vs Decoy
Для объективной оценки качества признаков использован LLM-судья, которому предлагалось отличить реальный кластер от «декойного» (случайного). Результаты превзошли ожидания:
| Тип признака | Метод обнаружения | Точность различения (LLM Judge) |
|---|---|---|
| Реальный кластер | Simple Clustering (k-means) | ≈ 97% |
| Реальный SAE-признак | Sparse Autoencoder | ≈ 79% |
Интервенция: Activation Patching
Ключевое доказательство полезности признаков — замена активации на центроид кластера. После патчинга модель игнорирует естественное продолжение промпта и генерирует токен, коррелирующий с центроидом. Это подтверждает, что кластеры захватывают причинно-следственные связи в пространстве активаций, а не просто статистические артефакты.
Инструментарий
Для визуализации создан интерфейс Motio (motio.ratiokinetics.com), позволяющий исследовать «семантические законы движения» LLM через 8x8 сетку на уровне 6 и более глубокие уровни. Код и данные доступны на github.com/ratiokinetics/motio.
Источник: LessWrong ↗
