-
Meta 1세대 AI 추론 가속기 MTIA v1카테고리 없음 2024. 2. 20. 23:38
2023년 5월 18일
AI 워크로드는 메타에서 어디에나 존재하며 콘텐츠 이해, 피드, 생성 AI, 광고 순위 등 광범위한 사용 사례의 기반을 형성합니다. 이러한 워크로드는 최고 수준의 Python 통합, 에지 모드 개발, API의 단순성을 갖춘 PyTorch에서 실행됩니다. 특히 딥러닝 추천 모델(DLRM)은 Meta의 서비스 및 애플리케이션 전반에서 경험을 개선하는 데 중요한 역할을 합니다. 그러나 이러한 모델의 크기와 복잡성이 증가함에 따라 기본 하드웨어 시스템은 효율성을 유지하면서 기하급수적으로 더 많은 메모리와 컴퓨팅을 제공해야 합니다.
하지만 GPU가 메타의 규모에 필요한 수준의 효율성으로 메타의 특정 추천 워크로드를 실행하는 데 항상 최적화된 것은 아니라는 사실을 알게 되었습니다. 이 문제에 대한 해결책은 추천 전용 메타 트레이닝 및 추론 가속기(MTIA) ASIC 제품군을 설계하는 것이었습니다. 우리는 차세대 추천 모델 요구 사항을 염두에 두고 1세대 ASIC을 공동 설계했으며, 이를 PyTorch에 통합하여 완전히 최적화된 랭킹 시스템을 만들었습니다. 또한 PyTorch 에저 모드 개발이 제공하는 사용자 경험과 개발자 효율성을 유지했습니다. 개발자 효율성은 PyTorch가 컴파일러 수준에서 작동하는 방식을 내부적으로 강화하는 PyTorch 2.0을 지속적으로 지원하면서 계속 개선해나가는 여정입니다.MTIA v1이란 무엇인가요?
2020년에는 Meta의 내부 워크로드를 위한 1세대 MTIA ASIC을 설계했습니다. 이 추론 가속기는 실리콘, PyTorch 및 권장 모델을 포함하는 공동 설계된 풀스택 솔루션의 일부입니다. 이 가속기는 TSMC 7nm 공정으로 제작되었으며 800MHz에서 실행되어 INT8 정밀도에서 102.4 TOPS, FP16 정밀도에서 51.2 TFLOPS를 제공합니다. 열 설계 전력(TDP)은 25W입니다.
높은 수준에서 가속기는 처리 요소(PE) 그리드, 온칩 및 오프칩 메모리 리소스, 상호 연결로 구성됩니다.
가속기에는 시스템의 펌웨어를 실행하는 전용 제어 서브시스템이 장착되어 있습니다. 펌웨어는 사용 가능한 컴퓨팅 및 메모리 리소스를 관리하고 전용 호스트 인터페이스를 통해 호스트와 통신하며 가속기에서 작업 실행을 오케스트레이션합니다.
메모리 서브시스템은 오프칩 DRAM 리소스에 LPDDR5를 사용하며 최대 128GB까지 확장할 수 있습니다.
또한 이 칩에는 모든 PE가 공유하는 128MB의 온칩 SRAM이 있어 자주 액세스하는 데이터와 명령어에 대해 더 높은 대역폭과 훨씬 낮은 지연 시간을 제공합니다.
그리드에는 8x8 구성으로 구성된 64개의 PE가 있습니다. PE는 메시 네트워크를 통해 서로 및 메모리 블록에 연결됩니다. 그리드는 전체 작업을 실행하는 데 활용하거나 독립적인 작업을 실행할 수 있는 여러 개의 하위 그리드로 나눌 수 있습니다.
각 PE에는 행렬 곱셈, 누적, 데이터 이동, 비선형 함수 계산과 같은 중요 연산을 수행하는 데 최적화된 2개의 프로세서 코어(그 중 하나는 벡터 확장 기능이 탑재됨)와 다수의 고정 함수 유닛이 장착되어 있습니다. 프로세서 코어는 RISC-V 개방형 명령어 집합 아키텍처(ISA)를 기반으로 하며 필요한 연산 및 제어 작업을 수행하도록 고도로 맞춤화되어 있습니다. 또한 각 PE에는 데이터를 빠르게 저장하고 작동할 수 있도록 128KB의 로컬 SRAM 메모리가 있습니다. 이 아키텍처는 워크로드를 효율적으로 실행하기 위한 기반이 되는 병렬 처리와 데이터 재사용을 극대화합니다.
이 칩은 스레드 및 데이터 수준 병렬 처리(TLP 및 DLP)를 모두 제공하고, 명령어 수준 병렬 처리(ILP)를 활용하며, 수많은 메모리 요청을 동시에 처리할 수 있도록 하여 풍부한 양의 메모리 수준 병렬 처리(MLP)를 지원합니다.
MTIA v1 시스템 설계
MTIA 가속기는 소형 듀얼 M.2 보드에 장착되어 있어 서버에 쉽게 통합할 수 있습니다. 이 보드는 PCIe Gen4 x8 링크를 사용하여 서버의 호스트 CPU에 연결되며 35W의 전력을 소비합니다.
이러한 가속기를 호스팅하는 서버는 오픈 컴퓨트 프로젝트의 요세미티 V3 서버 사양을 사용합니다. 각 서버에는 12개의 가속기가 포함되어 있으며, 이 가속기는 호스트 CPU와 PCIe 스위치 계층 구조를 사용하여 서로 연결됩니다. 따라서 서로 다른 가속기 간의 통신에는 호스트 CPU가 관여할 필요가 없습니다. 이 토폴로지를 사용하면 워크로드를 여러 가속기에 분산하여 병렬로 실행할 수 있습니다. 가속기의 수와 서버 구성 매개변수는 현재와 미래의 워크로드를 실행하는 데 최적이 되도록 신중하게 선택됩니다.
MTIA의 성능 결과
저희의 SW 스택이 계속 발전하는 동안, MTIA의 성능을 다른 가속기의 성능과 비교한 몇 가지 결과를 수집했습니다. 이 비교는 복잡도가 낮은 워크로드에서 높은 워크로드를 대표하는 5가지 DLRM 실행의 엔드투엔드 성능을 기반으로 합니다.
효율성은 데이터센터에 가속기를 배포하는 데 있어 가장 중요한 요소 중 하나이며, TCO는 효율성을 측정하는 척도입니다. 이번 비교에서는 TCO의 핵심 구성 요소인 와트당 성능 지표(TFLOPS/W)에 초점을 맞췄습니다.
이번 연구에서는 MTIA와 NNPI 가속기 및 GPU를 비교했습니다. 복잡도가 낮은 모델의 경우, MTIA는 작은 모양과 배치 크기를 보다 효율적으로 처리하는 데 의존합니다. 중간 및 높은 복잡도 모델의 경우, MTIA는 GPU의 SW 스택에서 훨씬 더 최적화된 더 큰 형상을 실행합니다(현재 MTIA의 SW 스택은 최적화 중이며 시간이 지나면서 비슷한 수준의 효율성을 달성할 것으로 예상됩니다).미래를 위한 교훈
특히 처음으로 맞춤형 실리콘 솔루션을 구축하는 것은 매우 중요한 작업입니다. 이 초기 프로그램을 통해 향후 시스템의 성능과 규모를 개선할 수 있는 아키텍처 인사이트와 소프트웨어 스택 개선 등 귀중한 교훈을 얻었으며, 이를 로드맵에 반영하고 있습니다.
우리가 해결해야 할 과제는 점점 더 복잡해지고 있습니다. 컴퓨팅과 메모리 및 상호연결 대역폭 확장에 대한 업계의 과거 추세를 살펴보면, 지난 몇 세대의 하드웨어 플랫폼에서 컴퓨팅에 비해 메모리와 상호연결 대역폭이 훨씬 낮은 속도로 확장되고 있음을 알 수 있습니다.https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8
메모리 및 상호 연결 대역폭의 성능 지연은 워크로드의 최종 성능에서도 나타났습니다. 예를 들어, 워크로드 실행 시간의 상당 부분이 네트워킹 및 통신에 소요되는 것을 확인할 수 있습니다.
앞으로 더 나은 효율적인 솔루션 구축의 일환으로 이 세 가지 축(컴퓨팅 성능, 메모리 대역폭, 상호 연결 대역폭) 간의 균형을 맞춰 Meta의 워크로드에 최고의 성능을 달성하는 데 주력하고 있습니다. 이는 흥미진진한 여정이며 이제 시작에 불과합니다.