ML(19)
-
[LLM] DeepSeek-V3
이번 글에서는 DeepSeek-V3에서 사용된 방법론들에 대해 살펴볼 것이다. DeepSeek-V3은 기존 트랜스포머 아키텍처와 두 가지 주요 부분에서 차이를 보인다.1. Multi-Head Attention (MHA) → Multi-Head Latent Attention (MLA)2. FeedForward Network (FFN) → Mixture of Experts (MoE) 기반 FeedForward Network (FFN)1. Mutli-head Latent Attention (MLA)최근 CoT, 추론 모델(reasoning model)의 등장 등 inference-time scaling 방법론이 각광 받으면서, 답변 길이가 길어지는 추세가 나타나 KV Cache가 점유하는 메모리 사용량이 늘어..
2025.02.28 -
[LLM 시간 및 메모리 최적화] 2. KV Cache & Paged Attention
KV CacheTransformer 디코더의 각 레이어에서 $i$번째 Query, Key, Value의 행은 직전 레이어의 $i$번째 Query와 $1$부터 $i$번째 Key, Value의 행에 영향을 받는다.다시 말해, $i$번째 Query, Key, Value의 행은 직전 레이어의 $i$번째 이후의 Query, Key, Value의 행에 전혀 영향을 받지 않는다.$i$시점에 계산된 Query, Key, Value는 그 이후로도 변하지 않는다.그렇기 때문에, $i+1$번째 토큰을 예측할 때, 이전에 계산했던 $1$부터 $i$번째 Key, Value의 행을 그대로 재활용할 수 있다는 것이다.(참고로, $i+1$번째 토큰 예측 시 오직 $i+1$번째 Query 행만 필요하기 때문에, Query에서 재활용할..
2025.02.26 -
[LLM 시간 및 메모리 최적화] 1. Flash Attention
0. Background: TilingTiling 기법은 attention 연산 시 각 행렬($\mathbf Q, \mathbf K, \mathbf V$)을 블록 단위로 처리함으로써, 메모리 및 연산 효율성을 높이는 기법이다. 1. Standard Attention해당 알고리즘에서는 $O(N^2)$ matrix인 $\mathbf S$와 $\mathbf P$가 각각 한번 씩 총 2번 write/read된다. 아래 순서도와 같이 $O(N^2)$ I/O 연산 없이 $\mathbf O$를 도출할 수 없을까?기존 알고리즘에서 $\mathbf S$로 $\mathbf P$를 계산하기 위해서는, 각 행(row)별 최댓값(row-wise max value)이 필요하다. 즉, 각 행의 모든 요소가 필요하다. 그렇기 때문에..
2025.02.24 -
[NLP] Transformer
Transformer는 long-term dependency 문제를 해결하기 위해 RNN의 순환 구조를 버리고 attention 기법을 적극 활용한 모델이다. Encoder-Decoder AttentionRNN의 순환구조는 최근 입력 embedding vector에 치중된 context vector만 디코더로 넘겨준다. Attention 기법은 각 출력 시점마다 필요한 입력 embedding vector를 파악하고 이들로 context vector를 생성해 디코더로 전달한다. 구체적으로, 각 출력 시점마다 각 입력 embedding vector가 얼마나 중요한지를 파악(by dot product & softmax)하고, 중요도가 높은 입력 embedding vector에 더 큰 가중치를 부여하는 방식(..
2024.08.19 -
[NLP] RNN, LSTM, Attention
순차적인 데이터 (Sequence Data)시퀀스 데이터는 순차적으로(=순서에 따라 연속적으로) 들어오는 데이터를 의미하며 대표적인 예로 시계열 데이터가 존재한다.시퀀스 데이터는 순서에 따라 데이터가 들어오기 때문에 i.i.d(independent and identically distribution) 가정을 잘 위배한다.그렇기 때문에 데이터 포인트의 순서가 바뀌거나 이전 데이터 포인트의 손실이 발생할 경우 데이터의 확률분포가 완전히 바뀌게 된다.Sequential Model아래와 같이, 시퀀스 데이터의 확률분포는 조건부 확률을 활용해 모델링할 수 있다.$$P(X_1, \cdots, X_T) = \prod_{t=1}^T P(X_t|X_{t-1}, \cdots, X_1)$$그렇기 때문에, 시퀀스 데이터의 ..
2024.03.31 -
[ML] 3. Generalization, Overfitting, Underfitting
기계학습의 최종 목표는 범용 능력을 얻는 것이다. 범용 능력(=generalization)이란 처음 보는 데이터(시험 데이터)에 대해 정확히 예측하는 능력을 일컫는다. 기계학습에서는 일반적으로 범용 능력을 평가하기 위해, 훈련 데이터와 테스트 데이트를 분리해 사용하는 것이다. 과대 적합(=overfitting)은 모델이 학습 데이터셋에만 지나치게 최적화된 상태를 의미한다. 모델이 과대 적합이면, 학습 데이터에서의 성능은 너무 좋은데 테스트 데이터에서의 성능은 안 좋은 상황이 발생한다. 과소 적합(=underfitting)은 모델이 학습 데이터셋의 패턴(규칙) 파악에 실패한 상태를 의미한다. 모델이 과소 적합이면, 학습 데이터에서의 성능 뿐만 아니라 테스트 데이터에서의 성능도 안 좋은 상황이 발생한다. 모..
2024.03.26