용어집

YAML

AI/ML 구성을 위한 YAML의 단순성과 강력한 기능을 살펴보세요. 지금 바로 유연한 데이터 구조, 원활한 통합, 효율적인 워크플로우를 마스터하세요!

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

자세히 알아보기

"YAML Ain't Markup Language"의 약자인 YAML은 프로그래밍 언어 간의 구성 파일 및 데이터 교환에 일반적으로 사용되는 사람이 읽을 수 있는 데이터 직렬화 표준입니다. 단순성과 가독성 덕분에 구조화된 데이터를 쉽게 처리해야 하는 개발자와 머신 러닝 실무자들이 선호하는 표준입니다.

YAML의 주요 기능

  • 사람이 읽을 수 있습니다: YAML의 형식은 사람이 읽고 쓰기 쉽도록 설계되었습니다. 들여쓰기와 깔끔하고 최소한의 구문을 사용하여 명확성을 보장합니다.
  • 유연한 데이터 구조: YAML은 다양한 프로그래밍 환경에서 배열, 사전 또는 매핑을 표현하는 데 사용할 수 있는 목록, 맵, 스칼라 유형과 같은 복잡한 데이터 구조를 지원합니다.
  • 언어 불가지론: YAML은 다양한 프로그래밍 언어에 쉽게 통합할 수 있어 소프트웨어 애플리케이션 및 스크립트에 매우 유용합니다.

AI 및 ML의 YAML

인공 지능(AI) 및 머신 러닝(ML)의 맥락에서 YAML은 모델 매개변수, 데이터 처리 단계 및 기타 중요한 설정을 정의하는 구성 파일을 설정하는 데 자주 사용됩니다. 이 접근 방식은 구성을 쉽게 수정하고 공유할 수 있도록 하여 머신 러닝 워크플로우를 간소화하는 데 도움이 됩니다.

실제 애플리케이션

  1. Ultralytics YOLO 구성: YAML은 종종 Ultralytics YOLO 모델에서 입력 크기, 배치 크기, 학습 속도 등과 같은 매개변수를 설정하는 데 자주 사용됩니다. 이를 통해 하이퍼파라미터 튜닝 및 모델 조정 프로세스를 간소화할 수 있습니다.

  2. 쿠버네티스: YAML은 배포 구성, 서비스 및 리소스 할당량을 정의하기 위해 Kubernetes에서 광범위하게 사용됩니다. 이는 확장성과 유연한 배포가 필요한 머신 러닝 모델에 매우 중요합니다.

YAML과 JSON 및 XML 비교

  • JSON: YAML과 JSON은 모두 사람이 읽을 수 있지만, YAML은 구문이 더 간결하고 구문이 적어 수동 편집이 더 쉬운 경향이 있습니다. 그러나 JSON은 웹 애플리케이션에서 더 널리 지원됩니다.
  • XML: YAML은 XML에서 번거로울 수 있는 닫는 태그나 중첩된 태그 구조가 필요하지 않으므로 XML보다 가독성이 높습니다.

YAML 구문 기초

Python 에서 공백을 사용하여 코드 블록을 나타내는 것과 유사하게 YAML에서는 구조를 정의할 때 들여쓰기를 사용합니다. 키-값 쌍은 다음을 사용하여 표시됩니다. : 를 콜론 뒤에 공백으로 구분합니다. 목록은 각 항목을 대시(-).

예시:

yamlname: Ultralytics Modelparameters: - batch_size: 16 - epochs: 50

워크플로 자동화에서의 YAML

YAML은 지속적 통합 및 지속적 배포(CI/CD) 프로세스에서 중추적인 역할을 하며, GitHub Actions 또는 Travis CI와 같은 도구에서 자동화 스크립트를 정의합니다. 이를 통해 머신 러닝 팀은 테스트 및 배포 파이프라인을 자동화하고 일관된 모델 배포 관행을 보장할 수 있습니다.

YAML 시작하기

AI/ML 프로젝트에서 YAML을 활용하고자 하는 실무자에게는 오픈 소스 플랫폼을 살펴보는 것이 좋은 출발점입니다. 많은 플랫폼에서 YAML 구성의 구현을 간소화하는 템플릿과 도구를 제공하여 개발에서 프로덕션으로 원활하게 전환할 수 있도록 도와줍니다.

추가 리소스

AI 및 ML 실무자는 YAML을 활용하여 구성 파일을 효율적으로 관리함으로써 원활한 협업, 구조화된 데이터 처리, 간소화된 배포 프로세스를 구현할 수 있습니다.

모두 보기