본문 바로가기
반응형

전체 글1077

Transformers - 구조와 BERT, GPT 이해 Transformer는 현재 ChatGPT와 Bert, KoAlpaca등 대규모 언어모델(LLM, Large Language Model)분야에서 가장 크게 성장하고 있는 모델로써, 스스로 Transformer를 이해하기 위해 정리할 필요성이 있다고 느껴서 여기에 정리해 본다.TransformerTransformer는 영화 Transformers와 연관성이 전혀 없지만, 지금 보면 자유로이 입력을 출력으로 만들 수 있는 정의를 준것이 아닌가 라는 생각이 든다. Transformer 논문은 2017년 Attention Is All You Need 라는 이름으로 https://arxiv.org/abs/1706.03762  거제되었고, 기존 CNN, RNN등을 사용했을 때보다 높은 성능을 내면서 많은 관심을 받.. 2024. 8. 11.
Python - Gaussian Error Linear Unit (GELU) 수식 - 코드 Gaussian Error Linear Unit (GELU)의 activation 수식Gaussian Distribution을 다음 수식으로 위 수식의 복잡도를 낮추어 아래와 같이 근사(Approximation) 수식을 활용한게 된다.근사(Approximation) 수식을 코드로 구현하면 다음과 같다.import mathimport tensorflow as tfcdf = 0.5 * (1.0 + tf.tanh( (math.sqrt (2 / math.pi) * (x + 0.044715 * tf.pow(x, 3))))) 2024. 8. 11.
LLM - fine-tuning GPT 계열 공식 이해 LLM의 경우 확률 모델로 보통 GPT 계열인 경우 다음 단어를 맞추는 Autoregressive 한 모델이라고 할 수 있다.(순차적으로 계속적으로 다음 단어의 확률을 맞추기 때문에 점진적으로 연결되는 자동 회귀 같다고 하여 Autoregressive라고 한다.)그리고 아래 공식은 LLM의 Full fine-tuning 을 일반화한 공식이다.x,y 는 전체 데이터를 의미하며,  t는 타임으로 단어 전, 후와 같은 순서를 의미한다. 는 단어별 예측을 할때 다음 단어 작은 앞쪽 단어에 대한 x, y와 예측을 하겠다는 의미로 보면 된다.P는 학습이 된 파라메터(Parameter)로 표현했다.log로 감싼 이유는 값의 표현의 간략화 하는 작업이라고 할 수 있다. 식의 계산 결과가 들어가며, 복잡한 단위의 계산을.. 2024. 8. 11.
PEFT(Parameter Efficient Fine-Tuning) - LoRA, QLoRA LoRA는 GPT와 같은 Large Language Models(LLM)을 특정 task에 fine-tuning(미세조정)하는 데 있어서 time, resource cost가 너무 크다는 단점을 해결하기 위해 제안된 방법으로 기존 모델의 Pre-trained weights는 그대로 두고 Dense layer의 Weight을 Low rank로 Decomposition한 Matrices만을 Optimization하는 것이라고 할 수 있다.이를 통해 학습 시간과 하드웨어의 비용을 크게 절약할 수 있다.성능을 유지하면서 최소한의 인프라로 모델을 미세 조정할 수 있는 PEFT(Parameter Efficient Fine-Tuning)라는 효율적인 기술에 최근 관심이 깊어지고 있다. 특히 기존에는 기업에서만 LLM.. 2024. 8. 11.
딥러닝 - 텐서(Tensor)란? 텐서(Tensor)는 기본적으로 가장 임베딩전 특정 인덱스(Index)로 만들어진 다차원의 배열(array)로 이루어진 데이터 형태를 말한다.여기에서 인덱스란 데이터를 컴퓨터가 이해할 수 있도록 변환된 값과 매칭되는 키라고 할 수 있다.텐서는 배열을 표현하는 방식을 수학적으로 접근하여 얘기하는 것이고, 이를 프로그램 입장에서는 다차원(여러 차원)을 가진 배열이라고 할 수 있다.그리고 텐서는 배열의 형태에 따라 다음과 같이 불리울 수 있다.Rank Type(타입)0 scalar(스칼라):     [1]1 vector(벡터):       [1,1]2 matrix(메트릭스): [[1,1],[1,1]]3 3 tensor:            [[[1,1],[1,1]],[[1,1],[1,1]]]n N tensor.. 2024. 8. 11.
RNN 단점 - 기울기 소실(vanishing gradient)과 장기 의존성 문제(long-term dependency problem) RNN의 단점으로 지적되는 기울기 소실, 장기 의존성 문제은 Sigmold Activation Function과 관계가 있고 RNN에서 닥 시계열 데이터를 입력할 때 기울기를 위해 Sigmoid Activation을 진행하는데, 아래 그림과 같이 올라가거나 내려갈수록 점점 1혹은 0과 큰 차이가 없어진다는 것이다. 기울기 소실(vanishing gradient): RNN은 입력과 출력 사이의 연결이 순환 구조로 되어 있기 때문에, 역전파를 통해 가중치를 업데이트할 때 기울기가 점차 소실되었어. 기울기가 소실되면, 가중치가 제대로 업데이트되지 않아 학습이 어려워 진다장기 의존성 문제(long-term dependency problem): RNN은 과거의 정보를 기억하고 이를 바탕으로 현재의 정보를 처리하기.. 2024. 8. 11.
반응형