소식

대형 모델 단말기 배포의 새로운 추세: 하드웨어가 혼합 행렬 곱셈을 직접 지원합니다.

2024-08-19

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



AIxiv 칼럼은 Machine Heart가 학술 및 기술 콘텐츠를 게재하는 칼럼입니다. 지난 몇 년 동안 Heart of the Machine AIxiv 칼럼은 전 세계 주요 대학 및 기업의 최고 연구실을 대상으로 2,000개 이상의 보고서를 접수하여 학술 교류 및 보급을 효과적으로 촉진했습니다. 공유하고 싶은 훌륭한 작품이 있다면 자유롭게 기여하거나 보고를 위해 연락주시기 바랍니다. 제출 이메일: [email protected] [email protected]

인공지능 분야에서는 모델 매개변수의 증가가 성능 향상을 의미하는 경우가 많습니다. 그러나 모델의 규모가 확대됨에 따라 단말 장치의 컴퓨팅 성능 및 메모리 요구 사항도 증가하고 있습니다. 낮은 비트 양자화 기술은 저장 및 컴퓨팅 비용을 크게 줄이고 추론 효율성을 향상시킬 수 있기 때문에 리소스가 제한된 장치에서 대규모 모델을 효율적으로 실행할 수 있는 핵심 기술 중 하나가 되었습니다. 그러나 하드웨어 장치가 낮은 비트 양자화 데이터 모드를 지원하지 않으면 낮은 비트 양자화의 이점이 실현되지 않습니다.

이 문제를 해결하기 위해 Microsoft Research Asia는 현재 대칭 정밀도 계산만 지원하는 하드웨어에서 혼합 정밀도 행렬 곱셈을 직접 실행할 수 있도록 하는 새로운 데이터 컴파일러 Ladder 및 알고리즘 T-MAC를 출시했습니다. 테스트 결과에 따르면 Ladder는 GPU가 원래 지원하지 않는 사용자 정의 데이터 유형을 지원하는 데 있어 최대 14.6배의 속도 향상을 달성할 수 있습니다. T-MAC은 CPU에서 실행되는 대규모 AI 애플리케이션을 최신 Surface AI PC에서 실행할 수 있도록 합니다. Qualcomm Snapdragon X Elite 칩셋 모델 처리량은 전용 가속기 NPU보다 두 배 빠릅니다. 또한 연구원들은 LUT Tensor Core 하드웨어 아키텍처도 설계했습니다. 이 간소화된 설계를 통해 하드웨어는 다양한 저비트 혼합 정밀도 계산을 직접 지원할 수 있어 인공 지능 하드웨어 설계에 대한 새로운 아이디어를 제공합니다.

고급 인텔리전스와 실시간 응답 서비스를 제공하기 위해 스마트폰, 노트북, 로봇과 같은 최종 장치에 대형 모델이 점점 더 많이 배포되고 있습니다. 그러나 수억 개의 매개변수를 포함하는 대형 모델은 단말 장치의 메모리 및 컴퓨팅 성능에 대한 요구가 매우 높기 때문에 광범위한 적용이 제한됩니다. 낮은 비트 양자화 기술은 모델 크기를 크게 압축하고 컴퓨팅 리소스에 대한 수요를 줄일 수 있으며, 장치 측에 대규모 모델을 배포하고 효율적인 추론을 달성하는 효과적인 수단이 되었습니다.

낮은 비트 양자화 기술의 발전으로 int4, int2, int1 및 기타 낮은 비트 데이터와 같은 데이터 유형이 점점 다양해지면서 대형 모델에서 낮은 비트 가중치와 높은 비트 가중치의 혼합 정밀도 행렬 곱셈을 점점 더 많이 사용하게 되었습니다. 추론 계산(혼합 정밀도 행렬 곱셈, mpGEMM) 그러나 CPU 및 GPU와 같은 기존 하드웨어 컴퓨팅 장치는 일반적으로 대칭 컴퓨팅 모드만 지원하며 이러한 혼합 정밀도 행렬 곱셈과 호환되지 않습니다.

혼합 정밀도 행렬 곱셈은 기존 행렬 곱셈과 어떻게 다릅니까?

