용어집

YAML

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

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

AI 및 ML에서의 역할과 적용

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

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

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

YAML과 다른 데이터 형식 비교

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

  • YAML과 JSON: 기능적으로 유사하고 YAML이 JSON(JavaScript Object Notation)의 상위 집합이지만, 가독성이 뛰어나기 때문에 구성 파일에 YAML이 선호되는 경우가 많습니다. 괄호와 쉼표 대신 들여쓰기를 사용하며, 중요한 것은 구성 선택 사항을 문서화하는 데 매우 유용한 주석을 지원한다는 점입니다.
  • YAML과 XML 비교: XML(확장 가능한 마크업 언어)에 비해 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 HUB와 같은 플랫폼과의 통합이 간소화되어 교육 및 배포 환경이 원활하게 이루어집니다.

울트라 애널리틱스 커뮤니티 가입

AI의 미래와 함께하세요. 글로벌 혁신가들과 연결, 협업, 성장하기

지금 가입하기
링크가 클립보드에 복사됨