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

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

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

28 сентября 2026

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

DeepSeek 8B: 128K в config — ещё не запас VRAM

DeepSeek 8B: 128K в config — ещё не запас VRAM

DeepSeek-R1-0528-Qwen3-8B — текстовая reasoning-модель DeepSeek с открытыми весами под MIT, полученная дообучением Qwen3-8B-Base на рассуждениях R1-0528. Это практика локального inference, не новость о релизе.

Факт. В её официальном config указаны max_position_embeddings=131072 и YaRN с factor=4.0, original_max_position_embeddings=32768. Разработчик отдельно требует брать ВСЕ configuration files из репозитория DeepSeek, а не исходного Qwen3: одинаковая архитектура не означает одинаковые настройки.

Почему важно: допустимая длина context не гарантирует, что GPU выдержит её с нужным числом запросов. Для длинной последовательности нужен дополнительный KV cache; одна лишь настройка YaRN память не добавляет.

Три шага: 1. Загружайте weights, tokenizer и config из deepseek-ai/DeepSeek-R1-0528-Qwen3-8B. Не подмешивайте файлы Qwen3-8B из старой локальной папки. 2. В загруженном config проверьте поля выше, а в логах runtime — поддержку YaRN и фактический лимит context. Не увеличивайте только число токенов, игнорируя RoPE-настройки. 3. Начните с реальной длины ваших документов и одного запроса. Измерьте пиковую VRAM, latency и качество, затем увеличивайте длину и concurrency по одному параметру. Оставляйте место в context и для ответа.

Ловушка: 128K в config — не обещание точного извлечения фактов из любой части документа и не универсальное требование к GPU. Этот тест относится к inference, не к fine-tuning.

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

GPU и инфраструктура2/19

nvidia-smi показывает CUDA. А компилятор установлен?

nvidia-smi показывает CUDA. А компилятор установлен?

Факт. Версия CUDA в nvidia-smi — не доказательство наличия CUDA Toolkit. NVIDIA описывает её как последнюю версию CUDA, поддерживаемую драйвером. В актуальной документации поле называется CUDA UMD Version; прежнее имя CUDA Version помечено deprecated. Версию самого компилятора показывает nvcc --version.

Зачем это знать: при сборке CUDA extension можно часами «чинить GPU», хотя сборщик просто не находит nvcc или выбирает другой Toolkit из PATH.

Три шага перед переустановкой 1. В среде, где падает задача, выполните nvidia-smi. Сохраните модель GPU и версию драйвера — поле Driver Version или KMD Version в зависимости от версии утилиты. 2. В Linux shell проверьте command -v nvcc, затем nvcc --version. Первая команда показывает путь выбранного компилятора, вторая — его версию. Если команда не найдена, это ещё не доказывает отсутствие Toolkit на диске: проверьте PATH. 3. Сопоставьте этот путь с командой компиляции в build log и требованиями extension к Toolkit. Для Docker проверяйте внутри нужного контейнера: Toolkit на host не подтверждает наличие компилятора в контейнере. Перед изменениями сохраните полный текст ошибки.

Ловушка: разные номера в nvidia-smi и nvcc сами по себе не означают неисправность. А отсутствие nvcc в PATH не доказывает, что GPU недоступна для запуска готового приложения. Не переустанавливайте драйвер только ради совпадения цифр.

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

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

ИИ считает деньги? Попросите Decimal из строк

ИИ считает деньги? Попросите Decimal из строк

Факт. Python float не хранит многие десятичные дроби точно: в проверенном запуске 0.1 + 0.2 дало 0.30000000000000004, а Decimal('0.1') + Decimal('0.2') — 0.3. Документация Python рекомендует decimal для учётных задач со строгими равенствами.

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

Три шага 1. Передайте обезличенные строки: ID, цена, количество, валюта. Уточните десятичный разделитель; разные валюты не складывайте. 2. Попросите выполнить Python с Decimal, создавая цены из исходных строк, не из float. Заранее задайте точность, правило и этап округления: по строкам или после суммирования. 3. Получите расчёт по каждому ID, итог и код. Сверьте исходные значения и несколько строк независимо. Если выполнение кода недоступно, считайте код черновиком, а не проверенным результатом.

