AI/ML에서 YAML의 강력한 기능을 알아보세요! 이 다재다능한 데이터 형식을 사용하여 구성을 간소화하고, 워크플로를 능률화하고, 가독성을 향상시키세요.
"YAML은 마크업 언어가 아님"의 약자인 YAML은 사람이 읽을 수 있는 데이터 직렬화 표준으로, 언어 간 구성 파일 및 언어 간 데이터 교환에 일반적으로 사용되는 사람이 읽을 수 있는 데이터 직렬화 표준입니다. 더 장황한 형식과 달리 YAML은 깔끔함과 사용 편의성을 우선시합니다, 괄호나 태그 대신 들여쓰기를 사용하여 구조를 정의합니다. 이 미니멀한 접근 방식은 개발자와 데이터 과학자가 선호하는 개발자 및 데이터 과학자가 선호하는 선택입니다. 머신 러닝(ML) 및 인공 지능(AI) 분야에서 복잡한 환경과 매개변수를 명확하게 정의하는 것이 필수적입니다. 공식 사양은 다음에서 살펴볼 수 있습니다. YAML 웹사이트를 참조하세요.
딥 러닝(DL) 영역에서 YAML은 다음과 같은 역할을 합니다. 실험 관리 및 재현성을 위한 중추 역할을 합니다. 복잡한 시스템에서는 파일 경로부터 수학 상수까지 수백 개의 매개변수를 정의해야 하는 경우가 많습니다. 이러한 설정을 YAML 파일로 외부화함으로써 연구자들은 다음과 같은 이점을 누릴 수 있습니다. 학습 데이터 구성과 모델 아키텍처가 코드베이스와 분리된 상태로 유지되도록 합니다. 이러한 분리는 다음과 같은 이점을 제공합니다. 데이터옵스 관행과 실험 설정의 실험적 설정.
YAML은 최신 AI 개발 스택에서 어디에나 존재합니다. 다음은 두 가지 주요 활용 방식입니다:
YAML은 다른 형식과 유사점을 공유하지만, 디자인 철학과 사용 사례에 있어서는 차별화됩니다:
Ultralytics YOLO11 모델로 작업할 때, YAML 파일은 모델이 보는 데이터를 정의하는 데 기본이 됩니다. 그리고
data 인수는 이미지와 레이블을 가리키는 YAML 파일을 받습니다.
다음 예는 표준 데이터 세트 구성 파일을 사용하여 교육 세션을 시작하는 방법을 보여줍니다.
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
직접적인 모델 학습을 넘어 YAML은 더 광범위한 MLOps 에코시스템에 필수적입니다. 이는 모델 배포를 위한 컨테이너를 오케스트레이션할 때 사용하는 컨테이너를 오케스트레이션할 때 사용하는 표준 구성 형식입니다. 마찬가지로, Kubernetes는 YAML을 사용하여 클라우드에서 애플리케이션을 확장하는 방법을 정의합니다.
GitHub Actions와 같은 자동화 도구도 YAML을 사용하여 다음을 정의합니다. CI/CD 워크플로우를 정의하여 코드를 푸시할 때마다 자동화된 테스트와 코드가 푸시될 때마다 통합이 원활하게 이루어지도록 보장합니다. Python 개발자는 자주 PyYAML 라이브러리를 사용하여 이러한 파일을 프로그래밍 방식으로 읽고 쓰며 파일을 프로그래밍 방식으로 읽고 쓰면서 정적 구성과 동적 코드 실행 사이의 간극을 메웁니다.