기존의 행렬 곱셈에서는 연산에 관여하는 양 끝의 값이 FP16*FP16, int8*int8과 같이 대칭적입니다. 그러나 대형 모델의 낮은 비트 양자화는 이러한 대칭을 깨뜨려 곱셈의 한쪽 끝을 높은 비트로 만들고 다른 쪽 끝을 낮은 비트로 만듭니다(예: 1비트 BitNet 모델에서 구현된 int8*int1 또는 int8*int2 및 부동 소수점). 숫자. 정수 FP16*int4를 사용한 혼합 곱셈.

낮은 비트 양자화의 장점을 최대한 활용하고, 혼합 정밀도 행렬 곱셈을 직접 지원하도록 하드웨어 장치를 활성화하고, 최종 장치에서 대규모 모델의 고속 및 효과적인 작동을 보장하기 위해 Microsoft Research Asia의 연구원들은 중점을 두었습니다. 기존 CPU 및 GPU 컴퓨팅 운영자와 하드웨어 아키텍처 혁신:

  • 다양한 저정밀 데이터 유형의 표현 및 상호 변환을 지원하고 하드웨어에서 지원하지 않는 데이터 유형을 하드웨어가 지원하는 데이터 유형 명령으로 무손실 변환하는 데이터 유형 컴파일러 Ladder를 출시했습니다. 혼합 정밀도 DNN(심층 신경망) 계산을 지원합니다.
  • 혼합 정밀도 행렬 곱셈에 대한 직접적인 하드웨어 지원을 달성하기 위해 조회 테이블(LUT) 방법을 기반으로 하는 새로운 알고리즘 T-MAC를 개발했습니다. 소프트웨어 수준에서 CPU 계산은 기존 계산 모드보다 더 나은 결과를 얻었습니다.
  • 새로운 하드웨어 아키텍처인 LUT Tensor Core가 제안되어 차세대 인공 지능 하드웨어 설계에 대한 새로운 아이디어를 제시합니다.

래더: 사용자 정의 데이터 유형을 하드웨어 지원 데이터 유형으로 무손실 변환

현재 최첨단 가속기는 FP32, FP16, 심지어 FP8과 같은 하위 비트 컴퓨팅 장치의 작업을 차세대 아키텍처에 통합하고 있습니다. 그러나 칩 면적과 높은 하드웨어 비용으로 인해 각 가속기는 표준 데이터 유형에 대해 제한된 유형의 컴퓨팅 장치만 제공할 수 있습니다. 예를 들어 NVIDIA V100 TENSOR CORE GPU는 FP16만 지원하는 반면 A100은 int2, int4에 대한 지원을 추가했습니다. , int8을 지원하지만 FP8 또는 OCP-MXFP와 같은 최신 데이터 형식은 지원하지 않습니다. 또한, 대형 모델의 빠른 반복과 느린 하드웨어 업그레이드 속도 사이에 격차가 있어 하드웨어에서 지원되지 않는 새로운 데이터 유형이 많이 발생하며, 이는 결국 대형 모델의 가속화 및 작동에 영향을 미칩니다.

Microsoft Research Asia 연구원들은 하드웨어 가속기에 사용자 정의 데이터 유형에 대한 컴퓨팅 지침이 부족하지만 메모리 시스템이 이를 고정 너비 불투명 데이터 블록으로 변환하여 임의의 데이터 유형을 저장할 수 있다는 사실을 발견했습니다. 동시에 대부분의 사용자 정의 데이터 유형은 기존 하드웨어 컴퓨팅 장치에서 지원하는 더 높은 비트의 표준 데이터 유형으로 손실 없이 변환될 수 있습니다. 예를 들어, NF4 텐서는 부동 소수점 연산을 수행하기 위해 FP16 또는 FP32로 변환될 수 있습니다.

연구진은 이러한 발견을 바탕으로 다음과 같은 제안을 했습니다.데이터 저장과 계산을 분리하여 모든 사용자 정의 데이터 유형을 지원하는 방법이며, 새로운 사용자 정의 데이터 유형과 현재 하드웨어에서 지원하는 고유한 정밀도 형식 간의 격차를 해소하기 위해 데이터 컴파일러 Ladder를 개발했습니다.

