멀티모달 AI 모델 훈련의 장애 극복

이미지

멀티모달 AI 모델 훈련의 장애 극복

대규모 AI 모델 훈련의 도전과 해결책

Chameleon 모델의 매개변수가 80억 개 이상일 때, 안정적인 훈련 유지가 어려웠습니다. 특히 훈련 후반부에 문제가 발생했으며, 이를 해결하기 위해 특정 아키텍처와 최적화 방법을 채택했습니다.

  • 딥러닝 모델의 매개변수 수가 증가할수록 연산 복잡성이 기하급수적으로 늘어나며, 이는 안정적인 훈련을 위한 고도의 최적화 기술을 요구합니다.
  • 2021년 기준 OpenAI의 GPT-3는 1750억 개의 매개변수를 가지고 있으며, 이와 같은 대규모 모델의 훈련은 클라우드 기반 초대형 컴퓨팅 리소스를 필요로 합니다.

LLaMa-2 기반의 아키텍처 채택

Chameleon의 아키텍처는 LLaMa-2를 주로 따랐으며, RMSNorm을 사용하고 SwiGLU 활성화 함수와 RoPE를 적용했습니다. 표준 LLaMa 아키텍처는 훈련 중후반에 복잡한 발산을 보여 문제점을 파악해야 했습니다.

  • RMSNorm은 안정적인 훈련을 돕기 위한 정규화 기법으로, BatchNorm과 비교하여 배치 크기에 덜 의존적이며 적은 메모리를 사용합니다.
  • SwiGLU 활성화 함수는 다양한 연구에서 기존 ReLU보다 더 나은 성능을 보이며, 특히 대규모 모델에서 비선형성을 효과적으로 처리해 주파수 변환에 유리합니다.

소프트맥스의 문제와 해결

소프트맥스 연산은 다양한 모달리티의 엔트로피 차이로 인해 문제가 발생했습니다. 이를 해결하기 위해 쿼리-키 정규화(QK-Norm)를 도입하여 입력의 노름 증가를 직접 제어했습니다.

  • QK-Norm은 다양한 입력 모달리티의 불균형을 줄이고, 안정적으로 확률 분포를 형성할 수 있게 돕습니다.
  • 소프트맥스 함수는 특히 고차원의 데이터에서 오버플로우 및 하이 엔트로피 데이터 수용 이슈가 생기기 쉬워, 이를 해결하기 위해 정규화 기법이 필요합니다.

QK-Norm과 드롭아웃의 효과

Chameleon-7B의 안정성을 위해 QK-Norm과 드롭아웃을 사용했습니다. 그러나 Chameleon-34B의 경우, 추가적으로 노름 재정렬이 필요했습니다. 이는 피드포워드 블록의 노름 증가를 제한하여 문제를 완화했습니다.

  • 드롭아웃은 과적합을 방지하고 뉴럴 네트워크의 일반화 오류를 줄이기 위해 널리 사용되는 방법입니다.
  • 최근 모델에서는 드롭아웃의 변형 기술들이 등장하고 있으며, 노름 재정렬을 통해 피드포워드 블록의 데이터 포화 문제를 추가적으로 제어할 수 있습니다.

하드웨어와 훈련 환경

훈련은 Meta의 RSC와 내부 연구 클러스터에서 수행되었으며, NVIDIA A100 80 GB GPU가 사용되었습니다. 두 환경의 차이는 상호연결 기술에 있었습니다.

  • NVIDIA A100 GPU는 AI와 고성능 컴퓨팅을 위해 설계된 강력한 GPU로, 최대 20x 성능 향상을 제공하여 대규모 모델 훈련에 적합합니다.
  • Meta의 RSC(Research SuperCluster)는 분산된 클러스터로, 대규모 AI 모델 훈련을 위한 확장성과 다양한 상호연결 기술을 통합하여 최적의 성능을 제공합니다.

추론 시의 도전과 개선

오토리그레시브 혼합 모달 생성은 추론 시 고유한 성능 문제를 제기합니다. 이를 해결하기 위해 PyTorch 기반의 독립 실행형 추론 파이프라인을 구축하여 스트리밍을 지원했습니다. 이로 인해 처리량이 개선되고 지연이 감소했습니다.

  • PyTorch는 동적 계산 그래프를 제공하여 모델의 유연한 개발이 가능하며, 커뮤니티의 활발한 지원으로 다양한 최신 기능을 빠르게 통합할 수 있습니다.
  • 스트리밍 기반 추론은 모듈 단위의 데이터 처리 및 낮은 대기 시간으로 대규모의 데이터 스트림을 효과적으로 처리하여 실시간 분석의 정확성을 높입니다.

출처 : 원문 보러가기