이 단계에서 ViT(Visual Transformer) 모델은 이미지 분류, 대상 감지 및 분할과 같은 다양한 컴퓨터 비전 작업에 널리 사용되었으며 시각적 표현 및 인식에서 SOTA 결과를 얻을 수 있습니다. 컴퓨터 비전 모델의 성능은 매개변수 수 및 훈련 시간과 양의 상관관계가 있는 경우가 많기 때문에 AI 커뮤니티에서는 점점 더 큰 규모의 ViT 모델을 실험해 왔습니다.
그러나 모델이 테라플롭의 규모를 초과하기 시작하면서 현장에서 몇 가지 주요 병목 현상이 발생했다는 점에 유의해야 합니다. 단일 모델을 훈련하는 데 수개월이 걸릴 수 있고 수천 개의 GPU가 필요할 수 있으므로 가속기 요구 사항이 증가하고 결과적으로 많은 실무자가 제외되는 대규모 ViT 모델이 생성됩니다.
ViT 모델의 활용 범위를 확대하기 위해 Meta AI 연구진은 보다 효율적인 훈련 방법을 개발했습니다. 최적의 액셀러레이터 활용을 위해 훈련을 최적화하는 것은 매우 중요합니다. 그러나 이 과정은 시간이 많이 걸리고 상당한 전문 지식이 필요합니다. 질서 있는 실험을 설정하려면 연구자는 가능한 수많은 최적화 중에서 선택해야 합니다. 교육 세션 중에 수행되는 수백만 개의 작업 중 하나가 비효율성으로 인해 방해를 받을 수 있습니다.
Meta AI는 이미지 분류 코드베이스 PyCls의 ViT 구현에 일련의 최적화를 적용하여 계산 및 저장 효율성을 향상시킬 수 있음을 발견했습니다. PyCI를 사용하여 훈련된 ViT 모델의 경우 Meta AI의 방법은 훈련 속도와 TFLOPS(가속기당 처리량)를 향상시킬 수 있습니다.
아래 그래프는 최적화된 코드 기반 PyCI를 사용한 V100 기준과 비교하여 칩당 가속기 처리량의 상대적 증가를 보여주며, A100에 최적화된 가속기 처리량은 V100 기준의 4.05배입니다.
Meta AI는 먼저 PyCIs 코드 기반을 분석하여 교육 효율성이 낮은 잠재적 원인을 식별하고 궁극적으로 숫자 형식 선택에 중점을 둡니다. 기본적으로 대부분의 애플리케이션은 32비트 단정밀도 부동 소수점 형식을 사용하여 신경망 값을 나타냅니다. 16비트 반정밀도 형식(FP16)으로 변환하면 모델의 메모리 공간과 실행 시간을 줄일 수 있지만 정확도도 떨어지는 경우가 많습니다.
연구원들은 혼합 정밀도라는 절충안 솔루션을 채택했습니다. 이를 통해 시스템은 단정밀도 형식으로 계산을 수행하여 훈련 속도를 높이고 메모리 사용량을 줄이는 동시에 결과를 단정밀도로 저장하여 정확도를 유지합니다. 네트워크의 일부를 수동으로 반정밀도로 변환하는 대신 숫자 형식을 자동으로 전환하는 다양한 자동 혼합 정밀도 교육 모드를 실험했습니다. 고급 모드의 자동 혼합 정밀도는 주로 반정밀도 연산과 모델 가중치에 의존합니다. 연구원들이 사용하는 균형 잡힌 설정은 정확성을 희생하지 않고도 훈련 속도를 크게 높일 수 있습니다.
프로세스를 더욱 효율적으로 만들기 위해 연구원들은 GPU에서 매개변수, 그라데이션 및 최적화 상태를 샤딩하는 FairScale 라이브러리의 완전 샤더 데이터 병렬(FSDP) 교육 알고리즘을 최대한 활용했습니다. FSDP 알고리즘을 통해 연구자들은 더 적은 GPU를 사용하여 더 큰 규모의 모델을 구축할 수 있습니다. 또한 MTA 최적화 프로그램, 풀링된 ViT 분류자 및 배치 초 입력 텐서 레이아웃을 사용하여 중복된 전치 작업을 건너뛰었습니다.
아래 그림의 X축은 가능한 최적화를 보여주고, Y축은 ViT-H/16으로 훈련할 때 분산 데이터 병렬(DDP) 벤치마크와 비교하여 가속기 처리량의 상대적 증가를 보여줍니다.
연구원들은 총 패치 크기 560에서 각 가속기 칩에서 초당 수행되는 부동 소수점 연산 수로 측정되는 가속기 처리량을 1.51배 증가시켰습니다. 이미지 크기를 224픽셀에서 256픽셀로 늘림으로써 처리량을 1.86배로 늘릴 수 있었습니다. 그러나 이미지 크기를 변경한다는 것은 하이퍼파라미터를 변경한다는 것을 의미하며 이는 모델의 정확도에 영향을 미칩니다. 전체 FP16 모드에서 훈련할 때 상대 처리량은 2.18배로 증가합니다. 때로는 정확도가 감소하기도 했지만 실험에서는 정확도가 10% 미만으로 감소했습니다.
아래 그림의 Y축은 전체 ImageNet-1K 데이터 세트에 대한 마지막 훈련 기간인 에포크 시간입니다. 여기서는 일반적으로 224픽셀의 이미지 크기를 사용하는 기존 구성에 대한 실제 교육 시간에 중점을 둡니다.
Meta AI 연구원들은 최적화 체계를 사용하여 에포크 시간(전체 ImageNet-1K 데이터 세트에 대한 단일 교육 세션 기간)을 0.65시간에서 0.43시간으로 줄였습니다.
아래 그림의 X축은 특정 구성의 A100 GPU 가속기 칩 수를 나타내고 Y축은 칩당 TFLOPS 단위의 절대 처리량을 나타냅니다.
이 연구에서는 다양한 GPU 구성의 영향도 논의합니다. 각각의 경우에 시스템은 DDP(분산 데이터 병렬) 기준 수준보다 더 높은 처리량을 달성했습니다. 칩 수가 증가함에 따라 장치 간 통신의 오버헤드로 인해 처리량이 약간 감소하는 것을 볼 수 있습니다. 그러나 64개의 GPU를 사용하더라도 Meta의 시스템은 DDP 벤치마크보다 1.83배 빠릅니다.
ViT 훈련에서 달성 가능한 처리량을 두 배로 늘리면 훈련 클러스터의 크기를 효과적으로 두 배로 늘릴 수 있으며 가속기 활용도를 개선하면 AI 모델의 탄소 배출량이 직접적으로 줄어듭니다. 최근 대형 모델의 개발로 인해 모델이 대형화되고 훈련 시간이 길어지는 추세이므로, 이번 최적화를 통해 연구 분야에서 첨단 기술을 더욱 발전시키고 소요 시간을 단축하며 생산성을 높이는 데 도움이 될 것으로 기대됩니다.
위 내용은 매개변수를 늘리거나 시간에 의존하지 않고 Meta는 ViT 교육 프로세스를 가속화하고 처리량을 4배 늘립니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!