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

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

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

1 октября 2026

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

Gemma 3 270M: узкая задача вместо большого чат-бота

Gemma 3 270M: узкая задача вместо большого чат-бота

Google выпустила Gemma 3 270M 14.08.2025. Это не новинка дня: google/gemma-3-270m-it — text-only модель, 270M параметров, context 32K. Открытые веса доступны по Gemma Terms, не Apache 2.0; на Hugging Face нужно принять условия. Есть pretrained и instruction-tuned варианты.

Факт: Google позиционирует 270M для task-specific fine-tuning, классификации и извлечения данных, а не сложного диалога. Для маршрутизации обращений сначала стоит испытать маленькую специализированную модель, а не сразу арендовать GPU под большой универсальный LLM.

Три шага 1. Выберите одну задачу: например, распределять обращения по отделам. Зафиксируйте категории и вариант «недостаточно данных»; подготовьте размеченные примеры RU/UZ и отдельный test set. 2. Сначала проверьте -it со штатным chat template. Если качества мало, сделайте fine-tuning на обучающей части; test set не включайте ни в обучение, ни в подбор prompt. Измеряйте ошибки по каждой категории и языку. 3. Сравните с большой моделью на том же test set: качество, задержку и память при рабочем batch. Выбирайте GPU после замеров. Память весов — не вся VRAM: inference требует cache и рабочих буферов, fine-tuning — ещё gradients, optimizer states и activations.

Ограничение: маленький размер не гарантирует нужного качества. Google публикует IFEval 51,2 для IT 270M (0-shot), но это не точность вашей классификации. Ошибки RU/UZ проверяйте отдельно; универсального объёма VRAM здесь не обещаем.

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

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

ИИ проверил вход через assert? При -O проверка исчезнет

ИИ проверил вход через assert? При -O проверка исчезнет

Факт: Python не генерирует код для assert при запуске с -O. Это инструмент отладки, а не надёжная проверка внешних данных. Если ИИ написал assert quantity > 0, обычный запуск отклонит отрицательное количество, а оптимизированный может пропустить его дальше.

Три шага 1. Попросите ИИ найти assert на границах приложения: вход API, импорт файла, параметры CLI. Отделите обязательную валидацию от внутренних отладочных предположений. 2. Для уже разобранного целого количества замените проверку на явную ветку: if quantity <= 0: raise ValueError("quantity must be positive") Проверку типа и остальные правила добавляйте отдельно, согласно контракту. 3. Проверьте один и тот же неверный ввод обычным Python и с python -O. В обоих режимах он должен отклоняться до записи в БД или отправки запроса. Сам проверочный сценарий не должен полагаться на assert: проверяйте исключение и exit code явно.

Готовый prompt Найди обязательную валидацию внешних данных через assert. Замени только её на явные проверки с исключениями. Не меняй контракт. Проверь неверный и верный ввод обычным Python и с -O; покажи exit codes и реальные результаты.

Ограничение: не заменяйте все assertions без разбора — они полезны в тестах и для внутренних инвариантов. Явная ветка тоже не спасёт, если исключение перехватывают и продолжают опасную операцию.

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

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

FP16 training: сначала unscale, потом gradient clipping

FP16 training: сначала unscale, потом gradient clipping

Факт: после scaler.scale(loss).backward() gradients увеличены коэффициентом GradScaler. PyTorch требует снять этот масштаб перед gradient clipping: иначе заданный порог применяется не к исходным gradients.

Почему важно: при переходе на mixed precision можно случайно чрезмерно ослабить обновления весов. Более мощная GPU не исправит порядок операций.

Три шага 1. В своём FP16 training loop найдите clipping между backward и optimizer step. Ниже — фрагмент для одного optimizer, который управляет всеми параметрами model; loss уже рассчитан, gradients перед batch обнулены, scaler создан заранее. 2. Соблюдайте порядок: scaler.scale(loss).backward() scaler.unscale_(optimizer) torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm) scaler.step(optimizer) scaler.update() max_norm — ваш выбранный порог нормы, не универсальное число. После явного unscale метод scaler.step не снимает масштаб второй раз. 3. При gradient accumulation сначала завершите все backward для effective batch. Только затем выполните unscale → clipping → step → update; не снимайте масштаб после каждого microbatch.

