AI/ML에서 YAML의 강력한 기능을 알아보세요! 이 다용도 데이터 형식으로 구성을 간소화하고, 워크플로를 간소화하고, 가독성을 향상하세요.
"YAML Ain't Markup Language"의 약자인 YAML은 구성 파일을 작성하고 시스템 간에 데이터를 전송하는 데 사용되는 사람이 읽을 수 있는 데이터 직렬화 표준입니다. YAML은 명확성과 단순성을 우선시하여 개발자와 데이터 과학자가 읽고 쓰기 쉬운 방식으로 복잡한 데이터 구조를 정의할 수 있도록 합니다. 더 자세한 형식과 달리 YAML은 들여쓰기를 사용하여 구조를 나타내므로 머신 러닝(ML)을 포함한 소프트웨어 프로젝트에서 설정을 관리하는 데 이상적인 깔끔하고 직관적인 파일을 생성합니다. 공식 사양 및 리소스는 yaml.org에서 확인할 수 있습니다.
인공 지능(AI) 환경에서 YAML은 구성 관리의 중추이며, 재현성을 보장하고 실험을 간소화하는 데 중요한 역할을 합니다. 딥러닝(DL) 프로젝트는 모델 아키텍처에서 훈련 파라미터에 이르기까지 수많은 설정을 포함하는 경우가 많습니다. 이러한 설정을 YAML 파일에 저장하면 실험 설정을 쉽게 추적, 수정 및 공유할 수 있습니다. 빠른 참조를 위해 YAML 구문 치트 시트를 살펴볼 수 있습니다.
AI 애플리케이션에서 흔히 볼 수 있는 두 가지 실제 사례는 다음과 같습니다.
YOLO11n
), 배치 크기, 학습률의 수 epochs, 그리고 설정 데이터 증강. 이러한 설정을 중앙 집중화하면 체계적인 하이퍼파라미터 튜닝 실험을 쉽게 재현할 수 있도록 합니다. The Ultralytics 문서 이러한 구성 파일에 대한 자세한 예제를 제공합니다.YAML은 종종 JSON 및 XML과 같은 다른 데이터 직렬화 형식과 비교됩니다.
YAML의 유용성은 컴퓨터 비전을 훨씬 뛰어넘습니다. 이는 DevOps 세계의 기본 구성 요소로서, 컨테이너 오케스트레이션을 정의하기 위한 Kubernetes 및 IT 자동화 플레이북을 위한 Ansible과 같은 도구에서 사용됩니다. 이 개념은 종종 코드형 구성(CaC)이라고 합니다.
Python을 사용하는 개발자에게 PyYAML 라이브러리는 YAML 데이터를 구문 분석하고 생성하는 데 널리 사용되는 도구입니다. 들여쓰기에 민감하여 구문 오류가 발생하기 쉬우므로 YAML 유효성 검사기를 사용하는 것이 좋습니다. 이러한 도구 에코시스템은 초기 Jupyter Notebook 설정부터 Docker 및 GitHub Actions와 같은 CI/CD 파이프라인을 사용한 본격적인 모델 배포에 이르기까지 전체 MLOps 라이프사이클을 관리하는 데 YAML을 강력한 선택으로 만듭니다. 또한 구성 관리가 용이하여 원활한 학습 및 배포 환경을 위해 Ultralytics HUB와 같은 플랫폼과의 통합이 간소화됩니다.