Upstage выпустили Solar Open 2 - открытую модель на 250 миллиардов параметров с архитектурой Mixture-of-Experts и гибридным механизмом внимания. На каждый токен активируются 15 миллиардов параметров - это обеспечивает баланс между качеством и скоростью инференса. Главная инновация - Hybrid-Attention: три слоя линейного внимания чередуются с одним слоем классического softmax-внимания. Такая схема позволяет обрабатывать контекст длиной до 1 миллиона токенов без позиционного кодирования и сокращает объём KV-кэша в четыре раза по сравнению с полной softmax-архитектурой.
Модель обучена через перенос всего 2.3% весов из предыдущей версии Solar Open 1 на 102 миллиарда параметров. Это ускорило сходимость и снизило вычислительные затраты. На агентных бенчмарках Solar Open 2 показывает конкурентные результаты в задачах вызова инструментов и многошаговых рассуждений. Разберём архитектуру детально: как устроено гибридное внимание, почему отказ от RoPE решает проблему длинных контекстов и какие практические выгоды это даёт при развёртывании.
Что такое Solar Open 2 и почему это важно
Solar Open 2 - это sparse Mixture-of-Experts модель от южнокорейской компании Upstage. Полный объём параметров - 250 миллиардов, активных на токен - 15 миллиардов. Такой подход радикально снижает вычислительную нагрузку при инференсе: модель хранит знания 250B-архитектуры, но задействует лишь малую долю для каждого предсказания.
Ключевое архитектурное решение - Hybrid-Attention. Вместо того чтобы использовать softmax-внимание на всех 48 слоях трансформера, разработчики применили чередование: три слоя линейного внимания, затем один слой softmax-внимания. Линейное внимание не требует вычисления матрицы softmax и не хранит KV-кэш. Softmax-слои сохраняются для точности на критически важных участках сети.
Результат - модель поддерживает контекст до 1 миллиона токенов без позиционного кодирования (NoPE). Это прямое следствие гибридной архитектуры: линейные слои не зависят от позиционной информации, а редкие softmax-слои работают с относительно короткими окнами, где RoPE-экстраполяция не нужна. KV-кэш сокращается до четверти от объёма полной softmax-модели - кэшируются только 12 слоёв из 48. На практике это означает, что модель можно запустить на меньшем количестве GPU и с более длинными последовательностями, чем любой аналог сопоставимого размера.
Обучение провели через перенос 2.3% весов из Solar Open 1. Это не просто инициализация - это стратегия, которая позволила 250B-модели унаследовать знания 102B-предшественника и быстро выйти на целевые метрики без полного цикла тренировки с нуля. Сравнение с конкурентами, такими как Kimi K3 и другими открытыми моделями, показывает, что Solar Open 2 занимает сильную позицию в нише длинноконтекстных агентных задач.
Гибридное внимание: как чередование слоёв снимает ограничение контекста
Традиционные трансформеры используют scaled dot-product attention с функцией softmax. Вычислительная сложность такого механизма - O(n²) по длине последовательности, где n - количество токенов. Память для KV-кэша растёт линейно с длиной контекста и количеством слоёв. Для 48-слойной модели с 250B параметров при контексте 1M токенов это десятки гигабайт только под кэш.
Solar Open 2 решает проблему через Hybrid-Attention. Схема чередования: три слоя линейного внимания, затем один слой softmax-внимания. Цикл повторяется 12 раз - итого 36 линейных слоёв и 12 softmax-слоёв. Линейное внимание работает за O(n) по памяти и не требует хранения KV-кэша. Softmax-слои обеспечивают точность там, где линейной аппроксимации недостаточно - на стыках семантических блоков и при сложных зависимостях между удалёнными токенами.
Разберём, что происходит внутри каждого типа слоя.
Линейное внимание против softmax: что происходит внутри слоёв
В стандартном softmax-внимании для каждого токена вычисляются запрос (Q), ключ (K) и значение (V). Матрица внимания формируется через умножение Q на транспонированный K, затем применяется softmax по строкам, и результат умножается на V. Сложность - O(n²d), где d - размерность эмбеддинга. KV-кэш хранит матрицы K и V для всех предыдущих токенов на каждом слое.
Линейное внимание заменяет softmax на kernel-функцию - обычно это простое поэлементное преобразование, например, ELU плюс единица. Математический трюк: вместо вычисления матрицы n×n можно перемножить kernel-представления K и V в другом порядке, получив фиксированную матрицу d×d, которая обновляется инкрементально. Сложность падает до O(nd²). Для длинных последовательностей, где n значительно больше d, это даёт радикальный выигрыш.
KV-кэш для линейных слоёв не нужен. Вместо хранения полных матриц K и V для каждого токена модель поддерживает компактное состояние фиксированного размера - матрицу d×d и вектор d×1. При добавлении нового токена состояние обновляется за O(d²), а не за O(nd). Именно поэтому 36 из 48 слоёв Solar Open 2 не требуют кэширования.
Softmax-слои в Hybrid-Attention играют роль «якорей точности». Линейное внимание хорошо аппроксимирует полное внимание на коротких и средних дистанциях, но может терять информацию о редких, но важных зависимостях между далеко разнесёнными токенами. Расстановка softmax-слоёв через каждые три линейных позволяет сети восстанавливать эти зависимости до того, как ошибка аппроксимации накопится.
NoPE: отказ от позиционного кодирования и его последствия
Позиционное кодирование - стандартный компонент трансформеров, сообщающий модели порядок токенов. RoPE (Rotary Position Embedding) - самый популярный вариант, применяемый в Llama, Qwen и десятках других архитектур. Проблема RoPE - экстраполяция на длины последовательностей, превышающие тренировочные. При выходе за пределы обученного диапазона позиционные эмбеддинги теряют информативность, и качество модели падает.
Solar Open 2 обходится без позиционного кодирования - подход называется NoPE. Модель учится выводить порядок токенов из контекста, без явных позиционных сигналов. Это работает благодаря гибридной архитектуре: линейные слои по своей природе менее чувствительны к абсолютным позициям, поскольку оперируют агрегированным состоянием, а не попарными взаимодействиями токенов. Softmax-слои, которые могли бы страдать от отсутствия позиционной информации, получают на вход контекстные окна ограниченной длины - их задача не отслеживать позицию в миллионном документе, а уточнять локальные зависимости.
Результат - модель одинаково хорошо работает на контекстах любой длины вплоть до 1 миллиона токенов. Нет проблемы экстраполяции, нет необходимости в трюках вроде NTK-масштабирования или YaRN. Это особенно важно для агентных сценариев, где модель должна отслеживать состояние в длинных диалогах, обрабатывать логи программ или анализировать большие кодовые базы.
Практическая выгода: KV-кэш сокращён в 4 раза
KV-кэш - главный потребитель памяти при инференсе длинных последовательностей. Для стандартной 48-слойной модели с 250B параметров и контекстом 1M токенов размер кэша можно оценить так: каждый слой хранит ключи и значения размерностью d_model для каждого токена. При d_model порядка 8192 и 48 слоях это примерно 48 × 2 × 8192 × 1 000 000 × 2 байта (FP16) ≈ 1.5 терабайта. Цифра приблизительная, но порядок понятен - запуск на потребительском оборудовании невозможен.
Solar Open 2 кэширует только 12 softmax-слоёв. Линейные слои хранят компактное состояние фиксированного размера, которое не зависит от длины последовательности. Объём KV-кэша сокращается пропорционально доле softmax-слоёв - в четыре раза. Для контекста 1M токенов это всё ещё сотни гигабайт, но уже достижимые на серверных конфигурациях с несколькими GPU.
Сколько памяти экономится на практике: примеры для 1M токенов
Прикинем конкретные цифры. Возьмём d_model = 8192, 12 кэшируемых слоёв, FP16. KV-кэш: 12 × 2 × 8192 × 1 000 000 × 2 байта = примерно 393 гигабайта. Добавим веса модели: 250B параметров в FP16 - около 500 гигабайт. Суммарно - под 900 гигабайт без квантизации. Это укладывается в 8 GPU A100 по 80 ГБ с запасом на батчи и промежуточные вычисления.
Для сравнения: полная softmax-модель тех же размеров потребовала бы под 2 терабайта - вчетверо больше. При использовании 4-битной квантизации весов (около 125 ГБ) и 8-битного KV-кэша (около 196 ГБ) Solar Open 2 может поместиться на 4 GPU A100. Практические тесты инференса моделей такого класса, включая Laguna S 2.1 и другие MoE-архитектуры, подтверждают: сокращение KV-кэша напрямую влияет на минимальную конфигурацию для запуска.
Скорость инференса выигрывает дважды. Во-первых, меньше памяти - больше места для батча, выше пропускная способность. Во-вторых, линейные слои вычисляются быстрее softmax-слоёв, особенно на длинных последовательностях, где O(n) против O(n²) даёт экспоненциальный разрыв. На контексте 1M токенов разница во времени обработки одного слоя может достигать сотен раз.
Эффективное обучение: перенос всего 2.3% весов из Solar Open 1
Обучение 250B-модели с нуля - задача стоимостью в миллионы долларов. Upstage применили метод переноса весов: Solar Open 2 инициализирована из чекпоинта Solar Open 1 на 102B параметров. Перенесены только 2.3% весов - это слои, архитектура которых совпадает между моделями: эмбеддинги, часть feed-forward блоков и отдельные компоненты внимания.
Остальные 97.7% параметров инициализированы случайно и дообучены. С точки зрения сходимости это даёт эффект «разогретого старта»: модель не начинает с нуля, а уже обладает базовыми языковыми компетенциями, унаследованными от Solar Open 1. Время до выхода на плато по функции потерь сокращается кратно по сравнению с обучением с нуля. Точные цифры Upstage не раскрывают, но практика показывает, что даже частичный перенос весов может сократить количество тренировочных токенов на 30-50%.
Этот подход перекликается с трендом на демократизацию обучения, который мы разбирали в контексте открытых моделей: небольшие команды получают инструменты для масштабирования без астрономических бюджетов. Перенос весов между поколениями моделей становится стандартной практикой - он снижает порог входа и ускоряет итерации.
Результаты на агентных бенчмарках: tool calling и multi-step reasoning
Solar Open 2 проектировалась под агентные задачи - сценарии, где модель должна вызывать внешние инструменты, отслеживать состояние в длинных диалогах и выполнять цепочки рассуждений из нескольких шагов. Длинный контекст здесь критичен: агенту нужно помнить историю вызовов, результаты предыдущих шагов и системные инструкции.
На бенчмарках tool calling модель показывает результаты, сопоставимые с закрытыми аналогами. Точные цифры по BFCL и Berkeley Function Calling Leaderboard на момент написания не опубликованы, но разработчики заявляют о конкурентных показателях. Multi-step reasoning оценивается на задачах, требующих логического вывода в 5-10 шагов с промежуточными вычислениями - здесь длинный контекст без деградации даёт Solar Open 2 преимущество перед моделями с RoPE-экстраполяцией.
Практический сценарий: агент получает задачу проанализировать лог-файл размером 800 тысяч токенов, найти аномалии и сгенерировать отчёт. Solar Open 2 загружает весь файл в контекст, отслеживает паттерны через линейные слои и использует softmax-слои для точного сопоставления удалённых фрагментов. Модель с RoPE на такой длине либо откажется работать, либо потеряет связность на второй половине документа. Сравнение с другими моделями, включая DeepSeek и Kimi K3, показывает, что архитектурные решения Solar Open 2 дают ощутимый выигрыш именно на сверхдлинных последовательностях.
Как запустить Solar Open 2: оборудование, код и ограничения
Для инференса Solar Open 2 без квантизации потребуется 8 GPU A100 80GB или эквивалент. С 4-битной квантизацией весов модель помещается на 4 GPU A100. Для контекста 1M токенов критичен объём KV-кэша - на 4 GPU с квантизацией кэша до 8 бит укладывается контекст примерно до 500 тысяч токенов. Полный миллион токенов потребует либо 8 GPU, либо дополнительной оптимизации через vLLM с PagedAttention.
Пример инференса с Hugging Face Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "upstage/solar-open-2-250b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
torch_dtype="auto",
trust_remote_code=True
)
# Длинный контекст - модель поддерживает до 1M токенов
input_text = "Ваш документ на 500 тысяч токенов..."
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.7,
do_sample=True
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Для продакшена рекомендуется vLLM - он эффективнее управляет KV-кэшем и поддерживает continuous batching. Конфигурация для vLLM с квантизацией:
vllm serve upstage/solar-open-2-250b \
--tensor-parallel-size 8 \
--max-model-len 1000000 \
--quantization awq \
--kv-cache-dtype fp8
Лицензия модели - Apache 2.0, что разрешает коммерческое использование и модификацию. Ограничения: модель не поддерживает мультимодальность (только текст), не оптимизирована для стриминга с малой задержкой и требует значительных ресурсов для полного контекста. Для задач с короткими запросами выгода от Hybrid-Attention минимальна - модель интересна именно на дистанциях от 128 тысяч токенов и выше.
Upstage и эволюция Solar: от 102B к 250B
Upstage - южнокорейская AI-компания, основанная в 2020 году. Специализируется на больших языковых моделях и решениях для обработки документов. Solar Open 1, выпущенная в конце 2024 года, была 102B-моделью с традиционной архитектурой и контекстом 32 тысячи токенов. Модель получила умеренные оценки сообщества - достойное качество, но без прорывов.
Solar Open 2 - качественный скачок. Переход на Hybrid-Attention и NoPE - результат исследовательской работы, которая велась параллельно с эксплуатацией первой версии. Upstage выбрали стратегию открытых весов: модель опубликована на Hugging Face, доступна для коммерческого использования и аудита сообществом. Это вписывается в общий тренд 2025-2026 годов, когда открытые модели, такие как Kimi K3, догоняют и обходят закрытые аналоги по соотношению цена-качество.
Следующий шаг для Upstage - вероятно, мультимодальная версия и дальнейшее масштабирование MoE. Конкурентное давление растёт: новые архитектуры появляются ежемесячно, и удержание позиций требует постоянных итераций. Solar Open 2 задаёт высокую планку по длине контекста и эффективности памяти - теперь рынок ждёт, кто сможет повторить или превзойти этот результат.