욜로 비전 선전
선전
지금 참여하기
용어집

YAML

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

"YAML Ain't Markup Language"의 약자인 YAML은 구성 파일을 작성하고 시스템 간에 데이터를 전송하는 데 사용되는 사람이 읽을 수 있는 데이터 직렬화 표준입니다. 명확성과 단순성을 우선시하여 설계되어 개발자와 데이터 과학자가 복잡한 데이터 구조를 읽고 쓰기 쉬운 방식으로 정의할 수 있습니다. 더 장황한 형식과 달리, YAML은 들여쓰기를 사용해 구조를 나타내므로 머신 러닝(ML)을 비롯한 소프트웨어 프로젝트의 설정을 관리하는 데 이상적인 깔끔하고 직관적인 파일을 생성합니다. 공식 사양과 리소스는 yaml.org에서 확인할 수 있습니다.

AI 및 ML에서의 역할 및 응용

인공 지능(AI)의 맥락에서 YAML은 재현성을 보장하고 실험을 간소화하는 데 중요한 역할을 하는 구성 관리의 중추입니다. 딥 러닝(DL) 프로젝트에는 모델 아키텍처부터 학습 매개변수에 이르기까지 수많은 설정이 포함되는 경우가 많습니다. 이러한 설정을 YAML 파일에 저장하면 실험 설정을 쉽게 추적, 수정 및 공유할 수 있습니다. 빠른 참조를 위해 YAML 구문 치트 시트를 살펴볼 수 있습니다.

AI 애플리케이션에서 흔히 볼 수 있는 두 가지 실제 사례는 다음과 같습니다.

  1. 데이터 세트 구성(Dataset Configuration): 모델을 학습시키기 전에 데이터 세트를 정의해야 합니다. YAML 파일은 학습 및 검증 이미지의 경로, 객체 클래스 수 및 해당 클래스 이름을 지정합니다. 이 접근 방식은 Ultralytics에서 COCO와 같은 데이터 세트를 관리하는 데 사용됩니다. 이를 통해 모델은 데이터를 찾을 위치와 학습할 내용을 정확히 알 수 있습니다.
  2. 학습 및 하이퍼파라미터 구성: YAML 파일은 학습 세션에 필요한 모든 파라미터를 정의하는 데 적합합니다. 여기에는 모델 아키텍처 지정(예: YOLO11n), 배치 크기, 학습률, 횟수 epochs, 그리고 설정 데이터 증강. 이러한 설정을 중앙 집중화하면 체계적인 하이퍼파라미터 튜닝 실험을 쉽게 재현할 수 있도록 합니다. The Ultralytics 문서 이러한 구성 파일에 대한 자세한 예제를 제공합니다.

YAML vs. 기타 데이터 형식

YAML은 종종 JSON 및 XML과 같은 다른 데이터 직렬화 형식과 비교됩니다.

  • YAML과 JSON: 기능적으로 유사하고 YAML이 JSON(JavaScript Object Notation)의 상위 집합이지만, 가독성이 뛰어나기 때문에 구성 파일에 YAML이 선호되는 경우가 많습니다. YAML은 괄호와 쉼 표 대신 들여쓰기를 사용하며, 특히 구성 선택 사항을 문서화하는 데 매우 중요한 주석 기능을 지원합니다.
  • YAML vs. XML: XML(eXtensible Markup Language)에 비해 YAML은 훨씬 덜 장황합니다. XML은 시작 및 종료 태그를 사용하여 파일 크기를 늘리고 사람이 빠르게 구문 분석하기 어렵게 만드는 반면, YAML의 최소한의 구문은 직접 편집할 수 있도록 설계되었습니다.

더 넓은 생태계 및 도구

YAML의 유용성은 컴퓨터 비전을 훨씬 뛰어넘습니다. 컨테이너 오케스트레이션을 정의하기 위한 Kubernetes와 IT 자동화 플레이북을 위한 Ansible과 같은 도구에서 사용되는 데브옵스 세계의 기본 구성 요소입니다. 이 개념은 종종 CaC(Configuration as Code)라고도 합니다.

Python을 사용하는 개발자에게 PyYAML 라이브러리는 YAML 데이터를 구문 분석하고 생성하기 위한 일반적인 도구입니다. 들여쓰기 민감성으로 인해 흔히 발생할 수 있는 구문 오류를 방지하려면 YAML 유효성 검사기를 사용하는 것이 권장되는 모범 사례입니다. 이러한 도구 에코시스템 덕분에 YAML은 Jupyter Notebook에서의 초기 설정부터 Docker를 사용한 본격적인 모델 배포GitHub Actions와 같은 도구를 사용한 CI/CD 파이프라인에 이르기까지 전체 MLOps 수명 주기를 관리하기 위한 강력한 선택이 될 수 있습니다.

Ultralytics 커뮤니티에 참여하세요

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기
클립보드에 링크가 복사되었습니다.