용어집

YAML

AI/ML에서 YAML의 강력한 기능을 알아보세요! 이 다용도 데이터 형식으로 구성을 간소화하고, 워크플로를 간소화하고, 가독성을 향상하세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

YAML(마크업 언어)은 사람이 읽을 수 있는 데이터 직렬화 언어입니다. 일반적으로 구성 파일과 데이터가 저장되거나 전송되는 애플리케이션에서 사용됩니다. AI와 머신 러닝의 맥락에서 YAML의 주요 역할은 구성 파일을 쉽게 이해하고 관리할 수 있게 만들어 사람이 읽을 수 있는 가독성과 기계 처리 사이의 간극을 메우는 것입니다.

YAML의 주요 기능

YAML은 사람이 쉽게 읽고 쓸 수 있도록 설계되었습니다. 깔끔하고 간단한 구문은 대괄호나 태그가 아닌 들여쓰기를 사용하여 구조를 정의합니다. 따라서 YAML 파일은 XML이나 JSON과 같은 다른 데이터 형식에 비해 훨씬 덜 복잡하고 탐색하기 쉽습니다. 주요 기능은 다음과 같습니다:

  • 사람이 읽을 수 있는 형식: YAML의 구문은 공백과 들여쓰기를 사용하여 계층적 데이터 구조를 정의하는 가독성을 강조하므로 구성 파일을 쉽게 이해하고 편집할 수 있습니다.
  • 데이터 직렬화: YAML은 데이터 구조를 직렬화하는 데 효과적이므로 복잡한 데이터 개체를 쉽게 저장하거나 전송할 수 있는 텍스트 형식으로 변환한 다음 재구성할 수 있습니다.
  • 구성 파일: YAML은 AI와 머신러닝을 포함한 소프트웨어 애플리케이션에서 구성 파일을 작성하는 데 널리 사용됩니다. 이를 통해 사용자는 파라미터, 설정, 워크플로우를 구조화되고 액세스 가능한 방식으로 정의할 수 있습니다.
  • 언어 불가지론: YAML은 모든 프로그래밍 언어에서 작동하도록 설계되었으므로 여러 언어와 프레임워크가 포함될 수 있는 다양한 AI 및 ML 프로젝트에 다용도로 사용할 수 있습니다.
  • AI/ML 도구와의 통합: 다음과 같은 많은 AI 및 ML 프레임워크와 도구가 PyTorchTensorFlow와 같은 많은 AI 및 ML 프레임워크와 도구는 구성을 위한 YAML을 지원하여 모델 및 학습 프로세스의 설정과 사용자 지정을 간소화합니다.

AI 및 ML 애플리케이션에서의 YAML

AI 및 ML 분야에서 YAML 파일은 구성 관리, 모델 아키텍처 정의, 학습 파이프라인 설정에 없어서는 안 될 필수 요소입니다. 다음은 몇 가지 실제 사례입니다:

  • 모델 구성 Ultralytics YOLO: 함께 작업할 때 Ultralytics YOLO 모델에서 YAML 파일은 모델 아키텍처, 데이터 세트 경로, 다음과 같은 학습 하이퍼파라미터를 정의하는 데 사용됩니다. 배치 크기 및 학습 속도 등 다양한 설정이 있습니다. 예를 들어 yolov8s.yaml 파일은 YOLOv8 작은 모델의 레이어와 파라미터를 지정하여 사용자가 실험을 쉽게 사용자 지정하거나 복제할 수 있도록 합니다. 이러한 구성 파일은 사용자 지정 모델을 학습하고 Ultralytics HUB를 사용하여 사전 학습된 모델을 배포하는 데 필수적입니다.
  • 데이터 파이프라인 구성: YAML은 ML 프로젝트에서 데이터 파이프라인을 구성하는 데도 사용됩니다. 예를 들어, YAML 파일은 데이터 전처리, 기능 엔지니어링 및 데이터 증강 단계를 설명할 수 있습니다. 이를 통해 데이터 워크플로우를 자동화하고 재현할 수 있으므로 모델 학습의 일관성과 효율성을 보장할 수 있습니다.

YAML 대 JSON

YAML과 JSON은 모두 데이터 직렬화 언어이지만, 가독성이 뛰어나기 때문에 AI와 머신러닝에서 설정용으로 YAML이 선호되는 경우가 많습니다. JSON 역시 어느 정도 사람이 읽을 수 있지만 중괄호와 대괄호 같은 구두점을 더 많이 사용하기 때문에 복잡한 구성을 한 눈에 파악하기 어려울 수 있습니다. 들여쓰기와 최소한의 구문에 의존하는 YAML은 더 깔끔하고 직관적인 구성 파일을 생성하여 복잡한 AI 프로젝트에서 오류 발생 가능성을 줄이고 유지 관리 가능성을 개선합니다.

AI 및 ML 실무자는 YAML을 사용하여 구성을 효과적으로 관리하고 전달함으로써 워크플로우를 더욱 투명하고 재현 가능하며 쉽게 협업할 수 있습니다. 단순성과 인간 친화적인 특성으로 인해 AI 및 ML 환경에서 필수적인 도구가 되었습니다.

모두 보기