Machine Learning/NLP 7

what is LoRA?

what is LoRA?:  Low-Rank Adaptation대규모 언어모델(LLM)의 효율적인 미세 조정을 위해 개발된 기술이 방법은 사전 학습된 모델의 가중치를 동결하고, 각 층에 저랭크(rank decomposition)행렬을 삽입하여 학습 가능한 파라미터 수를 크게 줄임.이를 통해 계산 및 메모리 요구 사항을 감소시키면서도, 성능은 전체 미세 조정과 유사하게 유지할 수 있음 LoRa의 작동 원리LoRA는 특정 작업에 적응하기 위해 사전 학습된 가중치 행렬의 업데이트를 저랭크 행렬로 표현한다. 예를 들어, 트랜스포머 모델의 셀프 어텐션 모듈에서 4개의 가중치 행렬과 MLP모듈에서 2개의 가중치 행렬을 저랭크 행렬로 대체하여 학습한다.이는 전체 가중치 행렬을 업데이트하는 대신, 입력에 대해 곱해진 ..

[code]BERT example code

import torch import transformers import BertTokenizerFast from torch.utils.data import Dataset, DataLoader class TokenDataset(Dataset): def __init__(self, dataframe, tokenoizer_pretrained): # sentence, label 컬럼으로 구성된 데이터프레임 전달 self.data = dataframe # huggingface 토크나이저 생성 self.tokenizer = BertTokenizerFast.from_pretrained(tokenizer_pretrained) def __len__(self): return len(self.data) def __getite..

자연어처리 흐름 한눈에 보기

1. Seq2Seq Model - 인코더와 디코더를 가지는 RNN구조 - 인코더가 RNN을 통해 입력을 벡터로 만들고, 디코더가 RNN을 통해 벡터를 출력으로 만듦 - 고정된 크기의 context Vector를 사용함 (중요한 특성만 골라서 활용) - 필연적으로 정보의 손실이 발생하여 성능이 저하되고, 속도도 매우 느림 2. Attention - Seq to Seq model에서 발생하는 정보 손실 문제를 해결하기 위해 등장 - 인코더에서 문장 정보를 모은 다음 디코더로 보내느 것이 아니라, 단어 별로 전부 보내는 방식 - 인코더에서 나오는 Hidden state의 값을 모두 디코더에서 받아냄 - 디코더가 문장 중 어떤 단어에 특히 집중해서 출력을 만들지 고민할 수 있게 됨 - 1. 각 스텝의 hidde..

[summary]what is Embedding?

NLP분야에서는 embedding 과정을 거치는데, 자연어를 기계가 이해할 수있는 숫자형태(Vector)로 바꾸는 과정 전체를 임베딩이라고 한다. 임베딩의 대표적 3가지 역할 1. 단어/문장 간 관련도 계산 2. 단어와 단어 사이의 의미적 / 문법적 정보 함축 ( 단어 유추 평가) 3. 전이학습 (Transfer Learning , 좋은 임베딩을 딥러닝 모델 입력 값으로 사용하는 것) 임베딩의 자세한 설명 : https://velog.io/@glad415/%EC%9E%84%EB%B2%A0%EB%94%A9Embedding%EC%9D%B4%EB%9E%80 가장 기본적으로 사용되는 벡터화의 방법으로는 One-hot Encoding이 있다. One-hot Encoding 필요한 정보를 담은 하나의 값만 1로 두..

what is Encoder model, Decoder model, Encoder&Decoder model ???

what is Transformer ? 2023.07.05 - [Machine Learning/NLP] - what is Transformer? 구글의 연구원들이 2017년 논문에서 시퀀스 모델링을 위한 새로운 신경망 아키텍처를 제안했다. transformer라는 이름의 아키텍처는 기계 번역 작업의 품질과 훈련 비용 면에서 순환신경망 (RNN)을 능가했다. 동시에 효율적인 전이 학습 방법인 ULMFiT가 매우 크고, 다양한 말뭉치에서 LSTM 신경망을 훈련해 매우 적은 양의 레이블링된 데이터로도 최고 수준의 텍스트 분류 모델을 만들어 냄을 입증함. Transformer 을 기반으로 GPT(Generative Pretrained Transformer)와 BERT(Bidirectional Encoder Re..

[논문리뷰]Dense Passage Retrieval for open-Domain Questionestions and passages Answering(2020)

[paper]Dense Passage Retrieval for open-Domain Questionestions and passages Answering(2020) 질문이 주어졌을 때, 질문에 대한 답을 찾기 위해 위키피디아 문서에서 검색을 하고, 분석을 진행 🟨Open-domain Question Answering 질문과 위키피디아 안에서의 연관성을 찾아서 답을 찾아가는 과정 -> TF-IDF 와 BM25를 사용 🟨ORQA: Learnable retriever 학습하는 과정에서 질문과 유사한 문장을 찾는 것 ( 임베딩을 통해서 유사도를 산출) 의미상 유사한 단어가 있어도 문장을 잘 파악해서 찾아냄. 🟨ORQA: Inverse Close Task(ICT) Inverse Close Task(ICT) : 사..

[논문 리뷰]Fusion-in-Decoder(FiD)

Fusion-in-Decoder(FiD): 현존 최고의 성능을 내는 오픈 도메인 질의 응답 모델 - 질의 (query)에 적합한 문서를 찾아(retrieve) 이를 생성 모델(generation model)에 넣어 답변을 얻어 내는 방식 -> 생성형 모델의 고질적인 문제인 hallucination(환각: -> 말이 안되는 말?)을 완화함 -> 검색 + 생성 기법이 '아무말 생성'에 가까운 생성 모델의 인퍼런스 결과를 사실에 근거한 답변으로 탈바꿈 시키는 효과가 있다. 논문에서 사용한 방식 1. 우선 쿼리 (ex. Where was Alan Turing born?)에 적절한 문서를 검색 모델을 통해 검색한다. 2. N 개 검색 결과를 생성 모델 인코더에 넣어 줌 3. 생성 모델(ex.Generative s..

반응형