본문 바로가기

논문 리뷰/Language Model

(148)
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..
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는 이상치의 존재로 인해 활성화가 가중치보다 양자화하기가 훨씬 더 어렵더라도 토큰들은 채널 전반에 걸쳐 유사한 변형을 나타낸..
From CLIP to DINO: Visual Encoders Shout in Multi-modal Large Language Models (COMM) LLM에 입력되는 feature 자체에 대한 연구, 계층과 모델에 대한 통합 feature 사용 [Github] [arXiv](Current version v1) Abstract Multi-modal Large Language Model(MLLM) 내의 다양한 비전 인코더의 효율성에 대한 광범위한 조사를 수행한다. 관찰을 바탕으로 multi-level feature merging과 함께 DINOv2와 CLIP의 시각적 임베딩을 융합하는 COMM 제안. Introduction 대부분의 기존 MLLM은 CLIP 또는 그 변형인 EVA-CLIP을 시각적 분기로 사용한다. CLIP의 visual encoder는 단어 임베딩 공간과 잘 정렬되어 있지만 자세한 픽셀 수준 정보는 학습하지 못해 MLLM의 세밀한 인식..
Ferret: Refer and Ground Anything Anywhere at Any Granularity MLLM에서 자유 형식의 영역 입력을 처리할 수 있는 최초의 작업 [arXiv] [Github] Abstract 공간 참조를 이해하고 open-vocabulary description을 grounding 할 수 있는 새로운 MLLM(Multi-modal Large Language Model)인 Ferret 소개. 다양한 입력을 수용할 수 있는 spatial-aware visual sampler GRIT dataset Introduction Referring(참조: 영역 → 의미), grounding(접지: 의미 → 영역) 참조와 접지는 본질적으로 공간 정보와 의미의 정렬이 필요함. Spatial-aware visual sampler를 통해 모든 모양의 영역에 대한 visual feature를 획득할 수 ..
Improved Baselines with Visual Instruction Tuning (LLaVA-1.5) LLaVA에 대한 간단한 수정을 통해 성능 향상 LLaVA도 굉장히 장점이 많은 모델인데 이번 논문도 내용도 핵심만 딱 있어서 간결하고, 제안한 내용도 간단하고 성능 향상은 많이 되고 정말 좋은 논문이다. 다들 논문을 이렇게 써야 하는데...ㅇㅅㅇ [arXiv] [Github] Abstract LMM(Large Multimodal Model) 중 하나인 LLaVA에 대한 간단한 수정을 통해 성능 향상 Introduction LLaVA의 장점: LLM, vision encoder 사이에 projection layer만을 추가한 매우 간단한 구조 단일 8-A100 machine에서 1일 만에 훈련 가능한 매우 빠른 학습 속도 공개적으로 사용 가능한 데이터만을 사용 LLaVA-1.5 MLP cross-moda..
AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation Multi-agent 간의 대화를 중심으로 한 conversation programming으로 LLM application 구축 [Github] [arXiv] Abstract서로 대화할 수 있는 여러 에이전트를 통해 LLM application을 구축할 수 있는 open-source framework인 AutoGen Introduction개발자는 AutoGen을 통해 다양한 역할을 가진 에이전트를 쉽고 빠르게 생성할 수 있다. 또한 쉽게 사용자 정의 동작을 확장할 수 있고, 모든 에이전트는 대화가 가능하게 만들어졌다. 모듈식으로 LLM의 기능을 확장 가능. AutoGen의 근본 통찰은 복잡한 LLM application workflow를 다중 에이전트 대화로 단순화하고 통합하는 것이다. 따라서 에이전트 ..
Efficient Streaming Language Models with Attention Sinks (StreamingLLM) Attentoin sink를 이용해 context를 확장하면서 안정성 유지 [arXiv] [Github] Abstract 초기 토큰의 Key, Value를 유지하면 window attention 성능이 크게 회복되는 attention sink 현상 관찰. 유한 길이의 LLM을 fine-tuning 없이 무한 길이로 일반화하는 StreamingLLM 소개. Introduction (a) 모든 KV(key, value) 캐싱: 계산 비용 부담, 긴 시퀀스 처리 못함. (b) 최신 토큰의 KV만 캐싱: 계산 효율적이지만 긴 시퀀스에서 성능이 급격히 저하됨. (c) 생성된 각 토큰에 대해 최근 토큰의 KV 상태를 다시 빌드: 성능은 좋지만 2차 계산으로 인해 실용적이지 않음. 연구진은 attention scor..
LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models LLM의 context 크기를 확장하는 효율적인 fine-tuning 방법 Github arXiv Abstract 제한된 계산 비용으로 LLM의 context 크기를 확장하는 효율적인 fine-tuning 방식인 LongLoRA 제안 Introduction LoRA는 row-rank update를 사용하여 전체 fine-tuning을 근사화한다. 이와 비슷하게 연구진은 short attention으로 long context에 근사할 수 있다는 것을 발견했고, 이 통찰에 따라 효율적인 shift short attention(S2-Attn) 제안. 그리고 S2 attn을 통해 긴 context를 효율적으로 fine-tuning 할 수 있는 LongLoRA까지. LongLoRA Shift Short Atten..
Augmenting Language Models with Long-Term Memory (LongMem) 무제한 길이 토큰을 처리할 수 있는 LLM framework Github arXiv Abstract LLM이 무제한 길이 context를 처리할 수 있도록 확장한 LongMem 프레임워크 제안. Introduction GPT-3은 GPT-2에서 입력 토큰 수를 2k로 늘림. 하지만 dense attention으로 계산 복잡성 증가. 따라서 sparse attention을 사용하는 연구가 있었음. MemTRM에서는 메모리에서 검색된 memorized token과 in-context token 사이의 dense attention을 통해 계산. 하지만 단일 모델을 사용하여 메모리에 캐시 된 이전 표현이 현재 모델에 문제를 일으킬 수 있는 메모리 부실 문제가 있음. LongMem에서는 이전 context를 메모..