Все новости
Ежедневный обзор

Главные новости ИИ и GPU за день

20 практических материалов об ИИ и GPU, опубликованных в нашем Telegram-канале 2026-09-29.

30 сентября 2026

Главные новости ИИ и GPU за день
GPU и инфраструктура1/20

NCCL: algbw и busbw — не две скорости GPU

NCCL: algbw и busbw — не две скорости GPU

Факт. В nccl-tests algbw — размер данных, делённый на время операции. busbw — расчётная метрика с поправкой на тип collective и число ranks, а не отдельное измерение физического порта.

Для AllReduce: busbw = algbw × 2 × (n−1) / n, где n — число ranks. При четырёх ranks условные 100 GB/s algbw дают 150 GB/s busbw. Это арифметический пример, не результат теста сервера.

Зачем: перепутав столбцы, можно ошибочно забраковать interconnect или обещать LLM скорость, которой benchmark не измерял.

Как применить 1. Сохраните команду теста, версии NCCL/nccl-tests, число ranks и GPU topology. Сравнивайте одинаковые collective, размеры сообщений, dtype и режим in-place/out-of-place. 2. В отчёте оставьте size | time | algbw | busbw вместе с единицами из заголовка. Не подставляйте algbw в норму, заданную для busbw. 3. Для маленьких сообщений смотрите прежде всего latency; для больших — bandwidth. После проверки обмена измерьте свой LLM workload: benchmark связи не выдаёт tokens/s модели.

Ловушка: busbw не равна сумме рекламных скоростей всех NVLink. У других collective поправка другая; расчёт не заменяет анализ topology и реального узкого места.

Каталог GPU Verum: https://verum-ai.uz — доступность нужной конфигурации уточняйте отдельно.

Искусственный интеллект2/20

Qwen3.5-4B: для текстового чата отключите vision

Qwen3.5-4B: для текстового чата отключите vision

Qwen Team выпустила Qwen3.5-4B 2 марта 2026 года: открытые веса Apache 2.0, текст, изображения и видео на входе. Это не сегодняшний релиз, а полезная настройка уже доступной модели.

Факт: в официальном примере vLLM флаг --language-model-only пропускает vision encoder и multimodal profiling, освобождая память для дополнительного KV cache. Просто отправлять только текст — не то же самое, что включить этот режим.

Как применить: 1. Убедитесь, что endpoint обслуживает только текст: скриншоты, сканы и видео ему не нужны. 2. В совместимой версии vLLM добавьте --language-model-only к рабочей команде vllm serve Qwen/Qwen3.5-4B, сохранив остальные параметры. Проверьте поддержку флага через help; перезапустите тестовый сервер. 3. На одинаковых запросах сравните ёмкость KV cache в логах запуска, задержку и число одновременных запросов без OOM. Не меняйте одновременно context, precision и лимит памяти.

Почему важно: прежде чем брать GPU с большей VRAM, уберите ненужную модальность. Общая занятая VRAM может почти не снизиться: vLLM использует освободившееся место под cache.

Ограничение: изображения и видео в этом режиме недоступны. Размер экономии не обещан; штатные 262 144 tokens context не гарантируют, что всё поместится на вашем GPU. Это настройка inference, не рецепт fine-tuning.

Каталог GPU: https://verum-ai.uz — наличие нужной конфигурации уточняйте отдельно.

Искусственный интеллект3/20

ИИ сделал JSON, но API его отвергает? Проверьте NaN

ИИ сделал JSON, но API его отвергает? Проверьте NaN

Python json.dumps() по умолчанию выводит NaN, Infinity и -Infinity, хотя стандарт JSON их не допускает. Поэтому «код выполнился» ещё не означает «payload пригоден для API»: нечисловой результат расчёта может сломать экспорт.

Как применить 1. Попросите ИИ включить строгую сериализацию: body = json.dumps(payload, allow_nan=False). Для таких значений она выдаст ValueError до отправки. 2. При ошибке найдите проблемное поле и причину. Не заменяйте NaN нулём автоматически. None превратится в null — используйте это только если API разрешает отсутствие значения. 3. Добавьте тесты: NaN и обе бесконечности должны отклоняться; обычное число — проходить. Сначала соберите строку JSON целиком, потом отправляйте или записывайте файл.

