소개
NVIDIA NeMo Framework는 대규모 언어 모델(LLM) 및 멀티모달 모델(MM) 개발을 지원하도록 설계된 확장 가능한 클라우드 네이티브 생성 AI 프레임워크입니다. NeMo Framework는 지도 학습 미세 조정(SFT) 및 파라미터 효율적인 미세 조정(PEFT)을 포함하여 효율적인 훈련을 위한 포괄적인 도구를 제공합니다.
프레임워크 내의 주목할 만한 도구 중 하나는 NeMo-Run입니다. 이는 다양한 컴퓨팅 환경에서 실험 구성, 실행 및 관리를 간소화하는 인터페이스를 제공합니다. 이 기능은 워크스테이션에서 로컬로 또는 클라우드 환경 내에서 SLURM 또는 Kubernetes를 사용하여 활성화된 대규모 클러스터에서 작업을 시작하는 기능을 포함합니다.
이 블로그 게시물에서는 CycleCloud Workspace for Slurm (CCWS)를 사용하여 NeMo-Run으로 분산형 미세 조정 및 추론을 수행하는 방법을 보여드리겠습니다.
Azure CycleCloud Workspace for Slurm을 사용하는 이유?
- CCWS 클러스터는 enroot 및 pyxis가 미리 구성되어 제공되므로 컨테이너화된 환경에서 워크로드를 쉽게 실행할 수 있습니다.
- CCWS는 Open OnDemand와의 통합을 제공하며 웹 모드에서 HPC 클러스터에 대해 VSCode를 실행하기 위한 애플리케이션을 포함합니다. 이 애플리케이션을 사용하여 Jupyter Notebooks를 실행할 수 있습니다.
- NeMo-Run과 함께 Jupyter Notebooks를 사용하면 실시간 실험, 결과에 대한 시각적 통찰력 및 구조화된 로깅이 가능하여 협업을 향상시키고 재현 가능한 워크플로우를 보장합니다.
시작하기
전체 예제 및 설정 지침은 최근에 발표된 AI Infrastructure on Azure repository에서 확인할 수 있습니다. NeMo-Run 예제에는 다음이 포함됩니다.
- NeMo-Run을 사용하는 데 필요한 패키지를 사용하여 Python 가상 환경을 만드는 스크립트.
- Open OnDemand 통합을 통해 CCWS를 배포하기 위한 자세한 지침 및 안내.
- NeMo-Run Slurm Executor를 위한 사용자 정의 모듈.
- NeMo-Run 레시피를 사용하여 실험을 실행, 추적, 평가 및 재현하는 방법을 강조 표시하는 간단한 예제가 포함된 Jupyter Notebook.
첨부된 비디오에서 강조 표시된 이 예제는 SLURM 클러스터 환경 내에서 미세 조정 및 추론을 위한 NeMo-Run 레시피 사용을 보여줍니다. NeMo-Run은 사전 훈련을 위한 레시피도 제공하므로 이 가이드는 유사하게 해당 작업에 대한 참조 자료로 사용할 수 있습니다. 추론 예제가 포함되어 있지만 빠른 모델 평가만을 위한 것입니다. 프로덕션 규모 또는 일괄 추론의 경우 모델을 전용 추론 파이프라인 또는 서비스로 조정하는 것이 좋습니다.
결론
NVIDIA의 NeMo-Run 프레임워크와 Azure CycleCloud Workspace for Slurm을 결합하면 대규모 언어 모델을 확장 가능하게 훈련하고 미세 조정하기 위한 강력하고 유연하며 반복 가능한 설정을 얻을 수 있습니다. 이 예제는 Azure의 AI 인프라 repository의 권장 사항과 함께 사용하여 오늘날 대규모의 재현 가능한 AI 워크플로우를 구축할 수 있는 실용적이고 확장 가능한 기반을 제공합니다.