Descubra cómo el servicio de modelos salva la brecha entre los modelos entrenados y la producción. Explore las estrategias de implementación de Ultralytics en la Ultralytics .
El servicio de modelos es el proceso de alojar un modelo de aprendizaje automático entrenado y poner su funcionalidad a disposición de las aplicaciones de software a través de una interfaz de red. Actúa como puente entre un archivo de modelo estático guardado en un disco y un sistema en vivo que procesa datos del mundo real. Una vez que un modelo ha completado la fase de entrenamiento de aprendizaje automático (ML), debe integrarse en un entorno de producción donde pueda recibir entradas, como imágenes, texto o datos tabulares, y devolver predicciones. Esto se consigue normalmente envolviendo el modelo en una interfaz de programación de aplicaciones (API), lo que le permite comunicarse con servidores web, aplicaciones móviles o dispositivos IoT.
El objetivo principal del servicio de modelos es poner en práctica las capacidades de modelado predictivo de manera eficaz. Mientras que el entrenamiento se centra en la precisión y la minimización de pérdidas, el servicio se centra en métricas de rendimiento como la latencia (la rapidez con la que se devuelve una predicción ) y el rendimiento (cuántas solicitudes se pueden gestionar por segundo). Una infraestructura de servicio robusta garantiza que los sistemas de visión artificial (CV) sigan siendo fiables bajo cargas pesadas. A menudo implica tecnologías como la contenedorización mediante herramientas como Docker, que empaqueta el modelo con sus dependencias para garantizar un comportamiento coherente en diferentes entornos informáticos.
El servicio de modelos potencia las funciones ubicuas de IA en diversos sectores al permitir la toma inmediata de decisiones basadas en datos.
Para utilizar un modelo de forma eficaz, a menudo resulta útil exportar los modelos a un formato estandarizado como ONNX, que promueve la interoperabilidad entre diferentes marcos de entrenamiento y motores de servicio. El siguiente ejemplo muestra cómo cargar un modelo y ejecutar la inferencia, simulando la lógica que existiría dentro de un punto final de servicio utilizando Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")
La elección de la estrategia de servicio depende en gran medida del caso de uso específico. El servicio en línea proporciona respuestas inmediatas a través de protocolos como REST o gRPC, lo cual es esencial para las aplicaciones web orientadas al usuario. Por el contrario, el servicio por lotes procesa grandes volúmenes de datos sin conexión, lo que resulta adecuado para tareas como la generación de informes nocturnos . Para las aplicaciones que requieren privacidad o baja latencia sin depender de Internet, Edge AI traslada el proceso de servicio directamente al dispositivo, utilizando formatos optimizados como TensorRT para maximizar el rendimiento en hardware limitado. Muchas organizaciones aprovechan la Ultralytics para simplificar la implementación de estos modelos en diversos puntos finales, incluidas las API en la nube y los dispositivos periféricos.
Aunque está estrechamente relacionado, el «servicio de modelos» es distinto de la implementación de modelos y la inferencia.