Ловушка: unscale_ вызывают один раз на optimizer между step. Повторный вызов вызывает RuntimeError. В managed trainer сначала проверьте, не выполняет ли framework эти операции сам. Это правило для training с GradScaler, а не способ ускорить inference.

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

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

Ministral 3 3B Reasoning: не обрезайте историю по привычке

Ministral 3 3B Reasoning: не обрезайте историю по привычке

Mistral AI представила семейство Ministral 3 02.12.2025. Сегодня — практический разбор доступной модели, не анонс: Ministral-3-3B-Reasoning-2512 принимает текст и изображения, выдаёт текст; веса доступны по Apache 2.0. В семействе есть Base, Instruct и Reasoning.

Факт: для этой Reasoning-модели Mistral рекомендует сохранять reasoning traces в context между ходами. Общая функция «удалить все размышления из истории» может нарушить рекомендованный режим. Это важно для многошагового coding и работы с tools.

Что сделать: 1. Проверьте точный model ID и путь «ответ → история → следующий запрос». Не сохраняйте лишь финальный текст, молча отбрасывая возвращаемое runtime поле reasoning. 2. Передавайте историю в поддерживаемом вашим runtime формате; не склеивайте служебные поля в обычный user prompt. Для vLLM официальный пример использует --reasoning-parser mistral, но одного parser недостаточно: историю должен сохранять и клиент. 3. На одинаковых диалогах сравните сохранение и удаление traces: правильность последующих ответов, input tokens, задержку и пик VRAM. Начните с рекомендованной temperature=0.7 и одинакового output budget.

GPU и ограничение: сохранённая история удлиняет context и увеличивает потребность в KV cache. Ориентир производителя — 16 GB VRAM для BF16; это не гарантия любой длины диалога или concurrency и не бюджет fine-tuning. Не переносите правило сохранения traces на другие модели автоматически.

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

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

ИИ получил Excel — но не всю таблицу?

ИИ получил Excel — но не всю таблицу?

Факт: в OpenAI Responses API передача таблицы через input_file не равна чтению всех записей. Для spreadsheet-файлов API разбирает до первых 1000 строк каждого листа и добавляет сгенерированную сводку и метаданные заголовков.

Поэтому убедительный ответ по файлу ещё не доказывает, что итог выручки рассчитан по всем строкам.

Как применить 1. Для точных сумм и joins используйте выполнение кода с доступом к исходному файлу, а не только его представление в context. OpenAI рекомендует Hosted Shell для такого анализа. 2. До расчёта получите список листов, число прочитанных записей и диапазон дат. Сверьте охват с исходной выгрузкой. 3. Попросите сохранить код и результат; отдельно показать число строк до и после фильтров.

Готовый prompt Открой исходный файл через Python, не считай по сводке. Выведи листы, число записей и диапазон дат. Рассчитай сумму по всем записям выбранного листа; перечисли фильтры и число исключённых строк. Сохрани код. Если полный файл недоступен — остановись и сообщи об этом.

Ограничение: правило первых 1000 строк относится к API input_file, не ко всем чатам и tools. Prompt не даёт доступ к файлу и не заменяет проверку выполнения кода.

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

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

GPU ждёт ваш журнал: проверьте loss.item()

GPU ждёт ваш журнал: проверьте loss.item()

Факт: PyTorch относит cuda_tensor.item() к операциям, требующим CPU–GPU synchronization. Чтобы получить Python-число, CPU должен дождаться результата на GPU. Если читать loss для журнала на каждом шаге, можно мешать CPU заранее ставить следующие операции в очередь.

Как применить: 1. Найдите в training loop вызовы loss.item(), print(cuda_tensor) и перенос метрик через .cpu(). Отделите необязательный logging от проверок, которые влияют на обучение. 2. Для обычного журнала попробуйте читать loss реже, например после каждого сотого шага: if step % 100 == 0: logger.info("loss=%s", loss.item()). Нумеруйте step с 1. Здесь сохраняется loss выбранного шага, а не среднее за интервал; не выдавайте одно за другое. 3. После warmup сравните время одинакового блока training steps с прежним и редким logging. Дождитесь завершения CUDA до старта и после конца замера, но не добавляйте synchronization на каждом шаге. Сохраните одинаковые batch, precision и данные.

Почему важно: перед переходом на более дорогой GPU стоит исключить ненужные ожидания в коде. Выигрыш зависит от нагрузки; ускорение не гарантировано.

