본문 바로가기

전체 글

(204)
FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning ■ FlashAttention은 비대칭적인 GPU 메모리 계층 구조를 활용하여 근사 알고리즘 없이도 상당한 메모리 절약과 실행 시간 단축을 달성했지만, GPU를 최대한 활용하지 못한다는 비효율이 있었다. (이론적 최대 FLOPs/s의 25-40%에만 도달)■ 비효율의 원인은 GPU의 여러 스레드 블록과 워프(warp) 사이의 비효율적인 work partitioning에 있었다. ■ 이 논문은 이러한 문제들을 해결하기 위해 더 나은 work partitioning을 가진 FlashAttention-2를 제안한다. - (1) 비-행렬곱(non-matmul) FLOPs의 수를 줄이도록 알고리즘을 개선하고 - (2) 점유율을 높이기 위해 단일 헤드의 어텐션 계산도 여러 스레드 블록에 걸쳐 병렬화하며 - (3..
phi-1: Textbooks Are All You Need ■ 해당 논문에서는 code를 위한 새로운 LLM인 phi-1을 소개한다. ■ phi-1은 1.3B 트랜스포머 기반 모델로, web에서 선별한 '교과서 품질(textbook quality)'의 데이터(6B tokens)와 GPT-3.5로 생성된 교과서 및 연습문제(10B tokens)를 사용하여 8대의 A100 GPU에서 4일 동안 훈련되었다. ■ 1.3B라는 작은 크기에도 불구하고, phi-1은 HumanEval에서 50.6%, MBPP에서 55.5%의 pass@1 정확도를 달성하였다.■ 1.3B인 sLLM phi-1 모델은 여러 code에서 학습 데이터로 사용할 code를 선택하는 데 GPT-3.5를 사용했다는 점에서, 학습 데이터셋 구축에 지식 증류(knowledge distillation)를 이용..
FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness (2) 3. FlashAttention: Algorithm, Analysis, and Extensions3.2 Analysis: IO Complexity of FlashAttention■ 바닐라 어텐션은 아래의 Algorithm 0을 보면, - (1) \( N \times d \)- \( \mathbf{S} \)를 계산하기 위해 line 1에서 \( N \times d \) 크기의 \( \mathbf{Q}, \mathbf{K} \)를 HBM에서 읽고, - \( \mathbf{O} \)를 계산하기 위해 line 3에서 \( N \times d \) 크기의 \( \mathbf{V} \)를 HBM에서 읽고, 계산된 \( N \times d \) 크기의 attention output \( \mathbf{O} \)를 H..
FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness (1) https://arxiv.org/abs/2205.14135 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-AwarenessTransformers are slow and memory-hungry on long sequences, since the time and memory complexity of self-attention are quadratic in sequence length. Approximate attention methods have attempted to address this problem by trading off model quality to reducearxiv.org 1. Introduction■ 트랜스포머 아키..
ALiBi - Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation ■ 트랜스포머 기반 모델은 추론(inference) 과정에서, 학습 과정에서 본 짧은 길이의 시퀀스 길이보다 더 긴 길이의 시퀀스가 입력되면 성능이 급격히 저하되는 문제가 있었다. 이를 길이 외삽(length extrapolation)' 문제라고 한다. - 길이 외삽(length extrapolation)은 학습 과정에서 짧은 길이의 시퀀스로 학습된 LM을 추론 과정에서 더 긴 길이의 시퀀스를 처리할 수 있는 능력을 말한다. ■ 논문에서는 기존의 방법들은 효율적인 외삽이 어렵다는 것을 보여주며, 기존 방법들보다 더 간단하면서 효율적인 Attention with Linear Biases (ALiBi)을 제안한다. [2108.12409] Train Short, Test Long: Attention wit..
RoFormer: Enhanced Transformer with Rotary Position Embedding ■ 위치 인코딩(position encoding)은 트랜스포머 아키텍처에서 효과적임을 보여왔다. ■ 위치 인코딩은 시퀀스 내 다른 위치에 있는 요소들(단어 또는 토큰) 간의 의존성을 모델링하는 데 중요한 역할을 한다. ■ 이 논문에서는 로터리 위치 임베딩(Rotary Position Embedding, RoPE)이라는 새로운 방법을 제안한다. ■ RoPE는 회전 행렬(rotation matrix)로 절대 위치를 인코딩하는 동시에, 토큰과 토큰 사이의 상대적인 위치 정보를 나타낼 수 있다. ■ 즉, RoPE는 상대 위치에 기반하기 때문에, 훈련 시 본 적 없는 더 긴 시퀀스에 대해서도 위치 정보를 자연스럽게 계산할 수 있다. ■ 마지막으로, RoFormer라고 불리는 로터리 위치 임베딩으로 강화된 트랜스..
Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention ■ 트랜스포머의 self-attention은 입력 길이에 대한 2차 복잡도(quadratic complexity) 때문에 매우 긴 시퀀스에 대해서는 속도가 엄청 느리다는 한계를 가진다.■ 논문에서는 이 한계를 해결하기 위해 self-attention을 커널 특징 맵(kernel feature maps)의 선형 내적(linear dot-product)으로 표현하고, 행렬 곱의 결합 법칙(associativity property)을 이용하여 복잡도를 \( O(N^2) \)에서 \( O(N) \)으로 줄이는 방법을 제안한다. [2006.16236] Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention Transformer..
ZEPHYR: DIRECT DISTILLATION OF LM ALIGNMENT ■ AI에서 Alignment란 인간의 목표, 선호도, 원칙에 맞추어 조정하는 과정을 말하며, 윤리적 기준, 사회적 가치, 개별 사용자의 특정 요구를 반영하도록 조정하는 것을 포함한다. ■ 이런 alignment를 달성하기 위해, 인간의 행동을 더 잘 반영하는 손실 함수들(PPO, DPO 등)이 제시되었다. ■ 이 논문에서는 사용자 의도에 aligned된, 더 작은 언어 모델을 만드는 것을 목표로 한다. ■ 이전 연구는 더 큰 모델에 dSFT(distilled supervised fine-tuning)를 사용하여 태스크의 정확도를 향상시켰다. 그러나 태스크 프롬프트에 한해 학습을 했기 때문에, 자연스로운 프롬프트에는 잘 응답하지 않는다. 즉, unaligned이다. ■ 논문에서는 이러한 문제를 해..