분류 전체보기(55)
-
transformer의 모든 것
딥러닝 모델 구조는 transformer의 등장 이전과 이후로 나뉜다고 해도 과언이 아닌 것 같다. RNN의 단점을 지우고 attention encoder와 decoder를 사용하는 구조로 자연어에서 변혁을 일으키며 나중에는 다른 도메인에서도 transformer를 안 쓰는 모델을 찾기가 힘들어졌다. MAMBA가 이제 판을 뒤집을지도 모르지만, 오늘은 transformer에 대해 기본을 탄탄히 잡아보자. 1. self attention attention은 Query, Key, Value 3가지가 주어졌을 때 Query와 유사한 Key를 찾고, 이에 대한 Value 중 뭘 채택할지 retrival하는 과정이라 볼 수 있겠다. 단순하게 한국어 영여 번역 태스크를 수행하는 모델을 만든다고 가정할 때, Qu..
2024.04.28 -
구현체를 통해 PEFT lora 를 알아보자
기존에 썼던 짧은 lora config글과 통합하여, Lora를 근본적으로 이해하기 위해서 새로운 글을 시작한다. lora가 어떤 원리인지 구현체를 통해서 이해해 보고, huggingface peft lora를 사용할 때 어떤 config를 "왜" 조정해야 하는지 알아보자. 0. 정말 간단한 요약 모델이 너무 무겁다. 이걸 어떻게 다 학습하나. 그래서 학습할 때 일부 layer들에 대해서(transformer에선 주로 attention block에 대해서만 적용하고 있다) weight를 따로 똑 떼어내서 학습하고자 한다. 아래 그림을 보면, 기존 모델을 그대로 학습한다면 모든 weight를 다 학습에 사용한다. 반면에 lora를 학습에 이용한다면 기존 weight는 학습에서 freeze시키고 lora a..
2024.03.17 -
Attention 기초 수식 설명
오늘은 머피의 머신러닝 1 15장에 있는 어텐션(Attention) 에 대해서 기술할 예정이다. 개인적으로는 최근 딥러닝 판도를 꽉 잡고 있는 transformer를 알기 위해서 꼭 알아야 하는 메커니즘이라고 생각한다. 참고: 머피의 머신러닝 1 1. attention이란 attention은 query(q), key(k), value(v) 3가지를 통해 연산이 이루어진다. query: 질문하고 싶은 벡터. 내가 궁금한 값이 여기에 해당하며, 쿼리에 가장 유사한 key, value를 찾는 것이 attention. key: query와 가장 유사한 key값을 찾는 것이 목표. value: 피쳐벡터. i번째 key값을 선택했다면 i번쨰 value값과 대응된다. 한 줄 요약을 하자면 'query와 유사한 ke..
2023.12.17 -
[Paper] DPO 논문 리뷰
오늘 다뤄볼 논문은 Direct Preference Optimization : Your Language Model is Secretly a Reward Model이다. 최근 LLM에서는 RLHF(Reinforcement Learning with Human Feedback) 방법론을 자주 접목시켜 모델을 학습하는데, DPO는 이 RLHF 계열의 알고리즘을 업데이트한 내용이다. 논문 : https://arxiv.org/abs/2305.18290 Direct Preference Optimization: Your Language Model is Secretly a Reward Model While large-scale unsupervised language models (LMs) learn broad world..
2023.11.13 -
머피의 머신러닝 1 책거리
작년 여름에서 가을로 넘어갈 때 즈음 훌륭한 모델러가 되기 위한 고민을 하다가 회사 조직장님의 조언으로 기본을 아주 바지런하게 다지자는 결심을 했었다. 그때 추천받았던 책이 바로 머피의 머신러닝이다. 이 책은 22, 23년도에 2개 책으로 쪼개져서 한 해동안 1권에 해당하는 내용을 씹어먹기로 하고 달마다 끝낼 진도 범위를 선정했고, 올해 10월을 마지막으로 큰 사이클로 1권을 완독 할 수 있게 계획을 짰다. Deep Learning (DL) 챕터는 너무 잘 아는 내용들을 패스하며 읽었다. 어려웠던 부분은 전통적인 ML 관련 수식들이었다. 이 부분들을 저연차일 때 소화하지 못하면 중니어-시니어 모델러가 되었을 때 나 자신에게 떳떳하지 못할 것 같았다. 이때 읽은 부분들 중 두고두고 기억하고 싶은 것들 위주..
2023.11.05 -
PCA의 완벽한 이론 설명
오늘은 factor analysis, 차원 축소 기법으로 잘 알려져 있는 PCA에 대해 다룰 예정이다. 데이터를 특정 차원으로 매핑하여 임베딩을 하는 방법론과 유사하게 생각할 수 있다. 데이터 시각화에서 자주 쓰이는 분야인데, SVM에서 데이터의 eigenvector 분리를 통해 이미지 압축 등을 했던 것이나 Fisher LDA에서 데이터를 projection했던 거를 연상할 수 있다. 이 방법론들과 PCA의 유사함과 다름을 수식을 통해서 이해해보자. 주의 : PCA가 무엇인지 어렴풋이 아는 상태에서 보는 걸 추천함. 참고 : 머피의 머신러닝 1 20장 1. PCA란 Principal Component Analysis(PCA)는 이름을 직역하면 주성분분석이다. 데이터 x가 있다고 할 때, 이 x의 주 성..
2023.10.29