Ловушка: loss.detach().item() всё равно читает значение на CPU — detach не убирает synchronization. Не откладывайте критические проверки NaN, остановки или решения scheduler ради красивого benchmark.

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

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

Qwen3-Reranker-4B: отрицательный score — не ошибка

Qwen3-Reranker-4B: отрицательный score — не ошибка

Qwen выпустила серию 5 июня 2025 года: это практический разбор, не новый релиз. Модель 4B оценивает релевантность текстовых пар; открытые weights, Apache 2.0, context 32K. Есть также 0.6B и 8B.

Факт: в официальном примере Sentence Transformers вызов CrossEncoder.predict() по умолчанию возвращает разность logits, а не число от 0 до 1. Отрицательный score допустим. Порог, выбранный для другой шкалы, может незаметно отсеять нужные документы в RAG.

Как применить: 1. Зафиксируйте модель, версию библиотеки и шкалу score. Для простого top-k сортируйте по убыванию: Sigmoid не меняет математический порядок оценок. 2. Нужна шкала 0–1? В официальном примере передайте в model.predict(pairs, activation_fn=torch.nn.Sigmoid()) пары «запрос — документ»; torch должен быть импортирован. 3. Порог отсечения подберите на размеченных примерах своей базы. На том же batch и длине пар измерьте latency и peak VRAM — по ним выбирайте GPU. Размер weights не равен памяти всего inference.

Ловушка: score 0.9 не означает доказанные 90% точности или истинность документа. Sigmoid меняет шкалу, но сам по себе не калибрует уверенность. После смены модели или runtime перепроверьте порог.

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

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

ИИ прочитал CSV: куда исчез код «NA»?

ИИ прочитал CSV: куда исчез код «NA»?

Факт: pandas.read_csv() по умолчанию распознаёт некоторые строки как пропуски. Даже dtype={"region": "string"} не спасает буквальный код NA: он превращается в missing value. ИИ может правильно посчитать уже испорченные при загрузке данные.

Как применить: 1. До анализа задайте правила: в вашем файле NA — код региона, а пустая ячейка — пропуск. Не поручайте модели угадывать это. 2. Попросите ИИ явно настроить импорт, например: pd.read_csv("data.csv", dtype={"region": "string"}, keep_default_na=False, na_values={"region": [""]}) Здесь pd — импортированный pandas. 3. Проверьте три случая: NA сохраняется, пустая ячейка в region становится пропуском, EU не меняется. Только потом стройте сводку. Этот тест проверен на pandas 3.0.6.

Готовый prompt: Проанализируй CSV через Python. В region буквальный NA — допустимый код, только пустая ячейка — пропуск. Сначала покажи параметры read_csv и выполни тест NA / пусто / EU. Затем считай отчёт. Не заменяй значения молча.

Ловушка: keep_default_na=False отключает стандартные маркеры пропусков для всех столбцов. Настройте na_values по правилам каждого столбца; не копируйте этот пример вслепую. Если включить na_filter=False, эти настройки пропусков игнорируются.

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

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

GPU monitoring: не привязывайте alert к колонке терминала

GPU monitoring: не привязывайте alert к колонке терминала

Факт: NVIDIA не гарантирует обратную совместимость вывода nvidia-smi и рекомендует NVML или Python bindings для инструментов, которые должны переживать обновления driver.

Зачем: парсер «возьми третью строку и пятую колонку» может сломаться после обновления. Получайте поля через API, а не по их положению на экране.

Как применить 1. В отдельном Python environment установите python -m pip install nvidia-ml-py. Импорт называется pynvml, хотя имя пакета другое. 2. Вместо разбора таблицы считайте UUID и занятую память в bytes: import pynvml as nv nv.nvmlInit() try: for i in range(nv.nvmlDeviceGetCount()): h = nv.nvmlDeviceGetHandleByIndex(i) print(nv.nvmlDeviceGetUUID(h), nv.nvmlDeviceGetMemoryInfo(h).used) finally: nv.nvmlShutdown() 3. В collector сохраняйте поля UUID и used_bytes отдельно. Перед rollout нового driver проверьте на тестовом узле и успешное чтение, и обработку ошибки; не превращайте исключение в «0 bytes».

Ограничение: pip-пакет не устанавливает NVIDIA driver/NVML. Поддержка метрик зависит от GPU и режима; API тоже имеет deprecations. Это пример чтения, не готовый production collector. На нашем хосте его GPU-выполнение не проверялось.

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

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

