mlcommons/training

Reference implementations of MLPerf® training benchmarks

MLPerf® Training 참조 구현 (mlcommons/training)

무엇인가요 – MLPerf Training 벤치마크 스위트용 참조 코드 모음입니다. 각 벤치마크(예: Llama 3.1, Stable Diffusion v2, RetinaNet, DLRM 등)는 다음을 수행할 수 있는 최소한의 구현을 제공합니다:

  • 적어도 하나의 딥러닝 프레임워크에서 모델을 빌드할 수 있음
  • MLCommons 저장소 사이트를 통해 필요한 데이터셋을 다운로드할 수 있음
  • 벤치마크의 목표 품질에 도달할 때까지 모델을 훈련하는 Docker 컨테이너를 실행할 수 있음
  • 소요 시간을 보고할 수 있음

이 구현은 의도적으로 완전히 최적화되지 않았습니다. 벤치마크 결과 제출이나 벤치마크의 작동 방식을 이해하고자 하는 누구에게나 시작점으로 사용하기 위해 만들어졌습니다.


README에서 핵심 포인트

항목 세부 사항
범위 여러 MLPerf 훈련 모델(비전, 언어, 추천, 그래프, 확산 등)의 참조 구현
각 벤치마크 구성 요소 • 모델 코드(일반적으로 PyTorch, TensorFlow, NeMo, 또는 기타 프레임워크)
• Dockerfile
• 데이터셋 다운로드 스크립트 및 선택적 검증 스크립트
• 목표 품질에 도달하는 데 걸리는 시간을 측정하는 훈련 실행 스크립트
실행 방법 1. Docker 설치 후 공유된 install_cuda_docker.sh 실행.
2. 호스트에서 training.mlcommons-storage.org에서 데이터셋 다운로드.
3. (선택 사항) 데이터셋 검증.
4. 각 벤치마크 폴더에 제공된 명령어로 Docker 이미지 빌드 및 실행.
커버된 벤치마크 초기 버전(v4.0)부터 현재 v6.1까지 포함하며, 다음과 같은 모델이 포함됨:
  • Flux.1 (텍스트-이미지, Torchtitan)
  • Llama 3.1‑8B, Llama 2‑70B‑LoRA (NeMo / PyTorch)
  • GPT‑OSS‑20B, DeepSeek‑V3, Qwen‑35‑397B‑GRPO (대규모 LLM)
  • RetinaNet, Stable Diffusion v2, BERT‑large, GPT‑3, DLRM, RGAT (비전, NLP, 추천, GNN) | | 인용 | 학술 작업에서 이 리포지토리의 일부를 사용할 경우, MLPerf Training 벤치마크 논문(arXiv:1910.01500)과 제공된 BibTeX 항목을 인용해 주세요. | | 상태 | "알파/베타" 품질로 설명됨; 기여자는 문제나 PR을 제출하여 개선을 권장합니다. |

누가 이 도구를 유용하게 사용할 수 있을까?

  • 연구자 – MLPerf Training 벤치마크 제출을 준비하고 기준 구현이 필요한 사람.
  • 하드웨어 업체 – 새로운 가속기 테스트를 위한 재현 가능한 워크로드가 필요한 사람(코드가 강력하게 튜닝되지 않았다는 점을 이해함).
  • 학생 또는 엔지니어 – 대규모 훈련 벤치마크의 구조(예: Docker 기반, 데이터셋 처리, 품질 목표 정지 기준)를 배우고 싶은 사람.

빠른 시작 (간단한 단계)

  1. 리포지토리 클론: git clone https://github.com/mlcommons/training.git.
  2. 벤치마크 폴더 선택 (예: Flux.1은 text_to_image 폴더).
  3. 폴더의 README를 따르기: install_cuda_docker.sh 실행, 지시에 따라 데이터셋 다운로드, 이후 제공된 명령어로 docker build 및 docker run 실행.
  4. 컨테이너는 벤치마크에서 정의한 품질 지표에 도달할 때까지 모델을 훈련하고, 소요 시간을 출력합니다.

제한 사항 / 주의사항

  • 성능은 실제를 반영하지 않음 – 이들은 참조 (최적화되지 않은) 구현이므로, 실제 운영 환경에서의 성능은 프로덕션 수준 스택에 비해 훨씬 느릴 것입니다.
  • 자원 요구량이 매우 큼 – 일부 벤치마크(예: 70B 파라미터 LLM)는 대규모 GPU 클러스터와 막대한 스토리지가 필요하며, 일반 랩톱에서는 실행 불가능합니다.
  • Docker 외부에서 데이터셋 다운로드 – 스크립트는 데이터셋이 호스트 파일 시스템에 존재한다고 가정합니다. 잘못된 위치에 놓이면 실패할 수 있습니다.
  • 알파/베타 품질 – 코드가 완전하지 않거나 버그가 있을 수 있으며, 광범위한 테스트가 이루어지지 않았을 수 있습니다. 커뮤니티 기여를 통해 안정성이 향상되기를 기대합니다.

결론

mlcommons/training은 다양한 AI 작업에 걸쳐 MLPerf Training 벤치마크 스위트의 최소한의 재현 가능한 참조 구현을 제공하는 진정한 커뮤니티 유지 리포지토리입니다. MLPerf 훈련 챌린지에 대한 이해, 실험, 결과 제출을 원하는 누구에게나 유용한 시작점이지만, 프로덕션 수준의 훈련 성능을 위한 목적은 아닙니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트