LLM 4

[LLM 파인튜닝] 모델을 효율적으로 학습시키기 - Quantization(위주로 설명), Pruning, Distillation

딥러닝 모델이 점점 커지면서 이를 실제 환경에 적용할 때 계산 비용, 메모리 사용량, 추론 속도 등의 문제가 발생합니다.이러한 문제를 해결하기 위해 Qunatization, Purning, Distillation 등의 모델 경량화 기법이 사용됩니다.LLM을 효율적으로 훈련하는 방법(=경량화 기법)에 대해 알아보겠습니다.Quantization👉 Quantization은 딥러닝 모델에서 사용하는 파라미터나 연산을 더 작고 정수화된 숫자(예: float16, int8) 로 바꿔서 모델의 크기를 줄이고 연산 속도 및 메모리 효율을 높이는 기술왜 이 기술을 사용할까? GPU 메모리 사용량을 줄이기 위해느린 연산 속도를 개선하기 위해작은 기기(모바일, 임베디드 등)에서도 모델을 사용 가능하게 하기 위해Quanti..

LLM 2025.03.28

[Attention] 쉽게 이해하는 Attention 작동 원리 - Self Attention

이번 글은 Attention 메커니즘을 풀어서 설명해보겠습니다당!Attention 이란?"어떤 단어에 더 집중할지 결정하는 메커니즘" 각 단어가 다른 단어에 어느 정도 '집중할지'를 계산해서 더 중요한 정보에 가중치를 부여하는 방식Attention의 기본 작동 원리는 하나의 문장 안에서 단어들끼리 서로 얼마나 관련 있는지 계산하는 것입니다. (Self Attention 기준) Step-by-step 정리1. Query, Key, Value 만들기입력된 단어(벡터)마다 3개의 다른 벡터를 만듭니다.Query내가 지금 집중하고 싶은 "기준점"Key비교 대상이 되는 "모든 단어들"Value실제 정보를 담고 있는 값 (결국 더해질 정보들) 2. Query와 모든 Key의 유사도를 계산Query 벡터와 모든 Ke..

LLM 2025.03.25

[LLM 의 발전 과정] RNN을 알아보자 2

🧐저번 1탄에서 말씀드렸던 RNN 동작 방식과 Grandient Vanishing 문제에 대해 조금 더 자세하게 설명드리겠습니다. 아래는 4개의 입력값 ($x_t$)에 대해 RNN 모델 내 값들이 어떻게 변화하는지 계산한 결과이다.Input 이 I (1.0) like (0.5) my (0.2) puppy(0.1).괄호 안의 값들은 Tokenizing, Word embedding (one-hot, TF-IDF, Word2Vec 같은 것들이 있겠죠 최근에는 인공신경망 (BERT, CLIP)을 활용하기도 합니다.) 과정을 통해 나온 실수 벡터의 값입니다.Time stepInput($x_t$)Hidden state($h_t$)Output($y_t$)11.00.71630.601420.50.81600.671230..

LLM 2025.03.18

[LLM 의 발전 과정] RNN을 알아보자 1

🧐Recurrence Neural Network에 대해 알아보겠습니다!! 먼저 RNN은 4가지 특징이 있습니다시간에 따라 정보가 변할 때 그 변화를 축적하도록 설계된 신경망 👉 이전 타임스텝의 정보를 기억하고, 이를 다음 타임스텝의 입력으로 활용할 수 있는 순환 구조를 가짐 (연속 데이터 처리)이전 상태(=hidden state)를 저장하여 과거 정보를 참조할 수 있음 (메모리 기능)모든 타임스텝에서 동일한 가중치를 사용하여, 모델의 파라미터 수를 줄이고 학습을 효율적으로 진행할 수 있음 👉 입력 길이에 관계없이 모델 크기가 일정하게 유지됨 (가중치 공유) FNN에서 입력이 $ [x_1, x_2, x_3]$ 3개면, 각 입력을 처리하기 위해 각각 다른 가중치를 가진 3개의 뉴런이 필요함 (100개..

LLM 2025.03.17