본문 바로가기

논문 리뷰/etc.

(62)
Fast Feedforward Networks (FFF) Feedforward를 나눈 후 이진트리를 통해 다음 hidden node를 선택 [Github] [arXiv](Current version v2) Abstract Fast feedforward network를 도입하여 계층 크기와 추론 비용 사이의 비례를 끊는다. FFF는 feedforward 보다 최대 220배 빠르고 뉴런의 1%만 사용하면서 성능의 95%를 유지할 수 있다. Introduction 이전의 FF 모듈화에 대한 연구들은 뉴런을 전문화된 개별 블록으로 나누고 forward pass에 사용될 전문가 혼합을 결정하는 gating layer를 훈련하는 공통의 접근 방식을 공유한다. 하지만 이는 훈련을 복잡하게 만들고 중복성이 장려된다. FFF는 미분 가능한 이진트리를 통해 입력 공간을 서로 다..
AWAC: Accelerating Online Reinforcement Learning with Offline Datasets Weighted likeihood를 통해 online fine-tuning 개선 강화학습 하나도 몰라서 힘들었다... [Github] [arXiv](Current version v6) I. Introduction Offline data를 통한 사전 훈련과 online data 수집을 통한 정책 개선을 연결하기 위해 weighted maximum likeihood를 사용한 Advantage Weighted Actor Critic (AWAC) 알고리즘을 제안한다. II. Preliminaries 강화 학습 대체 뭐냐? 더보기 Key concepts in Reinforcement Learning REINFORCE — a policy-gradient based reinforcement Learning algor..
Memory-Efficient Pipeline-Parallel DNN Training (PipeDream-2BW, PipeDream-Flush) PipeDream의 메모리 부담을 개선 [Github] [arXiv](Current version v3) Abstract 메모리 효율적인 파이프라인 병렬성을 지원하는 시스템인 PipeDream-2BW 제안 Introduction 이전의 파이프라인 모델 병렬화: [GPipe] [PipeDream] GPipe는 유휴 시간이 많으며, PipeDream은 가중치 저장으로 인해 메모리 제약이 크다는 단점이 있다. PipeDream-2BW의 이점: 유휴 시간을 유발하는 pipeline flush를 피하면서 메모리 공간을 줄이는 double-buffered weight updates (2BW) 효과적인 병렬화 체계를 생성하는 PipeDream-2BW planner PipeDream-2BW System Design D..
PipeDream: Fast and Efficient Pipeline Parallel DNN Training 1F1B 알고리즘을 통해 유휴시간 없는 파이프라인 병렬화 [Github] [arXiv](Current version v1) Abstract DNN에서 파이프라인 병렬화 training system인 PipeDream 제안 Introduction 파이프라인, 모델 병렬 처리, 데이터 병렬처리의 조합을 pipeline-parallel training이라고 부른다. (PP) 데이터 병렬 훈련보다 worker 간 통신이 95% 적다고 한다. 모든 레이어를 몇 개의 stage로 나눈다. PipeDream의 설계: 알고리즘을 통해 잘못된 partitioning으로 stage 간 작업량이 편향되는 것을 방지 모든 작업자를 바쁜 상태로 유지하기 위한 양방향 훈련 특정 미니배치에 대한 역방향 전달이 해당 순방향 전달에 ..
GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism [Github] [arXiv](Current version v5) Abstract 신경망 계층 여러 가속기에 분산하여 다양한 작업에 대한 효율적인 규모 확장을 가능케 하는 라이브러리인 GPipe 제안 The GPipe Library Interface 네트워크는 L 레이어를 가지고 있고, 각 레이어는 순전파 함수 f, 피라미터 w로 이루어져 있다. GPipe는 L개의 레이어를 K개의 파티션으로 분할하고, i ~ j 레이어를 나타내는 파티션 p는 피라미터 wi, wi+1,..., wj, 순전파 함수 F, 역전파 함수 B, 비용 추정기 C를 가진다. Algorithm k번째 셀을 k번째 가속기에 배치. 미니 배치를 나눈 각 마이크로 배치에 대해 gradient가 누적되고 미니 배치가 완전히 끝났을 때 피라미터..
SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot Inverse hessian matrix 재사용, 유효한 가중치만 업데이트 [Github] [arXiv](Current version v3) Abstract 매우 큰 모델 규모에서 효율적으로 작동하는 최초의 one-shot 가지치기 방법인 SparseGPT 제안 Introduction Approximate sparse regression solver를 통해 가지치기 문제를 해결한다. 50~60%의 가지치기를 시행해도 정확도가 조금밖에 떨어지지 않는다. 큰 모델일수록 희소성을 도입해도 성능이 떨어지지 않는다. 또한 본 논문에서 제안하는 기술은 양자화와 함께 사용될 수도 있다. SparseGPT의 주목할만한 속성 중 하나는 각 레이어의 입력-출력이 보존되도록 설계되어 완전히 로컬이라는 것이다. The Spa..
GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers 양자화 일괄 처리, Cholesky decomposition [Github] [arXiv](Current version v2) Abstract 효율적인 GPT 모델 가중치 양자화 방법인 GPTQ 제안 Background [Optimal Brain Compression] (OBC, OBQ) [WoodFisher] 위의 두 논문에 대한 사전 지식이 있는 것을 전제로 작성했습니다. The GPTQ Algorithm Step 1: Arbitrary Order Insight OBQ에서는 양자화 오류를 기반으로 양자화 순서를 결정한다. 하지만 연구진은 실험적으로 대규모 모델에서는 고정된 양자화 순서와 OBQ의 방법이 거의 차이가 없다는 것을 알아냈다. 모든 행에서 가중치를 순서대로 양자화하면, 각 행에서 H-1이 ..
Loss Aware Post-training Quantization (LAPQ) [Github] [arXiv](Current version v2) Abstract낮은 비트폭 양자화에서 2차 최적화를 통해 Layer-wise quantization을 가능하게 함 Loss landscape of quantized DNNsM비트, quantization step size ∆를 고려한 양자화: Step size ∆를 통해 x의 범위를 [-c, c]로 제한함:ReLU 활성화의 출력일 경우: 이 논문에서 ∆는 값으로도 쓰이고 양자하 된 인스턴스에 대한 표시라고 해야 하나 암튼 그런 개념으로도 쓰이고 미분에서 원래의 용도로도 쓰인다. 좀 헷갈림... Separable optimization 손실함수 L은 변수 세트 v(weights, activations, etc.)에 의존하며, 양자화 노이즈를..
Optimal Brain Compression: A Framework for Accurate Post-Training Quantization and Pruning (OBC) 효율적인 전역 양자화, 양자화∙가지치기 통합 [Github] [arXiv](Current version v2) Abstract 정확한 훈련 모델이 주어지고 적은 양의 교정 입력 데이터만을 기반으로 재훈련 없이 압축해야 하는 까다로운 one-shot/post-training 설정에서 DNN 압축 문제를 고려한다. 가지치기와 양자화를 통해 post-trining의 실용적 성능을 크게 개선하는 새로운 압축 프레임워크를 소개한다. Introduction 기존 가지치기/양자화 방법들은 점진적인 가지치기와 재훈련이 필요하기 때문에 post-training 환경에 적용할 수 없었다. 전역 압축의 하위 문제인 layer-wise 압축에서 시작한다. 우리의 목표는 입력 X, 가중치 W에 대해 다음과 같은 압축된 Ŵ를 ..
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..