GPU는 오랫동안 계산을 가속화하는 데 사용되어 왔으며 최근 몇 년 동안 GPU는 자체 그래픽 블록을 거의 상실하면서 기계 학습 알고리즘의 일반적인 특정 데이터 형식에 대한 지원으로 너무 커졌습니다. 그러나 가까운 장래에 새로운 AWS 개발인 Trainium 칩을 비롯한 전문 AI 프로세서가 여러 면에서 이를 능가할 수 있습니다.
AWS Re: Invent에서 이 회사는 P3dn(Nvidia V100) 및 P4(Nvidia A100) 인스턴스로 기계 학습의 진행 상황을 강조했습니다. 첫 번째 변종은 BERT-Large 모델이 복잡성의 예였던 2018년에 데뷔했으며 256GB 메모리와 100GbE 네트워크를 통해 인상적인 결과를 제공했습니다. 그러나 매년 기계 학습 모델의 복잡성이 거의 10배 증가하고 AI 가속기의 기능 성장은 이러한 속도보다 분명히 뒤쳐집니다.
작년에 P4d 변형이 도입되었을 때 처리 능력과 메모리가 4배 증가한 반면 유명한 GPT-3 모델은 복잡성 면에서 BERT-Large를 500배 능가했습니다. 그리고 이제 후자의 1750억 매개변수는 새 모델의 10조에 비하면 아무것도 아닙니다. 또한 로컬 메모리의 양을 늘려야 하고(Trainium에는 512GB의 HBM이 있고 총 대역폭은 13.1TB/s임) 분산 학습을 보다 적극적으로 사용해야 합니다.
후자의 접근 방식의 경우 네트워크 하위 시스템이 병목 현상이 발생했으며 EFA(Elastic Fabric Adapter) 스택을 개발할 때 회사는 새로운 Trn1 인스턴스에 800Gb/s(P4d의 두 배) 연결을 제공하여 이를 고려했습니다. 초저 대기 시간 및 대역폭이 2배이고 1.6Tbit/s에 도달하는 보다 최적화된 버전의 Trn1n입니다. 인스턴스 내부의 칩 자체 간의 통신을 위해 NeuroLink 상호 연결은 768GB/s의 속도로 사용됩니다.
그러나 2주 이내에 GPT-3을 훈련할 수 있다는 것만이 아닙니다. 사용되는 리소스의 양도 중요합니다. P3d의 경우 600개의 인스턴스가 동시에 실행되어야 하며 Ampere 아키텍처로 이동하더라도 이 숫자는 200개로 줄어듭니다. 그러나 Trainium 칩을 기반으로 하는 교육에는 130개의 Trn1 인스턴스만 필요합니다. 최적화 덕분에 새 인스턴스의 통신 비용은 Ampere의 경우 14%, Volta의 경우 무려 49%에 비해 7%에 불과합니다.
Trainium은 수축기 배열에 의존합니다(Google은 TPU에 대해 동일한 접근 방식을 사용함). 이웃으로부터 수신된 데이터를 독립적으로 처리하고 그 결과를 다음 이웃으로 전송하는 매우 밀접하게 관련된 많은 계산 단위로 구성됩니다. 특히 이 접근 방식은 "클래식" GPU에 일반적이지만 이러한 가속기의 유연성을 박탈하는 수많은 레지스터 및 메모리 액세스를 제거합니다.
AWS에 따르면 Trainium에서는 유연성이 유지됩니다. 액셀러레이터에는 C/C ++에서 완전히 프로그래밍 가능한 16개의 핸들러가 있습니다. 다른 최적화 기능도 있습니다. 예를 들어, 초대형 모델에서 오버헤드로 인해 너무 "비싸게" 되는 확률론적 반올림의 하드웨어 가속은 혼합 정밀도로 훈련의 효율성을 향상시킬 수 있지만. 이 모든 것을 통해 저정밀도 계산에서 최대 3.4Pflops, FP32 계산에서 최대 840테라플롭을 얻을 수 있습니다.
AWS는 AWS Neuron SDK가 널리 사용되는 기계 학습 프레임워크를 지원하므로 개발자가 최대한 쉽게 Trainium으로 전환할 수 있도록 노력했습니다. 그러나 회사는 예를 들어 CUDA 생태계에서 전환이 어려울 수 있기 때문에 고객을 Trn1 인스턴스로 강제로 유도하지 않고 계속해서 다른 액셀러레이터의 선택을 제공할 것입니다. 그러나 자체 요구 사항에 대한 기계 학습 측면에서 Amazon은 이제 완전히 독립적입니다. 최신 CPU Graviton3과 추론 가속기 Inferentia를 모두 갖추고 있습니다.
2021-12-06 22:44:05
작가: Vitalii Babkin