Готовый prompt Проверь суммы по ID. Цены читай как строки и считай в Python через Decimal, без float. Правила округления: [разрядность, режим, этап]. Если правила не заполнены или число неоднозначно — сначала уточни. Верни строки, итог по каждой валюте, код и фактический вывод запуска. Без выполнения не называй результат проверенным.

Ловушка: Decimal(0.1) сохраняет погрешность уже созданного float. Decimal не исправит неверно распознанную цену; деление и другие операции тоже зависят от precision и rounding.

Каталог GPU Verum: https://verum-ai.uz

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

Phi-4-multimodal: русский текст ≠ русская речь

Phi-4-multimodal: русский текст ≠ русская речь

Microsoft выпустила Phi-4-multimodal-instruct 26 февраля 2025 года: 5,6B параметров, открытые веса под MIT, context 128K. На входе — текст, изображения и audio, на выходе — текст. Это не сегодняшний релиз.

Практический факт: в model card русский указан для text, но не для audio. Для audio перечислены английский, китайский, немецкий, французский, итальянский, японский, испанский и португальский. Узбекский в этом списке тоже отсутствует. Ответ на русском ещё не доказывает качество распознавания русской записи.

Перед запуском обработки звонков: 1. Соберите короткие записи каждого нужного языка с согласия участников и ручные эталонные расшифровки. Для обычных audio-задач Microsoft рекомендует длину до 40 секунд; для summarization отдельно указаны 30 минут. 2. Проверьте прямое audio→text отдельно от схемы ASR→LLM, где ASR уже проверен на нужном языке. Сравните ошибки слов, имён и сумм, а не только гладкость ответа. 3. На одном GPU зафиксируйте precision, batch size и длину записи; измерьте peak VRAM и задержку обоих вариантов. Выбирайте ресурсы после проверки качества, а не по надписи «multilingual».

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

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

GPU и инфраструктура5/19

GPU-Util 100% — ещё не предел сервера

GPU-Util 100% — ещё не предел сервера

По документации NVIDIA, GPU utilization в nvidia-smi — доля времени выборки, когда на GPU выполнялось хотя бы одно kernel. Это не процент достигнутых FLOPS и не доля занятых вычислительных блоков. Поэтому 100% сами по себе не доказывают, что сервер больше не может обслуживать запросы.

Как проверить перед покупкой ещё одной GPU: 1. Во время inference включите наблюдение: nvidia-smi --query-gpu=timestamp,uuid,utilization.gpu,memory.used --format=csv -l 1 2. На одном наборе prompts с одинаковыми лимитами генерации сравните несколько уровней concurrency — числа одновременных запросов. Не меняйте модель и quantization между прогонами. 3. После прогрева измерьте суммарные выходные tokens/s, p95 времени ответа и занятую VRAM. Если throughput растёт при приемлемой задержке, запас был даже при прежних 100% GPU-Util. Выбирайте concurrency по целевой задержке, а не по красивому проценту.

Ловушка: memory.used — объём занятой памяти, не загрузка её bandwidth. N/A означает недоступную метрику, а не ноль. Этот тест оценивает ваш workload, не гарантирует ускорения и сам по себе не определяет bottleneck.

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

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

ИИ анализирует CSV: не потеряйте «00123»

ИИ анализирует CSV: не потеряйте «00123»

Артикул — идентификатор, не число. Если ИИ читает CSV через pandas с настройками по умолчанию, ведущие нули могут исчезнуть, а код NA — стать пропуском. Тогда даже правильная сверка работает уже с испорченными ключами.

Как применить 1. До анализа назовите столбцы-идентификаторы: например, sku. Отдельно согласуйте обозначения пропусков. 2. Задайте тип при чтении, а не после него: df = pd.read_csv("data.csv", dtype={"sku": "string"}, keep_default_na=False) 3. Попросите ИИ реально запустить проверку на маленьком CSV с кодами 00123 и NA, затем показать значения и тип столбца. Оба кода должны остаться точными строками.