Готовый prompt Проверь Python-экспорт payload в JSON. Запрети NaN/Infinity через allow_nan=False. Не подменяй ошибочные числа нулём или null без правила API. Добавь тесты для nan, inf, -inf и обычного числа. Покажи реальные результаты тестов.

Ограничение: этот флаг не проверяет схему API, обязательные поля и допустимые диапазоны. Это один барьер, не полная валидация.

Источник: https://docs.python.org/3/library/json.html#infinite-and-nan-number-values Verum AI: https://verum-ai.uz

GPU и инфраструктура4/20

Модель загрузилась — а CUDA ещё нужна память

Модель загрузилась — а CUDA ещё нужна память

Факт: при CUDA lazy loading часть модулей загружается только по мере необходимости. NVIDIA предупреждает: если приложение забрало всю VRAM на старте, позже памяти для модулей может не хватить. Успешная загрузка weights ещё не доказывает, что первый рабочий запрос пройдёт без OOM.

Что делать: 1. После запуска выполните warmup по реальным путям обработки: нужные batch sizes, длины входа и modalities. Один короткий текстовый запрос не проверяет путь обработки изображений. 2. Дождитесь завершения GPU-работы и сравните свободную VRAM до и после warmup. Для общего снимка устройства: nvidia-smi --query-gpu=uuid,memory.used,memory.free --format=csv. Это не точный размер модулей: память меняется и по другим причинам. 3. Если приложение резервирует почти всю VRAM заранее, уменьшите его memory budget и повторите нагрузку. Оставляйте запас по замерам, а не по универсальному проценту; открывайте сервис для запросов после успешного warmup.

Ограничение: warmup покрывает только выполненные пути. Новая форма входа может потребовать других kernels. CUDA_MODULE_LOADING=EAGER меняет момент загрузки, но не добавляет VRAM и не лечит любой OOM.

Каталог GPU-конфигураций: https://verum-ai.uz — наличие нужного узла уточняйте отдельно.

Искусственный интеллект5/20

Nemotron 3 Nano: 1M context не включается сам

Nemotron 3 Nano: 1M context не включается сам

NVIDIA выпустила Nemotron 3 Nano 30B-A3B 15 декабря 2025 года: текстовая MoE-модель с открытыми весами под NVIDIA Nemotron Open Model License. Здесь речь о BF16 checkpoint, не о новом релизе сегодня.

Факт: модель поддерживает context до 1M tokens, но в её Hugging Face config по умолчанию стоит 262144. NVIDIA объясняет меньший default повышенными требованиями к VRAM на длинном context. Заявленная ёмкость модели и лимит запущенного сервера — разные вещи.

Как применять: 1. Проверьте фактический --max-model-len в запуске vLLM и размер входа после chat template; оставьте место для ответа. 2. Если действительно нужен длиннее context, официальный пример для этой модели задаёт VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 и --max-model-len 1M. Это настройки существующей команды запуска, не полная команда. 3. До рабочего трафика испытайте длинный запрос, затем планируемую concurrency. Измерьте VRAM, время до первого token и проверьте извлечение фактов из начала, середины и конца документа.

Ловушка: флаг разрешает длинный context, но не добавляет GPU-память. Не покупайте GPU по числу «1M»: сначала проверьте свой workload. Большое окно также не гарантирует точный ответ.

Каталог GPU-конфигураций: https://verum-ai.uz — наличие выбранного узла уточняйте отдельно.

Искусственный интеллект6/20

ИИ выбрал лучший ответ? Поменяйте ответы местами

ИИ выбрал лучший ответ? Поменяйте ответы местами

Факт: OpenAI отмечает position bias у LLM-as-judge: порядок ответов может влиять на оценку. Если поручаете ИИ сравнить два текста, победить может не качество, а место в списке.

Как проверить 1. Уберите названия моделей и авторов. Дайте исходную задачу, необходимые источники и одну rubric: точность, выполнение требований, отсутствие неподтверждённых фактов. Разрешите ничью и «недостаточно данных». 2. В новом диалоге покажите ответы как A и B. Затем в другом новом диалоге повторите ту же проверку, поменяв тексты местами. Rubric и модель-судью не меняйте; первый вердикт не показывайте. 3. Сопоставьте победителя с исходным текстом, а не буквой. Если сначала победил A, а после перестановки B — это может быть один и тот же ответ. Если выбор самого текста изменился, отметьте пару как нестабильную и проверьте вручную, не засчитывайте уверенную победу.

