소식

llm 교육 트래픽이 10,000배 적습니다! 강력한 ai를 훈련시키기 위해 전 세계의 컴퓨팅 성능을 통합하는 새로운 분산 최적화 프로그램

2024-09-10

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



  새로운 지혜 보고서

편집자: 앨런
[새로운 지혜 소개]최근 nous research는 아키텍처와 네트워크에 독립적인 분산 최적화 프로그램을 사용하여 llm을 훈련할 때 gpu 간의 통신량을 1,000~10,000배 줄이는 데 성공했다고 발표했습니다.

전 세계의 모든 컴퓨팅 능력을 ai 모델 훈련에 사용할 수 있다면 어떨까요?

최근 오픈소스 hermes 3(llama 3.1 기반)을 출시하며 큰 주목을 받았던 nous research가 다시 한 번 획기적인 획기적인 distro(distributed internet training)를 발표했습니다.

연구원들은 아키텍처 및 네트워크 독립적인 분산 최적화 프로그램을 사용하여 llm을 교육할 때 gpu 간 통신을 1,000~10,000배 줄이는 데 성공했습니다!

이러한 과장된 개선으로 대규모 모델 훈련의 중요한 비용과 병목 현상인 대역폭은 더 이상 문제가 되지 않습니다.

distro의 방법을 사용하면 훈련 부하를 인터넷에 분산시킬 수 있으며 전체 온라인 세계는 거대한 이기종 ai 서버 클러스터가 됩니다.

——관련 컴퓨팅 성능을 갖춘 모든 장치가 훈련 프로세스에 참여할 수 있습니다.

실험을 통해 이 기사의 방법은 기본적으로 모델 성능 저하를 유발하지 않는 동시에 수렴 속도 측면에서 표준 adamw+all-reduce와 동일하다는 것이 입증되었습니다.

분산 인터넷 교육

일반적으로 대규모 신경망을 훈련하려면 상당한 통신 오버헤드가 필요합니다.

예를 들어, 데이터 병렬 처리를 수행할 때 서로 다른 하드웨어(그래픽 카드 등)에서 서로 다른 훈련 데이터가 앞뒤로 계산됩니다. 그런 다음 동일한 데이터 배치에서 계산된 경사도를 입력하기 전에 그래픽 카드 간에 동기화해야 합니다. 다음 단계.

모델이 병렬인 경우 중간 데이터를 all-reduce를 통해 splicing하거나 축적해야 합니다.

이러한 데이터 통신 오버헤드가 중첩될 수 없으면 모델 학습에 병목 현상이 발생합니다.

공교롭게도 laohuang의 비디오 메모리와 대역폭은 매우 비싸고 여러 카드를 설정할 때 필요한 하드웨어도 매우 비쌉니다.

이 문제를 해결하기 위해 연구원들은 상각 분석에 의존하지 않고 gpu 간 통신 요구 사항을 4~5배 줄여 느린 네트워크에서 대규모 신경 네트워크의 지연 시간이 짧은 훈련을 가능하게 하는 distro를 개발했습니다.

distro는 일반적이고 확장 가능하며 시계 동기화됩니다(sgd, adam 등과 유사하며 각 교육 단계는 동일한 산술 연산을 사용하고 동일한 시간이 소요됩니다).

또한 이전의 임시 저통신 최적화 프로그램에 비해 distro는 통신 네트워크의 토폴로지 및 신경망 아키텍처에 둔감하며 기본적으로 최소한의 오버헤드로 분산 데이터 병렬 훈련(ddp)을 지원할 수 있습니다.

llm 사전 교육

연구원들은 사전 훈련 프레임워크로 nanotron을 사용했으며 ddp 전략에 따라서만 실행했습니다(각 gpu는 전체 모델을 vram에 로드함).

llm은 1.2b 크기의 llama 2를 선택하고 모델과 훈련에 사용된 하이퍼파라미터는 다음과 같습니다.

훈련 데이터는 dolma v1.7 데이터 세트를 사용하며 10% 대표 샘플(처음 105b 토큰)이 무작위로 선택됩니다.

옵티마이저는 adamw, β1=0.9, β2=0.95를 사용하고, 최고 학습률은 4×10e-4이며, 코사인 감쇠 방식을 사용하고, 가중치 감쇠는 0.1로 설정합니다.

비교를 위한 또 다른 실험 세트로, nanotron에서 하이퍼파라미터를 변경하고 all-reduce 작업을 비활성화하지 않고 adamw를 distro-adamw로 교체했습니다.

이전 분산 훈련 방법과 달리 distro는 최적화 상태를 동기화하지 않습니다(상태 비저장일 수도 있음).

아래 그림은 25,000단계에 대해 105b 데이터를 사용한 두 가지 실험 세트의 훈련 손실 곡선입니다. distro의 융합 능력은 all-reduce의 융합 능력과 동일함을 알 수 있다.

중요한 것은 훈련 효과에 영향을 주지 않고 distro가 통신량을 74.4gb에서 86.8mb로 직접 줄였다는 것입니다! 이는 대역폭 압력이 857배 감소한 것과 같습니다.

저자는 또한 이 857번은 초기 테스트일 뿐이며 나중에 하이퍼파라미터를 조정해 1000배에서 3000배로 줄여도 문제가 되지 않을 것이라고 밝혔습니다.

훈련 후 미세 조정을 수행하면 기본적으로 훈련 효과에 영향을 주지 않고 최대 10,000배의 통신 최적화를 달성할 수도 있습니다.

마지막으로 훈련 효과를 검증하기 위해 저자는 훈련된 모델에 대해 gpt4all 제로샷 벤치마크 테스트를 수행하고 이를 동일한 수의 토큰에 대해 훈련된 tinyllama(체크포인트)와 비교했습니다.

