Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Calcolo Serverless

Scopri come il serverless computing rivoluziona l'IA/ML con scalabilità, efficienza dei costi e implementazione rapida. Costruisci in modo più intelligente e veloce oggi stesso!

Serverless computing is a cloud execution model that enables developers to build and run applications without the complexity of managing infrastructure. In this paradigm, the cloud provider dynamically manages the allocation and provisioning of servers, abstracting the underlying hardware and operating systems away from the user. Code is executed in stateless containers triggered by specific events, such as an HTTP request, a database modification, or a file upload. This approach is highly relevant to modern cloud computing strategies, as it allows organizations to pay only for the compute time consumed, automatically adhering to scalability requirements by expanding from zero to thousands of instances based on traffic demand.

I meccanismi del serverless per l'IA

Il concetto alla base del serverless computing è quello di Function-as-a-Service (FaaS), in cui le applicazioni vengono suddivise in singole funzioni che eseguono compiti distinti. Per i professionisti del Machine Learning (ML), ciò offre un percorso semplificato per l'implementazione dei modelli. Invece di mantenere un server dedicato che rimane inattivo durante i periodi di traffico ridotto, una funzione serverless può essere avviata su richiesta per elaborare i dati e spegnersi immediatamente dopo.

However, a key consideration in this architecture is the "cold start"—the latency incurred when a function is invoked for the first time or after a period of inactivity. To mitigate this, developers often use lightweight architectures like YOLO26 or techniques like model quantization to ensure rapid loading times, which is essential for maintaining low inference latency.

Applicazioni del mondo reale nell'apprendimento automatico

Le architetture serverless sono particolarmente efficaci per i flussi di lavoro di visione artificiale (CV) guidati dagli eventi e le pipeline di dati .

  • Pre-elaborazione automatizzata dei dati: quando un utente carica un set di dati grezzi su un servizio di archiviazione come Amazon S3, può attivare una funzione serverless per eseguire immediatamente la pre-elaborazione dei dati. La funzione può ridimensionare le immagini, normalizzare i valori dei pixel o convalidare i formati dei file prima che i dati entrino in una pipeline di dati di addestramento, garantendo la coerenza senza intervento manuale.
  • Sorveglianza intelligente su richiesta: nell'ambito dell' intelligenza artificiale applicata alla sicurezza, un sensore di movimento può attivare una telecamera per catturare un fotogramma. Questo evento richiama una funzione cloud che ospita un modello di rilevamento degli oggetti. Il modello analizza l' immagine per distinguere tra un animale innocuo e un potenziale intruso, inviando un avviso solo quando necessario. Ciò riduce drasticamente i costi di larghezza di banda e archiviazione rispetto allo streaming continuo.

Esempio Python : Gestore dell'inferenza senza server

Il codice seguente mostra un gestore serverless concettuale. Inizializza un'istanza di modello globale per sfruttare i "warm start" (in cui il contenitore rimane attivo tra una richiesta e l'altra) ed elabora un percorso immagine in entrata .

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",
        },
    }

Distinguere le tecnologie correlate

Per comprendere il serverless computing è necessario distinguerlo dagli altri modelli infrastrutturali spesso utilizzati in MLOps.

  • Serverless vs. Edge Computing: sebbene entrambi mirino a ottimizzare l'efficienza, operano in luoghi diversi. L'edge computing elabora i dati localmente sul dispositivo (ad esempio, una telecamera intelligente o un dispositivo IoT) per ridurre al minimo il tempo di trasmissione della rete. Il serverless computing avviene in un cloud pubblico centralizzato. Le soluzioni ibride spesso elaborano i dati iniziali all'edge e inviano anomalie complesse alle funzioni cloud serverless per un'analisi più approfondita delle immagini mediche o una revisione forense.
  • Serverless vs. Kubernetes: Kubernetes è una piattaforma di orchestrazione per la containerizzazione che offre agli sviluppatori un controllo granulare sull'ambiente cluster, sulla rete e sui pod. Sebbene potente, richiede un notevole sovraccarico di gestione. Le piattaforme serverless, come Google Functions o Azure Functions, astraggono completamente questa orchestrazione , consentendo ai team di concentrarsi esclusivamente sulla logica del codice piuttosto che sullo stato dei nodi.
  • Serverless vs. IaaS: Infrastructure-as-a-Service (IaaS) provides virtualized computing resources over the internet, like Amazon EC2. With IaaS, the user is responsible for patching the operating system and managing middleware. In contrast, serverless computing removes these operational responsibilities, allowing developers to focus on higher-level tasks like improving image classification accuracy.

By leveraging serverless architectures, developers can deploy robust AI solutions that are cost-effective and capable of handling unpredictable workloads, utilizing tools like the Ultralytics Platform to streamline the model training and management process before deployment.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora