惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
博客园 - 司徒正美
A
About on SuperTechFans
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
爱范儿
爱范儿
I
InfoQ
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
F
Fortinet All Blogs
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Jina AI
Jina AI
H
Help Net Security
量子位
IT之家
IT之家

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Геометрия Attention: почему QK Norm это не просто костыль...
YH7H22 · 2026-05-18 · via Все публикации подряд на Хабре

Уровень сложностиСредний

Время на прочтение4 мин

Охват и читатели0

Привет, Хабр! Если вы следите за архитектурами современных LLM (например, LLaMA или Gemma), вы могли заметить одну маленькую, но важную деталь, которая стала стандартом де-факто - QK Norm (Query-Key Normalization).

В официальных пейперах её использование объясняют сухим математическим языком: при масштабировании моделей скалярные произведения Q * Kt  начинают неконтролируемо расти, Softmax превращается в единичный вектор (one-hot), градиенты затухают, и обучение разваливается. Нормализация решает эту проблему численной стабильности.

Это правда. Но мне кажется, что за этим скрывается нечто гораздо более интересное. В этой статье я хочу предложить теоретический взгляд на то, почему QK Norm дает буст не только к стабильности лосса, но и к фундаментальному качеству векторных представлений (эмбеддингов) слов.

Анатомия ленивой нейросети

Давайте вспомним, что такое скалярное произведение двух векторов (Query и Key) с точки зрения геометрии.
Формула известна со школы:

AB=∣A∣×∣B∣×cos(θ)

В механизме Attention скалярное произведение определяет, насколько сильно токен A хочет смотреть на токен B. Если нейросети нужно увеличить вес внимания между двумя словами (сделать их семантически близкими), у неё есть два пути:

  1. Изменить угол: Повернуть векторы так, чтобы они указывали в одном направлении в N-мерном пространстве

  2. Изменить длину:  Оставить векторы на месте, но просто удлинить их.

Нейронные сети, как известно, фантастически ленивы. Оптимизатору (тому же AdamW) гораздо проще градиентно "накачать" длину вектора (просто увеличивая веса линейного слоя), чем аккуратно вращать его в высокоразмерном пространстве, пытаясь не сломать угловые расстояния до десятков тысяч других токенов.

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

Отрезаем путь к отступлению: Геометрия QK Norm

Что мы делаем, когда применяем RMSNorm к матрицам Query и Key перед их перемножением?

Мы принудительно делаем их длину константой

Теперь наша формула скалярного произведения схлопывается до:

QK≈cos(θ)

Скалярное произведение превращается в чистое косинусное сходство (Cosine Similarity). Все векторы токенов оказываются заперты на поверхности N-мерной гиперсферы.

И вот тут начинается магия. Мы физически отрезали нейросети возможность изменять длину вектора. У неё остался только один вариант взаимодействия с данными, изменять положение вектора (угол).

Почему это дает буст к "пониманию"

Представьте себе комнату, в которой люди пытаются договориться.
Без QK Norm (когда длина вектора свободна), если кто-то хочет, чтобы его услышали, он может просто взять рупор и начать орать. Громкость компенсирует тот факт, что он стоит в другом конце комнаты.

С применением QK Norm мы отобрали у всех рупоры. Все говорят одинаково тихо. Теперь, чтобы слова одного человека повлияли на другого, им физически необходимо подойти друг к другу.

С точки зрения машинного обучения это приводит к потрясающим структурным изменениям в латентном пространстве:

  1. Смысловая плотность: Модель вынуждена филигранно кластеризовать векторы на поверхности гиперсферы. Токены собираются в строгие семантические созвездия исключительно по смыслу (по углу), а не по частоте появления в тексте.

  2. Защита от доминирующих токенов: В классическом трансформере "пустые" токены (вроде знаков препинания или предлогов) часто собирают на себя огромный вес внимания просто за счет раздутой длины весов (так называемые attention sinks). На гиперсфере у точек нет массы, есть только координаты.

  3. Лучшая генерализация: Когда пространство смыслов построено исключительно на относительных углах, модели проще интерполировать значения для новых, редко встречающихся слов.

Реализация на Pytorch

Код изменения классического Attention до безобразия прост. Нам нужно добавить всего пару строк:

import torch.nn as nn
import torch.nn.functional as F

class QKNormAttention(nn.Module):
    def __init__(self, d_model, n_heads):
        super().__init__()
        self.q_proj = nn.Linear(d_model, d_model)
        self.k_proj = nn.Linear(d_model, d_model)
        self.v_proj = nn.Linear(d_model, d_model)
        
        # Добавляем нормализацию для Q и K
        self.q_norm = nn.RMSNorm(d_model // n_heads)
        self.k_norm = nn.RMSNorm(d_model // n_heads)
        
    def forward(self, x):
        # ... (стандартное разделение на головы) ...
        
        # Применяем нормализацию ДО скалярного произведения
        q = self.q_norm(q)
        k = self.k_norm(k)
        
        # Теперь это по сути косинусное расстояние
        scores = torch.matmul(q, k.transpose(-2, -1))
        # Масштабирование на sqrt(d_k) часто можно убрать или заменить на обучаемый скаляр
        # (так называемый temperature parameter)
        
        attn = F.softmax(scores, dim=-1)
        # ... (дальше как обычно) ...

Заключение

Я не проводил масштабных A/B тестов (обучение LLM с нуля дорогое удовольствие), но этот мысленный эксперимент кажется мне предельно логичным.

Индустрия пришла к QK Norm через боль: модели масштаба 100B+ параметров просто отказывались стабильно обучаться без этого костыля. Но, возможно, решая инженерную проблему "взрыва логитов", инженеры случайно наткнулись на мощнейший регуляризатор репрезентаций.

Лишая сеть одной степени свободы (масштаба), мы заставляем её максимально эффективно использовать оставшуюся (позиционирование), что ведет к более глубокому и геометрически выверенному пониманию языка.

А что вы думаете об этом? Замечали ли вы улучшение качества эмбеддингов при переходе на косинусное внимание в своих проектах?