결과는 위 표에 나와 있습니다. tinyllama의 아키텍처 및 학습 프로세스는 이 기사의 실험과 매우 유사하며 결과의 온전성 확인을 위한 척도로 사용할 수 있습니다.

미래의 응용

데이터 흐름

본 실험의 시나리오에서는 32개의 노드가 가장 간단한 all-reduce(full 연결)를 사용하며, 각 노드는 평균 86.8mb(2.8mb×31)를 전송하고 동일한 양의 데이터를 수신합니다.

데이터 집계에 전용 서버를 사용하는 경우 각 노드는 2.8mb의 데이터만 업로드하면 되며(수신된 데이터는 변경되지 않음) 통신량이 더욱 줄어듭니다.

또한 대부분의 소비자 인터넷의 대역폭은 더 높은 다운로드 속도 쪽으로 치우쳐 있기 때문에 비대칭성이 유리합니다.

안정적인 네트워크 속도가 다운로드 100mbps, 업로드 10mbps라고 가정하면 최악의 지연 시간은 다운로드 6.94초, 업로드 2.24초로 겹쳐지면 각 단계당 지연 시간은 6.94초에 불과하다.

ps: 위의 데이터 전송은 모두 원본 벡터이며 압축 기술을 사용하면 더 빨라질 수 있습니다.

대역폭

저자는 현재의 실험과 연구가 상대적으로 제한되어 있으며 모델이 커짐에 따라 대역폭 감소율이 증가할지 감소할지 또는 동일하게 유지되는지 결론을 내리는 것은 불가능하다고 말했습니다.

그러나 현재의 1.2b는 distro가 잘 작동할 수 있는 최소 크기인 것 같으므로(아무리 작아도 수렴되지 않음), 모델 크기가 커질수록 의사소통이 상대적으로 줄어들 것이라고 추측할 수 있습니다. 요구됩니다.

그러나 통신량이 모델 크기와 관련이 없을 수도 있습니다. 이 경우 통신 대역폭을 늘리지 않고 모델 크기를 늘려 더 큰 모델이 훈련 및 학습 효과를 향상시킬 수 있는지 관찰할 수 있습니다.

후자의 시나리오가 사실이라면 미래 gpu 설계 및 제조의 패러다임이 바뀔 것입니다(vram은 커지고 대역폭은 좁아짐).

요즘에는 대역폭이 컴퓨팅보다 훨씬 비싸기 때문에 (i/o 집약적과는 반대로) 컴퓨팅 집약적인 워크로드를 선호하는 경우도 있습니다.

연합 학습

llm 교육 외에도 distro를 어떤 용도로 사용할 수 있나요?

인터넷에서 분산 교육을 수행하면 사람들은 즉시 연합 학습을 생각하게 됩니다.

모델 공동 교육을 허용하는 동시에 llm이 대기업에 의해 통제되는 현재 각 참가자 데이터의 개인정보 보호 및 분산화를 유지하는 것이 점점 더 중요해지고 있습니다.

지금까지 연합 학습에는 제한된 인터넷 대역폭에서 대규모 모델을 교육하는 효과적인 방법이 부족했습니다.

distro는 데이터를 처리하거나 개별 gpu 노드에 데이터를 배포하는 방법에 대한 요구 사항이 없으며 상태 비저장(연합 평균화와 유사)할 수 있으므로 연합 학습의 미래에 적합합니다.

가상 이기종 gpu 클러스터

또한 distro는 리소스를 협업하고 공유하기 위해 완전히 분산되고 무허가 네트워크를 만들 수 있습니다.

실험에 따르면 distro는 훈련 중에 다운그레이드되거나 삭제된 소수의 노드에 대해 상당한 탄력성을 갖고 있으며 새 노드 추가에 쉽게 적응할 수 있는 것으로 나타났습니다.

한편으로는 이 기능의 축복으로 전체 시스템의 보안을 보장하고 적대적 공격을 사용하여 운영을 방해하는 신뢰할 수 없는 노드의 위험을 줄일 수 있습니다.

한편, 기관과 개인은 자신의 컴퓨팅 리소스를 유연하게 제공하고 잠재적인 컴퓨팅 성능을 공개하도록 장려할 수도 있습니다.

메모리나 컴퓨팅 성능이 부족한 일부 오래된 카드라도 distro와 함께 작동하는 fsdp 및 swarm 병렬화와 같은 전략을 사용하여 추가 수익을 창출할 수 있습니다.

에너지

distro를 추가로 대규모로 적용하면 대규모 데이터 센터 구축으로 인해 발생하는 에너지 소비, 인프라 비용 및 토지 이용 관련 문제를 완화할 수 있습니다.

llama 3.1 프로젝트에서는 각각 24,000개의 h100 gpu를 포함하는 2개의 대형 모놀리식 슈퍼 클러스터를 건설해야 했으며, 훈련 과정만으로도 11,000톤의 co2 배출량에 해당합니다.

오늘날의 llm에서는 모델 매개변수 크기의 증가에 더해 학습 데이터의 양도 증가하여 ai 관련 데이터 센터가 최신 전력망의 한계에 도달하게 됩니다.

distro를 사용하면 초과 용량을 사용하여 여러 소형 모듈식 데이터 센터의 균형을 조정하고 동적 균형 교육 기술을 통해 기존 인프라를 활용하여 교육이 환경에 미치는 부정적인 영향을 줄일 수 있습니다.

현재 distro의 이론은 여전히 ​​더 많은 탐구가 필요하며 앞으로 더욱 엄격하고 상세한 학술 논문과 완전한 코드가 공개될 예정입니다.