NVIDIA NeMo 프로젝트 상세 소개
프로젝트 개요
NVIDIA NeMo Framework는 확장 가능하고 클라우드 네이티브한 생성형 AI 프레임워크로, 연구원과 PyTorch 개발자를 위해 구축되었으며, 대규모 언어 모델(LLM), 멀티모달 모델(MM), 자동 음성 인식(ASR), 텍스트 음성 변환(TTS) 및 컴퓨터 비전(CV) 분야에 중점을 둡니다. 이 프레임워크는 사용자가 기존 코드와 사전 훈련된 모델 체크포인트를 활용하여 새로운 생성형 AI 모델을 효율적으로 생성, 사용자 정의 및 배포할 수 있도록 지원하는 것을 목표로 합니다.
핵심 기능
NeMo 2.0 주요 업데이트
NeMo 2.0은 이전 버전인 NeMo 1.0에 비해 유연성, 성능 및 확장성을 향상시키는 몇 가지 중요한 개선 사항을 도입했습니다.
- Python 기반 구성 - YAML 파일에서 Python 기반 구성으로 전환하여 더 큰 유연성과 제어력을 제공합니다.
- 모듈식 추상화 - PyTorch Lightning의 모듈식 추상화를 채택하여 적응 및 실험 과정을 단순화합니다.
- 확장성 - NeMo-Run을 사용하여 수천 개의 GPU로 대규모 실험을 원활하게 확장합니다.
기술 아키텍처 장점
모든 NeMo 모델은 Lightning을 사용하여 훈련되며, 훈련은 자동으로 수천 개의 GPU로 확장될 수 있습니다. 프레임워크는 다음과 같은 최첨단 분산 훈련 기술을 통합합니다.
- 텐서 병렬 처리(TP)
- 파이프라인 병렬 처리(PP)
- 완전 샤딩 데이터 병렬 처리(FSDP)
- 전문가 혼합(MoE)
- 혼합 정밀도 훈련 (BFloat16 및 FP8 지원)
Transformer 기반 LLM 및 MM은 NVIDIA Transformer Engine을 활용하여 NVIDIA Hopper GPU에서 FP8 훈련을 수행하는 동시에 NVIDIA Megatron Core를 활용하여 Transformer 모델 훈련을 확장합니다.
주요 응용 분야
1. 대규모 언어 모델 및 멀티모달 모델
최신 기능 업데이트
- AutoModel 지원 - NeMo Framework의 최신 기능인 AutoModel은 🤗Hugging Face 모델을 지원하며, 25.02 버전은 텍스트 생성 범주의 AutoModelForCausalLM에 중점을 둡니다.
- Blackwell 지원 - NeMo Framework는 Blackwell 지원을 추가했으며, 25.02 버전은 B200의 기능 패리티에 중점을 둡니다.
모델 정렬 기술
NeMo LLM은 SteerLM, 직접 선호도 최적화(DPO) 및 인간 피드백 강화 학습(RLHF)과 같은 최첨단 방법을 사용하여 정렬할 수 있습니다. NeMo는 감독 미세 조정(SFT) 외에도 LoRA, P-Tuning, Adapters 및 IA3와 같은 최신 파라미터 효율적 미세 조정(PEFT) 기술을 지원합니다.
2. Cosmos 세계 기반 모델
NVIDIA Cosmos 플랫폼은 물리적 AI 시스템의 세계 모델 개발을 가속화합니다. CUDA를 기반으로 구축된 Cosmos는 최첨단 세계 기반 모델, 비디오 분할기 및 AI 가속 데이터 처리 파이프라인을 결합합니다. 개발자는 Cosmos 세계 기반 모델을 미세 조정하거나 처음부터 새로운 모델을 구축하여 세계 모델 개발을 가속화할 수 있습니다.
3. 음성 인식 기술
Parakeet 시리즈 모델
- Parakeet-TDT - 정확도가 더 뛰어나며 이전 최고의 모델인 Parakeet-RNNT-1.1B보다 64% 더 빠릅니다.
- Canary 다국어 모델 - 영어, 스페인어, 독일어 및 프랑스어 음성을 구두점과 대문자와 함께 전사할 수 있으며, 이러한 언어 간의 양방향 번역도 제공합니다.
성능 최적화
NVIDIA NeMo 팀은 CTC, RNN-T 및 TDT 모델에 대한 여러 추론 최적화를 발표하여 최대 10배의 추론 속도 향상을 달성했으며, 이러한 모델은 이제 2,000 이상의 역실시간 계수(RTFx)를 초과하고 일부는 6,000 RTFx에 도달합니다.
설치 및 배포
지원되는 설치 방법
- Conda/Pip 설치 - NeMo 탐색에 적합하며 ASR 및 TTS 분야에 권장됩니다.
- NGC PyTorch 컨테이너 - 고도로 최적화된 컨테이너에 소스 코드에서 설치합니다.
- NGC NeMo 컨테이너 - 모든 종속성이 포함된 즉시 사용 가능한 솔루션입니다.
시스템 요구 사항
- Python 3.10 이상
- PyTorch 2.5 이상
- NVIDIA GPU (모델 훈련을 수행하려는 경우)
플랫폼 지원
운영 체제/플랫폼 |
PyPi 설치 |
NGC 컨테이너 소스 코드 설치 |
Linux - amd64/x84_64 |
제한적 지원 |
완전 지원 |
Linux - arm64 |
제한적 지원 |
제한적 지원 |
macOS - amd64/x64_64 |
지원 중단 |
지원 중단 |
macOS - arm64 |
제한적 지원 |
제한적 지원 |
생태계 및 도구 체인
관련 프로젝트
- NeMo-Run - 머신 러닝 실험을 구성, 시작 및 관리하는 도구입니다.
- NeMo Curator - LLM을 위한 확장 가능한 데이터 전처리 및 큐레이션 도구 키트입니다.
- NeMo Guardrails - LLM 기반 대화형 시스템에 프로그래밍 가능한 보호 장치를 추가하는 오픈 소스 도구 키트입니다.
- NeMo Aligner - 모델 정렬 도구입니다.
- NeMo Skills - 대규모 언어 모델의 "기술"을 개선하는 프로젝트입니다.
배포 및 최적화
- NeMo LLM 및 MM은 NVIDIA NeMo Microservices를 통해 배포 및 최적화할 수 있습니다.
- NeMo ASR 및 TTS 모델은 NVIDIA Riva를 통해 추론을 최적화하고 프로덕션 사용 사례에 배포할 수 있습니다.
성능
벤치마크 결과
- MLPerf Training v4.0 - NVIDIA NeMo Framework 및 NVIDIA Hopper GPU를 사용하여 NVIDIA는 11,616개의 H100 GPU로 확장하고 LLM 사전 훈련에서 거의 선형적인 성능 확장을 달성할 수 있었습니다.
- H200 성능 향상 - NVIDIA H200 Tensor Core GPU에서 Llama 2 사전 훈련 속도가 최대 4.2배 향상되었습니다.
응용 사례 및 파트너
기업 응용
- Amazon Titan 기반 모델 - NVIDIA NeMo Framework는 이제 Amazon Titan 기반 모델에 대한 효율적인 대규모 언어 모델 훈련을 지원합니다.
- Bria.ai 플랫폼 - NeMo 멀티모달 컬렉션의 참조 구현을 활용하여 높은 처리량과 낮은 대기 시간의 이미지 생성을 구현합니다.
클라우드 플랫폼 지원
- Amazon EKS - Amazon Elastic Kubernetes Service 클러스터에서 분산 훈련 워크로드를 실행할 수 있도록 지원합니다.
- Google GKE - Google Kubernetes Engine에서 생성형 AI 모델을 훈련하는 엔드 투 엔드 지침을 제공합니다.
오픈 소스 및 라이선스
NeMo Framework는 Apache 2.0 라이선스에 따라 오픈 소스로 제공되며 커뮤니티 기여를 환영합니다. 이 프로젝트는 GitHub에서 활발한 개발 및 지원을 유지하며 광범위한 문서, 튜토리얼 및 예제 스크립트를 제공합니다.
학습 자료
- 공식 문서 - 완전한 사용자 가이드 및 기술 문서를 제공합니다.
- 튜토리얼 - Google Colab에서 실행할 수 있는 광범위한 튜토리얼입니다.
- 예제 스크립트 - 다중 GPU/다중 노드 훈련을 지원하는 완전한 예제 스위트입니다.
- 커뮤니티 지원 - GitHub Discussions 게시판을 통해 FAQ 및 커뮤니티 지원을 제공합니다.
NVIDIA NeMo Framework는 생성형 AI 개발의 최전선을 대표하며 연구원과 개발자에게 차세대 AI 응용 프로그램을 구축하기 위한 강력하고 유연하며 확장 가능한 플랫폼을 제공합니다.