Готовый prompt Сравни ответы A и B на задачу [задача]. Критерии: [rubric]. Источники: [материалы]. Для каждого критерия приведи короткое подтверждение из ответов. Итог: A / B / ничья / недостаточно данных. Не предпочитай ответ только за длину или позицию. A: […] B: […]

Ограничение: перестановка выявляет нестабильность, но не доказывает её причину: ответы судьи тоже меняются. Совпавшие вердикты не гарантируют истину; важные факты сверяйте с источниками.

Verum AI: https://verum-ai.uz

Искусственный интеллект7/20

PyTorch: record_stream() не ждёт готовности данных

PyTorch: record_stream() не ждёт готовности данных

Факт: у CUDA streams две разные задачи: упорядочить вычисления и не дать allocator переиспользовать память слишком рано. wait_stream() задаёт зависимость между streams; tensor.record_stream(s) сообщает allocator, что tensor используется в stream s. Второе не заменяет первое.

Почему важно: перенос операции в дополнительный stream без этих условий может дать гонку данных вместо ускорения — даже на одном GPU.

Как применять в своём PyTorch-коде: 1. Найдите stream, который подготовил входной tensor, и stream s, который его читает. После постановки подготовки в очередь, но до постановки чтения вызовите s.wait_stream(producer), где producer — исходный stream. 2. Поставьте вычисление в очередь s через with torch.cuda.stream(s):. Для входного tensor, созданного в другом stream, вызовите x.record_stream(s) после постановки работы и до удаления последней ссылки на x. Это защищает память от преждевременного повторного использования. 3. Перед использованием результата в другом GPU stream задайте ожидание s в том stream. Сравните результат с вариантом на одном stream при тех же входах; только затем измеряйте скорость.

Ловушка: record_stream не запрещает вашему коду перезаписать tensor. До завершения чтения не меняйте его содержимое. Дополнительный stream сам по себе не гарантирует ускорения; слишком ранние ожидания убирают overlap.

Verum AI: https://verum-ai.uz

Искусственный интеллект8/20

ИИ сделал сводку — куда исчезли записи без отдела?

ИИ сделал сводку — куда исчезли записи без отдела?

Факт: в pandas groupby() по умолчанию использует dropna=True: строки с NA в ключе группировки не входят в группы. ИИ может написать корректный код, но итоговый отчёт потеряет часть записей — например, расходы без указанного отдела.

Как применить: 1. До группировки попросите посчитать строки и пропуски в ключе: df["department"].isna().sum(). 2. Если отчёт должен охватывать все записи, сохраните отдельную NA-группу: g = df.groupby("department", dropna=False). Для количества строк используйте g.size(). 3. Сверьте g.size().sum() == len(df) до фильтрации групп. Если проверка не проходит, остановите выпуск отчёта, а не подгоняйте итог.

Готовый prompt: Сделай сводку по department через pandas. Сохрани строки с NA в ключе через dropna=False. Покажи число исходных строк, число NA и размер каждой группы. Реально выполни проверку сохранения числа строк. Исходный файл не меняй.

Ловушка: count() считает непустые значения выбранного столбца, а не все строки. Пустая строка и пробелы — не обязательно NA: правила их обработки задайте отдельно. Сверка количества не доказывает правильность денежных сумм.

Каталог GPU-конфигураций Verum: https://verum-ai.uz

Искусственный интеллект9/20

cuDNN: autotune может тормозить на разных размерах

cuDNN: autotune может тормозить на разных размерах

Факт: при torch.backends.cudnn.benchmark = True cuDNN может тестировать несколько алгоритмов свёртки для нового набора размеров, затем использовать выбранный для таких же размеров. Если shapes часто меняются, повторный подбор способен съесть выигрыш.

Зачем: в CNN для изображений задержка может расти из-за autotune, а не из-за слабого GPU. Флаг — не универсальный ускоритель LLM.

Три шага: 1. Запишите реальные shapes входа, включая batch size. Для теста сохраните одну и ту же последовательность изображений, модель и precision. 2. В отдельных запусках сравните torch.backends.cudnn.benchmark = False и True, задав флаг до вычислений. Измерьте отдельно старт и работу после warmup; при замере времени дождитесь завершения CUDA. 3. Если размеры сильно различаются, проверьте вариант с False. Для повторяющихся shapes оставьте True только при измеренном выигрыше. Сравните задержку и качество, прежде чем менять GPU.

