Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

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

Узнайте, как бессерверные вычисления упрощают развертывание ИИ. Научитесь создавать масштабируемые и экономичные рабочие процессы с помощью Ultralytics для эффективного машинного обучения.

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

Механика бессерверных технологий для ИИ

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

Однако ключевым моментом в этой архитектуре является «холодный запуск» — задержка, возникающая при первом вызове функции или после периода бездействия. Чтобы смягчить эту проблему, разработчики часто используют легкие архитектуры, такие как YOLO26, или такие методы, как квантование модели, чтобы обеспечить быструю загрузку , что необходимо для поддержания низкой задержки вывода.

Приложения реального мира в машинном обучении

Бессерверные архитектуры особенно эффективны для управляемых событиями рабочих процессов компьютерного зрения (CV) и конвейеров данных .

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

Пример на Python : Обработчик бессерверных выводов

Следующий код демонстрирует концептуальный бессерверный обработчик. Он инициализирует глобальный экземпляр модели, чтобы воспользоваться преимуществами «теплого запуска» (когда контейнер остается активным между запросами), и обрабатывает входящий путь к изображению.

from ultralytics import YOLO

# Initialize the model outside the handler to cache it for subsequent requests
# YOLO26n is ideal for serverless due to its compact size and speed
model = YOLO("yolo26n.pt")


def lambda_handler(event, context):
    """Simulates a serverless function handler triggered by an event. 'event' represents the input payload containing
    the image source.
    """
    image_source = event.get("url", "https://ultralytics.com/images/bus.jpg")

    # Perform inference
    results = model(image_source)

    # Return prediction summary
    return {
        "statusCode": 200,
        "body": {
            "objects_detected": len(results[0].boxes),
            "top_class": results[0].names[int(results[0].boxes.cls[0])] if len(results[0].boxes) > 0 else "None",
        },
    }

Различение родственных технологий

Чтобы понять, что такое бессерверные вычисления, необходимо отличать их от других моделей инфраструктуры, часто используемых в MLOps.

  • Бессерверные вычисления и пограничные вычисления: хотя и те, и другие направлены на оптимизацию эффективности, они работают в разных местах. Пограничные вычисления обрабатывают данные локально на устройстве (например, интеллектуальной камере или устройстве IoT), чтобы свести к минимуму время передачи по сети. Бессерверные вычисления происходят в централизованном общедоступном облаке. Гибридные решения часто обрабатывают исходные данные на периферии и отправляют сложные аномалии в бессерверные облачные функции для более глубокого анализа медицинских изображений или криминалистической экспертизы.
  • Бессерверные платформы против Kubernetes: Kubernetes — это платформа для оркестрации контейнеризации, которая дает разработчикам возможность детально контролировать кластерную среду, сеть и поды. Несмотря на свою мощность, она требует значительных затрат на управление . Бессерверные платформы, такие как Google Functions или Azure Functions, полностью абстрагируют эту оркестрацию , позволяя командам сосредоточиться исключительно на логике кода, а не на работоспособности узлов.
  • Бессерверные вычисления против IaaS: Инфраструктура как услуга (IaaS) предоставляет виртуализированные вычислительные ресурсы через Интернет, например Amazon EC2. При использовании IaaS пользователь несет ответственность за установку исправлений для операционной системы и управление промежуточным программным обеспечением. В отличие от этого, бессерверные вычисления снимают эти операционные обязанности, позволяя разработчикам сосредоточиться на более высокоуровневых задачах, таких как улучшение точности классификации изображений.

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

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

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

Присоединиться сейчас