Yolo 비전 선전
선전
지금 참여하기
용어집

YAML

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

"YAML은 마크업 언어가 아님"의 약자인 YAML은 사람이 읽을 수 있는 데이터 직렬화 표준으로, 언어 간 구성 파일 및 언어 간 데이터 교환에 일반적으로 사용되는 사람이 읽을 수 있는 데이터 직렬화 표준입니다. 더 장황한 형식과 달리 YAML은 깔끔함과 사용 편의성을 우선시합니다, 괄호나 태그 대신 들여쓰기를 사용하여 구조를 정의합니다. 이 미니멀한 접근 방식은 개발자와 데이터 과학자가 선호하는 개발자 및 데이터 과학자가 선호하는 선택입니다. 머신 러닝(ML)인공 지능(AI) 분야에서 복잡한 환경과 매개변수를 명확하게 정의하는 것이 필수적입니다. 공식 사양은 다음에서 살펴볼 수 있습니다. YAML 웹사이트를 참조하세요.

AI 워크플로우에서 YAML의 역할

딥 러닝(DL) 영역에서 YAML은 다음과 같은 역할을 합니다. 실험 관리 및 재현성을 위한 중추 역할을 합니다. 복잡한 시스템에서는 파일 경로부터 수학 상수까지 수백 개의 매개변수를 정의해야 하는 경우가 많습니다. 이러한 설정을 YAML 파일로 외부화함으로써 연구자들은 다음과 같은 이점을 누릴 수 있습니다. 학습 데이터 구성과 모델 아키텍처가 코드베이스와 분리된 상태로 유지되도록 합니다. 이러한 분리는 다음과 같은 이점을 제공합니다. 데이터옵스 관행과 실험 설정의 실험적 설정.

머신 러닝의 실제 적용 사례

YAML은 최신 AI 개발 스택에서 어디에나 존재합니다. 다음은 두 가지 주요 활용 방식입니다:

  1. 데이터 집합 정의: 가장 일반적인 용도 중 하나는 컴퓨터 비전(CV) 은 데이터 세트 정의 구조를 정의하는 것입니다. 예를 들어, 객체 감지를 준비할 때 객체 감지를 준비할 때, 일반적으로 YAML 파일은 트레이닝을 위한 루트 디렉터리를 지정하고 유효성 검사 데이터, 클래스 수, 그리고 클래스 이름을 지정합니다. Ultralytics 이 형식을 사용하여 다음과 같은 벤치마크를 원활하게 로드합니다. COCO 또는 사용자 지정 데이터 세트와 같은 벤치마크를 원활하게 로드합니다.
  2. 하이퍼파라미터 구성: 최고의 모델 성능을 달성하려면 엄격한 하이퍼파라미터 튜닝이 필요합니다. YAML 파일은 다음과 같은 중요한 훈련 변수를 저장할 수 있습니다. 학습률 배치 크기, 가중치 감쇠, 그리고 epochs. 이를 통해 엔지니어는 기본 Python 코드를 수정하지 않고도 구성 파일을 간단히 교체하여 여러 실험을 실행할 수 있습니다.

YAML과 JSON 및 XML 비교

YAML은 다른 형식과 유사점을 공유하지만, 디자인 철학과 사용 사례에 있어서는 차별화됩니다:

  • YAML 대 JSON: JSON(JavaScript 객체 표기법 )은 웹 API에 널리 사용됩니다. 그러나 JSON은 과학 실험을 문서화하는 데 필수적인 주석을 지원하지 않습니다. YAML은 주석을 지원하며 일반적으로 설정에 더 가독성이 높은 것으로 간주되지만, JSON은 구문 분석이 더 빠른 경우가 많습니다.
  • YAML 대 XML: XML(확장 가능한 마크업 언어)은 열기 및 닫기 태그를 사용하므로 파일이 상당히 크고 사람이 빠르게 스캔하기 어렵습니다. YAML의 들여쓰기 기반 구조는 은 시각적 혼란을 줄여 유지 관리에 탁월합니다. 소프트웨어 구성 관리 파일을 유지 관리하는 데 탁월합니다.

Ultralytics 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 라이브러리를 사용하여 이러한 파일을 프로그래밍 방식으로 읽고 쓰며 파일을 프로그래밍 방식으로 읽고 쓰면서 정적 구성과 동적 코드 실행 사이의 간극을 메웁니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기