Qwen3-VL-4B: рамка съехала? Проверьте шкалу координат

Qwen3-VL-4B: рамка съехала? Проверьте шкалу координат

Qwen выпустила Qwen3-VL-4B-Instruct 15.10.2025. Это разбор доступной модели, не новинка дня: открытые веса Apache 2.0, text/image/video → text, native context 256K; есть отдельная Thinking-версия.

Факт: официальный cookbook Qwen3-VL использует относительные координаты 0–1000, а не пиксели. Если нарисовать bbox как готовые пиксели, рамка окажется не там. Покупка более мощной GPU это не исправит.

Применение: 1. Передайте изображение и запрос: Locate the orange sphere. Return only JSON: {"bbox_2d":[x1,y1,x2,y2]}. Use coordinates normalized to 0–1000. 2. Для изображения W×H преобразуйте обе x-координаты по x_px = x / 1000 * W, обе y — по y_px = y / 1000 * H. Пример: [250,250,750,750] на 1920×1080 → [480,270,1440,810]. 3. Проверьте JSON, диапазон и порядок углов, затем наложите рамку на то же изображение. Если модель получила crop, для полной картинки дополнительно учтите смещение crop.

Ограничение: правильная шкала не гарантирует правильное распознавание. Не запускайте автоматический клик без проверки. Для выбора GPU измеряйте VRAM на ваших разрешении, context и batch: размер «4B» сам по себе не задаёт потребление памяти.

Сайт проекта: https://verum-ai.uz

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

ИИ написал r.json() — это ещё не успех API

ИИ написал r.json() — это ещё не успех API

Факт: Python Requests может успешно разобрать JSON из ответа HTTP 500. Метод r.json() проверяет формат тела, а не успех запроса. Если ИИ смешал эти проверки, ошибка сервера может попасть в отчёт как обычные данные.

Три шага: 1. Попросите ИИ разделить проверку HTTP status и разбор JSON. Для endpoint, который по контракту возвращает JSON, сначала r.raise_for_status(), затем data = r.json(). Первый вызов отклоняет 4xx/5xx. 2. Отдельно проверьте ожидаемый status, обязательные поля и бизнес-признак успеха по документации API. Не превращайте исключение в пустой список: «данных нет» и «запрос не выполнен» — разные результаты. 3. Добавьте тесты с подставными ответами: 200 + корректные данные; 500 + корректный JSON ошибки; 200 + невалидный JSON. Последние два не должны попадать в успешный результат.

Готовый prompt Проверь обработку API-ответа в этом коде. Раздели HTTP status, JSON parsing и бизнес-успех. Не скрывай ошибки за [] или {}. Добавь три теста: 200+данные, 500+JSON ошибки, 200+невалидный JSON. Покажи реальные результаты тестов.

Ограничение: raise_for_status() не проверяет содержимое. HTTP 200 тоже может содержать бизнес-ошибку; для 204 без тела вызывать json() не нужно.

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

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

PyTorch: сохранили маленький срез — получили большой файл?

PyTorch: сохранили маленький срез — получили большой файл?

Факт: при сохранении tensor view через torch.save() PyTorch сохраняет его backing storage, а не только видимые элементы. В официальном примере срез из пяти значений уносит в файл storage на 999 значений. Это может раздувать выгрузки embeddings и промежуточных результатов на GPU-сервере: лишние данные занимают NVMe и передаются по сети.

Три шага: 1. Убедитесь, что сохраняете отдельный срез, для которого связь с исходным tensor больше не нужна. Не меняйте весь checkpoint вслепую. 2. Перед сохранением создайте независимую копию среза. Минимальный пример из документации: import torch large = torch.arange(1, 1000) small = large[0:5] torch.save(small.clone(), "small.pt") 3. На своих данных сравните размеры файлов с clone и без него. Загрузите оба файла и проверьте shape, dtype и значения; после этого сравнивайте время записи и передачи. Не обещайте ускорение без замера.

Ловушка: clone разрывает общую storage-связь между tensors и требует памяти для копии на текущем устройстве. Не применяйте его массово, если совместное хранение важно. Это не quantization и не уменьшение исходной модели в VRAM.

Сайт проекта: https://verum-ai.uz

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

Jina Embeddings v4: флаг не вернёт удалённый слой

Jina Embeddings v4: флаг не вернёт удалённый слой