Готовый prompt «Проанализируй CSV через Python. Поле sku — строковый идентификатор: сохраняй ведущие нули и буквальный NA. Не угадывай значения пропусков. До расчётов выполни тест импорта на 00123 и NA, покажи результат. Исходный файл не меняй».

Ловушка: keep_default_na=False без na_values отключает распознавание строковых маркеров пропусков во всём файле, включая пустые поля. Для других столбцов задавайте правила отдельно. Превращение уже прочитанного числа в строку потерянные нули не вернёт.

Каталог GPU Verum-AI: https://verum-ai.uz

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

Qwen3-Next: не переносите thinking в историю

Qwen3-Next: не переносите thinking в историю

Qwen представила Qwen3-Next-80B-A3B 11 сентября 2025 года. Это не сегодняшний релиз. У текстовой модели открытые веса под Apache 2.0, отдельные варианты Instruct и Thinking, native context 262 144 токена.

Факт: для Qwen3-Next-80B-A3B-Thinking разработчик рекомендует оставлять в истории прошлых ответов только финальную часть, без thinking. Официальный Jinja chat template учитывает это; в собственной интеграции правило нужно обеспечить самому.

Зачем: повторная отправка длинных рассуждений раздувает следующий prompt. Их исключение сокращает входные токены, но не размер весов модели и не гарантирует конкретное ускорение GPU.

Три шага 1. Используйте tokenizer и chat template именно выбранного checkpoint. Instruct работает только в non-thinking, Thinking — только в thinking. 2. Разделяйте reasoning и финальный ответ штатным parser вашего runtime. В следующий обычный диалог передавайте финальный текст assistant, сохраняя сообщения пользователя. Не склеивайте оба поля обратно. 3. Проверьте сериализованный prompt второго хода: ответ и факты остались, прежний thinking не вернулся. На одинаковых диалогах измерьте input tokens, latency и peak VRAM при фиксированных precision и concurrency.

Ловушка: у Thinking открывающий <think> уже добавлен шаблоном. В генерации может быть только </think> — это нормально; поиск пары тегов способен пропустить reasoning. Совет относится к этой модели: не переносите его автоматически на другие LLM и не удаляйте tool calls/results.

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

GPU и инфраструктура8/19

CUDA: не теряйте JIT cache при каждом перезапуске

CUDA: не теряйте JIT cache при каждом перезапуске

Если приложение компилирует PTX в машинный код GPU, CUDA driver может сохранить результат на диске. NVIDIA предупреждает: отключение этого cache увеличивает время загрузки. В одноразовом контейнере cache может исчезнуть вместе с его файловой системой — и следующий запуск повторит работу.

Как применить — Linux: 1. Проверьте, не задано ли CUDA_CACHE_DISABLE=1. Для обычного запуска caching должен быть включён; значение по умолчанию — 0. 2. Укажите каталог с правом записи для пользователя приложения: mkdir -p "$HOME/.cache/cuda-jit" CUDA_CACHE_PATH="$HOME/.cache/cuda-jit" python app.py Здесь app.py — ваш entry point. В контейнере закрепите этот каталог через persistent volume, иначе путь сам по себе ничего не сохранит после пересоздания. 3. Сравните время до первого полезного результата при первом и повторном запуске одного workload. Не меняйте GPU, driver, код и входные данные; отдельно учитывайте скачивание и загрузку весов.

Ограничение: это cache компиляции CUDA driver, не KV cache LLM и не cache torch.compile. Если PTX JIT не используется или задержку создаёт загрузка модели, ускорения может не быть. Не публикуем универсальный процент выигрыша — измеряйте свой запуск.

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

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

ИИ вернул JSON: повторный ключ может спрятать сумму

ИИ вернул JSON: повторный ключ может спрятать сумму