Ловушка: benchmark=False не гарантирует детерминированный результат: выбранный алгоритм сам может быть недетерминированным. Воспроизводимость настраивается отдельно.

Каталог GPU Verum AI: https://verum-ai.uz — доступность конфигурации уточняйте отдельно.

Искусственный интеллект10/20

Olmo 3: для короткой задачи попробуйте Instruct, а не Think

Olmo 3: для короткой задачи попробуйте Instruct, а не Think

Ai2 выпустил Olmo 3 20 ноября 2025 года. Это не новинка дня. allenai/Olmo-3-7B-Instruct — текстовая модель с открытыми весами, Apache 2.0; в её config context — 65 536 tokens. В семействе есть отдельные Think-модели на 7B и 32B.

Факт: Ai2 описывает Instruct как вариант для чата, tool use и быстрых ответов: он генерирует более короткие последовательности, чем соответствующий Think. Для извлечения полей или короткой классификации длинное reasoning может быть лишним расходом времени.

Три шага: 1. Сравните Olmo-3-7B-Instruct и Olmo-3-7B-Think на одинаковых реальных задачах с заранее заданными правильными ответами. Используйте штатный chat template каждого checkpoint. 2. Сохраните одинаковые GPU, precision и concurrency. Считайте все выходные tokens, включая reasoning; измеряйте время полного ответа и долю верных результатов, а не только tokens/s. 3. Оставляйте Instruct для задач, где качество проходит ваш порог. Сложные задачи проверяйте отдельно на Think. После выбора измерьте пиковую VRAM с рабочими context и batch.

Ограничение: более короткий ответ не уменьшает автоматически память весов и не гарантирует ускорение на вашей нагрузке. Model card указывает English: RU/UZ нужно тестировать отдельно. Опубликованные benchmarks не заменяют такой тест; численного выигрыша для вашего GPU здесь не обещаем.

Каталог GPU Verum: https://verum-ai.uz — наличие конфигурации уточняйте отдельно.

Искусственный интеллект11/20

ИИ проверил код — или только его начало?

ИИ проверил код — или только его начало?

Факт: Python re.match() проверяет совпадение с начала строки, а re.fullmatch() — всей строки. Если ИИ написал проверку шестизначного кода через re.match(r'[0-9]{6}', value), значение 123456XYZ тоже пройдёт. Для извлечённых из документов ID это риск отправить мусор в API.

Как применить: 1. Сначала задайте контракт: в нашем примере код — ровно шесть ASCII-цифр, без пробелов и суффиксов. Это пример, не универсальный формат ID. 2. После import re проверяйте исходную строку: re.fullmatch(r'[0-9]{6}', value) is not None. Не обрезайте и не «исправляйте» невалидный код молча. 3. Попросите ИИ реально выполнить тесты: 123456 проходит; 123456XYZ, пять цифр и шесть цифр с переносом строки в конце — нет. Только после проверки формата ищите запись в системе.

Готовый prompt: Проверь валидатор извлечённого ID в Python. Контракт: ровно 6 ASCII-цифр. Используй fullmatch, исходную строку не меняй. Добавь позитивный тест и негативные: суффикс, короткий код, перенос строки. Выполни тесты и покажи результат; не прошедшие строки выдели для проверки, не угадывай замену.

Ограничение: правильный формат не доказывает, что ID существует или принадлежит нужному клиенту. Для другого формата нужен другой шаблон.

Verum AI: https://verum-ai.uz

GPU и инфраструктура12/20

Memory utilization — не процент занятой VRAM

Memory utilization — не процент занятой VRAM

В NVIDIA monitoring показатель utilization.memory — доля времени выборки, когда память GPU читалась или записывалась. Это не заполненность VRAM и не доля достигнутой peak bandwidth. Объём занятой памяти смотрят отдельно: memory.used.

Зачем различать: модель может занимать почти всю VRAM, но редко обращаться к ней между запросами. Низкий memory utilization не означает, что рядом поместится ещё одна модель.

