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