Serverless Computing
Изучи, как бессерверные вычисления упрощают развертывание ИИ. Узнай, как создавать масштабируемые и экономичные рабочие процессы с использованием Ultralytics YOLO26 для эффективного инференса ML.
Бессерверные вычисления — это модель облачного выполнения, которая позволяет разработчикам создавать и запускать приложения, не обременяя себя сложностями управления инфраструктурой. В этой парадигме облачный провайдер динамически управляет выделением и подготовкой серверов, скрывая от пользователя детали базового оборудования и операционных систем. Код выполняется в контейнерах без сохранения состояния, которые активируются специфическими событиями, такими как HTTP-запрос, изменение в базе данных или загрузка файла. Этот подход крайне актуален для современных стратегий облачных вычислений, поскольку он позволяет платить только за фактически использованное время вычислений и автоматически соответствовать требованиям масштабируемости, расширяясь от нуля до тысяч экземпляров в зависимости от нагрузки.
Link to this sectionМеханика бессерверных вычислений для ИИ#
В основе бессерверных вычислений лежит концепция Function-as-a-Service (FaaS), где приложения разбиваются на отдельные функции для выполнения конкретных задач. Для специалистов в области машинного обучения (ML) это предлагает оптимизированный путь для развертывания моделей. Вместо поддержания выделенного сервера, который простаивает в периоды низкой активности, бессерверная функция может запускаться по требованию для обработки данных и сразу же завершать работу.
Однако важным аспектом этой архитектуры является «холодный старт» — задержка, возникающая при первом вызове функции или после периода бездействия. Чтобы смягчить этот эффект, разработчики часто используют облегченные архитектуры, такие как YOLO26, или методы, такие как квантование моделей, для обеспечения быстрой загрузки, что критически важно для поддержания низкой задержки вывода.
Link to this sectionПрактическое применение в машинном обучении#
Бессерверные архитектуры особенно эффективны для событийно-ориентированных рабочих процессов в области компьютерного зрения (CV) и конвейеров обработки данных.
- Автоматизированная предобработка данных: когда ты загружаешь исходный набор данных в облачное хранилище, такое как Amazon S3, это может запустить бессерверную функцию для выполнения немедленной предобработки данных. Функция может изменять размер изображений, нормализовать значения пикселей или проверять форматы файлов перед тем, как данные попадут в конвейер обучающих данных, обеспечивая согласованность без ручного вмешательства.
- Интеллектуальное наблюдение по требованию: в ИИ в системах безопасности датчик движения может активировать камеру для захвата кадра. Это событие вызывает облачную функцию, в которой размещена модель обнаружения объектов. Модель анализирует изображение, чтобы отличить безобидное животное от потенциального злоумышленника, отправляя оповещение только при необходимости. Это значительно сокращает затраты на пропускную способность и хранение по сравнению с непрерывной потоковой передачей.
Link to this sectionПример на 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",
},
}Link to this sectionРазграничение смежных технологий#
Понимание бессерверных вычислений требует их отличия от других инфраструктурных моделей, часто используемых в MLOps.
- Бессерверные вычисления против граничных (Edge) вычислений: хотя оба подхода направлены на оптимизацию эффективности, они работают в разных местах. Граничные вычисления обрабатывают данные локально на устройстве (например, на умной камере или IoT-устройстве) для минимизации времени передачи по сети. Бессерверные вычисления происходят в централизованном публичном облаке. Гибридные решения часто обрабатывают первичные данные на границе сети, а сложные аномалии отправляют в бессерверные облачные функции для более глубокого анализа медицинских изображений или судебно-медицинской экспертизы.
- Бессерверные вычисления против Kubernetes: Kubernetes — это платформа оркестрации для контейнеризации, которая дает разработчикам детальный контроль над средой кластера, сетью и подами. Несмотря на свою мощность, она требует значительных затрат на управление. Бессерверные платформы, такие как Google Cloud Functions или Azure Functions, полностью скрывают эту оркестрацию, позволяя твоей команде сосредоточиться исключительно на логике кода, а не на работоспособности узлов.
- Бессерверные вычисления против IaaS: Infrastructure-as-a-Service (IaaS) предоставляет виртуализированные вычислительные ресурсы через интернет, например, Amazon EC2. С IaaS ты несешь ответственность за исправление уязвимостей операционной системы и управление промежуточным ПО. В отличие от этого, бессерверные вычисления снимают эти операционные обязанности, позволяя тебе сосредоточиться на задачах более высокого уровня, например, на повышении точности классификации изображений.
Используя бессерверные архитектуры, ты можешь развертывать надежные ИИ-решения, которые являются экономически эффективными и способны справляться с непредсказуемыми нагрузками, применяя инструменты, такие как Ultralytics Platform, для оптимизации процесса обучения моделей и управления ими до развертывания.