Факт: стандартный Python json по умолчанию принимает повторяющиеся имена внутри одного объекта и сохраняет последнее значение. Проверено запуском: {"amount":100,"amount":900} превращается в {'amount': 900} без ошибки. Для импорта ответа LLM в CRM это тихая потеря данных, а не успешная проверка.

Три шага: 1. Проверяйте исходную JSON-строку до превращения в обычный dict. После стандартного разбора повтор уже не виден. 2. В json.loads(raw, object_pairs_hook=reject_duplicates) передайте свою функцию: она получает список пар каждого объекта, отклоняет повтор ключа через ValueError и только затем создаёт dict. Имя reject_duplicates — ваша функция, не встроенная опция. 3. До импорта запустите тесты: уникальные ключи проходят; повтор на верхнем уровне и во вложенном объекте — ошибка. Повторы не «исправляйте» выбором первой или последней суммы: отправьте исходник на проверку.

Готовый prompt для coding-агента: Сделай JSON parser на Python с object_pairs_hook: отклоняй повтор ключа в любом объекте. Добавь и реально запусти тесты: уникальные ключи, повтор amount, повтор во вложенном объекте. Покажи результаты. При ошибке ничего не записывай в CRM.

Ограничение: это проверка повторов, не истинности значений и не замена JSON Schema. strict=True у Python JSONDecoder не запрещает повтор ключей: параметр относится к управляющим символам в строках.

Каталог GPU Verum-AI: https://verum-ai.uz

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

PyTorch: не храните граф обучения в журнале loss

PyTorch: не храните граф обучения в журнале loss

Batch не меняется, а память растёт? Проверьте сбор метрик. По FAQ PyTorch, total_loss += loss накапливает autograd history между шагами, если loss требует градиентов. Для отчёта нужно число, а не связь с вычислениями. До покупки GPU с большей VRAM исключите эту причину.

Три шага 1. Найдите накопители метрик: total_loss += loss и списки вроде history.append(loss). 2. Для скалярного loss сохраняйте Python number: total_loss += loss.item() или history.append(loss.item()). Сам loss оставьте тензором для loss.backward(); меняйте только журналирование. 3. Перезапустите короткий прогон с теми же batch и длиной входа. Сравните torch.cuda.memory_allocated() в одной точке каждого шага после прогрева. Устойчивый рост, а не один пик, — повод искать оставшиеся ссылки на тензоры.

Ограничение: .item() работает только для тензора из одного элемента. На CUDA это точка CPU–GPU synchronization: частое логирование может замедлять цикл. Это исправление метрик, не замена gradient accumulation и не универсальное лечение OOM.

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

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

ИИ объединил таблицы — выручка внезапно выросла?

ИИ объединил таблицы — выручка внезапно выросла?

Причина может быть не в продажах, а в join. Если в справочнике клиентов повторяется ID, одна продажа после объединения может превратиться в несколько строк.

Факт: в pandas параметр validate="many_to_one" проверяет уникальность ключей в правой таблице. Для «много продаж → один клиент» это полезный предохранитель перед расчётом итогов.

Как применить 1. Укажите ИИ левую таблицу продаж, правый справочник и ключ client_id. Вынесите пустые ключи в отдельный список для проверки. 2. Попросите выполнить sales.merge(clients, on="client_id", how="left", validate="many_to_one", indicator=True). 3. При ошибке покажите дубли справочника. Не удаляйте их автоматически: возможно, нужен составной ключ. После успешного join сверьте число строк, сумму продаж и строки _merge="left_only" — для них клиент не найден.

Готовый prompt Объедини продажи со справочником по client_id через left join. Проверь many_to_one. При дублях остановись и покажи их; исходники не меняй. Отдельно выведи пустые и несопоставленные ключи, число строк и сумму продаж до/после. Не считай итог достоверным до этих проверок.

Ограничение: validate не проверяет правильность ID. В pandas пустые ключи могут совпасть друг с другом, в отличие от обычного SQL join.

На сайте Verum — каталог GPU: https://verum-ai.uz Источник: https://pandas.pydata.org/docs/reference/api/pandas.merge.html

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