3 шага перед запуском второй нагрузки: 1. Снимите обе метрики одной командой: nvidia-smi --query-gpu=timestamp,uuid,memory.used,memory.total,utilization.memory --format=csv -l 1 2. Сопоставьте строки одного UUID в простое и во время типичного inference. Здесь memory.used/total — объём в MiB, utilization.memory — активность в %. Завершить просмотр: Ctrl+C. 3. Решение о второй модели принимайте по запасу VRAM с учётом её weights, KV cache и временных буферов под рабочий context/batch, а не по низкому проценту активности. Проверяйте совместную нагрузку в тестовой среде.

Ловушка: N/A означает, что метрика недоступна, а не равна нулю. Поддержка зависит от GPU и режима, в частности MIG. Опрос раз в секунду может пропустить короткие пики — это не гарантия отсутствия OOM.

Verum AI: https://verum-ai.uz

Искусственный интеллект13/20

MiniCPM4.1: sparse attention не включается от одного названия

MiniCPM4.1: sparse attention не включается от одного названия

OpenBMB выпустила MiniCPM4.1-8B 05.09.2025. Это разбор доступной модели, не новый анонс: текст → текст, 8B, Apache 2.0, reasoning и non-reasoning. Родной context — 65 536 tokens вместе с ответом; 131 072 проверяли с изменённым LongRoPE, а не с настройками по умолчанию.

Факт: в официальном рецепте Transformers для InfLLM v2 нужны отдельные kernels и sparse_config. При dense_len=8192 короткие последовательности обрабатываются dense attention. Поэтому короткий тест не доказывает, что sparse acceleration работает или сломана.

Как проверить перед выбором GPU: 1. Зафиксируйте checkpoint openbmb/MiniCPM4.1-8B и версии runtime. Следуйте разделу Sparse Attention в model card: установите kernels и добавьте полный sparse_config, не только один параметр. 2. Сравните dense и sparse на одинаковых документах: отдельно короче и длиннее порога. Сохраните одинаковые batch, precision и лимит ответа; измерьте время до первого token, скорость генерации и peak VRAM. 3. Проверьте ответы по сведениям из начала, середины и конца документа. Выбирайте GPU по измеренной памяти с запасом на KV cache и buffers. GPTQ/AWQ/GGUF — отдельные варианты; результаты BF16 нельзя переносить на них автоматически.

Ограничение: заявленные разработчиком 3× на RTX 4090 относятся к его тесту с sparse attention и speculative decoding, не к любому запуску. Это не обещание утроить скорость после загрузки весов.

Сайт Verum: https://verum-ai.uz

Искусственный интеллект14/20

ИИ написал «только цифры»? Уточните, какие именно

ИИ написал «только цифры»? Уточните, какие именно

В Python regex \d для строк по умолчанию принимает не только 0–9, но и другие Unicode decimal digits. Поэтому re.fullmatch(r'\d{6}', s) пропустит и 123456, и 123456. Если API требует ASCII-код, такой валидатор слишком мягкий.

Три шага: 1. В задаче ИИ задайте контракт: ровно шесть символов 0–9, без пробелов; код остаётся строкой, ведущие нули сохраняются. 2. Попросите проверять всю строку: re.fullmatch(r'[0-9]{6}', s) is not None Это выражение для Python после import re, где s — строка. 3. Запустите тесты: принять 001234; отклонить 123456, 12345, 123456x и строку с пробелом в конце. Попросите фактический вывод, не прогноз результата.

Готовый prompt: «Напиши Python-валидатор по контракту: строка из шести ASCII digits, без нормализации и обрезки пробелов. Добавь позитивные и негативные тесты, включая Unicode digits. Выполни тесты и покажи вывод; если запуск недоступен, прямо укажи это».

Ограничение: ASCII нужен не всем полям. Для международного ввода правила могут быть другими. Успешный regex проверяет формат, но не существование кода в базе; не “исправляйте” идентификатор молча.

Verum AI: https://verum-ai.uz

Искусственный интеллект15/20

PyTorch: не копируйте общий tensor на весь batch

PyTorch: не копируйте общий tensor на весь batch

Факт: repeat() копирует данные, а expand() создаёт view без нового хранилища данных, расширяя ось размера 1. Для CUDA tensor это позволяет не тратить VRAM на одинаковые копии — например, общей маски для batch.