Ladder는 데이터 유형 간의 무손실 변환을 위한 추상화를 포함하여 데이터 유형 시스템을 정의하며, 알고리즘과 하드웨어에서 지원하는 다양한 데이터 유형을 나타낼 수 있으며 데이터 유형 간의 변환 규칙을 정의합니다. 낮은 비트 알고리즘 응용 프로그램을 처리할 때 Ladder는 컴퓨팅 및 스토리지 최적화를 포함한 일련의 최적화를 통해 낮은 비트 데이터를 현재 하드웨어에서 가장 효율적인 실행 형식으로 변환합니다. 즉, 알고리즘을 일치하는 컴퓨팅 명령에 매핑하고 다양한 형식의 데이터입니다. 가장 효율적인 작업을 달성하기 위해 다양한 수준의 저장 장치에 저장됩니다.



그림 1: 래더 시스템 아키텍처

NVIDIA A100, NVIDIA V100, NVIDIA RTX A6000, NVIDIA RTX 4090 및 AMD Instinct MI250 GPU에서 실행되는 DNN 추론 성능 평가는 Ladder가 기본적으로 데이터 유형을 지원하고 GPU를 지원하는 측면에서 기존 최첨단 DNN 컴파일러를 능가한다는 것을 보여줍니다. 원래 지원되지 않았던 사용자 정의 데이터 유형에서도 최대 14.6배의 속도 향상이 가능합니다.

Ladder는 최신 하드웨어 가속기에서 DNN을 실행할 때 사용자 정의 데이터 유형의 낮은 비트 정밀도 데이터 표현을 체계적으로 지원하는 최초의 시스템입니다.이는 모델 연구자에게 보다 유연한 데이터 유형 최적화 방법을 제공하고, 하드웨어 아키텍처 개발자가 하드웨어를 변경하지 않고도 더 넓은 범위의 데이터 유형을 지원할 수 있도록 해줍니다.

T-MAC: 곱셈이 없는 범용 낮은 비트 혼합 정밀도 행렬 곱셈 계산

기존 하드웨어 장치가 다양한 데이터 모드와 혼합 정밀도 행렬 곱셈을 지원할 수 있도록 하기 위해 최종 측에 대규모 모델을 배포할 때 일반적인 접근 방식은 낮은 비트 모델을 역양자화하는 것입니다. 그러나 이 접근 방식에는 두 가지 주요 문제가 있습니다. 첫째, 성능 관점에서 역양자화 프로세스의 변환 오버헤드가 낮은 비트 양자화로 인한 성능 향상을 상쇄할 수 있습니다. 둘째, 개발 관점에서 개발자는 다른 재설계를 목표로 해야 합니다. 혼합 정밀도를 위한 데이터 레이아웃 및 계산 커널. Microsoft Research Asia의 연구원들은 낮은 비트의 양자화된 대형 모델을 장치에 배포하는 열쇠는 낮은 비트 특성을 기반으로 하는 전통적인 행렬 곱셈의 구현을 돌파하는 방법에 있다고 믿습니다.

이를 위해 연구자들은 시스템 및 알고리즘 수준에서 제안했습니다.LUT(Look-Up Table) 기반 방식인 T-MAC는 낮은 비트 양자화를 갖춘 대형 모델이 CPU에서 효율적인 추론을 달성할 수 있도록 도와줍니다.T-MAC의 핵심 아이디어는 혼합 정밀도 행렬 곱셈의 한쪽 끝이 매우 낮은 비트(예: 1비트 또는 2비트)라는 특성을 활용하는 것입니다. 출력 결과는 2의 1제곱과 2의 2제곱뿐입니다. 이러한 작은 출력 결과는 미리 계산하여 테이블에 저장할 수 있으며, 작업 중에 결과를 테이블에서 읽기만 하면 됩니다. 반복 계산이 필요하므로 곱셈과 덧셈 연산의 횟수가 크게 줄어듭니다.

구체적으로,T-MAC는 기존의 데이터 유형 중심 곱셈을 비트 기반 조회 테이블 작업으로 변환하여 테이블 크기를 줄이고 이를 최소로 유지하는 확장 가능한 통합 혼합 정밀도 행렬 곱셈 솔루션을 구현합니다. 테이블이 줄어듭니다.이 혁신은 리소스가 제한된 엣지 장치에 낮은 비트의 양자화된 대형 모델을 배포할 수 있는 길을 열어줍니다.



그림 2: T-MAC 회로도

