Глоссарий

Бессерверные вычисления

Узнай, как бессерверные вычисления революционизируют AI/ML благодаря масштабируемости, экономичности и быстрому развертыванию. Создавай умнее и быстрее уже сегодня!

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Бессерверные вычисления - это модель выполнения облачных вычислений, при которой облачный провайдер динамически управляет распределением и предоставлением серверов. По сути, разработчики могут писать и разворачивать код, не обременяя себя управлением серверами. Термин "бессерверный" - это в некоторой степени неправильное название, так как серверы все равно задействованы, но их управление полностью абстрагировано от пользователя. Такой подход позволяет разработчикам сосредоточиться исключительно на написании кода и создании приложений, что особенно полезно в быстро развивающейся сфере ИИ и машинного обучения (ML).

Понимание бессерверной архитектуры

При бессерверных вычислениях приложения разбиваются на отдельные, независимые функции, которые запускаются по определенным событиям. Эти события могут быть самыми разными: HTTP-запросы, изменения данных, системные события или даже запланированные триггеры. Когда функция запускается, облачный провайдер мгновенно выделяет необходимые вычислительные ресурсы для выполнения кода, а затем автоматически сворачивает ресурсы, когда функция больше не выполняется. Такое выполнение по требованию, управляемое событиями, контрастирует с традиционными серверными архитектурами, в которых серверы постоянно работают, независимо от спроса на приложения, что приводит к потенциальной растрате ресурсов и повышению операционной сложности. Бессерверные архитектуры являются ключевым компонентом облачных вычислений, предлагая более гибкий и эффективный способ развертывания и управления приложениями.

Преимущества для искусственного интеллекта и ML

Бессерверные вычисления дают значительные преимущества для рабочих нагрузок AI и ML, которые часто включают в себя задачи с интенсивными вычислениями и переменчивыми требованиями.

  • Масштабируемость: Бессерверные платформы автоматически масштабируют ресурсы в зависимости от спроса. Это очень важно для ML-приложений, которые могут испытывать скачки в использовании, например, в часы пик для API обнаружения объектов или во время пакетной обработки больших наборов данных.
  • Экономическая эффективность: Ты платишь только за то вычислительное время, которое расходуется, когда твой код действительно работает. Для AI/ML-проектов, в которых могут быть периоды бездействия или переменного использования, такая модель оплаты по факту может быть значительно более экономичной, чем содержание постоянно включенных серверов.
  • Снижение операционных нагрузок: Разработчики освобождаются от задач по управлению серверами, что позволяет им сосредоточиться на разработке моделей, настройке гиперпараметров и проектировании функций. Такой оптимизированный рабочий процесс ускоряет циклы разработки и снижает операционную нагрузку, связанную с управлением инфраструктурой.
  • Более быстрое развертывание: Бессерверные функции могут быть развернуты быстро и легко, что позволяет быстро проводить итерации и эксперименты в AI/ML-проектах. Интеграция с такими платформами, как Ultralytics HUB, еще больше упрощает развертывание Ultralytics YOLO моделей в бессерверных средах.

Приложения реального мира в AI/ML

Бессерверные вычисления используются в различных AI/ML-приложениях:

  • API для выводов в реальном времени: Развертывание ML-моделей в виде бессерверных функций позволяет создавать масштабируемые и экономически эффективные конечные точки обслуживания моделей. Например, модель классификации изображений, созданная с помощью Ultralytics YOLOv8 может быть развернута как бессерверный API, чтобы предоставлять прогнозы в реальном времени по загруженным изображениям. Это идеально подходит для приложений, требующих мгновенного анализа, таких как анализ медицинских изображений или автоматизированный контроль качества на производстве.
  • Конвейеры предварительной обработки данных: Бессерверные функции хорошо подходят для создания управляемых событиями конвейеров данных. Представь себе систему, в которой постоянно собираются новые данные, возможно, от датчиков или загруженных пользователями. Бессерверные функции можно запускать для автоматической предварительной обработки этих данных - очистки, преобразования и дополнения - перед тем, как использовать их для обучения модели или анализа. Это может быть особенно полезно в таких сценариях, как компьютерное зрение в сельском хозяйстве, где данные изображений необходимо обработать перед обучением Ultralytics YOLOv5 моделей для мониторинга урожая.

Бессерверные и граничные вычисления

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

Среди популярных бессерверных платформ - AWS Lambda, Google Cloud Functions и Azure Functions. Эти платформы предоставляют инфраструктуру и инструменты, необходимые для создания и эффективного развертывания бессерверных AI/ML-приложений.

Читать полностью