Глоссарий

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

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

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

Как работают бессерверные вычисления

В основе бессерверных вычислений лежит модель Function-as-a-Service (FaaS). В этом случае логика приложения разбивается на небольшие одноцелевые функции, которые запускаются по определенным событиям. Таким событием может быть HTTP-запрос от веб-приложения, новое сообщение в очереди или загрузка файла в облачное хранилище.

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

Приложения в искусственном интеллекте и машинном обучении

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

  • Автоматизированные конвейеры данных: Бессерверные функции могут автоматизировать задачи предварительной обработки данных. Например, функция может запускаться каждый раз, когда новое изображение загружается на сервис хранения данных, например Amazon S3. Функция может автоматически изменить размер изображения, нормализовать значения пикселей и сохранить его в формате, готовом для обучения модели.
  • Экономически эффективное обслуживание моделей: Многие приложения ИИ не требуют постоянной обработки больших объемов данных. Бессерверная конечная точка для модели компьютерного зрения позволяет развернуть такие модели, как Ultralytics YOLO, без постоянного и часто дорогостоящего сервера. Функция запускается по требованию для обработки запроса и выключается, что значительно снижает эксплуатационные расходы. Такой подход упрощает развертывание моделей для приложений с периодическим использованием.

Примеры из реальной жизни

  1. Анализ изображений по требованию: Мобильное приложение позволяет пользователям загружать фотографии растений для идентификации. Каждая загруженная фотография запускает бессерверную функцию через API-шлюз. Функция загружает модель классификации изображений, анализирует фотографию, чтобы определить вид растения, и возвращает результат в приложение пользователя. Весь этот процесс происходит за считанные секунды без использования выделенного сервера.
  2. Обработка чатботов в режиме реального времени: В чатботе для обслуживания клиентов каждое сообщение пользователя - это событие, которое запускает бессерверную функцию. Эта функция вызывает модель обработки естественного языка (NLP), чтобы понять намерения пользователя. На основе анализа может быть запущена другая функция для запроса базы данных или вызова другого API, следуя событийно-ориентированной архитектуре.

Бессерверные технологии и смежные концепции

Важно отличать бессерверные вычисления от смежных технологий:

  • Облачные вычисления против бессерверных: Облачные вычисления - это широкое предоставление вычислительных услуг через Интернет. Бессерверные вычисления - это особая модель исполнения в рамках облачных вычислений, в которой особое внимание уделяется автоматическому управлению ресурсами, полностью абстрагируясь от управления серверами. Другие облачные модели, такие как инфраструктура как услуга (IaaS), по-прежнему требуют от пользователей предоставления и управления виртуальными машинами.
  • Контейнеризация против бессерверных технологий: Инструменты контейнеризации, такие как Docker, упаковывают приложения и их зависимости. Платформы оркестровки, такие как Kubernetes, автоматизируют развертывание и масштабирование этих контейнеров. Хотя это снижает операционную нагрузку, вы все равно управляете базовой кластерной инфраструктурой. Бессерверные платформы полностью абстрагируют этот слой; вы управляете только функциональным кодом. Узнайте, как использовать Docker с Ultralytics.
  • Edge Computing vs. Serverless: Edge Computing подразумевает обработку данных локально на устройствах, расположенных рядом с источником данных. В отличие от бессерверных вычислений, функции выполняются в централизованных облачных центрах обработки данных. Эти два подхода могут дополнять друг друга: устройство Edge AI (например, работающее на NVIDIA Jetson) может выполнять первоначальную фильтрацию, а затем запускать бессерверную функцию в облаке для более интенсивного анализа.

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

Присоединяйтесь к сообществу Ultralytics

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

Присоединяйтесь сейчас
Ссылка копируется в буфер обмена