Gemma 3n: куда пропал конец аудиозаписи?

Gemma 3n: куда пропал конец аудиозаписи?

Gemma 3n от Google DeepMind вышла в полном релизе 26 июня 2025 года. E2B/E4B принимают текст, изображения, видео и аудио, отвечают текстом; context — 32K. Веса доступны по условиям Gemma, не Apache 2.0. Сегодня — практический разбор, не анонс.

Факт: в Transformers 5.15.1 у Gemma3nAudioFeatureExtractor по умолчанию max_length=480000 и truncation=True. При 16 kHz это 30 секунд: при таких настройках более длинный waveform обрезается ещё до модели. Большой text context не отменяет лимит audio preprocessing.

Как не потерять окончание: 1. Для google/gemma-3n-E2B-it проверьте настройки processor. Реально преобразуйте запись в mono 16 kHz — сменить число в метаданных недостаточно. 2. Разбейте запись на фрагменты до 30 секунд, включая перекрытие. Например, оставляйте 1 секунду общей на стыках и сохраняйте исходные временные смещения. Обрабатывайте фрагменты отдельно. 3. На тестовой записи поместите известную фразу в самом конце. Сверьте её в расшифровке, затем объедините части и уберите дубли на стыках. Только после проверки делайте общий конспект.

Ограничение: truncation=False не превращает модель в проверенный long-audio pipeline. Нарезка тоже может разорвать слова. Больше VRAM не вернёт уже отброшенный звук; последовательные фрагменты ограничивают размер одного входа, но не уменьшают память весов. Пик VRAM измеряйте с вашим runtime и batch.

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

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

ИИ «починил» CSV — или просто выбросил строки?

ИИ «починил» CSV — или просто выбросил строки?

Если импорт упал, не разрешайте ИИ молча заменить ошибку на on_bad_lines="skip". В pandas этот режим пропускает строки с лишними полями без предупреждения. Код работает, но отчёт уже может быть неполным.

Три шага 1. Сохраните исходник. Начните с pd.read_csv(path, on_bad_lines="error") — это и так стандартный режим. При ParserError сначала проверьте разделитель и кавычки: запятая внутри значения не всегда означает новый столбец. 2. Попросите ИИ показать проблемные записи и причину, не удаляя их. Если пропуск действительно нужен, отдельно согласуйте его и сохраните исключённые записи в файл для проверки. 3. После исправления сверьте с источником число записей и контрольную сумму показателя. Успешный импорт сам по себе не доказывает полноту данных.

Готовый prompt Разбери CSV через Python. Не используй on_bad_lines=skip/warn без моего согласия. При ошибке остановись, проверь delimiter и quoting, покажи проблемные записи. Исходник не меняй. После исправления выполни импорт и сверь число записей и сумму amount с источником. Покажи код и фактический результат.

Ловушка: warn тоже пропускает строки, только с предупреждением. А error — не полная проверка схемы: строка с недостающим полем может загрузиться с пустым значением. Проверяйте обязательные поля отдельно.

Каталог GPU Verum: https://verum-ai.uz

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

Qwen3-4B-2507: подавили повторы — испортили язык?

Qwen3-4B-2507: подавили повторы — испортили язык?

Qwen3-4B-Instruct-2507 от Qwen/Alibaba вышла 6 августа 2025 года: текстовая модель 4B, открытые веса Apache 2.0, context 262 144 tokens. Это практический разбор, не новый релиз. В отличие от исходной Qwen3-4B, эта версия работает только в non-thinking mode.

Факт: её model card допускает presence_penalty от 0 до 2 для борьбы с бесконечными повторами в поддерживающих этот параметр frameworks. Но большой штраф может вызвать смешение языков и снизить качество. «Чем выше, тем лучше» здесь не работает.

