본문 바로가기

Data Science/Algorithm21

LoRA (Low-Rank Adaptation) LoRA(Low-Rank Adaptation)는 대규모 언어 모델(LLM)의 효율적인 파인튜닝을 위한 기법입니다. Low-Rank : 저순위 라는 개념은 주로 수학, 선형대수학, 그리고 머신러닝에서 행렬이나 텐서의 성질과 관련이 있습니다.구체적으로 말하면, Low-Rank는 행렬의 계수(rank)가 낮다는 것을 의미합니다.이를 이해하려면 Rank(계수)개념부터 알아야 합니다. Rank(계수) 란?행렬의 Rank는 행렬에서 독립적인 행 또는 열 벡터의 최대 수를 나타냅니다.예를 들어 3x3행렬이 있을때 그 행렬의 Rank는 최대 3입니다.이때 Full-Rank (완전계수)는 Rank가 행렬의 최대크기와 같을 때를 나타내고,Low-Rank (저계수)는 Rank 가 행렬의 최대 크기보다 작을 때를 나타냅니다... 2024. 11. 22.
Sentence Transformer Sentence Transformer는 Sentence embedding 을 생성하는 모델로,문장을 고차원 벡터로 변환하여 의미를 유지하면서 비교 가능하게 만들어주는 역할을 합니다.원래 BERT와 같은 Transformer모델은 문장 단위 입력에 대한 표현을 생성할 수 있었지만,sentence embedding을 효율적으로 생성하기 위해서는 추가적인 fine-tuning과정이 필요했습니다. Sentence Transformer는 BERT RoBERTa 같은 Transformer 기반 모델을 활용하면서도효율적이고 품질 높은 문장 임베딩을 생성하도록 설계된 프레임워크입니다.특히, Siamese Network 아키텍처를 사용해 두 문장 간의 유사도를 빠르게 계산할 수 있습니다. Sentence Transfor.. 2024. 11. 21.
Sparse Attention Sparse Attention은 Transformer 모델의 효율성을 높이기 위해 사용되는 기법으로,Attention 메커니즘의 연산 복잡도를 줄이면서 중요한 정보를 유지하려는 목적을 가집니다. Transformer 모델의 기본 Attention 메커니즘인 Self-Attention 은 O(n^2)의 시간 복잡도를 가지며,이는 입력 시퀀스의 길이 n이 커질수록 계산량과 메모리 사용량이 기하급수적으로 증가함을 의미합니다.Sparse Attention은 이러한 한계를 극복하기 위해 특정 패턴에 따라 어떤 Attention 값을 계산하지 않음으로써연산량을 줄입니다. Sparse Attention의 기본 아이디어Sparse Attention은 입력 시퀀스의 모든 토큰 간의 Attention 관계를 계산하는 대신.. 2024. 11. 19.
특이값 분해 (Singular Value Decomposition, SVD) 특이값 분해는 행렬을 고유 벡터와 고윳값을 기반으로 분해하여 다양한 응용에 활용하는 선형 대수학의 강력한 도구입니다. 수학적 정의특이값 분해는 다음과 같은 형태로 표현됩니다.A : m x n 크기의 임의의 행렬 (정방행렬일 필요 없음)U : m x m 크기의 직교행렬. AA^T의 고유 벡터들로 구성V : n x n 크기의 직교행렬. A^TA의 고유 벡터들로 구성Σ : m x n 크기의 대각행렬로, 대각 원소는 A의 특이값 (Singular Values) SVD 계산 방법행렬 A^TA 와 AA^T의 고윳값과 고유벡터를 계산합니다.Σ: A^TA의 고유값들의 제곱근을 대각선 원소로 하는 대각 행렬을 생성합니다.V: A^TA의 고유벡터들로 구성된 직교행렬U: AA^T의 고유벡터들로 구성된 직교행렬최종적으로 A를.. 2024. 11. 18.