낮은 비트의 양자화된 Llama 및 1비트 BitNet 대규모 언어 모델에 대한 테스트에서 T-MAC는 상당한 성능 이점을 보여주었습니다. 최신 Qualcomm Snapdragon이 탑재된 Surface Laptop 7에서 4비트 7B Llama 모델의 생성 속도는 초당 20개의 토큰에 도달할 수 있으며 이는 인간의 평균 읽기 속도보다 훨씬 빠릅니다. 원래 Llama.cpp 프레임워크와 비교하면 4~5배 빠르며, 전용 NPU 가속기보다 2배 더 빠릅니다.

Raspberry Pi 5와 같은 저성능 장치에서도 T-MAC를 사용하면 3B BitNet-b1.58 모델이 초당 11개의 토큰 생성 속도를 달성할 수 있습니다. T-MAC은 또한 원래 Llama.cpp의 코어 수의 1/4~1/6만 필요로 하면서 리소스가 제한된 장치에서 동일한 생성 속도를 달성하는 상당한 전력 이점을 가지고 있습니다.

이러한 결과는 T-MAC가 GPU에 의존하지 않고 범용 CPU를 사용하여 에지 장치에 대규모 언어 모델을 보다 효율적으로 배포할 수 있도록 하는 실용적인 솔루션을 제공하여 리소스가 제한된 장치에 대규모 모델을 효율적으로 배포할 수 있음을 보여줍니다. 더 넓은 범위의 시나리오에서 대형 모델의 적용을 촉진합니다.

LUT Tensor Core: 혼합 정밀도 행렬 곱셈을 기본적으로 지원하여 차세대 하드웨어 가속기를 구동합니다.

T-MAC과 Ladder는 모두 기존 CPU 및 GPU 아키텍처에서 혼합 정밀도 행렬 곱셈에 대한 최적화된 지원을 구현합니다. 이러한 소프트웨어 수준의 혁신으로 계산 효율성이 크게 향상되었지만 전문적인 조회 테이블을 직접 구현할 수 있는 하드웨어 가속기만큼 효율적이지는 않습니다. 연구원들은 가장 이상적인 접근 방식은 CPU, GPU 등이 기본적으로 혼합 정밀도 행렬 곱셈을 지원할 수 있도록 하드웨어 가속기를 재설계하는 것이라고 믿습니다. 그러나 이 목표는 세 가지 주요 과제에 직면해 있습니다.

  • 효율성: 설계 및 구현은 비용 효율적이어야 하며 칩의 활용 영역을 최적화하여 낮은 비트 데이터의 계산 효율성을 극대화해야 합니다.
  • 유연성: 다양한 모델과 시나리오에는 다양한 가중치와 활성화 정밀도가 필요하므로 하드웨어의 혼합 정밀도 행렬 곱셈 설계는 다양한 가중치 정밀도(예: int4/2/1)와 활성화 정밀도(예: FP16/8, int8) 및 그 조합.
  • 호환성: 새로운 디자인은 기존 GPU 아키텍처 및 소프트웨어 생태계와 원활하게 통합되어 새로운 기술의 채택을 가속화해야 합니다.

이러한 문제를 해결하기 위해 Microsoft Research Asia의 연구원들은 다음을 설계했습니다.LUT Tensor Core는 조회 테이블을 사용하여 혼합 정밀도 행렬 곱셈을 직접 수행하는 GPU Tensor Core 마이크로 아키텍처입니다.한편, 룩업 테이블 기반 설계는 곱셈 연산을 테이블 사전 계산 연산으로 단순화하고, 그 결과를 테이블에서 직접 검색할 수 있어 계산 효율성을 높일 수 있다. 반면에 이 접근 방식은 하드웨어 요구 사항도 단순화합니다. 곱셈기와 덧셈기가 필요 없이 테이블 저장을 위한 레지스터와 조회를 위한 멀티플렉서만 필요합니다. 동시에 LUT Tensor Core는 비트 직렬 설계를 통해 가중치 정확도의 유연성을 달성하고 테이블 양자화를 사용하여 활성화 정확도의 유연성을 달성합니다.

또한 기존 GPU 마이크로아키텍처 및 소프트웨어 스택과 통합하기 위해 연구진은 GPU에서 기존 MMA 명령어 세트를 확장하고 LMMA 명령어 세트를 추가했으며 기존 GPU에 통합하기 위해 cuBLAS와 유사한 소프트웨어 스택을 설계했습니다. 일부 DNN 프레임워크. 또한 연구원들은 LUT Tensor 코어를 사용하여 GPU에서 엔드투엔드 실행 계획을 위한 컴파일러를 설계했습니다. 이러한 혁신적인 접근 방식을 통해 LUT Tensor 코어를 원활하고 빠르게 채택할 수 있습니다.



그림 3: LUT Tensor Core 마이크로아키텍처 개요

Llama 및 BitNet 모델에 대한 테스트에 따르면 LUT Tensor Core는 최대 6.93배의 추론 속도를 제공할 수 있으며 기존 Tensor Core 영역의 38.7%만 차지합니다. 거의 동일한 모델 정확도로 이는 컴퓨팅 밀도가 20.7배 향상되고 에너지 효율성이 19.1배 향상되는 것과 같습니다. 대규모 인공 지능 모델의 규모와 복잡성이 계속 증가함에 따라 LUT Tensor Core는 낮은 비트의 대규모 언어 모델의 잠재력을 더욱 발휘하고 새로운 시나리오에서 인공 지능의 적용을 촉진하는 데 도움이 됩니다.

"룩업 테이블 방식은 컴퓨팅 패러다임의 변화를 가져왔습니다. 과거에는 행렬 곱셈과 누적 연산에 의존했지만, 대형 모델 시대에는 낮은 비트의 양자화 기술 덕분에 룩업 테이블이 방법은 주류가 될 것입니다. 전통적인 부동 소수점 연산 또는 행렬 곱셈과 비교하여 조회 테이블 방법은 계산이 더 가볍고 효율적이며 하드웨어 수준에서 더 쉽게 확장할 수 있으며 더 높은 트랜지스터 밀도를 달성하고 단위당 더 큰 처리량을 제공할 수 있습니다. Microsoft Research Asia의 수석 연구원인 Cao Ting은 "칩 영역을 통해 하드웨어 아키텍처의 발전을 촉진합니다."라고 말했습니다.

낮은 비트 양자화의 롱테일 효과: 구체화된 지능에 새로운 가능성을 가져옴

낮은 비트 양자화 기술은 최종 장치에서 대형 모델의 실행 효율성을 최적화할 뿐만 아니라 단일 매개변수의 "볼륨"을 줄여 모델 매개변수 확장(Scale up)을 위한 새로운 공간을 제공합니다. 이 매개변수 확장 기능은 모델에 더 큰 유연성과 표현 능력을 제공합니다. BitNet 모델에서 볼 수 있듯이 낮은 비트 모델에서 시작하여 점차 대규모 교육으로 확장됩니다.

T-MAC, Ladder 및 LUT Tensor Core와 같은 Microsoft Research Asia의 혁신적인 기술은 다양한 저비트 양자화 대형 모델에 대한 고성능 운영 솔루션을 제공하여 이러한 모델이 다양한 장치에서 효율적으로 실행될 수 있도록 하고 대형 모델의 설계 및 최적화를 촉진합니다. 낮은 비트 관점에서. 이러한 기술 중 일부는 이미 Microsoft의 Bing 검색 및 광고 비즈니스와 같은 대규모 검색 모델에서 역할을 하고 있습니다.메모리와 컴퓨팅 리소스가 감소함에 따라 로봇과 같은 내장형 지능형 시스템에 대규모 저비트 모델을 배포하는 것도 가능해지며, 이러한 장치는 환경과의 동적 인식 및 실시간 상호 작용을 더 잘 달성할 수 있습니다.

현재 T-MAC 및 Ladder는 GitHub에서 오픈 소스로 제공됩니다. 관련 개발자는 Microsoft Research Asia를 통해 애플리케이션을 테스트하고 인공 지능 기술의 더 많은 가능성을 탐색할 수 있습니다.

  • 래더페이퍼 링크: https://www.usenix.org/conference/osdi24/presentation/wang-lei
  • BitBLAS/래더 GitHub 링크: https://github.com/microsoft/BitBLAS
  • T-MAC 논문 링크: https://arxiv.org/abs/2407.00088
  • T-MAC GitHub 링크: https://github.com/microsoft/T-MAC
  • LUT Tensor Core 문서 링크: https://arxiv.org/abs/2408.06003
  • BitDistiller 논문 링크: https://arxiv.org/abs/2402.10631
  • BitDistiller GitHub 링크: https://github.com/DD-DuDa/BitDistiller