Glosario

YAML

Explora la sencillez y potencia de YAML para configuraciones AI/ML. ¡Domina hoy mismo las estructuras de datos flexibles, las integraciones sin fisuras y los flujos de trabajo eficientes!

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

YAML, que significa "YAML Ain't Markup Language" (YAML no es un lenguaje de marcado), es un estándar de serialización de datos legibles por humanos que se utiliza habitualmente para archivos de configuración e intercambio de datos entre lenguajes de programación. Su sencillez y legibilidad lo convierten en la opción preferida de los desarrolladores y profesionales del aprendizaje automático que necesitan manejar fácilmente datos estructurados.

Características principales de YAML

  • Legible por humanos: El formato de YAML está diseñado para que sea fácil de leer y escribir para los humanos. Utiliza sangrías y una sintaxis limpia y mínima para garantizar la claridad.
  • Estructuras de datos flexibles: YAML admite estructuras de datos complejas como listas, mapas y tipos escalares, que pueden utilizarse para representar matrices, diccionarios o mapeos en diversos entornos de programación.
  • Agnóstico en cuanto al lenguaje: YAML puede integrarse fácilmente en distintos lenguajes de programación, lo que lo hace muy versátil para aplicaciones de software y scripts.

YAML en IA y ML

En el contexto de la inteligencia artificial (IA) y el aprendizaje automático (AM), YAML se utiliza con frecuencia para establecer archivos de configuración que definen los parámetros del modelo, los pasos del procesamiento de datos y otros ajustes vitales. Este enfoque ayuda a agilizar los flujos de trabajo del aprendizaje automático haciendo que las configuraciones sean fáciles de modificar y compartir.

Aplicaciones en el mundo real

  1. Ultralytics YOLO Configuración: YAML se utiliza a menudo en Ultralytics YOLO modelos para ajustar parámetros como el tamaño de la entrada, el tamaño del lote, la tasa de aprendizaje, etc. Esto ayuda a simplificar el proceso de ajuste de hiperparámetros y ajustes del modelo.

  2. Kubernetes: YAML se utiliza ampliamente en Kubernetes para definir configuraciones de despliegue, servicios y cuotas de recursos. Esto es crucial para los modelos de aprendizaje automático que requieren escalabilidad y despliegue flexible.

YAML frente a JSON y XML

  • JSON: Aunque tanto YAML como JSON son legibles por humanos, YAML tiende a ser más compacto y con menos sintaxis, lo que facilita su edición manual. Sin embargo, JSON está más extendido en las aplicaciones web.
  • XML: YAML es más legible que XML, ya que no requiere etiquetas de cierre ni estructuras de etiquetas anidadas, que pueden resultar engorrosas en XML.

Conceptos básicos de la sintaxis YAML

YAML utiliza sangría para definir la estructura, de forma similar a como Python utiliza espacios para indicar bloques de código. Los pares clave-valor se indican con : con espacios después de los dos puntos. Las listas se representan empezando cada elemento con un guión (-).

Ejemplo:

yamlname: Ultralytics Modelparameters: - batch_size: 16 - epochs: 50

YAML en la automatización del flujo de trabajo

YAML desempeña un papel fundamental en los procesos de integración continua y despliegue continuo (CI/CD), definiendo scripts de automatización en herramientas como GitHub Actions o Travis CI. Esto permite a los equipos de aprendizaje automático automatizar las canalizaciones de pruebas y despliegue y garantizar prácticas coherentes de despliegue de modelos.

Primeros pasos con YAML

Para los profesionales que deseen utilizar YAML en sus proyectos de IA/ML, explorar las plataformas de código abierto es un buen comienzo. Muchas plataformas proporcionan plantillas y herramientas para agilizar la implementación de las configuraciones YAML, ayudando en la transición sin problemas del desarrollo a la producción.

Recursos adicionales

Aprovechando YAML, los profesionales de la IA y el ML pueden gestionar eficazmente los archivos de configuración, lo que permite una colaboración sin fisuras, un manejo estructurado de los datos y unos procesos de despliegue racionalizados.

Leer todo