Jina AI представила v4 25.06.2025: это embedding-модель для поиска, не чат-бот и не новинка дня. Исходная версия принимает текст и изображения, context — до 32 768 tokens. В model card указана Qwen Research License: не считайте веса безусловно свободными для коммерческого использования.

Факт: в text-only GGUF-вариантах удалён обученный MLP, который создавал multi-vector embeddings. Поэтому --pooling none не восстанавливает исходный multi-vector режим. Получить много векторов — не значит получить те же обученные представления.

Три шага: 1. Зафиксируйте задачу: обычный текстовый поиск или late interaction с несколькими векторами на документ. Для второго используйте исходную модель через Hugging Face с return_multivector=True, а не этот text-only GGUF. 2. Для single-vector text retrieval выберите jinaai/jina-embeddings-v4-text-retrieval-GGUF, задайте --pooling mean. Перед запросом добавляйте Query: , перед документом — Passage: . 3. До выбора GPU проверьте качество на своих парах «запрос → нужный документ», затем измерьте пиковую VRAM при целевых batch и длине входа. Размер GGUF-файла — не полный бюджет VRAM.

Ограничение: именно эти text-only GGUF не принимают изображения. Не переносите ограничения на отдельный multimodal GGUF-вариант. Более мощная GPU не вернёт отсутствующий слой. Каталог GPU: https://verum-ai.uz — наличие конфигурации уточняйте отдельно.

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

ИИ убрал .csv — и откусил часть имени?

ИИ убрал .csv — и откусил часть имени?

Факт: Python rstrip(".csv") удаляет справа любые символы из набора «.csv», а не одно точное окончание. Поэтому "metrics.csv".rstrip(".csv") даёт "metri". При обработке файлов код от ИИ может незаметно испортить имена и связи с исходными данными.

Три шага: 1. Задайте точное правило: убрать только конечное .csv, остальное имя сохранить. Для Python 3.9+ используйте name.removesuffix(".csv"). 2. До работы с файлами проверьте строки: metrics.csv → metrics, civic.csv → civic, report.csv → report, report.csv.bak → report.csv.bak. Эти четыре проверки выполнены на Python 3.11.16. 3. Сначала получите таблицу «старое имя → новое имя» без переименования. Проверьте совпадения новых имён и уже существующие файлы; только затем разрешайте запись.

Готовый prompt: В этом Python-коде убери только точный конечный суффикс .csv, не набор символов. Используй removesuffix. Проверь metrics.csv, civic.csv, report.csv и report.csv.bak. Покажи результаты тестов и план переименования; файлы пока не меняй.

Ловушка: сравнение учитывает регистр: .CSV не удалится. Правило для такого случая задайте отдельно. removesuffix меняет строку, а не файл на диске, и не предотвращает коллизии имён.

Сайт проекта: https://verum-ai.uz

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

GPU просит Drain and Reset? Не обрывайте всё вслепую

GPU просит Drain and Reset? Не обрывайте всё вслепую

Факт: NVIDIA различает Reset и Drain and Reset в поле GPU Recovery Action. Во втором случае GPU может работать с уменьшенной доступной памятью или недоступными MIG-разделами. Новые задания запускать нельзя, но уже работающие и не затронутые сбоем задачи можно довести до завершения или подходящего checkpoint.

Почему важно: немедленный reset может стоить часов расчёта; продолжение обычной раздачи новых задач — отправить их на GPU с ограниченными ресурсами.

Три шага: 1. Сохраните вывод nvidia-smi -q: UUID устройства, GPU Recovery Action и данные ошибки. Смотрите фактическое значение, а не только слово «ошибка» в alert. 2. Именно при Drain and Reset запретите новые задания на затронутой GPU через scheduler. Незатронутым задачам дайте завершиться или сохранить checkpoint; затем остановите оставшихся клиентов по процедуре обслуживания. 3. После drain администратор выполняет reset по инструкции для данной платформы. Перед возвратом в scheduler повторно проверьте состояние и работоспособность GPU. Успех команды сам по себе не подтверждает исправность.

Ловушка: этот порядок нельзя автоматически переносить на Reset, Reboot или Drain P2P: действия различаются. Поле сообщает способ восстановления, не первопричину; N/A не означает «всё исправно». Не ставьте автоматический reset на любой alert.

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

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

Qwen3-VL-Embedding: quantization чего именно?

Qwen3-VL-Embedding: quantization чего именно?

