Glosario

YAML

¡Descubre el poder de YAML en IA/ML! Simplifica las configuraciones, agiliza los flujos de trabajo y mejora la legibilidad con este versátil formato de datos.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

YAML Ain't Markup Language (YAML) es un lenguaje de serialización de datos legible por humanos, utilizado a menudo para archivos de configuración y en aplicaciones en las que se almacenan o transmiten datos. Diseñado para ser sencillo y legible, YAML es especialmente valioso en Inteligencia Artificial (IA) y Aprendizaje Automático (AM ) para gestionar configuraciones complejas relacionadas con modelos, procesos de entrenamiento y conductos de despliegue. Su sencilla sintaxis hace que los flujos de trabajo de IA/ML sean más comprensibles, mantenibles y reproducibles.

Características principales de YAML

YAML da prioridad a la legibilidad humana. Su estructura se basa en gran medida en la sangría para denotar jerarquía, de forma similar a Pythonlo que da como resultado archivos más limpios en comparación con formatos como XML o JSON. Sus características clave son:

  • Sintaxis legible: El uso mínimo de corchetes o etiquetas hace que los archivos sean fáciles de leer y editar.
  • Estructura mediante sangría: Utiliza espacios (no tabuladores) para definir estructuras anidadas, mejorando la claridad.
  • Soporte para estructuras de datos: Soporta de forma nativa tipos de datos comunes como escalares (cadenas, números, booleanos), listas (secuencias) y diccionarios (mapeos/pares clave-valor).
  • Observaciones: Permite añadir comentarios utilizando la tecla # para la documentación dentro del archivo.
  • Versatilidad: Puede representar estructuras de datos complejas adecuadas a diversas necesidades de configuración.

Puedes obtener más información sobre su estructura en la Especificación YAML oficial.

YAML en aplicaciones de IA y ML

Los archivos YAML se utilizan ampliamente en el panorama de la IA y el ML para definir y gestionar diversos aspectos del ciclo de vida de un proyecto, fomentando la coherencia y la colaboración al separar la configuración del código. Las principales áreas de aplicación son:

YAML frente a otros formatos

Aunque YAML sirve para fines similares a otros formatos de serialización de datos, tiene características distintas:

  • YAML frente a JSON (JavaScript Object Notation): Ambos son legibles por humanos y admiten estructuras de datos similares. JSON es más estricto, exige que las cadenas vayan entre comillas y utiliza llaves {} y corchetes []. A menudo se considera que YAML es más legible para configuraciones complejas debido a su uso de la sangría y de una sintaxis mínima. Sin embargo, JSON se utiliza más para las API web. Puedes encontrar más información en JSON.org.
  • YAML frente a XML (Lenguaje de marcado extensible): XML es un lenguaje de marcado definido por la W3C que utiliza etiquetas (<tag>...</tag>) para definir elementos. Es más verboso que YAML y JSON. Aunque es potente para la estructuración y validación de documentos (por ejemplo, en anotación de datos), XML suele ser menos preferible para los archivos de configuración en los que la legibilidad es primordial, en comparación con el estilo más limpio de YAML.

El enfoque de YAML en la legibilidad humana lo convierte en una opción excelente para los archivos de configuración en proyectos de IA/ML, simplificando la gestión y mejorando la colaboración, especialmente dentro de plataformas como Ultralytics HUB, que agilizan el ciclo de vida del ML.

Leer todo