Glossário

YAML

Descubra o poder do YAML em IA/ML! Simplifique as configurações, agilize os fluxos de trabalho e melhore a legibilidade com este formato de dados versátil.

YAML, um acrónimo de "YAML Ain't Markup Language", é um padrão de serialização de dados legível por humanos utilizado para escrever ficheiros de configuração e transmitir dados entre sistemas. O seu design dá prioridade à clareza e simplicidade, permitindo que os programadores e cientistas de dados definam estruturas de dados complexas de uma forma que seja fácil de ler e escrever. Ao contrário de formatos mais verbosos, o YAML utiliza indentação para denotar a estrutura, o que resulta em ficheiros limpos e intuitivos, ideais para gerir configurações em projectos de software, incluindo os de aprendizagem automática (ML). A especificação oficial e os recursos podem ser encontrados em yaml.org.

Papel e aplicação na IA e no ML

No contexto da Inteligência Artificial (IA), o YAML é a espinha dorsal da gestão de configurações, desempenhando um papel crucial para garantir a reprodutibilidade e simplificar a experimentação. Os projectos de aprendizagem profunda (DL) envolvem frequentemente inúmeras definições, desde a arquitetura do modelo aos parâmetros de formação. O armazenamento dessas configurações em um arquivo YAML permite fácil rastreamento, modificação e compartilhamento de configurações experimentais. Você pode explorar uma folha de dicas de sintaxe YAML para uma referência rápida.

Dois exemplos comuns do mundo real em aplicações de IA incluem:

  1. Configuração do conjunto de dados: Antes de treinar um modelo, é necessário definir o conjunto de dados. Um ficheiro YAML especifica o caminho para as imagens de treino e validação, o número de classes de objectos e os nomes dessas classes. Esta abordagem é utilizada pelo Ultralytics para gerir conjuntos de dados como o COCO. Isto garante que o modelo sabe exatamente onde encontrar os seus dados e o que se espera que aprenda.
  2. Formação e configuração de hiperparâmetros: Um ficheiro YAML é perfeito para definir todos os parâmetros necessários para uma sessão de treino. Isto inclui a especificação da arquitetura do modelo (por exemplo, YOLO11n), tamanho do lote, taxa de aprendizagem, número de épocase definições para aumento de dados. A centralização destas definições permite uma afinação de hiperparâmetros e torna as experiências fáceis de reproduzir. O Documentação do Ultralytics fornece exemplos detalhados destes ficheiros de configuração.

YAML vs. Outros formatos de dados

O YAML é frequentemente comparado com outros formatos de serialização de dados, como JSON e XML.

  • YAML vs. JSON: Embora funcionalmente similar e com o YAML sendo um superconjunto do JSON (JavaScript Object Notation), o YAML é frequentemente preferido para arquivos de configuração devido à sua legibilidade superior. Ele dispensa colchetes e vírgulas em favor da indentação e, criticamente, suporta comentários, que são inestimáveis para documentar as escolhas de configuração.
  • YAML vs. XML: Comparado com o XML (eXtensible Markup Language), o YAML é muito menos verboso. A utilização de etiquetas de abertura e fecho por parte do XML torna os seus ficheiros maiores e mais difíceis de analisar rapidamente por humanos, enquanto a sintaxe minimalista do YAML foi concebida para edição direta.

Ecossistema e ferramentas mais amplos

A utilidade do YAML vai muito além da visão computacional. É um componente fundamental no mundo DevOps, utilizado por ferramentas como Kubernetes para definir orquestrações de contentores e Ansible para manuais de automatização de TI. Este conceito é frequentemente referido como Configuração como Código (CaC).

Para os programadores que utilizam Python, a biblioteca PyYAML é uma ferramenta comum para analisar e gerar dados YAML. Para evitar erros de sintaxe, que podem ser comuns devido à sensibilidade à indentação, a utilização de um validador YAML é uma prática recomendada. Este ecossistema de ferramentas torna o YAML uma escolha robusta para gerir todo o ciclo de vida dos MLOps, desde a configuração inicial num Jupyter Notebook até à implementação de modelos em grande escala utilizando o Docker e pipelines de CI/CD com ferramentas como o GitHub Actions. A facilidade de gerenciamento de configuração também simplifica a integração com plataformas como o Ultralytics HUB para uma experiência perfeita de treinamento e implantação.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência