[Модель ИИ] Обзор развертывания модели ИИ
[Модель ИИ] Обзор развертывания модели ИИ

😏1. Метод развертывания модели ИИ.

При обучении моделей глубокого обучения ИИ он обычно реализуется на языке Python из-за его гибкости и высокой читаемости. Однако при фактическом развертывании моделей ИИ в основном используется C++ из-за эффективности самого языка.

Для развертывания моделей ИИ можно выбрать один из нескольких методов:

  1. использовать C++ выполнитьглубокое обучение Модель(★★★) Доступно киспользовать C++ Напиши свой обучениебиблиотека илирамка,Но для этого необходимо иметь глубокие знания в области математики и информатики. также,также Доступно киспользовать существующий открытый исходный код C++ рама, нравиться TensorRT и OpenCV DNN ждать.
  2. Экспортглубокое обучение Модель к прикладной платформе (★★) многоглубокое обучениерамка поддерживает экспорт обученной модели как C++ форматы, которые можно прочитать, например ONNX、TensorFlow Lite、Caffe2 ждать. Это позволяет тренировать Модель без переобучения. C++ Код загружается и запускается Модель.
  3. использовать C++ Cuollai загружен gluebocoe run нагрузка обучение Модель(★) Многие разработчики используют существующие C++ Cuollai загружен gluebocoe run нагрузка обучение Модель,нравиться OpenCV、Dlib、Libtorch Эти библиотеки предоставляют несколько удобных функций и интерфейсов, которые можно легко интегрировать в вашу систему. C++ проект.

😊2. Структура развертывания модели ИИ.

Модельразвертыватьобщие рассуждениярамкаиметь:ONNX、NCNN、OpenVINO、 TensorRT、Mediapipe

ONNX

Официальный сайт:https://onnx.ai/ github:https://github.com/onnx/onnx

Open Neural Network Exchange (ONNX) — это набор открытых форматов, представляющих модели глубоких нейронных сетей. Он был запущен Microsoft и Facebook в 2017 году и быстро получил поддержку крупных производителей и платформ. Всего за несколько лет разработки он стал фактическим стандартом для выражения моделей глубокого обучения, а благодаря ONNX-ML он может поддерживать традиционные модели машинного обучения, не относящиеся к нейронным сетям, и наблюдается тенденция к унификации всей модели искусственного интеллекта. стандарт обмена.

Независимо от того, какая платформа обучения используется для обучения модели (например, TensorFlow/Pytorch/OneFlow/Paddle), после обучения вы можете единообразно преобразовать модели этих платформ в хранилище ONNX. Файлы ONNX не только хранят веса модели нейронной сети, но также хранят структурную информацию модели, входные и выходные данные каждого слоя в сети и другую информацию. В настоящее время ONNX в основном фокусируется на прогнозировании модели (выводе), преобразовании преобразованной модели ONNX в типы, которые нам нужны для развертывания с использованием различных платформ, которые можно легко развернуть в ONNX-совместимой операционной среде.

NCNN

github:https://github.com/Tencent/ncnn

ncnn — это высокопроизводительная платформа прямых вычислений на основе нейронных сетей, оптимизированная для мобильных телефонов. Это также первый проект с открытым исходным кодом с момента создания Tencent Youtu Lab. ncnn с самого начала тщательно продумал развертывание и использование мобильного телефона. Он не имеет сторонних зависимостей и является кроссплатформенным. Скорость процессора мобильного телефона выше, чем у всех известных в настоящее время платформ с открытым исходным кодом. На основе ncnn разработчики могут легко переносить алгоритмы глубокого обучения на мобильные телефоны для эффективного выполнения и разрабатывать приложения с искусственным интеллектом.

Из матрицы разработки NCNN видно, что NCNN охватывает практически все часто используемые системные платформы, особенно его применимость лучше на мобильных платформах. Его можно развернуть с использованием графических процессоров на Linux, Windows и Android, а также на платформах iOS и macOS. Модель.

OpenVINO

Официальный сайт:https://docs.openvino.ai/latest/home.html github:https://github.com/openvinotoolkit/openvino

OpenVINO — это набор инструментов, который ускоряет разработку высокопроизводительных приложений компьютерного зрения и глубокого обучения. Он поддерживает глубокое обучение на аппаратных ускорителях различных платформ Intel и обеспечивает прямое гетерогенное выполнение. Набор инструментов OpenVINO™ — это комплексный набор инструментов для быстрой разработки приложений и решений, решающих самые разные задачи, включая моделирование человеческого зрения, автоматическое распознавание речи, обработку естественного языка, рекомендательные системы и многое другое. Масштабируйте рабочие нагрузки, связанные с компьютерным зрением и не связанные с ним, на оборудовании Intel® для максимизации производительности.

Перед развертыванием модели OpenVINO сначала оптимизирует модель, оптимизирует топологию модели, удалит ненужные слои, а также объединит и объединит одни и те же операции для повышения эффективности вычислений и уменьшения количества копий в памяти. уменьшите объем модели и улучшите ее производительность, обеспечивая при этом небольшую потерю точности. С точки зрения развертывания разработка OpenVIVO относительно проста и предоставляет три интерфейса программирования: C, C++ и Python.

TensorRT

Официальный сайт:https://developer.nvidia.com/zh-cn/tensorrt github:https://github.com/NVIDIA/TensorRT