Как применить 1. Найдите общий tensor x формы [1, D], который нужен всем B элементам batch. Убедитесь, что потребители только читают его. 2. Вместо x.repeat(B, 1) попробуйте y = x.expand(B, -1): размер станет [B, D], а -1 сохранит D. 3. Сравните результат и пик VRAM на полном шаге inference/training, а не только на создании y: следующая операция может материализовать данные.

Ограничение: это не универсальная замена repeat — расширяемая ось должна иметь размер 1. Не меняйте expanded view через in-place операции: несколько элементов ссылаются на одну память. Если нужны независимые записи, сначала clone(), но копия снова потребует памяти. Смена dtype после expand тоже может выделить память под весь расширенный tensor.

Verum AI: https://verum-ai.uz

GPU и инфраструктура16/20

LFM2-24B-A2B: проверьте язык до выбора GPU

LFM2-24B-A2B: проверьте язык до выбора GPU

Liquid AI выпустила ранний checkpoint 24.02.2026. Это текстовая Instruct MoE без reasoning traces: 24B параметров всего, 2,3B активных; context — 32 768 tokens. Веса доступны по LFM Open License v1.0, не Apache 2.0.

Факт: в официальном списке поддерживаемых языков этой модели нет русского и узбекского. Это не доказывает, что она не умеет на них отвечать, но переносить качество английского demo на местную поддержку нельзя.

Три шага перед развёртыванием: 1. Соберите обезличенные реальные вопросы отдельно на русском и узбекском, включая смешанную речь. Заранее задайте правильные ответы и случаи, когда нужно уточнение. 2. Проверьте один checkpoint с официальным chat template и настройками: temperature=0.1, top_k=50, repetition_penalty=1.05. Оцените факты, язык и корректность tool calls отдельно — красивый ответ ещё не правильный. 3. Только после проверки качества замерьте latency и пик памяти на целевых context и concurrency. Сравнивайте одинаковые quantization и runtime.

GPU-решение: A2B не означает память как у dense 2B. Грубая оценка только весов всех 24B в BF16 — около 48 GB; cache и runtime требуют добавки. Это расчёт, не официальный минимум VRAM. Quantization/offload меняют бюджет и скорость; для fine-tuning расчёт нужен заново.

Ограничение: разработчик не рекомендует эту модель для coding. Не выбирайте её по одной скорости генерации.

Сайт Verum: https://verum-ai.uz

Искусственный интеллект17/20

ИИ написал SQL: один NULL — и список пуст?

ИИ написал SQL: один NULL — и список пуст?

Факт: в PostgreSQL NOT IN (подзапрос) даёт NULL, а не true, если совпадения нет, но среди сравниваемых значений есть NULL.[1] При поиске клиентов без счетов такой фильтр может убрать из результата именно нужных клиентов.

Как применить 1. Передайте ИИ схему, а не только названия таблиц: customers.id — PRIMARY KEY, invoices.customer_id может быть NULL. Цель — клиенты, которым не соответствует ни один счёт. 2. Попросите проверку отсутствия совпадения через NOT EXISTS:[1] SELECT c.id FROM customers c WHERE NOT EXISTS ( SELECT 1 FROM invoices i WHERE i.customer_id = c.id ); 3. Проверьте на тестовой базе: клиенты 1, 2, 3; в счетах customer_id равны 1 и NULL. Ожидаемый набор — 2 и 3. Затем отдельно проверьте пустую таблицу счетов и повторные счета одного клиента.

Готовый prompt: Найди клиентов без счетов. Учитывай nullable customer_id. Дай SELECT через NOT EXISTS и тесты с NULL, пустой таблицей и дублями. Покажи ожидаемые наборы id; не меняй данные.

Ограничение: не заменяйте все NOT IN механически. Здесь ключ клиента не может быть NULL; для nullable ключа сначала определите бизнес-смысл пропуска. Корректность запроса не гарантирует скорость — план выполнения проверяйте отдельно.

Verum AI: https://verum-ai.uz

GPU и инфраструктура18/20

В контейнере работает nvidia-smi — а CUDA?

В контейнере работает nvidia-smi — а CUDA?

Факт: в NVIDIA Container Runtime настройка NVIDIA_DRIVER_CAPABILITIES определяет, какие библиотеки и утилиты драйвера попадут в контейнер. utility нужна для nvidia-smi и NVML, а compute — для CUDA/OpenCL. Успешный nvidia-smi ещё не доказывает, что CUDA-приложение запустится.

