본문 바로가기

전체 글

(535)
The Optimal BERT Surgeon: Scalable and Accurate Second-Order Pruning for Large Language Models (oBERT) 대규모 모델의 경우 블록으로 나누어 블록째로 가지치기 [arXiv](Current version v3) [BERT] Abstract 대규모 모델인 BERT를 희소화할 수 있는 Optimal BERT Surgeon(oBERT) 제안 The Optimal BERT Surgeon (oBERT) Generalized Second-Order Block Pruning WoodFisher와 다른 점은 그룹으로 진행된다는 점이다. WoodFisher의 eq는 단일 기저벡터였다면, 본 논문의 ek는 블록 내 인덱스에 해당하는 기저벡터의 집합이다. (편의성을 위해 s.t. ~ 수식의 표기 변경) 그 뒤론 똑같음. An Efficient Implementation Pruning the optimal set of weight..
WoodFisher: Efficient Second-Order Approximation for Neural Network Compression Hessian matrix를 효율적인 fisher matrix로 근사하여 가지치기에 활용 [Github] [arXiv](Current version v5) Abstract Hessian- or Inverse-Hessian-vector product 형태의 2차 미분 정보는 최적화 문제를 해결하기 위한 기본 도구이다. Inverse-Hessian matrix의 효율적인 추정치를 계산하기 위해 WoodFisher라는 방법을 제안한다. Introduction DNN을 압축하기 위한 최근 연구는 고전적인 Optimal Brain Damage/Surgeon 프레임워크에서 그 뿌리를 찾을 수 있다. 대략적으로 제거할 최적의 피라미터를 찾기 위해 테일러 전개 기반으로 로컬 2차 모델 근사를 구축하는 것이다. 핵심은 ..
Accelerated Sparse Neural Training [arXiv](Current version v2) Abstract 훈련 단계에서 GPU 가속의 이점을 얻을 수 있는 Transposable-Fine-Grained Sparsity Mask 패턴이 다른 희소 구조에 대한 적응 방법인 AdaPrune Introduction DNN(Deep Neural Network)의 압축에는 양자화, 증류, 가지치기 등의 방법이 있다. 가지치기는 두 가지로 분류할 수 있다: Nvidia는 모델 가중치를 fine-grained 2:4 희소 구조로 가중치를 마스킹한 뒤 재훈련하는 방법을 제안했다. [논문 리뷰] 하지만 이 방법은 훈련된 dense model이 필요하다는 단점이 있다. [NM-Sparsity]에서는 forward 중 실시간으로 가지치기를 하고 STE로 backw..
Ring Attention with Blockwise Transformers for Near-Infinite Context Block-wise attention의 병렬화 방식을 개선하여 무한에 가까운 context로 확장 [Github] [arXiv](Current version v3) Abstract 이전의 메모리 효율적인 transformers 보다 훨씬 긴 시퀀스를 훈련하고 추론할 수 있는 Ring Attention 제안 기존 최첨단 기술보다 500배 이상 긴 시퀀스를 훈련할 수 있다고 한다. ㄷㄷ Introduction Block-wise 방식으로 self-attention과 FFN을 수행함으로써 시퀀스 차원을 여러 장치(device)에 분산하여 계산할 수 있다. Ring Attention에서, 각 장치는 지정된 시퀀스 블록에 대한 attention, FFN을 계산한다. 각 장치는 ring을 형성하여 KV 블록을 공유..
Self-attention Does Not Need O(n^2) Memory [arXiv](Current version v3) 참고: 다른 분의 논문 리뷰 (저분의 리뷰에 중요한 부분이 빠져 있어서 요약할 겸 작성함) Abstract Self-attention의 메모리 복잡도 줄이기 Algorithm 기존 attention: 길이가 n인 스퀀스에서 단일 쿼리에 대해 모든 si를 계산하고 기억해야 하므로 시간 및 메모리 복잡도는 O(n). Self-attention은 모든 쿼리에 대해 계산되므로 O(n2). 단일 쿼리에 대한 알고리즘을 다음과 같이 변경한다. 그리고 한 번의 QKV 연산이 진행될 때마다 v*, s*를 업데이트한 후 다른 중간 계산값은 다 버린다. 모든 연산이 다 진행된 후 v*/s*를 구하기만 하면 된다. 이렇게 하면 두 개의 상수 메모리 밖에 소모되지 않는다. N..
Blockwise Parallel Transformer for Large Context Models (BPT) [Github] [arXiv](Current version v3) Abstract Self-attention의 블록별 계산과 feedforward network의 융합을 활용하여 메모리 비용을 최소화하는 독특한 접근 방식인 BPT(Blockwise Parallel Transformer)를 제안 Blockwise Parallel for Large Context Models Softmax(QKT)의 전체 행렬을 구하지 않고 입력 시퀀스를 블록으로 분할한 다음 특정 쿼리 블록에 대한 block-wise attention 결과를 스케일링하여 합산할 수 있다. (희소 마스크는 안 쓰는 걸로 보인다. 링크는 그냥 블록별 attention에 대한 예시임) 논문에 수식이 있긴 한데 좀 이상하게 돼있어서 생략함. 이 글..
Blockwise Self-Attention for Long Document Understanding (BlockBERT) [arXiv](Current version v2) [BERT] Abstract Attention matrix에 희소 블록 구조를 도입하여 장거리 종속성을 더 잘 모델링할 수 있는 가볍고 효율적인 BlockBERT 제안 Introduction Self-attention이 transformer의 큰 메모리 소비의 주요 원인이다. 하지만 레이어 수, attention head, hidden unit 등을 축소하는 일반적인 방법은 성능을 크게 감소시킨다. 본 논문에서는 희소 블록 구조를 도입하여 이를 해결한다. Model: BlockBERT Dot-product attention: 메모리 소모를 줄이기 위한 masked version: Blockwise Multi-Head Attention 입력 시퀀스 길이 N..
Online normalizer calculation for softmax [Github] [arXiv](Current version v2) Abstract 더 적은 메모리 액세스로 softmax 계산 Original softmax 일반적인 softmax: 벡터 당 총 3번의 메모리 액세스가 발생한다. (정규화 항 dV 계산, 출력값 계산, 저장) 하지만 현재 대부분의 딥러닝 작업에서는 지수함수의 오버플로우 위험 때문에 safe softmax를 사용한다. 하지만 safe softmax는 최댓값을 구하는 과정이 추가되어 총 4번의 메모리 액세스가 발생한다. Online normalizer calculation 온라인으로 최댓값과 정규화 항을 업데이트하는 방식으로 메모리 액세스를 3번으로 줄일 수 있다. (이 논문에 있는 수학은 증명이 어렵지 않으니 한 번 써 보면서 읽는 걸 추천..
TEQ: Trainable Equivalent Transformation for Quantization of LLMs 채널별 scaling vector를 학습 가능하게 함 SmoothQuant와의 차이는 이것밖에 없는 듯 [Github] [arXiv](Current version v1) Abstract LLM(Large Language Model)에서 낮은 정밀도 양자화를 활용하면서 모델 출력의 FP32 정밀도를 유지하는 훈련 가능한 등가 변환인 TEQ 제안 Introduction 일반적인 양자화 방법은 두 가지 범주로 나눌 수 있다. QAT는 매우 많은 피라미터를 가진 LLM에 적합하지 않고, PTQ는 정확도가 매우 떨어지는 단점이 있다. 모델 출력의 수학적 등가성을 FP32 정밀도로 유지하는 학습 가능한 등가 변환을 도입하여 압축 오류를 줄인다. 원래 모델의 0.1% 미만의 훈련 가능한 피라미터로 빠르게 훈련된다. ..
SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models 채널별 스케일링을 통해 LLM 양자화 [Github] [arXiv](Current version v5) Abstract LLM에 대한 8비트 가중치, 8비트 활성화(W8A8) 양자화를 가능하게 하는 훈련이 필요 없고 정확도를 유지하는 범용 PTQ(훈련 후 양자화) 솔루션인 SmoothQuant 제안 Introduction 양자화를 통해 LLM의 막대한 계산 비용을 줄일 수 있다. 예를 들어 INT8 양자화를 사용하면 FP16에 비해 처리량을 거의 두 배로 늘릴 수 있다. 하지만 LLM의 매우 많은 피라미터로부터 나오는 많은 이상치로 인해 정확도가 크게 떨어진다. SmoothQuant는 이상치의 존재로 인해 활성화가 가중치보다 양자화하기가 훨씬 더 어렵더라도 토큰들은 채널 전반에 걸쳐 유사한 변형을 나타낸..
EVA-CLIP: Improved Training Techniques for CLIP at Scale EVA에서 훈련 효율성을 주로 개선하여 최대한 큰 배치에서 많이 훈련할 수 있도록 함 Foundation Model이라 그런 건지 각 샘플의 정확성?을 희생하고 배치를 최대한으로 늘렸더니 성능이 좋아짐. 사실 희생이라기도 뭐한게 결과적으로 과적합을 줄여주기도 하니까... 그럼 무조건 이득인데? [Github] [arXiv](Current version v1) [EVA-01, EVA-02] Abstract CLIP 훈련의 효율성과 효과를 획기적으로 향상하는 일련의 모델인 EVA-CLIP 제안. Introduction CLIP은 강력한 vision-language foundation model이지만 높은 훈련 비용과 확장 시 훈련 불안정성 문제가 있다. 본 논문에서는 pre-training EVA 표현으로 ..
EVA-02: A Visual Representation for Neon Genesis Architecture 개선, EVA-01의 visual feature space 계승 [Github] [arXiv](Current version v2) [EVA-01] Abstract MIM(Masked Image Modeling)을 통해 language-aligned vision feature를 재구성하도록 사전 훈련된 차세대 Transformer 기반 시각적 표현인 EVA-02 출시. Introduction MIM pre-training을 통해 CLIP의 시각적 표현과 적당한 모델 크기를 갖춘 강력하게 최적화된 ViT 시리즈인 EVA-02 제시. EVA-02 시리즈는 6M부터 304M까지 다양한 모델 크기가 포함되어 있으며 다운스트림 작업에 탁월한 성능을 보여줌. Approach Architectu..