본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. Gradient Clipping보통 경사하강법을 진행할 때 Loss function의 미분값과 Learning rate를 곱한 값을 이용해 파라미터 업데이트를 진행한다.근데 만약 미분값이 너~무 크다면, 예를 들어 거의 수직으로 떨어지는 곳이라면.. 내가 원하는 지점이 아닌 다른 지점으로 업데이트되게 될 것이다.그래서 만약 기울기의 L2-norm인 ||g||가 일정 임계값(Eta)을 초과하면 이를 Eta*g/||g|| 로 rescale한다. 그 방향만 가져가는 것이다.이렇게 하면 실제 gradient가 아니기에 bias가 유도될 수도 있긴 하지만, 학습 안정성이 증가하게 된다.이게 gradient clipping이다. 임계값을 초과..
전체 글
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. 일단 LLM은 크고 연산 비용이 많이 들기에 전체를 파인튜닝하기엔 어렵다. 그래서 PEFT 방식을 이용해서 이를 해결하는 것이다. 전체 모델을 다 바꾸지 않고 일부 파라미터만 선택적으로 튜닝하는 방식!그 방법 중 LoRA를 소개하겠다. LoRA란?Fine-tuning process의 재해석 아이디어와, Parameter를 작게 관리하는 아이디어를 합한 것이다. 기존 fine-tuning은 원래 Data -> W(Pretrained weights) -> h 로 가는 과정을 거친 후, 그 반대 방향으로 backpropagation을 한다.그렇게 W'를 찾아내고, 새롭게 Data -> W' -> h의 과정을 거칠 수 있도록 한다. ..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. 일단 LLM은 크고 연산 비용이 많이 들기에 전체를 파인튜닝하기엔 어렵다.예를 들어.. GPT3는 1750억 파라미터인데.. 이걸 어떻게 일반 장비로 학습/튜닝하겠음! 그렇다면 PEFT가 뭐길래 이거로 위 문제를 해결할 수 있다는 걸까? PEFT란?전체 모델을 다 바꾸지 않고 일부 파라미터만 선택적으로 튜닝하는 방식!이렇게 하면 계산 자원이 절약되고, 기존 학습 내용이 보존된다.그 대표 기법으로 Adapter, Prompt Tuning, Sparse Updating이 있다. 원래 구조는 프롬프트를 LLM 모델에 넣고, 답을 받는 형식이었다.근데 이 LLM Model이 너무 커서 fine-tuning을 하기 어렵다. 1. Pro..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. 언어 모델링이란,그럴듯한 단어나 문장을 예측하는 행위 분야1. 자동완성 및 추천시스템2. 기계 번역3. 텍스트 요약4. 대화형 AI5. 감정 분석 규칙기반 언어모델 (~1980)사람이 여러 지식/경험에 근거하여 언어 모델을 설계하는 것.어떤 문장이 있을 때 이 다음 어떤 단어 구성이 와야 하는지를 규칙으로 정의하는 것.정규표현식/문맥자유문법/구구조문법 등이 쓰였다. 특정 문맥에서는 엄청난 효과가 있었지만, 모든 규칙을 구현하기는 어렵다는 한계가 있었다. 데이터기반 언어모델 (1980~)데이터를 통해 모델링을 어떻게 할 것인가에 따라 매우 다양한 모델링 방법 제안자연스러운지, 다음 토큰이 무엇일지, 각 문장의 유사도는 어떤지 등을 알..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. 트랜스포머는 Seq2Seq 구조를 위해 만들어졌으며, RNN+Attention에 기반한 인코더+디코더 구조 대체를 위한 것이다. 근데.. 기존 문제를 조금 변형해서 생각해볼 수 있다.원래는 "나는 학교에 간다"를 인코더에 넣어 "I go to school"을 디코더가 생성해내는 방식이었다면,"Translate Kor to Eng : 나는 학교에 간다 => I go to school"라는 문장이 자연스럽게 생성될 확률,P(I go to school | Translate Kor to Eng : 나는 학교에 간다)을 모델링하는 방식을 생각해볼 수 있다. 이 방식을 Autoregressive 문제로 접근해볼 수 있다. 이전 데이터를 기반..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다.기계가 무언가를 이해하기 위해 표현학습이 필요했고,그 표현학습을 통해 복잡한 문제를 단순화하는 프레임워크인 Seq2Seq이 있었다.초기에는 이 Seq2Seq이 RNN으로 구현됐었다.하지만 RNN은 기울기 소실/폭발, 장기 의존성 문제가 있었다. 따라서 이의 해결책으로 Attention 매커니즘이 등장하게 되었다. Attention특정 데이터 포인트가 다른 데이터 포인트와 얼마나 관련있는지 파악하고, 입력 데이터의 전체적 맥락 파악 가능.입력 시퀀스의 중요한 부분에 집중해서 선택적으로 정보를 추출하는 방법이다. 이러면 전체 시퀀스를 처리하는 대신 관련성이 높은 정보에 집중해서 효율적으로 처리할 수 있다.따라서 RNN+Attention ..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. Seq2Seq은 머신러닝에서 중요한 프레임워크이다.특정 아키텍처가 아니라, ML을 세상 여러 문제 해결에 적용할 수 있도록 한다. Sequence to Sequence, 즉 특정 문제를 볼 때 일련의 시퀀스(input)를 다른 시퀀스(output)로 변경하는 방식으로 보는 것이다.이 두 시퀀스간 관계를 학습하여 입력 시퀀스에 대해 출력 시퀀스를 생성하도록 한다. 입력 시퀀스의 아이템 개수(N)와 출력 시퀀스의 아이템 개수(M)에 따라 여러 케이스로 나뉜다.Case 1. N=M입력과 출력의 개수가 동일한 경우.ex. 품사 태깅 Case 2. M=1복수의 입력에 대해 단일 출력 결과를 생성하는 경우.ex. 출력이 class label ..