HiLS-Attention: новая разреженная архитектура внимания Tencent для эффективных LLM | AiManual
AiManual Logo Ai / Manual.
10 Июл 2026 Инструмент

HiLS-Attention: Tencent ломает квадратичный барьер для локальных LLM

Разбираем HiLS-Attention от Tencent: chunk-wise sparse attention, 7B модель на Hugging Face, сравнение со Sliding Window и FlashAttention. Кому и зачем это нужн

Забудьте про квадратичную сложность. Tencent выкатила на Hugging Face модель с новой архитектурой внимания — HiLS-Attention. Разреженная, чанковая, без потери контекста. Разбираемся, почему это может стать стандартом для локальных LLM.

Квадратичный ад — и как из него выбраться

Каждый, кто запускал LLM локально, знает эту боль. Модель в 7B параметров, токенов 2048 — ещё терпимо. Пытаешься впихнуть 32K контекста — и память улетает в космос, а время генерации превращается в ожидание автобуса на окраине города. Всё из-за того, что стандартный механизм внимания растёт как O(n²) с длиной последовательности.

Tencent решили эту проблему не традиционным путём (слайдинг-окно, как в Mistral), а через разреженное внимание с умной стратификацией. Их решение называется HiLS-Attention — Hierarchical Layer-wise Sparse Attention (ну или просто «Хайлс», если не хотите ломать язык).

Суть: модель разбивает входной текст на чанки (chunks), внутри каждого считает полное внимание, а между чанками — разреженное по специально выбранным ключевым токенам. Звучит сложно, но на практике даёт до 4x ускорения при сохранении качества на длинных контекстах.

Как устроен HiLS-Attention? Заглядываем под капот

Вместо того чтобы считать attention-карту для всех пар токенов, HiLS делает четыре простых (на бумаге) шага:

  1. Чанкование — последовательность режется на фиксированные блоки (скажем, по 512 токенов).
  2. Внутричановое внимание — внутри каждого блока полный softmax, никаких компромиссов.
  3. Межчановое разрежение — из каждого блока выбираются K «голосующих» токенов (по важности score). Только они участвуют в перекрёстном внимании между блоками.
  4. Агрегация — результаты смешиваются через лёгкую сеть, чтобы не потерять связанные идеи.

Результат — сложность O(n * chunk_size + n * K), где K можно выставить хоть 16. Это почти линейно, ребята. Причём Tencent утверждают, что K=32 хватает, чтобы не уронить качество даже на задачах retrieval.

Сравнение с альтернативами: HiLS против Sliding Window, FlashAttention и других

На рынке уже есть способы бороться с квадратичным вниманием. Давайте приложим HiLS к линейке:

Метод Сложность Качество на длинных контекстах Простота интеграции
HiLS-Attention ~O(n) при K=32 Отличное (почти полное) Средняя (нужна доработка архитектуры)
Sliding Window (Mistral) O(n*window) Плохое для связи удалённых токенов Лёгкая
FlashAttention (распространённая оптимизация) O(n²) с I/O оптимизацией Оригинальное (не снижает) Средняя (patch для CUDA)
Sparse-фиксация (BigBird) O(n*log n) / O(n√n) Хорошее, но может терять детали Сложная (ручной выбор паттернов)
WeDLM (диффузия) O(n) на шаг, но много шагов Среднее (чуть уступает авторегрессии) Средняя (специфичный тренинг)

HiLS здесь — компромисс, который во многих сценариях выигрывает. Он не требует кастомных CUDA-ядер (как FlashAttention), не режет окно (как Mistral) и не заставляет сеть учить фиксированные паттерны (как BigBird). Всё решается на уровне дизайна трансформера.

Пример: как запустить модель HiLS-7B локально

Tencent выложила на Hugging Face 7B модель, обученную с HiLS-Attention. Пока она в виде исследовательского релиза, но попробовать можно уже сейчас. Установка стандартная через Transformers:

pip install transformers accelerate torch

Загружаем модель и токенизатор:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "tencent/HiLS-7B"  # примерное имя
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = "Напиши короткое эссе о влиянии разреженного внимания на скорость LLM."
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

# Генерация с контекстом до 8192 токенов (тут HiLS раскрывается)
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=True)
print(tokenizer.decode(outputs[0]))

Важный момент: модель использует кастомную конфигурацию attention. В Transformers нужно передать attn_implementation="eager" или дождаться интеграции HiLS в библиотеку. Tencent обещают PR в ближайшие недели. Пока можно форкнуть их репозиторий на Hugging Face.

Кому это реально нужно? (Спойлер: не только дата-сайентистам)

  • Локальщикам: если у вас видеокарта с 8-12 ГБ VRAM, вы сможете обрабатывать контексты в 16K+ токенов без out-of-memory. Раньше это было возможно только через квантизацию и чанкинг с потерей связности.
  • Разработчикам edge-устройств: HiLS требует меньше операций — меньше энергии. Отлично для нейроморфных чипов (кстати, конвертация в SNN тоже может выиграть от разреженности).
  • Исследователям: хотите понять, как работает разреженное внимание без тонны математики? Модель с открытым кодом — идеальный подопытный кролик.
  • Продакшн-инженерам: если вам нужно держать высокий throughput на CPU или слабых GPU, HiLS — кандидат на замену стандартного attention. А ещё Tentec уже показали Penguin-VL, так что видно вектор компании на эффективные модели.

Кому НЕ подойдёт: если вам нужно абсолютное качество на задачах, где каждый токен в истории важен (например, обработка научных статей с перекрёстными ссылками) — HiLS может чуть регрессировать из-за разрежения. Но для 99% чатов, суммаризаций и кода разница незаметна.

Прогноз: HiLS станет стандартом для локальных LLM?

У Tencent получилось то, что не удавалось многим: сделать разреженное внимание простым в реализации и одновременно достаточно качественным. Мы уже видели, как архитектуры LLM весны 2026 уходят от чистого dense внимания. Mistral со Sliding Window, Microsoft с LongRoPE, а теперь Tencent с HiLS. Если модель покажет себя надёжно на бенчмарках (Tencent обещает результаты на MMLU и LongBench), то я ставлю на то, что через год HiLS-подобные механизмы будут в каждом мало-мальски уважающем себя 7B релизе. Tencent уже показали, что умеют ускорять генерацию в 6 раз на математике — с HiLS это может стать нормой.

💡
Совет тем, кто хочет попробовать прямо сейчас: возьмите модель с HiLS и протестируйте на своей задаче с контекстом 8K. Сравните качество с Llama 3.2 8B и Mistral 7B v0.3. Если разница в ответах не более 5%, а скорость в 2-3 раза выше — смело переходите. Рекомендую запускать на облачном GPU от Vultr — у них есть инстансы с A100 по $2/час и отличная интеграция с Hugging Face.

А что делать, если модель не выложена или нужно дообучить свою? Tencent планируют открыть код тренировочного фреймворка. Пока можно использовать OpenLumara как легковесного агента для работы с такими моделями — он умеет динамически переключать длину контекста в зависимости от задачи.

Подписаться на канал