65억 개 파라미터의 대규모 모델 사전 학습을 38% 가속화, LLaMA와 유사한 기본 모델 구축을 위한 모범 사례 오픈 소스 공개
인공지능의 우수성에 대한 끊임없는 추구로 인해 세계적인 기술 대기업들은 ChatGPT/GPT-4와 유사한 고급 언어 모델을 개발하기 위해 서두르고 있습니다. 이러한 치열한 경쟁으로 인해 AIGC 생태계 내 투자, 인수합병이 급증하여 전례 없는 수준에 이르렀습니다.
AI 모델의 광범위한 채택과 관련된 막대한 비용이 주요 장애물이며, 일반적인 사전 교육 프로세스는 상당한 재정적 비용을 발생시킵니다. 또한 특정 비즈니스 요구사항에 맞게 LLaMA와 같은 기존 오픈 소스 모델을 조정하는 데에는 상당한 어려움이 따르기 때문에 엔터프라이즈 애플리케이션에 대한 활용도가 제한됩니다. 따라서 대규모 AI 모델을 위한 맞춤형 사전 학습 세트를 구축하기 위한 경제적인 방법의 개발은 대규모 AI 모델 시대의 중요한 과제로 떠올랐습니다.
세계에서 가장 크고 활발한 대규모 모델 개발 도구 및 커뮤니티인 Colossal-AI 은 현재 가장 널리 사용되는 대규모 모델인 LLaMA를 활용하여 650억 개의 파라미터를 가진 대규모 모델을 위한 획기적인 사전 훈련 솔루션의 예를 제시함으로써 훈련 속도를 38% 향상시켰습니다. 이를 통해 대규모 모델 기업은 막대한 비용을 절감할 수 있습니다.
Colossal-AI의 오픈 소스 코드는 https://github.com/hpcaitech/ColossalAI 에서 찾을 수 있습니다.
70억~650억 개의 파라미터를 가진 오픈소스 프로젝트인 LLaMA(Large Language Model Architecture)는 ChatGPT와 유사한 모델을 구축하기 위한 레퍼런스를 제공함으로써 자연어 처리 분야의 연구자와 개발자들 사이에서 큰 관심을 불러일으키고 있습니다. 이 야심찬 프로젝트는 알파카, 비쿠나, 콜로설챗과 같은 여러 미세 조정 프로젝트의 통합에서 시작되었습니다.
그러나 LLaMA의 모델 가중치의 개방성은 오픈 소스라는 특성으로 인해 상업적 활용에 제한이 있습니다. 따라서 미세 조정을 통해 기능을 개선하고 통합할 수 있는 범위도 다소 제한적입니다. 그럼에도 불구하고 대형 모델의 트렌드에 참여하고자 하는 기업은 여전히 자체적인 기반 모델을 개발해야 합니다. 다행히도 오픈 소스 커뮤니티는 이 목표를 달성하기 위해 상당한 노력을 기울여 왔습니다.
레드파자마는 오픈소스이면서 상업적으로 이용 가능한 데이터셋으로, LLaMA와 유사한 특성을 가지고 있습니다. 그러나 훈련 코드나 모델이 포함되어 있지 않습니다. 반면, OpenLLaMA 역시 오픈 소스이자 상용으로 제공되는 데이터 세트이지만, JAX 및 TPU 학습을 기반으로 구축된 EasyLM을 활용하는 7B/13B 모델이 포함되어 있습니다.또한, 상용으로 제공되는 또 다른 오픈 소스 데이터 세트인 Falcon은 7B/40B 모델을 특징으로 하는 LLaMA와 유사한 품질을 자랑하지만, 훈련 코드가 없습니다.
널리 사용되는 PyTorch + GPU 환경 내에서 대규모 언어 모델 유사(LLaMA) 모델을 위한 효율적이고 신뢰할 수 있으며 사용자 친화적인 사전 훈련 솔루션을 개발하려는 수많은 시도에도 불구하고 이 분야에서는 여전히 눈에 띄는 결함이 남아 있습니다.
Colossal-AI는 확인된 단점과 불확실성을 해결하기 위한 조치를 취했습니다. 특히, 650억 개의 파라미터를 보유한 LLaMA를 위한 오픈소스 저비용 사전 학습 솔루션을 제공했습니다. 또한 Colossal-AI는 아무런 제한 없이 상업적으로 자유롭게 사용할 수 있습니다. 또한 32개의 A100/A800 GPU만으로 업계에서 일반적으로 사용되는 다른 솔루션에 비해 사전 학습 속도를 크게 향상시킬 수 있습니다.
GPU 메모리 부족으로 인해 PyTorch, FSDP 및 기타 유사한 플랫폼과 함께 작업을 실행할 수 없습니다. 또한 허깅 페이스의 가속기인 딥스피드 및 메가트론-LM은 LLaMA 사전 트레이닝을 공식 지원하지 않습니다.
설치 Colossal-AI
git clone -b example/llama https://github.com/hpcaitech/ColossalAI.git
cd ColossalAI
# 설치 및 CUDA 커널 융합 활성화
CUDA_EXT=1 pip install .
기타 종속성 설치
cd examples/language/llama
# 기타 종속성 설치
pip install -r 요구 사항.txt
# 사용 플래시 주의
pip install xformers
데이터세트
프로그램을 처음 실행할 때입니다, “togethercomputer/RedPajama-Data-1T-Sample"이라는 제목의 표준 데이터 세트가 자동으로 다운로드되거나, “-d” 또는 -데이터세트 옵션을 사용하여 자체 데이터 세트를 지정할 수 있습니다.
실행 명령
멀티 노드 설정을 위한 호스트 이름은 7B 및 65B 벤치마킹 스크립트가 이미 제공되었으므로 사용하려는 하드웨어 테스트 환경에 따라 지정해 주세요.
cd benchmark_65B/gemini_auto
bash batch12_seq2048_flash_attn.sh
훈련 전 작업을 실행할 때 속도 벤치마크 수행에 사용된 동일한 명령을 활용하여 8개 가속기가 있는 4개의 노드를 활용하여 65B 모델을 훈련합니다.
colossalai run --nproc_per_node 8 --hostfile YOUR_HOST_FILE --master_addr YOUR_MASTER_ADDR pretrain.py -c '65b' --plugin "gemini" -l 2048 -g -b 8 -a
Colossal-AI gemini\_auto 병렬화 전략을 사용하면 GPU 메모리 사용량을 최소화하면서 고속으로 효율적인 멀티 노드 및 멀티 GPU 병렬 학습을 수행할 수 있습니다. 또한 하드웨어 구성 또는 특정 요구 사항에 따라 파이프라인 병렬 처리 + 텐서 병렬 처리 + ZeRO1 데이터 병렬 처리와 같은 다양한 고급 병렬 처리 전략 중에서 선택할 수 있습니다.
이 소프트웨어를 사용하면 여러 명령줄 매개변수를 손쉽게 관리할 수 있어 고성능을 보장하는 동시에 개인화된 개발을 위한 충분한 공간을 제공합니다. 부스터 플러그인 기능을 통해 사용자는 로우 레벨 ZeRO, 제미니, DDP 등의 옵션을 포함하여 선호도에 따라 병렬 트레이닝을 수정할 수 있습니다. 또한 그라디언트 체크포인팅은 역전파 중에 모델의 활성화를 재생성하여 메모리 소비를 최소화하는 데 도움이 됩니다. 또 다른 주목할 만한 기능은 계산을 가속화하고 GPU 메모리를 절약하는 플래시 주의의 도입입니다.
ColossalAI의 획기적인 샤드포머는 LLM의 다차원 병렬 훈련 시작과 관련된 비용을 크게 줄였습니다. 이 혁신적인 도구는 이제 LLaMA 및 Huggingface의 트랜스포머 라이브러리와 같은 광범위한 인기 모델과 호환됩니다. 또한 모델을 수정할 필요 없이 파이프라인, 텐서, ZeRO, DDP 등 다양한 형태의 병렬 처리를 지원합니다. 샤드포머는 광범위한 하드웨어 구성에서 탁월한 결과를 제공합니다.
이 솔루션의 핵심 시스템 최적화 및 가속 기능은 UC 버클리의 석좌교수인 제임스 데멜 교수와 싱가포르 국립대학교의 대통령 영 교수인 유 양 교수의 전문성을 바탕으로 개발된 Colossal-AI 에 의해 가능해졌습니다. Colossal-AI는 효율적인 다차원 병렬 처리, 이기종 메모리 등을 통해 대규모 AI 모델 훈련/미세 조정/추론 비용과 GPU 요구 사항을 모두 줄여주는 PyTorch를 기반으로 합니다.
오픈 소스 출시 이후 Colossal-AI는 30,000개 이상의 GitHub 스타를 획득하며 여러 차례 GitHub 트렌딩 1위를 차지했습니다. SC, AAAI, PPoPP, CVPR, ISC를 비롯한 수많은 국제 AI 및 HPC 최고 컨퍼런스의 공식 튜토리얼로 채택되었습니다. 100개 이상의 기업이 Colossal-AI 에코시스템 구축에 참여했습니다.
Colossal-AI의 개발사인 HPC-AI Tech는 최근 수천만 달러의 시리즈 A 투자를 유치했으며, 설립 18개월 만에 세 차례의 자금 조달을 완료했습니다.
Colossal-AI의 오픈 소스 코드는 https://github.com/hpcaitech/ColossalAI 에서 확인할 수 있습니다.