Gaussian, Bernoulli로 이해하는 머신러닝
·
머신러닝/약간 덜매운맛
확률론적 관점으로 데이터를 파악하는 머신러닝에선 probability distribution에 대해서 알아야 한다. 필수라고 생각되는 개념은 bernoulli, gaussian 정도가 되겠다. 조금 더 나아가면 beta, gamma, laplacian distribution까지는 알면 좋지 않을까 싶다.   따라서 이번 글은  필수 / 선택으로 글을 나눠 진행해보고자 한다. 참고: murphy machine learning 1(book)    필수 - gaussian, bernoulli Gaussian Distribution  가우시안 분포는 Normal Distribution(정규분포)으로도 불린다. 그 이유는 자연상(아무 인위적인 것을 집어넣지 않은 상태)의 확률 분포가 gaussian과 가장 유사한..
왕초보용 langchain 코드 튜토리얼 (w. RAG)
·
머신러닝/약간 덜매운맛
llm 프로그램을 작성하기 위해 크게 두 개의 오픈소스 라이브러리가 있다. 바로 langchain과 llamaindex이다.한 블로그에서 이 두 라이브러리 중 하나를 택하는 기준을 다음과 같이 제시한 적이 있다. (참고:  https://datasciencedojo.com/blog/llamaindex-vs-langchain/ )  - langchain : llm query 자주 바꾸고 계속해서 바뀌는 실험을 해볼 때 추천. performance tuning 할 때. - llamaindex : 검색이 중요한 application을 만들 고 싶을 때 추천. 큰 규모의 데이터셋을 처리하고 throughput이 중요할 때.     내 식대로 번역하자면 프롬프트 엔지니어링 이것저것 해보고 그냥 이렇게 했다 저렇게..
LLM 학습 개요 - pretrain vs finetuning
·
머신러닝/약간 덜매운맛
오늘은 Large Language Model(LLM)을 어떻게 학습하는지 정리해 본다.  0. 짧은 요약 LLM을 학습하는 핵심만 짚어보면 다음과 같다.  1. LLM의 학습단계는 크게 pretrain과 finetuning으로 나뉜다.2. finetuning에서도 크게 supervised fine tuning (SFT)와 reward modeling을 통한 RLHF 계열(PPO, DPO 등)로 나뉜다.3. 그리고 학습이 아닌 프롬프트에 내가 원하는 대로 답변을 잘할 수 있도록 Prompt engineering을 하게 된다.    1. Pretrain 한국어로 사전학습이라는 뜻을 가진 pretrain 단계에서는 LLM이 가능한 한 많은 문서를 학습하게 된다. 자연어 처리(NLP) 분야에서 BERT와 같은 ..
transformer의 모든 것
·
머신러닝/아맞다
딥러닝 모델 구조는 transformer의 등장 이전과 이후로 나뉜다고 해도 과언이 아닌 것 같다. RNN의 단점을 지우고 attention encoder와 decoder를 사용하는 구조로 자연어에서 변혁을 일으키며 나중에는 다른 도메인에서도 transformer를 안 쓰는 모델을 찾기가 힘들어졌다. MAMBA가 이제 판을 뒤집을지도 모르지만, 오늘은 transformer에 대해 기본을 탄탄히 잡아보자.  1. self attention attention은 Query, Key, Value 3가지가 주어졌을 때 Query와 유사한 Key를 찾고, 이에 대한 Value 중 뭘 채택할지 retrival하는 과정이라 볼 수 있겠다. 단순하게 한국어 영여 번역 태스크를 수행하는 모델을 만든다고 가정할 때,  Qu..
구현체를 통해 PEFT lora 를 알아보자
·
머신러닝/약간 덜매운맛
기존에 썼던 짧은 lora config글과 통합하여, Lora를 근본적으로 이해하기 위해서 새로운 글을 시작한다. lora가 어떤 원리인지 구현체를 통해서 이해해 보고, huggingface peft lora를 사용할 때 어떤 config를 "왜" 조정해야 하는지 알아보자. 0. 정말 간단한 요약 모델이 너무 무겁다. 이걸 어떻게 다 학습하나. 그래서 학습할 때 일부 layer들에 대해서(transformer에선 주로 attention block에 대해서만 적용하고 있다) weight를 따로 똑 떼어내서 학습하고자 한다. 아래 그림을 보면, 기존 모델을 그대로 학습한다면 모든 weight를 다 학습에 사용한다. 반면에 lora를 학습에 이용한다면 기존 weight는 학습에서 freeze시키고 lora a..
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..
lu.na
'머신러닝' 카테고리의 글 목록