AIKraft Agents

Tencent/ncnn

ncnn — это высокопроизводительная фреймворк для нейронных сетей, оптимизированный для мобильных платформ

Прочее⭐ 24 028C++последний релиз: 20261020
Открыть на GitHub ↗

Что это за инструмент

ncnn — это высокопроизводительный фреймворк для инференса нейросетей, оптимизированный для мобильных устройств, встроенных систем и десктопов.

Зачем нужен

Инструмент позволяет эффективно развертывать модели глубокого обучения на устройствах с ограниченными ресурсами. Он не требует сторонних зависимостей, поддерживает бэкенды CPU и Vulkan GPU, а также предоставляет инструменты для конвертации моделей из PyTorch и ONNX.

Что можно реализовать

  • Развертывание моделей на Android и iOS устройствах
  • Запуск инференса на Raspberry Pi и других встроенных платформах
  • Использование в десктопных приложениях (Windows, macOS, Linux)
  • Запуск нейросетей в браузере через WebAssembly

Ключевые возможности

  • Отсутствие сторонних зависимостей во время выполнения
  • Поддержка бэкендов CPU и Vulkan GPU
  • Инструмент pnnx для конвертации моделей PyTorch и ONNX в формат ncnn
  • Наличие Python API и C++ API
  • Используется в продуктах Tencent (QQ, WeChat, Qzone)

👤 Кому подойдёт: Разработчики, работающие с мобильными приложениями, встроенными системами, десктопным ПО и веб-технологиями (WebAssembly)

Релизы

20261020major
🕐 17 дн назад · релиз на GitHub ↗

ncnn 20261020: нативный batch-инференс, int8/Vulkan, LLM-оптимизации, SDPA для x86 и строгая валидация загрузки.

  • Added: Добавлена инфраструктура нативного batch-инференса с поддержкой CPU/Vulkan, C/Python API и расширенной семантикой Reshape.
  • Added: Vulkan-бэкенд получил int8-инференс для Convolution, InnerProduct и GEMM, что позволяет использовать GPU для квантованных моделей.
  • Added: Введены инструменты и оптимизации для LLM: int4/int6/int8 блочная квантование, сессийный KV cache allocator и bf16 хранение весов.
  • Added: x86-бэкенд поддерживает fp32/bf16 FlashAttention (SDPA) и SIMD-реализации для CumulativeSum, Reduction, Normalize и Permute.
  • Fixed: Включена системная валидация загрузки моделей (NCNN_VALIDATION), исправлены проблемы с переполнениями, циклами и утечками ресурсов.
20260526major
🕐 5 мес назад · релиз на GitHub ↗

Релиз ncnn 20260526: добавлена поддержка HarmonyOS, масштабное улучшение Vulkan для LLM (FlashAttention, кэширование) и x86/ARM оптимизации.

  • Added: Добавлен процесс публикации готовых пакетов для HarmonyOS с поддержкой CPU/Vulkan и статических/динамических библиотек.
  • Added: Vulkan-бэкенд значительно расширен для больших языковых моделей: добавлены SDPA, FlashAttention, RotaryEmbed, GroupNorm и оптимизации загрузки (mmap, кэширование пайплайнов).
  • Added: x86-бэкенд получил масштабную поддержку bf16 storage для GEMM, свёрток, нормализации и активаций с оптимизациями AVX512BF16.
  • Added: ARM-бэкенд улучшен за счёт реализации ARM SDPA, оптимизации GEMM/Conv для ARMv8.4 BF16 и добавления NEON/fp16 SIMD для новых активаций.
  • Added: Инструмент pnnx обновлён для совместимости с PyTorch 2.10/2.11, добавлена поддержка .npy и статистики FLOPS/memory OPS.