Hacker News Digest

Тег: #tensorrt-llm

Постов: 2

How attention sinks keep language models stable (hanlab.mit.edu)

Почему модели ломаются на длинных диалогах
При удалении старых токенов для экономии памяти модель начинает выдавать бессмыслицу. Причина — «attention sinks»: первые токены собирают избыточное внимание, потому что softmax требует, чтобы веса суммировались в 1.

StreamingLLM
Оставляем первые 4 токена навсегда, остальное сдвигаем окном. Работает до 4 млн токенов; уже в HuggingFace, TensorRT-LLM и новых OpenAI-моделях.

OpenAI и attention sinks
В GPT-OSS-20B/120B добавлен обучаемый скаляр в softmax каждой головы, позволяющий «не обращать внимания» — прямое наследие StreamingLLM.

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

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

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

by pr337h4m • 08 августа 2025 г. в 08:53 • 194 points

ОригиналHN

#attention-sinks#language-models#streamingllm#openai#bert#vit#llm#softmax#huggingface#tensorrt-llm

Комментарии (31)

  • Участники обсуждают «attention sinks» — токены-«стоки», на которые модель направляет избыточное внимание, чтобы не «размывать» полезную информацию.
  • Это поведение замечено и в BERT ([SEP], точки), и в ViT (фоновые патчи), и в GPT-OSS, где вместо добавления единицы к знаменателю обучают отдельный логит на каждую голову.
  • Синк-токены работают как «pressure valve», предотвращая over-mixing и давая модели «нулевой» вектор для случаев «не найдено».
  • Пользователи замечают, что первые слова («Hello», «Please») или CLS-подобные глобальные токены могут непреднамеренно служить такими стоками.
  • FOSS-реализации уже поддерживают приём: llama.cpp принял PR, а Diff-Transformer и другие идеи быстро переиспользуются.

Running GPT-OSS-120B at 500 tokens per second on Nvidia GPUs (baseten.co) 💬 Длинная дискуссия

  • В день выхода открытой модели вроде gpt-oss-120b мы сразу ускоряем её для клиентов, как партнёры запуска OpenAI. К концу дня запуска стали лидерами на NVIDIA по латентности и пропускной способности по данным OpenRouter.

  • Быстрая оптимизация обеспечена гибким стеком инференса и экспертизой команды; за время написания поста прибавили ещё ~100 ток/с при 100% аптайме.

  • Работы включали:

    • Тесты и бенчмарки в TensorRT-LLM, vLLM и SGLang.
    • Совместимость с архитектурами Hopper и Blackwell.
    • Интеграцию с нашим стеком (в т. ч. NVIDIA Dynamo).
    • Оптимизации: маршрутизация с учётом KV-кэша, спекулятивная генерация с Eagle.

Шаг 1: Первый инференс

  • Запускаем базовый инференс в любом доступном фреймворке и на нужных GPU/серверных уровнях.
  • Параллелим работу: одни пробуют vLLM и SGLang, другие — TensorRT-LLM; быстрее всего взлетел TensorRT-LLM.
  • Важно обслуживать модель и на Hopper (H100), и на Blackwell (B200) для широкой доступности и максимальной скорости.
  • Гибкость рантайма позволяет быстро переключать инструменты и обновлять матрицу поддержки.

Шаг 2: Исправление багов совместимости

  • Новые архитектуры приводят к тонким несовместимостям; GPT OSS добавил, например, Harmony — новый формат ответов.
  • Итеративно чиним и валидируем на скорость и корректность; по возможности контрибутим обратно в open source.
  • Благодаря сообществу есть несколько отличных путей запуска GPT OSS, проблемы быстро выявляются и чинятся.

Шаг 3: Оптимизация конфигурации

  • Хотя GPT OSS 120B можно запустить на одном H100, оптимально масштабировать на 4–8 GPU для лучшей латентности/throughput.
  • Рассмотрены два подхода параллелизма для MoE: тензорный и экспертный. Тензорный даёт меньшую задержку, экспертный — выше системную пропускную способность. Мы выбрали тензорный, так как приоритет — латентность.
  • Приняли MoE Backend в TensorRT-LLM (поддерживается на Blackwell, не на Hopper), который добавляет более быстрые CUDA-ядра и превосходит предыдущие решения.

by philipkiely • 07 августа 2025 г. в 02:28 • 217 points

ОригиналHN

#gpt-oss-120b#nvidia#tensorrt-llm#vllm#sglang#hopper#blackwell#nvidia-dynamo#llama#ollama

Комментарии (151)

  • Обсуждение крутится вокруг запуска и производительности GPT-OSS (20B/120B) на разном железе: от MacBook M-серии и RTX 4090/3050 до датацентровых H100/Blackwell и даже CPU.
  • Многие отмечают, что скорость хороша при малых контекстах; при >10k токенов начинается существенная деградация скорости и рост задержек, особенно без MCP/веб-доступа.
  • TensorRT-LLM часто даёт лучшую латентность/пропускную способность, но сложен в настройке; альтернативы вроде vLLM/SGLang проще, Llama/Оllama позволяют быстро поднять 20B локально и даже распределить по старым GPU.
  • Идут споры о “доступности” H100: купить дорого, но аренда широко доступна и выгоднее для нерегулярных нагрузок; при этом Blackwell с FP4 обещает ещё больший буст, в экосистеме Rust добавляют FP8/FP4.
  • Пользователи спрашивают про требования к VRAM, практичную локальную агентную разработку на потребительских GPU, и оптимальные настройки на Mac (например, iogpu.wired_limit_mb).
  • Обсуждают техники ускорения (спекулятивное декодирование — вызывающее вопросы пользы), причины падения токен/с при длинных диалогах, и различие prefill vs decode по узким местам.
  • Наряду с похвалами скорости есть критика: сложность стеков, неточности/галлюцинации ответов, «извиняльный» контент, и вопрос — зачем OpenAI выпускает OSS-модели и как это соотносится с доступностью железа.