Зачем: если в конфигурации оставили только utility, GPU видна мониторингу, но для вычислений нужных компонентов может не быть. Не спешите менять GPU или переустанавливать модель.

Три шага: 1. Проверьте значение NVIDIA_DRIVER_CAPABILITIES в Dockerfile, Docker/Compose и внутри контейнера: printenv NVIDIA_DRIVER_CAPABILITIES. Явный список заменяет стандартный, а не дополняет его. 2. Для CUDA и мониторинга задайте compute,utility. В Docker run это -e NVIDIA_DRIVER_CAPABILITIES=compute,utility. Пересоздайте контейнер с прежним разрешённым набором GPU; export в работающем контейнере не добавит отсутствующие библиотеки. 3. Помимо nvidia-smi выполните маленькую CUDA-операцию. Для образа с CUDA-сборкой PyTorch: python -c "import torch; x=torch.ones(1,device='cuda'); print((x+1).item())" Ожидаемый результат — 2.0, не benchmark скорости.

Ограничение: без переопределения стандартный набор уже utility,compute. Если он есть, ищите другую причину: доступ к GPU, совместимость драйвера или сборку framework. Не включайте all вслепую.

Источник NVIDIA: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html Сайт Verum-AI: https://verum-ai.uz

Искусственный интеллект19/20

Granite 4.0 Micro: у модели 3B, а у KV cache — 10 GiB

Granite 4.0 Micro: у модели 3B, а у KV cache — 10 GiB

IBM выпустила Granite-4.0-Micro 02.10.2025: это разбор доступной модели, не новинка дня. Открытые веса Apache 2.0, текст → текст, 3B параметров, context 128K; задачи — RAG, извлечение данных и tool calling.

Факт: версия ibm-granite/granite-4.0-micro без H — обычный dense Transformer с 40 attention layers. Не переносите на неё оценки памяти гибридных H-вариантов с Mamba2.

При одной последовательности в 131 072 tokens и KV cache в BF16/FP16 только K и V занимают расчётные 10 GiB: 2 × 40 layers × 8 KV heads × 64 × 2 байта × 131 072. Это наша оценка по config, не официальное требование к GPU. Веса, рабочие buffers и накладные расходы сюда не входят. Даже маленькая модель может упереться в VRAM на длинном документе.

Как применить: 1. Зафиксируйте точный model ID и dtype cache, а не только «Granite 3B». 2. Начните с лимита 8192 tokens на вход + ответ и одной активной последовательности: её полный KV cache при тех же условиях — 0,625 GiB. 3. Измерьте пиковую VRAM на реальной задаче, затем увеличивайте context и concurrency по отдельности.

Ограничение: это расчёт inference, не fine-tuning. Quantization весов сама по себе не уменьшает BF16 cache. Runtime может заранее резервировать память, поэтому nvidia-smi не обязан показать такую разницу.

Сайт Verum-AI: https://verum-ai.uz

Искусственный интеллект20/20

ИИ написал bool("false") — и включил настройку?

ИИ написал bool("false") — и включил настройку?

Факт: в Python непустая строка считается истинной: bool("false") и bool("0") дают True. Это не разбор смысла слова. Если AI-код так читает текстовый флаг из CSV или переменной окружения, отключённая на вид настройка может включиться.

Три шага проверки 1. Уточните тип на входе: строка "false" и Boolean False — разные значения. Проверьте место преобразования до выполнения действия. 2. Задайте явный контракт: например, принимать настоящие Boolean и только точные строки "true"/"false". Остальное отклонять с ошибкой, а не молча превращать в True или False. 3. Попросите тесты: обе разрешённые строки и оба Boolean; отдельно пустая строка, "0", "False", None. При таком контракте вторая группа должна отклоняться. Запустите тесты без реальных отправок и удалений.

Готовый prompt Проверь преобразование флага в Python. Разрешены bool и точные строки "true"/"false"; прочее — ValueError. Не используй bool(строка). Добавь позитивные и негативные тесты и покажи реальные результаты запуска.

Ловушка: правило регистра и пробелов нужно согласовать с форматом данных. Не добавляйте lower()/strip() автоматически. Даже правильно разобранный флаг не заменяет проверку прав на действие.

Verum AI: https://verum-ai.uz