Три шага 1. Проверьте точный model ID: Qwen/Qwen3-4B-Instruct-2507. Начните с рекомендованных sampling settings: temperature=0.7, top_p=0.8, top_k=20, min_p=0. Убедитесь, что runtime их действительно принимает. 2. При повторах меняйте только presence_penalty, небольшими шагами от 0 в пределах указанного диапазона. На одном наборе русских и узбекских запросов сравните повторы, соблюдение языка и правильность ответа. Это локальный подбор, не универсальное оптимальное значение. 3. Выберите минимальный штраф, устраняющий проблему без потери качества. Сравните число output tokens и latency: ненужные повторы занимают GPU-время, но смена GPU не исправит decoding settings.

Ловушка: presence_penalty и repetition_penalty — разные параметры, не взаимозаменяемые названия. Такой подбор не уменьшает память весов и не гарантирует фактическую точность.

Verum: https://verum-ai.uz

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

NCCL зависла? Не дайте процессам затереть логи

NCCL зависла? Не дайте процессам затереть логи

Факт: NCCL создаёт файл из NCCL_DEBUG_FILE заново, перезаписывая прежний. NVIDIA предупреждает: если несколько процессов пишут в один файл, вывод может потеряться или повредиться. При диагностике multi-GPU важен лог каждого процесса, а не только последнего.

Три шага для Linux: 1. Перед стартом job задайте окружение для всех workers на каждом узле: export NCCL_DEBUG=INFO export NCCL_DEBUG_SUBSYS=INIT,NET export NCCL_DEBUG_FILE=/tmp/nccl-jobA.%h.%p.log NCCL заменит %h на hostname, %p — на PID. Замените jobA уникальным ID запуска; при общей папке у контейнеров добавьте уникальный ID контейнера. 2. Повторите проблемный запуск на минимальной нагрузке. Сохраните файлы со всех узлов до удаления контейнеров. Сравните выбранные сетевые интерфейсы и последние сообщения инициализации между процессами. 3. После диагностики уберите эти настройки из launcher и окружения: unset NCCL_DEBUG NCCL_DEBUG_SUBSYS NCCL_DEBUG_FILE

Ограничение: INIT,NET — фильтр для старта и сети, не полная трассировка collectives. Логи не исправляют зависание. Не оставляйте debug-настройки в production; перед пересылкой проверьте логи на внутренние адреса и пути.

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

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

ИИ изменил «один файл»? Проверьте не только diff

ИИ изменил «один файл»? Проверьте не только diff

Факт: обычный git diff сравнивает рабочие файлы с index: staged-изменения и новые untracked-файлы могут остаться за кадром. Поэтому пустой diff ещё не означает, что агент ничего не поменял.

Как применить: 1. Начните в отдельной рабочей копии с чистым Git status и существующим commit. Задайте список разрешённых файлов; запретите агенту делать commit до проверки. 2. После работы из корня репозитория выполните: git diff --name-status HEAD git ls-files --others --exclude-standard Первая команда показывает итоговые изменения отслеживаемых файлов относительно HEAD, включая staged; вторая — новые untracked-файлы, кроме игнорируемых. Сверьте оба списка с разрешённым. 3. Прочитайте git diff HEAD и содержимое новых файлов. Затем запустите тесты: небольшой diff не доказывает правильность кода.

Готовый prompt: Исправь [ошибку]. Менять можно только [пути]. Не делай commit и не расширяй задачу. Если нужен другой файл — остановись и объясни зачем. В конце покажи изменённые и новые файлы, команды тестов и фактические результаты. Если тесты не запускал — скажи прямо.

Ловушка: эти команды не контролируют файлы вне репозитория и скрывают ignored-файлы. Prompt — не sandbox: ограничивайте доступ агента отдельно и не давайте ему production-секреты.

Verum AI: https://verum-ai.uz Источники Git: https://git-scm.com/docs/git-diff https://git-scm.com/docs/git-ls-files

GPU и инфраструктура17/19

PyTorch: чей пик VRAM вы измерили?

PyTorch: чей пик VRAM вы измерили?

Факт: max_memory_allocated() по умолчанию возвращает максимум памяти тензоров с начала программы. Если раньше был тяжёлый warmup, он может остаться «рекордом» после оптимизации. Для отдельного замера сначала сбросьте peak stats.