Qwen Team выпустила семейство 7 января 2026 года. Вариант Qwen/Qwen3-VL-Embedding-2B — открытая модель Apache 2.0 для поиска по тексту, изображениям и видео, не чат-бот. Context — 32K; на выходе вектор до 2048 компонентов. Есть и вариант 8B. Это разбор доступной модели, не новость о релизе сегодня.

Факт: столбец Quantization Support в официальной model card означает quantization выходного embedding. Он не обещает quantization weights и не доказывает, что сама модель займёт меньше VRAM. Сжать результаты поиска и сжать модель — разные операции.

Как применить: 1. В конфигурации отдельно запишите формат weights, dtype вычислений и формат выходных vectors. Не считайте отметку «Yes» доказательством загрузки модели в INT8. 2. Для экономии места в индексе сравните исходные и quantized embeddings на одном наборе запросов. Проверьте, попадает ли нужный документ в top-10, отдельно на RU/UZ; зафиксируйте совместимые форматы запроса и индекса. 3. GPU выбирайте по замерам inference: пиковая VRAM при реальных batch, длине текста и объёме изображений/видеокадров. Уменьшение файла с vectors не означает такое же уменьшение VRAM модели.

Ловушка: quantization выходных vectors может менять ранжирование. Опубликованные benchmarks не гарантируют качество вашего сжатого индекса; рецепт inference не определяет память для fine-tuning.

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

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

Temporary Chat — не мгновенное удаление данных

Temporary Chat — не мгновенное удаление данных

Факт: OpenAI пишет: временный чат не используется для улучшения моделей, пока остаётся временным, но его копия может храниться до 30 дней в целях безопасности. «Нет в истории» и «нигде не хранится» — разные вещи.

Как применять к рабочим документам: 1. До загрузки проверьте, разрешает ли организация передачу этих данных в ChatGPT. Локально замените ФИО, телефоны, реквизиты и внутренние ID на метки вроде CLIENT_A. Таблицу соответствий оставьте у себя. Не загружайте исходник с просьбой «сначала обезличь» — данные уже будут переданы. 2. Откройте новый Temporary Chat и отправьте только минимальный обезличенный фрагмент, необходимый для задачи. Если нужен лишь формат письма, замените также суммы и детали сделки вымышленным примером. 3. Проверьте ответ и восстановите нужные значения локально. Если сохраните временный чат как обычный, дальше на него распространяются настройки улучшения моделей и правила хранения обычных чатов.

Готовый prompt для уже очищенного текста: Составь ответ по фрагменту ниже. CLIENT_A и CONTRACT_B — условные метки: сохрани их дословно. Не угадывай личности и отсутствующие реквизиты. Недостающие сведения перечисли отдельно.

Ограничение: замена имён не гарантирует анонимность: человека могут выдать сочетания дат, должности и событий. Prompt «ничего не сохраняй» не меняет правила сервиса; запрещённые к передаче данные не отправляйте даже во временный чат.

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

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

Короткие GPU-задачи: проверьте Persistence Daemon

Короткие GPU-задачи: проверьте Persistence Daemon

Факт: на headless Linux без постоянного GPU-клиента driver может деинициализировать GPU после выхода последнего процесса. Следующее задание снова платит за инициализацию. NVIDIA предлагает nvidia-persistenced: daemon держит device files открытыми и сохраняет состояние driver между заданиями.

Зачем: для множества коротких запусков задержка старта может быть важнее скорости kernels. Это стоит проверить до покупки более мощной GPU.

3 шага: 1. На своём Linux-узле проверьте nvidia-smi -q → Persistence Mode. Если driver установлен через пакет с systemd service, проверьте systemctl status nvidia-persistenced. Отсутствие такого unit само по себе не доказывает отсутствие daemon: установка зависит от дистрибутива. 2. С администратором настройте запуск daemon при старте ОС и persistence для выделенной GPU. Важно: daemon может работать даже при выключенном persistence на всех GPU; одного статуса «active» недостаточно. 3. До и после изменения измерьте одинаковую короткую задачу несколькими отдельными процессами. Разделите время старта и время вычисления; при тесте закрывайте лишние GPU-клиенты, которые сами удерживают устройство открытым.

Не перепутайте: сохраняется состояние driver, не weights модели и не KV cache завершённого процесса. Это не обещание роста tokens/s. Совет относится к Linux; на Windows жизненный цикл driver другой.

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