NVIDIA Developer сообщает, что добавление моделей искусственного интеллекта в локальные приложения требует портативного формата модели, надежного времени выполнения и ускорения, которое работает на целевых системах. Do Inference Now (DIN) Deploy представляет собой открытое собрание практических примеров на C++, которое помогает преодолеть этот разрыв. Он сочетает ONNX Runtime с поставщиком выполнения NVIDIA TensorRT RTX, чтобы помочь разработчикам перейти от контрольной точки модели к нативному приложению с аппаратным ускорением на Windows и Linux. Тот же API ONNX Runtime также доступен через WinML 2.0. Каждый пример DIN Deploy начинается с экспортера на Python, который загружает контрольную точку модели с Hugging Face и преобразует её в артефакт ONNX. Сторона приложения представляет собой нативный C++ CLI, построенный на ONNX Runtime (ORT). Это разделение позволяет отделить преобразование модели от логики развертывания, и разработчики могут использовать экспортированную модель в локальном приложении без необходимости в специфическом для модели времени выполнения. Большинство примеров кода использует API сессий и тензоров ONNX Runtime на C++. Код, специфичный для поставщика, включая API и ядра CUDA, появляется только в необязательных ускоренных путях. Поставщики выполнения, поддерживающие необходимые API тензоров ONNX Runtime, могут запускать общий код. API копирования тензоров ORT позволяет управлять локальностью данных без использования специализированного API поставщика в общем коде. Для предварительной и постобработки вокруг вывода модели FLUX.2 использует возможность графического взаимодействия ONNX Runtime, введённую в версии 1.25, с Vulkan и DirectX для выборки. Репозиторий предоставляет пресеты CMake для Windows и Linux, включая варианты Arm64. DirectX доступен только на Windows. DIN Deploy поддерживает автоматическое распознавание речи (ASR) как в оффлайн, так и в потоковых режимах. OpenAI Whisper охватывает оффлайн-транскрипцию для различных размеров моделей, в то время как NVIDIA Parakeet TDT и NVIDIA Nemotron ASR Streaming предоставляют потоковые решения. Примеры показывают, как перемещать аудио через нативное приложение и возвращать результаты транскрипции, используя GPU-ускорение, где это возможно. Примеры Meta SAM 2.1 поддерживают интерактивное маскирование для изображений и видео. Они превращают выходные данные модели в маски сегментации, которые могут использоваться нативными приложениями для выбора, отслеживания и других рабочих процессов компьютерного зрения. Таблица 1 сравнивает производительность GPU и CPU для выбранных рабочих нагрузок DIN Deploy, измеренную на DGX Spark. Результаты для аудио представлены как кратные реальному времени (чем выше, тем быстрее). Пример FLUX.2-klein-4B предоставляет генерацию изображений на основе подсказок. Пример включает взаимодействие с графическими API через Vulkan и DirectX, позволяя приложениям интегрировать ресурсы, находящиеся в памяти GPU, с интерфейсом шейдеров, совместимым с несколькими поставщиками. Он также демонстрирует, как посттренировочная квантизация (PTQ) с помощью NVIDIA Model Optimizer создаёт квантизированную модель ONNX. Квантизация зависит от оборудования, но поскольку интерфейсы ONNX остаются неизменными, квантизированная модель является заменой, не требующей изменений в коде приложения. Чтобы начать работу с DIN Deploy, воспользуйтесь пресетами CMake из репозитория для Windows, Linux, x86-64 и Arm64. После настройки и сборки проекта экспортируйте модель в ONNX и запустите CLI с TensorRT RTX или скопируйте код в своё приложение и используйте реализации конвейера. CMake по умолчанию загружает ONNX Runtime и TensorRT RTX. Узнайте больше о TensorRT для RTX, NVIDIA Local AI и репозитории DIN Deploy, а также о серии блогов NVIDIA по квантизации моделей. Материал подготовлен нейросетью на основе оригинальной публикации. ИИ может ошибаться в деталях (цифры, имена, даты, цитаты) — для важной информации сверяйтесь с первоисточником.