비전-언어 모델 가속화: Habana Gaudi2 기반의 BridgeTower
BridgeTower 모델 개요
BridgeTower는 uni‑modal 인코더의 상위 레이어를 cross‑modal 인코더의 각 레이어에 연결하는 다중 브리지 레이어를 도입하여, 서로 다른 의미 수준에서 효과적인 bottom‑up cross‑modal 정렬 및 융합을 가능하게 합니다. Conceptual Captions, SBU Captions, MSCOCO Captions 및 Visual Genome의 4M 이미지로만 사전 학습되었음에도 불구하고, VQAv2 test‑std에서 78.73%의 정확도를 기록하며 METER보다 1.09% 높은 성능을 보여주는 등 비전-언어 작업에서 최첨단 성능을 달성했습니다.
하드웨어 플랫폼
Habana Gaudi2는 각각 96 GB의 메모리를 가진 8개의 HPU를 제공하며, Transformers 스크립트의 쉬운 포팅을 위해 Optimum Habana에 의해 지원됩니다. Nvidia H100은 fp8 혼합 정밀도를 위한 전용 Transformer Engine과 80 GB의 메모리를 갖춘 최신 GPU 세대입니다. Nvidia A100 (80 GB 변형)은 3세대 Tensor Core 기술을 사용하며 클라우드 제공업체에서 널리 사용 가능한 가장 빠른 GPU로 남아 있습니다.
벤치마크 설정
우리는 BridgeTower Large 체크포인트(866M 파라미터)를 New Yorker Caption Contest 데이터셋으로 미세 조정하였으며, 모든 가속기에서 하이퍼파라미터를 동일하게 유지하고 초당 샘플 수로 훈련 처리량을 측정했습니다.
dataloader_num_workers의 영향
데이터 로딩을 위해 더 많은 서브프로세스를 할당하면 모든 장치에서 처리량이 향상됩니다. 장치당 배치 크기가 48일 때 다음과 같은 결과를 관찰했습니다:
- Gaudi2 HPU: 601.5 samples/s (workers=0), 747.4 samples/s (workers=1), 768.7 samples/s (workers=2).
- H100 GPU: 336.5 samples/s (workers=0), 580.1 samples/s (workers=1), 602.1 samples/s (workers=2).
- A100 GPU: 227.5 samples/s (workers=0), 339.7 samples/s (workers=1), 345.4 samples/s (workers=2). 이 결과는 2개의 워커를 사용할 때 Gaudi2가 H100보다 x1.28배, A100보다 x2.23배 빠르며, 워커를 늘릴 때의 속도 향상은 Gaudi2에서 x1.28, H100에서 x1.79, A100에서 x1.52임을 보여줍니다.
Optimum Habana를 이용한 하드웨어 가속 데이터 로딩의 영향
--mediapipe_dataloader 플래그(Gaudi2에서만 사용 가능)를 통해 이미지 디코딩 및 증강을 가속기로 이동하면 처리량이 더욱 증가합니다. 2개의 dataloader 워커를 사용한 동일한 실험 결과는 다음과 같습니다:
- Gaudi2 HPU: 847.7 samples/s (workers=2 + mediapipe_dataloader).
- H100 및 A100: 해당 없음 (이 플래그는 해당 GPU에서 작동하지 않음). 기본 실행(workers=0)과 비교했을 때, 이는 Gaudi2에서 x1.41의 속도 향상을 의미하며, 2개의 워커와 미디어 파이프라인을 사용할 때 H100보다 x1.41배, A100보다 x2.45배 더 빠릅니다.
이 벤치마크 재현하기
결과를 재현하려면 Intel Developer Cloud를 통해 Gaudi2에 접속하여 최신 Optimum Habana를 설치하고, 저장소를 클론한 다음, 요구 사항을 설치하고 적절한 인수를 사용하여 제공된 run_bridgetower.py 스크립트를 실행하십시오. Gaudi2의 경우 기본 명령에는 --use_habana --use_lazy_mode --use_hpu_graphs_for_inference --gaudi_config_name Habana/clip가 포함됩니다. --dataloader_num_workers N 및 --mediapipe_dataloader를 추가하여 다른 구성을 테스트할 수 있습니다. A100 및 H100의 경우 Habana 전용 클래스를 표준 Transformers Trainer 및 TrainingArguments로 교체하고, Gaudi 설정 참조를 제거한 다음, Transformers에서 set_seed를 임포트하십시오.
결론
비전-언어 모델을 훈련할 때, 더 많은 dataloader 워커를 추가하고 이미지 디코딩/증강을 가속기로 오프로드하는 두 가지 간단한 기술은 상당한 속도 향상을 제공합니다. Habana Gaudi2에서 Optimum Habana를 사용하면 BridgeTower를 미세 조정할 때 단 몇 개의 추가 훈련 인수만으로 Nvidia H100보다 약 1.4배, Nvidia A100 80GB보다 2.5배 빠른 속도를 얻을 수 있습니다.