Три шага 1. Зафиксируйте GPU, dtype, batch size и длину context. Загрузите модель, выполните warmup и уберите ненужные ссылки на его результаты. Холодный старт измеряйте отдельно. 2. В том же процессе оберните проверяемый участок так. Здесь run_workload() — ваша функция нагрузки на выбранной GPU, не функция PyTorch: import torch d = torch.device("cuda:0") torch.cuda.synchronize(d) torch.cuda.reset_peak_memory_stats(d) run_workload() torch.cuda.synchronize(d) print(torch.cuda.max_memory_allocated(d) / 2**30) Результат — GiB. Это максимум живых тензоров за интервал, включая уже загруженные веса, а не только прирост памяти. 3. Повторите замер до и после изменения с одинаковыми входами. Вместе с ним смотрите max_memory_reserved(d): это пик памяти под управлением caching allocator, а не ещё один объём, который надо прибавить к allocated.

Ловушка: reset сбрасывает статистику, а не освобождает VRAM. Эти показатели не равны всей памяти из nvidia-smi и не учитывают всё, что выделено вне allocator PyTorch. Один короткий тест не доказывает, что production-нагрузка поместится.

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

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

Mistral Small 4: не включайте reasoning для каждой строки

Mistral Small 4: не включайте reasoning для каждой строки

Mistral AI выпустила Small 4 16 марта 2026 года; в документации статус GA. Это MoE с 119B параметров, из которых 6,5B активны на токен: текст и изображения на входе, текст на выходе, context 256K, открытые веса под Apache 2.0.

Практический факт: одна модель переключает режим на каждый запрос через reasoning_effort: "none" или "high". Не обязательно тратить reasoning на извлечение поля из короткого документа; сложную проверку можно отправить той же модели в другом режиме.

Три шага 1. Разделите тестовые задачи: прямое извлечение данных и задачи с несколькими зависимостями. Заранее задайте проверяемый правильный результат. 2. Для простых запросов начните с reasoning_effort="none", temperature=0.1. Для сложных сравните с reasoning_effort="high", temperature=0.7: это рекомендованная temperature для high в model card. Настройка передаётся в API, а не фразой внутри prompt. 3. На одинаковых входах запишите правильность, время полного ответа и output tokens. Направляйте в high те классы задач, где тест показал пользу. Для локального vLLM настройте --reasoning-parser mistral по официальному примеру.

Ограничение: high не гарантирует истину, а none не уменьшает размер весов. Выбирайте GPU под весь checkpoint, KV cache и нагрузку, а не только под активные параметры. Есть отдельный NVFP4 checkpoint; бюджет inference нельзя переносить на fine-tuning.

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

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

ИИ прочитал 04/07 как апрель? Зафиксируйте формат дат

ИИ прочитал 04/07 как апрель? Зафиксируйте формат дат

В pandas параметр dayfirst=True — предпочтение, а не строгая проверка. Для отчёта это опасно: день и месяц могут поменяться местами, а дата останется допустимой. Продажи попадут не в тот месяц.

Как применить 1. Уточните формат у владельца выгрузки. По одной строке 04/07/2026 нельзя определить, это 4 июля или 7 апреля. 2. Сохраните исходный столбец и задайте формат явно. Для день/месяц/год: pd.to_datetime(df["date_raw"], format="%d/%m/%Y", errors="raise") 3. До группировки по месяцам проверьте контрольные строки: здесь 04/07/2026 → 2026-07-04, а 31/02/2026 должна вызвать ошибку. Оба случая проверены в pandas 3.0.6.

Готовый prompt «Разбери даты из date_raw по подтверждённому формату %d/%m/%Y. Сохрани оригинал. Не угадывай формат по строкам и не исправляй значения молча. Покажи контрольные примеры до расчёта итогов».

Ограничение: неверно выбранный формат не выявит все перестановки. errors="coerce" превращает ошибки в NaT, а не исправляет даты; пропуски проверяйте отдельно.

Каталог GPU-конфигураций Verum: https://verum-ai.uz Источник: https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html