- Дата публикации
Granite 4.1: открытый ИИ от IBM с контекстом 512K и 8B, который догоняет прошлый 32B
Что нового
IBM выпустила линейку языковых моделей Granite 4.1: три плотных (dense) LLM на 3, 8 и 30 миллиардов параметров. Все они доступны по лицензии Apache 2.0 и ориентированы на корпоративные задачи.
Главные факты:
- Три размера: 3B, 8B и 30B параметров, все — плотные decoder-only трансформеры.
- Обучение: около 15 триллионов токенов в пять фаз, плюс отдельное длинноконтекстное обучение.
- Контекст: базовое окно 4K, расширенное до 512K токенов (для 8B и 30B) через Long Context Extension.
- SFT-данные: примерно 4,1 млн тщательно отобранных примеров для supervised fine-tuning.
- RL: многоступенчатое reinforcement learning с on-policy GRPO и DAPO-лоссом.
- Лицензия: Apache 2.0 — можно использовать в коммерческих продуктах, модифицировать и деплоить on-prem.
- Поддерживаемые языки: английский, немецкий, испанский, французский, японский, португальский, арабский, чешский, итальянский, корейский, нидерландский и китайский.
- FP8-варианты: отдельные fp8-сборки для vLLM, примерно −50% к памяти и диску за счёт 8-битных весов и активаций в линейных слоях.
По ключевым бенчмаркам Granite 4.1 выглядит так:
Base-модели (без инструкций)
- MMLU (5-shot): 66,47 (3B) / 73,60 (8B) / 78,44 (30B)
- MMLU-Pro (5-shot, CoT): 37,16 / 44,58 / 49,51
- BBH (3-shot, CoT): 63,84 / 73,83 / 80,66
- AGI Eval (3-shot): 54,32 / 61,68 / 69,20
- DROP (5-shot): 66,04 / 72,36 / 78,57
- GSM8K (8-shot): 72,93 / 73,54 / 83,78
- Minerva Math (4-shot): 38,00 / 43,42 / 45,66
- HumanEval pass@1 (код): 59,76 / 68,29 / 69,50
- HumanEval (StarCoder) pass@1: 76,19 / 79,24 / 81,52
- MMMLU (5-shot, мультиязычный): 56,59 / 64,73 / 73,36
Instruct-модели (чат и инструкции)
- MMLU (5-shot): 67,02 / 73,84 / 80,16
- MMLU-Pro (5-shot, CoT): 49,83 / 55,99 / 64,09
- BBH (3-shot, CoT): 75,83 / 80,51 / 83,74
- AGI Eval (0-shot, CoT): 65,16 / 72,43 / 77,80
- GPQA (0-shot, CoT): 31,70 / 41,96 / 45,76
- AlpacaEval 2.0: 38,57 / 50,08 / 56,16
- IFEval Avg: 82,30 / 87,06 / 89,65
- ArenaHard: 37,80 / 68,98 / 71,02
- MTBench Avg: 7,53 / 8,50 / 8,53
Математика (instruct):
- GSM8K (8-shot): 86,88 / 92,49 / 94,16
- GSM Symbolic (8-shot): 81,32 / 83,70 / 75,70
- Minerva Math (0-shot, CoT): 67,94 / 80,10 / 81,32
- DeepMind Math (0-shot, CoT): 64,64 / 80,07 / 81,93
Код (instruct):
- HumanEval pass@1: 79,27 / 87,20 / 89,63
- HumanEval+ pass@1: 74,39 / 80,49 / 85,98
- MBPP pass@1: 61,64 / 82,54 / 83,33
- MBPP+ pass@1: 52,91 / 70,64 / 71,69
- CRUXEval-O pass@1: 40,75 / 47,63 / 55,75
- BigCodeBench pass@1: 32,19 / 35,00 / 38,77
- Eval+ Avg pass@1: 67,05 / 80,21 / 82,66
Инструменты и мультиязычность:
- Tool Calling BFCL v3: 60,80 / 68,27 / 73,68
- MMMLU (5-shot): 57,61 / 64,84 / 73,71
- INCLUDE (5-shot): 52,05 / 58,89 / 67,26
- MGSM (8-shot): 70,00 / 82,32 / 71,12
Безопасность:
- SALAD-Bench: 93,95 / 95,80 / 96,41
- AttaQ: 81,88 / 81,19 / 85,76
- Tulu3 Safety Eval Avg: 66,84 / 75,57 / 78,19
Отдельный важный факт: Granite 4.1-8B instruct по суммарным бенчмаркам догоняет и местами обгоняет прошлую Granite 4.0-H-Small (32B-A9B MoE) при существенно меньшем числе параметров и более простой архитектуре.
Как это работает
Архитектура моделей
Все Granite 4.1 — это decoder-only плотные трансформеры с общими входными и выходными эмбеддингами. Внутри:
- Grouped Query Attention (GQA) — уменьшает нагрузку на память за счёт группировки ключей/значений.
- RoPE (Rotary Position Embeddings) — позиционные эмбеддинги, которые хорошо масштабируются на длинный контекст.
- SwiGLU в MLP-слое — более эффективная активация, чем классический GELU.
- RMSNorm — нормализация вместо LayerNorm, даёт стабильность и скорость.
Параметры по размерам:
-
3B
- Embedding size: 2560
- 40 слоёв
- Размер головы внимания: 64
- 40 attention heads, 8 KV-heads
- MLP hidden: 8192, активация SwiGLU
-
8B
- Embedding size: 4096
- 40 слоёв
- Размер головы внимания: 128
- 32 attention heads, 8 KV-heads
- MLP hidden: 12800, SwiGLU
-
30B
- Embedding size: 4096
- 64 слоя
- Размер головы внимания: 128
- 32 attention heads, 8 KV-heads
- MLP hidden: 32768, SwiGLU
У всех трёх — одинаковый тренировочный пайплайн и стратегия данных, различаются только размеры слоёв.
Пять фаз предобучения на 15T токенов
IBM делает акцент не на «ещё больше данных», а на поэтапное ужесточение качества датасета. Всего пять фаз.
Фаза 1: общее предобучение (10T токенов)
Модель учится базовому языковому пониманию на широкой смеси:
- CommonCrawl: ~59%
- Код: ~20%
- Математика: ~7%
- Технические тексты: ~10,5% (статьи, документация, мануалы)
- Мультиязычные данные: ~2%
- Доменные данные: ~1,5%
Используется power learning rate schedule с разогревом.
Фаза 2: акцент на код и математику (2T токенов)
Цель — резко усилить логическое и математическое мышление:
- Математика: ~35% (примерно в 5 раз больше, чем в фазе 1)
- Код: ~30% (в 1,5 раза больше)
- CommonCrawl-HQ (отфильтрованный): ~12%
- Синтетические данные: ~9%
- Технические тексты: ~10%
- Мультиязычные: ~3%
- Доменные: ~1%
Фаза 3: high-quality data annealing (2T токенов)
Переход к mid-training и более «чистой» смеси. Здесь появляются chain-of-thought и синтетические инструкции. Learning rate — с экспоненциальным спадом.
Состав:
- CommonCrawl-HQ: ~16,67%
- Математика: ~16,67%
- Код: ~16,67%
- Синтетика: ~8,5%
- Технические тексты: ~12,5%
- Мультиязычные: ~4,5%
- Long Chain-of-Thought: ~12,5% (развёрнутые рассуждения)
- Языковые инструкции: ~7,5%
- Кодовые инструкции: ~4,5%
Фаза 4: доработка на самом качественном датасете (0,5T токенов)
Линейный спад learning rate до нуля. Модель концентрируется на самых полезных типах данных:
- CommonCrawl-HQ: ~40%
- Код: ~20%
- Математика: ~20%
- Long Chain-of-Thought: ~6%
- Кодовые инструкции: ~5%
- Языковые инструкции: ~9%
К этому моменту смесь почти полностью смещается от «сырых» веб-данных к отфильтрованным текстам и задачам с рассуждениями.
Фаза 5: Long Context Extension (до 512K токенов)
Отдельный этап mid-training, который увеличивает контекст с 4K до 512K токенов в несколько шагов:
- До 32K — с той же смесью, что в фазе 4.
- До 128K — снова та же смесь.
- До 512K — уже другая пропорция: 80% книги + 20% код из репозиториев (только для 8B и 30B).
Learning rate в LCE: экспоненциальное затухание от 1e-4 до 0. После каждого шага расширения контекста IBM мерджит веса с предыдущей версией, чтобы длинный контекст не ломал качество на коротких запросах.
RULER-показатели базовых моделей (длинный контекст):
- granite-4.1-3b-base: 75,0 (32K) / 66,6 (64K) / 58,0 (128K)
- granite-4.1-8b-base: 83,6 / 79,1 / 73,0
- granite-4.1-30b-base: 85,2 / 84,6 / 76,7
Supervised fine-tuning: 4,1 млн отобранных диалогов
SFT — этап, который превращает базовую модель в ассистента, умеющего следовать инструкциям. IBM очень жёстко относится к качеству примеров: даже небольшой процент «галлюцинаций» может закрепить плохое поведение.
Пайплайн SFT:
-
LLM-as-Judge
- Оценивает только ответы ассистента, а не промпты и контекст.
- В RAG-сценариях проверяет, привязан ли ответ к вытащенным документам.
- Для tool calling сверяет, что используются только разрешённые инструменты с корректными параметрами.
-
Специализированные промпты-судьи
- Отдельные промпты для:
- многотуровых диалогов,
- RAG-ответов,
- вызовов инструментов,
- мультиязычных диалогов.
- Отдельные промпты для:
-
Оценка по 6 измерениям
- Следование инструкции,
- корректность,
- полнота,
- краткость,
- естественность,
- калибровка (включая опциональную «критичность мышления»).
Каждый пример получает вердикт: accept / borderline / reject. Есть жёсткие правила «hard reject» — галлюцинации, ложные посылки, ошибочные вычисления отбрасываются независимо от общей оценки.
- Правила и валидация структуры
- Нормализация текста,
- фильтрация по длине и усечению,
- проверка схем (особенно для tool calling),
- поиск утечек (например, приватных данных).
- Глобальная дедупликация по всему датасету.
Все действия фильтрации и исправления — аудируемые.
Тренировка SFT:
- Примеров: ~4,1 млн
- Эпохи: 3
- LR: 5e-6 (3% warmup, линейный спад за ~25K шагов)
- Sequence length: 16 384 токена
- Эффективный batch: 256 примеров / итерация (~4,2 млн токенов / итерация)
- Железо: 16 нод по 4× NVIDIA GB200 на каждую
Reinforcement learning: четыре стадии
После SFT IBM добавляет многоступенчатый RL-пайплайн, чтобы целенаправленно усилить разные способности.
Метод:
- On-policy GRPO (Group Relative Policy Optimization)
- DAPO loss (Decoupled Clip and Dynamic sAmpling Policy Optimization) для более стабильного градиента. Динамический сэмплинг в их запусках отключён из-за стоимости.
Конфигурация RL:
- Стек: SkyRL (NovaSky-AI, 2025)
- Samples per prompt: 16
- Train batch size: 1024
- Context length: 8192 токена
Стадия 1: Multi-domain RL
Модель учится одновременно на смеси разных доменов, чтобы не «забывать» старые навыки при обучении новым.
Доменов несколько:
- Математика
- Научные знания
- Логическое рассуждение
- Instruction Following (сложные инструкции)
- Структурированный вывод (JSON, таблицы и т.п.)
- Text2SQL
- Временное (temporal) рассуждение
- Общий чат
- In-context learning
Параметры:
- Уникальных промптов: ~45 504 (в среднем по семейству 4.1)
- LR: 5e-7
- KL-коэфф β: 0,05
Стадия 2: RLHF для чата
Цель — сделать ассистента более полезным и приятным в диалоге.
- Используется мультиязычная scalar reward-модель.
- Фокус — generic chat-промпты.
Результат: в среднем +18,9 пункта в Alpaca-Eval по сравнению с чистым SFT.
Параметры:
- LR: 3e-7
- KL-коэфф β: 0,09 (чтобы сильнее удерживать политику рядом с SFT и не ломать знания)
- Уникальных промптов: ~17 920
Стадия 3: Identity & Knowledge Calibration RL
Короткий этап (~40 шагов обучения), который улучшает способность модели правильно описывать себя и свои знания.
- Тренировка на промптах по самодекларации и калибровке знаний.
- Те же параметры, что и в RLHF: LR 3e-7, β = 0,09.
- Уникальных промптов: ~1 728.
Стадия 4: Math RL
RLHF-этап немного просаживает результаты по математике (например, GSM8K, DeepMind Math). Отдельный math-RL это исправляет и даёт прирост.
Результаты относительно SFT-чекпоинтов:
- GSM8K: +~3,8 пункта в среднем
- DeepMind Math: +~23,48 пункта в среднем
Параметры:
- Уникальных промптов: ~13 504
- LR: 5e-7
- β: 0,05 (как в multi-domain RL)
Инфраструктура
Granite 4.1 обучали на кластере NVIDIA GB200 NVL72 у CoreWeave.
- Внутри стойки: NVLink-домен на 72 GPU.
- Между стойками: неблокирующий Fat-Tree NDR 400 Gb/s InfiniBand.
- Масштаб — тысячи GPU по всему кластеру.
Это даёт достаточно пропускной способности, чтобы прогнать 15T+ токенов только на предобучении плюс все этапы SFT и RL.
Что это значит для вас
Где Granite 4.1 сильна
-
Корпоративные ассистенты и чат-боты
- Instruct-модели показывают высокие результаты на AlpacaEval 2.0 (до 56,16 у 30B) и ArenaHard (до 71,02).
- Хорошо следуют инструкциям (IFEval до 89,65) и умеют держать стиль диалога.
-
Код и автоматизация разработки
- HumanEval pass@1 до 89,63, HumanEval+ до 85,98, MBPP+ до 71,69.
- Подходят для автодополнения кода, генерации тестов, шаблонов, скриптов миграции.
- В связке с tool calling можно строить автогенерацию pull request’ов и интеграции с CI.
-
Математика и аналитика
- GSM8K до 94,16, DeepMind Math до 81,93 (0-shot, CoT).
- Подходят для сложных расчётов, проверки формул, помощи с аналитикой и отчётами.
-
Мультиязычные сценарии
- Поддержка 12 языков, MMMLU до 73,71, INCLUDE до 67,26.
- Можно строить многоязычные чат-боты, внутренние ассистенты для глобальных команд, FAQ на нескольких языках.
-
Интеграции с инструментами (tool calling)
- BFCL v3 до 73,68.
- Модель умеет корректно формировать JSON-запросы к функциям с нужными параметрами.
- Это база для сложных workflow: CRM, базы данных, внутренние API.
-
Длинные документы и knowledge management
- Контекст до 512K токенов (8B и 30B).
- Можно скармливать большие отчёты, кодовые базы, документацию и работать с ними без сложных шардирующих схем.
-
Он-прем и контроль над данными
- Лицензия Apache 2.0, открытые веса.
- Можно развернуть в собственном дата-центре или у любого облачного провайдера.
- Важный плюс для компаний с жёсткими требованиями по приватности.
Где Granite 4.1 слабее или требует осторожности
-
По абсолютному качеству против топовых закрытых моделей
- В тексте нет прямого сравнения с GPT-4-классом, но по значениям MMLU/MMLU-Pro видно, что Granite 4.1 ориентирован скорее на сильный open-source сегмент, а не на гонку с самыми дорогими проприетарными моделями.
- Для задач, где критичны максимальные показатели по reasoning на уровне SOTA, придётся сравнивать на своих бенчмарках.
-
Генерация очень длинных цепочек рассуждений
- IBM сознательно не опирается на длинные chain-of-thought при инференсе, чтобы держать стабильный latency и предсказуемое количество токенов.
- Это плюс для продакшена, но минус, если вы хотите явно видеть развернутые объяснения на каждый шаг.
-
Требования к железу
- 30B и особенно его длинноконтекстная версия потребуют серьёзного GPU-ресурса.
- FP8-варианты снижают память примерно на 50%, но всё равно это не «запуск на ноутбуке».
-
Использование в России
- IBM и CoreWeave официально не ориентируются на российский рынок.
- Чтобы работать с Granite 4.1 через зарубежные облака или GitHub/Hugging Face, может понадобиться VPN и юридическая экспертиза по санкциям.
- Локальный запуск возможен, если вы скачаете веса и разворачиваете их на собственной инфраструктуре без внешних API.
Практические сценарии по размерам
-
3B
- Подходит для лёгких ассистентов, простых чат-ботов, локального автодополнения кода.
- Хороший вариант, если у вас ограниченный GPU-ресурс и нет жёстких требований по качеству на сложных задачах.
-
8B
- Золотая середина: по данным IBM, догоняет и местами обгоняет предыдущее MoE-решение Granite 4.0-H-Small (32B-A9B) при меньшем размере.
- Оптимален для большинства корпоративных ассистентов, внутренних инструментов разработчика, RAG-систем.
-
30B
- Максимальное качество в семействе 4.1.
- Стоит рассматривать для сложных аналитических задач, продвинутых кодовых ассистентов, систем поддержки экспертов.
Если вы строите продукт в России и не хотите зависеть от внешних API, Granite 4.1 — интересный кандидат: открытая лицензия, сильные бенчмарки, поддержка инструментов и длинного контекста.
Место на рынке
Внутри семейства Granite
IBM сама сравнивает Granite 4.1-8B с Granite 4.0-H-Small (32B-A9B MoE):
- 4.1-8B — плотная модель на 8B параметров.
- 4.0-H-Small — MoE-модель с 32B общих параметров и 9B активных.
По графику (в тексте описан, без чисел) 4.1-8B не уступает и часто превосходит 4.0-H-Small на:
- IFEval
- AlpacaEval
- MMLU-Pro
- BBH
- GSM8K
- DeepMind-Math
- EvalPlus
- ArenaHard
- BFCL V3
- MBPP (+)
Вывод для практики: если вы уже смотрели на Granite 4.0-H-Small, сейчас логичнее брать Granite 4.1-8B — проще архитектура, меньше параметров, при этом качество как минимум не хуже.
Против других open-source LLM
В исходных данных нет прямых таблиц против конкретных моделей вроде LLaMA или Mistral, поэтому можно опираться только на то, что есть:
- MMLU 78–80+ и MMLU-Pro до 64 указывает на уровень сильных современных open-source моделей среднего и крупного размера.
- Сильные показатели на HumanEval / MBPP и BFCL v3 делают Granite 4.1 конкурентным выбором именно для корпоративного кода и инструментальных сценариев.
IBM делает ставку не на рекордные бенчмарки любой ценой, а на комбинацию:
- открытая лицензия Apache 2.0,
- предсказуемая стоимость (нет длинных CoT-трасс),
- длинный контекст до 512K,
- хорошая поддержка tool calling.
Это ниша «production-ready open-source для бизнеса», где важны управляемые расходы и контроль над данными.
Установка
Granite 4.1 распространяется как стандартные модели Hugging Face. Ниже — пример запуска granite-4.1-30b с поддержкой tool calling.
pip install torch torchvision torchaudio
pip install accelerate
pip install transformers
Как запустить
Пример кода на Python для granite-4.1-30b с вызовом инструмента get_current_weather:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "ibm-granite/granite-4.1-30b"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather for a specified city.",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Name of the city"
}
},
"required": ["city"]
}
}
}
]
chat = [
{
"role": "user",
"content": "What's the weather like in London right now?"
},
]
chat = tokenizer.apply_chat_template(
chat,
tokenize=False,
tools=tools,
add_generation_prompt=True
)
input_tokens = tokenizer(chat, return_tensors="pt").to(device)
output = model.generate(**input_tokens, max_new_tokens=100)
output = tokenizer.batch_decode(output)
print(output[0])
Ожидаемый фрагмент вывода (сокращён до сути tool calling):
<|start_of_role|>assistant<|end_of_role|><tool_call> {"name": "get_current_weather", "arguments": {"city": "London"}} </tool_call><|end_of_text|>
Этот формат удобно парсить на бэкенде: вы извлекаете JSON из блока <tool_call>...</tool_call>, вызываете свой сервис погоды и затем передаёте результат модели для финального ответа пользователю.
Granite 4.1 — это семейство открытых моделей, которые закрывают типичные потребности бизнеса: чат, код, аналитика, мультиязычность и работа с длинными документами. Если вы строите собственную ИИ-платформу, хотите контролировать данные и стоимость, но не готовы мириться с «сырыми» экспериментальными LLM, это один из сильных кандидатов для пилота и продакшена.