"YAML Ain't Markup Language"의 약자인 YAML은 프로그래밍 언어 간의 구성 파일 및 데이터 교환에 일반적으로 사용되는 사람이 읽을 수 있는 데이터 직렬화 표준입니다. 단순성과 가독성 덕분에 구조화된 데이터를 쉽게 처리해야 하는 개발자와 머신 러닝 실무자들이 선호하는 표준입니다.
인공 지능(AI) 및 머신 러닝(ML)의 맥락에서 YAML은 모델 매개변수, 데이터 처리 단계 및 기타 중요한 설정을 정의하는 구성 파일을 설정하는 데 자주 사용됩니다. 이 접근 방식은 구성을 쉽게 수정하고 공유할 수 있도록 하여 머신 러닝 워크플로우를 간소화하는 데 도움이 됩니다.
Ultralytics YOLO 구성: YAML은 종종 Ultralytics YOLO 모델에서 입력 크기, 배치 크기, 학습 속도 등과 같은 매개변수를 설정하는 데 자주 사용됩니다. 이를 통해 하이퍼파라미터 튜닝 및 모델 조정 프로세스를 간소화할 수 있습니다.
쿠버네티스: YAML은 배포 구성, 서비스 및 리소스 할당량을 정의하기 위해 Kubernetes에서 광범위하게 사용됩니다. 이는 확장성과 유연한 배포가 필요한 머신 러닝 모델에 매우 중요합니다.
Python 에서 공백을 사용하여 코드 블록을 나타내는 것과 유사하게 YAML에서는 구조를 정의할 때 들여쓰기를 사용합니다. 키-값 쌍은 다음을 사용하여 표시됩니다. :
를 콜론 뒤에 공백으로 구분합니다. 목록은 각 항목을 대시(-
).
예시:
yamlname: Ultralytics Modelparameters: - batch_size: 16 - epochs: 50
YAML은 지속적 통합 및 지속적 배포(CI/CD) 프로세스에서 중추적인 역할을 하며, GitHub Actions 또는 Travis CI와 같은 도구에서 자동화 스크립트를 정의합니다. 이를 통해 머신 러닝 팀은 테스트 및 배포 파이프라인을 자동화하고 일관된 모델 배포 관행을 보장할 수 있습니다.
AI/ML 프로젝트에서 YAML을 활용하고자 하는 실무자에게는 오픈 소스 플랫폼을 살펴보는 것이 좋은 출발점입니다. 많은 플랫폼에서 YAML 구성의 구현을 간소화하는 템플릿과 도구를 제공하여 개발에서 프로덕션으로 원활하게 전환할 수 있도록 도와줍니다.
AI 및 ML 실무자는 YAML을 활용하여 구성 파일을 효율적으로 관리함으로써 원활한 협업, 구조화된 데이터 처리, 간소화된 배포 프로세스를 구현할 수 있습니다.