NVIDIA TensorRT™ — это SDK для высокопроизводительного вывода данных глубокого обучения. Этот SDK содержит оптимизатор вывода глубокого обучения и среду выполнения, которая обеспечивает низкую задержку и высокую пропускную способность для приложений вывода глубокого обучения.

Во время вывода приложения на основе TensorRT могут выполняться до 40 раз быстрее, чем платформы ЦП. С помощью TensorRT вы можете оптимизировать модели нейронных сетей, обученные во всех основных платформах, точно корректировать низкую точность и, в конечном итоге, развертывать модели в гипермасштабных центрах обработки данных, на платформах встроенных или автомобильных продуктов.

Созданный на основе CUDA, модели параллельного программирования NVIDIA, TensorRT помогает вам использовать библиотеки, инструменты разработки и методы CUDA-X для оптимизации вывода во всех средах глубокого обучения для искусственного интеллекта, автономных машин, высокопроизводительных вычислений и графики.

Mediapipe

Официальный сайт:https://google.github.io/mediapipe/ github:https://github.com/google/mediapipe

MediaPipe — это платформа приложений для мультимедийных моделей машинного обучения, разработанная и открытая компанией Google Research. В Google MediaPipe глубоко интегрирован в ряд ключевых продуктов, таких как YouTube, Google Lens, ARCore, Google Home и Nest. Как кросс-платформенная платформа, MediaPipe может быть развернут не только на стороне сервера, но также на нескольких мобильных терминалах (Android и Apple iOS) и встроенных платформах (Google Coral и Raspberry Pi) в качестве вывода машинного обучения на стороне устройства (на -устройство вывода машинного обучения).

В дополнение к вышеперечисленным функциям MediaPipe также поддерживает механизм вывода TensorFlow и TF Lite. В MediaPipe можно использовать любую модель TensorFlow и TF Lite. В то же время на мобильных терминалах и встроенных платформах MediaPipe также поддерживает ускорение графического процессора на самом устройстве.

Как выбрать
  1. ONNXRuntime Может работать на нескольких платформах (Windows,Linux,Mac,Android,iOS) Основание для рассуждений, оно принимает ONNX формат ввода модели, поддерживается GPU и CPU рассуждения. Единственным недостатком является ONNX Узел тоньше, а скорость рассуждения иногда лучше, чем другие рассуждения. TensorRT ниже.
  2. развернуть для NCNNдапротив мобильного. Преимущества: Открытый исходный код более ранний.,Иметь очень стабильное сообщество,Влияние открытого исходного кода также велико.
  3. OpenVINO да Intel Ориентирован на дом Intel произведено CPU и GPU Это удобный инструмент для рассуждения, который также можно использовать с различными обучающими инструментами, такими как TensorFlow,Pytorch,Caffe ждать. Недостатками может быть то, что да только поддерживает. Intel Товары для дома.
  4. TensorRT против NVIDIA Серийные видеокарты имеют преимущества, которых нет у других рамок. NVIDIA на видеокарте, TensorRT Вообще, да — самая быстрая в рассуждениях среди всех рамок. Обычная система обучения, например TensorFlow. и Pytorch может быть преобразован в TensorRT Работоспособная модель. Конечно, Тензор РТ Ограничение состоит в том, что да может работать только на NVIDIA на видеокарте, тоже не с открытым исходным кодом kernel。
  5. MediaPipe Не поддерживает другие глубины, кроме тензорного потока. обучениерамка。MediaPipe Основной вариант использования модели вывода других повторно используемых компонентов — быстрое прототипирование прикладных конвейеров машинного обучения. Медиа Пайп возвращатьсяиметьпомощь Волятехнология машинного обученияразвертыватьдля демонстраций на различных аппаратных платформахив приложении,Для мобильных, Рабочий стол/облако、Создавайте решения и приложения машинного обучения мирового класса для Интернета и устройств Интернета вещей.

😆3. Платформа для развертывания моделей искусственного интеллекта.

Развертывание модели ИИ — это процесс применения обученных моделей ИИ к реальным сценариям. Вот некоторые распространенные платформы развертывания моделей ИИ:

  1. Облакоразвертывать Облачное развертывание самое популярное AI Модельразвертывание Одним из способов обычно является использование платформы облачных вычислений для размещения запросов на обработку Модели. Например, Амазон Web Services (AWS)、Microsoft Azure и Google Cloud Platform (GCP) Другие поставщики облачных услуг предоставляют AI Модельразвертыватьрешение。
  2. Развертывание устройства Edge Развертывание устройства Edgeда Воля Модельразвертыватьприезжать IoT Процессы на периферийных устройствах, таких как устройства или встроенные системы. Этот метод развертывания может уменьшить задержку и потребление пропускной способности сети, а также улучшить конфиденциальность и безопасность.
  3. Мобильные устройстваразвернуть Мобильные устройстваразвернутьда Воля AI Процесс, который позволяет устройству выполнять логические выводы локально, не полагаясь на сетевое соединение. Этот метод развертывания очень полезен для приложений, требующих быстрого реагирования и защиты конфиденциальности пользователей.
  4. Контейнеризацияразвертывать Контейнеризацияразвертыватьда Воля AI Модель упаковывается в легкий контейнер и затем запускается в различных средах. Контейнеризация повышает мобильность и гибкость, а также упрощает процесс.
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода