GPT와 유사한 모델 훈련은 26.5% 가속화되었습니다. Tsinghua Zhu Jun 등은 INT4 알고리즘을 사용하여 신경망 훈련을 가속화합니다.
우리는 활성화, 가중치 및 기울기를 4비트로 양자화하는 것이 신경망 훈련을 가속화하는 데 매우 중요하다는 것을 알고 있습니다. 그러나 기존 4비트 훈련 방법에는 최신 하드웨어에서 지원하지 않는 사용자 정의 숫자 형식이 필요합니다. 이 기사에서 Tsinghua Zhu Jun 등은 INT4 알고리즘을 사용하여 모든 행렬 곱셈을 구현하는 Transformer 훈련 방법을 제안합니다.
모델이 빠르게 훈련되는지 여부는 활성화 값, 가중치, 기울기 및 기타 요인의 요구 사항과 밀접한 관련이 있습니다.
신경망 훈련에는 일정량의 계산이 필요하며 정밀도가 낮은 알고리즘(완전 양자화 훈련 또는 FQT 훈련)을 사용하면 컴퓨팅 및 메모리 효율성이 향상될 것으로 예상됩니다. FQT는 원래의 완전 정밀도 계산 그래프에 양자화기와 역양자화기를 추가하고 값비싼 부동 소수점 연산을 값싼 저정밀 부동 소수점 연산으로 대체합니다.
FQT에 대한 연구는 수렴 속도와 정확도의 희생을 줄이면서 훈련 수치 정확도를 줄이는 것을 목표로 합니다. 필요한 수치 정밀도가 FP16에서 FP8, INT32+INT8 및 INT8+INT5로 감소되었습니다. FP8 훈련은 대규모 Transformer 훈련의 놀라운 가속화를 가능하게 하는 Transformer 엔진이 탑재된 Nvidia H100 GPU에서 수행됩니다.
최근에는 훈련 수치 정확도가 4비트로 감소했습니다. Sun 등은 INT4 활성화/가중치 및 FP4 그래디언트를 사용하여 여러 최신 네트워크를 성공적으로 교육했습니다. Chmiel 등은 정확도를 더욱 향상시키는 맞춤형 4자리 로그 숫자 형식을 제안했습니다. 그러나 이러한 4비트 훈련 방법은 최신 하드웨어에서 지원되지 않는 사용자 정의 숫자 형식이 필요하기 때문에 가속에 직접 사용할 수 없습니다.
4비트와 같은 낮은 수준에서 훈련하는 데는 엄청난 최적화 문제가 있습니다. 첫째, 순방향 전파의 미분 불가능한 양자화기는 손실 함수 그래프를 고르지 않게 만들고 경사 기반 최적화기는 쉽게 정체될 수 있습니다. 로컬 최소. 둘째, 기울기는 대략적으로 낮은 정밀도로만 계산될 수 있습니다. 이러한 부정확한 기울기는 훈련 과정을 느리게 만들고 심지어 불안정하거나 발산하는 훈련으로 이어질 수도 있습니다.
이 기사에서는 인기 있는 신경망 Transformer를 위한 새로운 INT4 훈련 알고리즘을 제안합니다. Transformer를 훈련시키는 데 사용되는 값비싼 선형 연산은 모두 행렬 곱셈(MM) 형식으로 작성될 수 있습니다. MM 형식화를 통해 연구자는 보다 유연한 양자화기를 설계할 수 있습니다. 이 양자화기는 Transformer의 특정 활성화, 가중치 및 그래디언트 구조를 통해 FP32 행렬 곱셈에 더 잘 근접합니다. 이 기사의 양자화기는 확률적 수치 선형 대수학의 새로운 발전도 활용합니다.
Pictures
문서 주소: https://arxiv.org/pdf/2306.11987.pdf
연구에 따르면 순방향 전파의 경우 정확도 감소의 주요 원인은 활성화 값의 이상입니다. . 이러한 이상값을 억제하기 위해 변환된 활성화 행렬을 양자화하는 데 사용되는 Hadamard 양자화기가 제안되었습니다. 이 변환은 이상값이 전달하는 정보를 이상값 근처의 행렬 항목으로 확산시켜 이상값의 수치 범위를 좁히는 블록 대각선 Hadamard 행렬입니다.
역전파의 경우 이 연구는 활성화 기울기의 구조적 희소성을 활용합니다. 연구에 따르면 일부 토큰의 기울기는 매우 크지만 동시에 대부분의 다른 토큰의 기울기는 매우 작으며 더 큰 기울기의 양자화된 잔차도 더 작습니다. 따라서 이러한 작은 기울기를 계산하는 대신 계산 리소스를 사용하여 더 큰 기울기의 잔차를 계산합니다.
순방향 전파와 역전파의 양자화 기술을 결합한 이 기사에서는 Transformer의 모든 선형 연산에 INT4 MM을 사용하는 알고리즘을 제안합니다. 이 연구에서는 자연어 이해, 질문 응답, 기계 번역, 이미지 분류 등 다양한 작업에 대해 Transformer를 훈련하기 위한 알고리즘을 평가했습니다. 제안된 알고리즘은 기존 4비트 훈련 노력과 비교하여 비슷하거나 더 나은 정확도를 달성합니다. 또한 이 알고리즘은 사용자 지정 숫자 형식(예: FP4 또는 로그 형식)이 필요하지 않기 때문에 최신 하드웨어(예: GPU)와 호환됩니다. 그리고 연구에서 제안한 프로토타입 양자화 + INT4 MM 연산자는 FP16 MM 기준보다 2.2배 빠르며 훈련 속도가 35.1% 향상됩니다.
순방향 전파
교육 과정에서 연구원들은 INT4 알고리즘을 사용하여 모든 선형 연산자를 가속화하고 계산 강도가 낮은 모든 비선형 연산자를 FP16 형식으로 설정했습니다. Transformer의 모든 선형 연산자는 행렬 곱셈 형식으로 작성할 수 있습니다. 데모 목적으로 그들은 다음과 같이 간단한 행렬 곱셈 속도 향상을 고려했습니다.
Picture
이런 종류의 행렬 곱셈의 주요 사용 사례는 완전 연결 계층입니다.
학습된 단계 크기 양자화
가속 훈련에서는 순방향 전파를 계산하기 위해 정수 연산을 사용해야 합니다. 따라서 연구진은 학습된 단계 크기 양자화기(LSQ)를 활용했습니다. 정적 양자화 방법인 LSQ의 양자화 규모는 입력에 의존하지 않으므로 동적 양자화 방법보다 비용이 저렴합니다. 대조적으로, 동적 양자화 방법은 각 반복에서 양자화 스케일을 동적으로 계산해야 합니다.
FP 행렬 X가 주어지면 LSQ는 다음 수식(2)을 통해 X를 정수로 양자화합니다.
Pictures
이상치 활성화
4비트 활성화/가중치를 사용하여 FQT(완전 양자화 훈련, 완전 양자화 훈련)에 LSQ를 간단히 적용하면 이상치 활성화가 발생합니다. 정확성. 아래 그림 1(a)에 표시된 것처럼 활성화된 일부 특이치 항이 있으며 그 크기는 다른 항보다 훨씬 큽니다.
이 경우 단계 크기 s_X는 양자화 세분성과 표현 가능한 값 범위 간의 균형입니다. s_X가 크면 대부분의 다른 항을 대략적으로 표현하는 대신 이상값을 잘 표현할 수 있습니다. s_X가 작으면 [−Q_Ns_X, Q_Ps_X] 범위 밖의 항은 잘려야 합니다.
Hadamard Quantization
연구원들은 이상값 문제를 해결하기 위해 Hadamard 양자화기(HQ)를 사용할 것을 제안했습니다. 주요 아이디어는 더 적은 수의 이상값을 사용하여 다른 선형 공간에서 행렬을 양자화하는 것입니다.
활성화 행렬의 이상값은 기능 수준 구조를 형성할 수 있습니다. 이러한 이상값은 일반적으로 몇 가지 차원을 따라 클러스터링됩니다. 즉, X의 소수 열만 다른 열보다 훨씬 큽니다. 선형 변환인 Hadamard 변환은 이상값을 다른 항에 분산시킬 수 있습니다. 특히 Hadamard 변환 H_k는 2^k × 2^k 행렬입니다.
이상치를 억제하기 위해 연구자들은 X와 W의 변환된 버전을 양자화합니다.
양자화된 행렬을 결합하여 연구원은 다음을 얻었습니다.
역변환이 서로 상쇄되고 MM은 다음과 같이 구현될 수 있습니다.
Pictures
역전파
연구원들은 INT4 연산을 사용하여 선형 레이어의 역전파를 가속화합니다. 방정식 (3)에 정의된 선형 연산자 HQ-MM은 4개의 입력, 즉 활성화 X, 가중치 W, 단계 s_X 및 s_W를 갖습니다. 손실 함수 L에 대한 출력 기울기 ∇_YL이 주어지면 이 네 가지 입력의 기울기를 계산해야 합니다.
그라디언트의 구조적 희소성
연구원들은 훈련 과정에서 그라디언트 행렬 ∇_Y가 종종 매우 희박하다는 것을 발견했습니다. 희소 구조는 ∇_Y의 몇몇 행(즉, 토큰)이 큰 항을 갖는 반면 대부분의 다른 행은 모두 0인 벡터에 가깝습니다. 그들은 아래 그림 2의 모든 행에 대해 행별 표준 MAT(∇_Y)_i: Bu의 히스토그램을 그렸습니다.
Pictures
비트 분할 및 평균 점수 샘플링
연구원들은 역전파 중에 구조적 희소성을 활용하여 MM을 정확하게 계산하는 그래디언트 양자화기를 설계하는 방법에 대해 논의합니다. 높은 수준의 아이디어는 많은 행의 기울기가 매우 작기 때문에 매개변수 기울기에 대한 영향도 작지만 많은 계산이 낭비된다는 것입니다. 또한 큰 행은 INT4로 정확하게 표현할 수 없습니다.
이러한 희소성을 활용하기 위해 연구자들은 각 토큰의 기울기를 상위 4비트와 하위 4비트로 분할하는 비트 분할을 제안합니다. 그런 다음 RandNLA의 중요도 샘플링 기법인 평균 점수 샘플링을 통해 가장 많은 정보를 포함하는 그래디언트를 선택합니다.
실험 결과
이 연구에서는 언어 모델 미세 조정, 기계 번역 및 이미지 분류를 포함한 다양한 작업에 대해 INT4 훈련 알고리즘을 평가했습니다. 본 연구에서는 제안된 HQ-MM 및 LSS-MM 알고리즘을 CUDA와 cutlass2를 사용하여 구현했습니다. 단순히 LSQ를 임베딩 레이어로 사용하는 것 외에도 모든 부동 소수점 선형 연산자를 INT4로 대체하고 마지막 레이어 분류기의 전체 정확도를 유지했습니다. 그리고 이를 통해 연구원들은 평가된 모든 모델에 대해 기본 아키텍처, 최적화 프로그램, 스케줄러 및 하이퍼파라미터를 채택했습니다.
수렴된 모델 정확도. 아래 표 1은 각 작업에 대한 융합 모델의 정확도를 보여줍니다.
Pictures
언어 모델 미세 조정. 본 연구에서 제안한 알고리즘은 LSQ+LUQ와 비교하여 bert-base 모델에서는 평균 정확도를 5.5%, bert-large 모델에서는 25% 향상시켰다.
연구팀은 또한 SQUAD, SQUAD 2.0, Adversarial QA, CoNLL-2003 및 SWAG 데이터 세트에 대한 알고리즘의 추가 결과를 시연했습니다. 모든 작업에서 이 방법은 LSQ+LUQ에 비해 더 나은 성능을 달성합니다. LSQ+LUQ에 비해 이 방법은 SQUAD와 SQUAD 2.0에서 각각 1.8%, 3.6%의 향상을 달성합니다. 더 어려운 적대적 QA에서 이 방법은 F1 점수에서 6.8% 향상을 달성했습니다. SWAG와 CoNLL-2003에서 이 방법은 정확도를 각각 6.7%와 4.2% 향상시킵니다.
기계 번역. 본 연구에서는 제안된 사전 훈련 방법도 사용했습니다. 이 방법은 WMT 14 En-De 데이터 세트에서 기계 번역을 위한 Transformer 기반 [51] 모델을 교육합니다.
HQ+LSS의 BLEU 저하율은 약 1.0%로 Ultra-low의 2.1%보다 낮고 LUQ 논문에서 보고된 0.3%보다 높습니다. 그럼에도 불구하고, HQ+LSS는 이 사전 훈련 작업에 대한 기존 방법과 여전히 비슷한 성능을 발휘하며 최신 하드웨어를 지원합니다.
이미지 분류. ImageNet21k에서 사전 훈련된 ViT 체크포인트를 로드하고 CIFAR-10, CIFAR-100 및 ImageNet1k에서 미세 조정하는 방법을 연구합니다.
LSQ+LUQ와 비교하여 연구 방법은 ViT-B/32 및 ViT-L/32의 정확도를 각각 1.1% 및 0.2% 향상시킵니다. ImageNet1k에서 이 방법은 LSQ+LUQ에 비해 ViT-B/32에서 2%, ViT-L/32에서 2.6%, ViT-L/32에서 0.2% 정확도를 향상시킵니다.
연구팀은 ImageNet1K의 사전 훈련된 DeiT-Small 모델에서 알고리즘의 효과를 추가로 테스트했습니다. 여기서 HQ+LSS는 하드웨어 친화적이면서도 LSQ+LUQ와 비교하여 비슷한 수준의 정확도로 수렴할 수 있습니다. .
절제 연구
저희는 까다로운 CoLA 데이터 세트에 대한 순방향 및 역방향 방법의 효과를 독립적으로 입증하기 위해 절제 연구를 수행했습니다. 순방향 전파에 대한 다양한 양자화기의 효과를 연구하기 위해 역전파를 FP16으로 설정했습니다. 결과는 아래 그림 3(a)에 나와 있습니다.
역전파를 위해 연구원들은 간단한 미니맥스 양자화기인 LUQ와 자체 LSS를 비교하고 순방향 전파를 FP16으로 설정했습니다. 결과는 아래 그림 3(b)에 나와 있습니다. 비록 비트 폭이 2보다 높지만 LSS는 LUQ와 비슷하거나 약간 더 나은 결과를 얻습니다.
Pictures
계산 및 메모리 효율성
연구원들은 자신이 제안한 HQ-MM(HQ), 중량 기울기 계산용 LSS(LSSWeight) 및 활성화 기울기 계산용 LSS(LSSAct)를 비교했습니다. ) 처리량, 평균 처리량(INT4) 및 아래 그림 4의 NVIDIA RTX 3090 GPU에서 cutlass가 제공하는 기본 Tensor Core FP16 GEMM 구현(FP16)은 최대 처리량이 142 FP16 TFLOP 및 568 INT4 TFLOP입니다.
Pictures
연구원들은 또한 8개의 NVIDIA A100 GPU에서 BERT 유사 및 GPT 유사 언어 모델을 훈련하기 위한 FP16 PyTorch AMP와 자체 INT4 훈련 알고리즘의 훈련 처리량을 비교했습니다. 그들은 숨겨진 레이어 크기, 중간 완전 연결 레이어 크기 및 배치 크기를 다양하게 변경하고 아래 그림 5에 INT4 교육의 속도 향상을 표시했습니다.
결과에 따르면 INT4 훈련 알고리즘은 BERT 유사 모델의 경우 최대 35.1% 가속을 달성하고 GPT 유사 모델의 경우 최대 26.5% 가속을 달성합니다.
사진
위 내용은 GPT와 유사한 모델 훈련은 26.5% 가속화되었습니다. Tsinghua Zhu Jun 등은 INT4 알고리즘을 사용하여 신경망 훈련을 가속화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS 종료 명령은 종료이며 구문은 종료 [옵션] 시간 [정보]입니다. 옵션은 다음과 같습니다. -H 시스템 중지 즉시 옵션; -P 종료 후 전원을 끕니다. -R 다시 시작; -대기 시간. 시간은 즉시 (현재), 분 (분) 또는 특정 시간 (HH : MM)으로 지정할 수 있습니다. 추가 정보는 시스템 메시지에 표시 될 수 있습니다.

CentOS 시스템에서 HDFS 구성 확인에 대한 완전한 안내서이 기사에서는 CentOS 시스템에서 HDF의 구성 및 실행 상태를 효과적으로 확인하는 방법을 안내합니다. 다음 단계는 HDF의 설정 및 작동을 완전히 이해하는 데 도움이됩니다. Hadoop 환경 변수 확인 : 먼저 Hadoop 환경 변수가 올바르게 설정되어 있는지 확인하십시오. 터미널에서 다음 명령을 실행하여 Hadoop이 올바르게 설치되고 구성되었는지 확인하십시오. Hadoopversion Check HDFS 구성 파일 : HDFS의 Core 구성 파일은/etc/hadoop/conf/directory에 있으며 Core-Site.xml 및 HDFS-Site.xml이 중요합니다. 사용

CentOS 시스템 하에서 Gitlab의 백업 및 복구 정책 데이터 보안 및 복구 가능성을 보장하기 위해 CentOS의 Gitlab은 다양한 백업 방법을 제공합니다. 이 기사는 완전한 GITLAB 백업 및 복구 전략을 설정하는 데 도움이되는 몇 가지 일반적인 백업 방법, 구성 매개 변수 및 복구 프로세스를 자세히 소개합니다. 1. 수동 백업 gitlab-rakegitlab : 백업 : 명령을 작성하여 수동 백업을 실행하십시오. 이 명령은 gitlab 저장소, 데이터베이스, 사용자, 사용자 그룹, 키 및 권한과 같은 주요 정보를 백업합니다. 기본 백업 파일은/var/opt/gitlab/backups 디렉토리에 저장됩니다. /etc /gitlab을 수정할 수 있습니다

CentOS 시스템에서 Pytorch GPU 가속도를 활성화하려면 Cuda, Cudnn 및 GPU 버전의 Pytorch를 설치해야합니다. 다음 단계는 프로세스를 안내합니다. CUDA 및 CUDNN 설치 CUDA 버전 호환성 결정 : NVIDIA-SMI 명령을 사용하여 NVIDIA 그래픽 카드에서 지원하는 CUDA 버전을보십시오. 예를 들어, MX450 그래픽 카드는 CUDA11.1 이상을 지원할 수 있습니다. Cudatoolkit 다운로드 및 설치 : NVIDIACUDATOOLKIT의 공식 웹 사이트를 방문하여 그래픽 카드에서 지원하는 가장 높은 CUDA 버전에 따라 해당 버전을 다운로드하여 설치하십시오. CUDNN 라이브러리 설치 :

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

Centos에 MySQL을 설치하려면 다음 단계가 필요합니다. 적절한 MySQL Yum 소스 추가. mysql 서버를 설치하려면 yum install mysql-server 명령을 실행하십시오. mysql_secure_installation 명령을 사용하여 루트 사용자 비밀번호 설정과 같은 보안 설정을 작성하십시오. 필요에 따라 MySQL 구성 파일을 사용자 정의하십시오. MySQL 매개 변수를 조정하고 성능을 위해 데이터베이스를 최적화하십시오.

Centos 시스템에서 Gitlab 로그를보기위한 완전한 안내서이 기사에서는 메인 로그, 예외 로그 및 기타 관련 로그를 포함한 CentOS 시스템에서 다양한 Gitlab 로그를 보는 방법을 안내합니다. 로그 파일 경로는 Gitlab 버전 및 설치 방법에 따라 다를 수 있습니다. 다음 경로가 존재하지 않으면 GitLab 설치 디렉토리 및 구성 파일을 확인하십시오. 1. 기본 gitlab 로그보기 다음 명령을 사용하여 Gitlabrails 응용 프로그램의 기본 로그 파일을 보려면 다음 명령 : 명령 : sudocat/var/log/gitlab/gitlab-rails/production.log이 명령은 제품을 표시합니다.

CentOS 시스템에 대한 Pytorch 분산 교육에는 다음 단계가 필요합니다. Pytorch 설치 : 전제는 Python과 PIP가 CentOS 시스템에 설치된다는 것입니다. CUDA 버전에 따라 Pytorch 공식 웹 사이트에서 적절한 설치 명령을 받으십시오. CPU 전용 교육의 경우 다음 명령을 사용할 수 있습니다. PipinStalltorchtorchvisiontorchaudio GPU 지원이 필요한 경우 CUDA 및 CUDNN의 해당 버전이 설치되어 있는지 확인하고 해당 PyTorch 버전을 설치하려면 설치하십시오. 분산 환경 구성 : 분산 교육에는 일반적으로 여러 기계 또는 단일 기계 다중 GPU가 필요합니다. 장소
