2024/06/05 5

자연어 처리 17강 - Parameter efficient Tuning

LLM의 파라미터를 효율적으로, 효과적으로 튜닝하는 방법이다.언어 모델은 Semi supervised learning (NSP, Masking)을 통해 Pre-trained하고, Supervised learning을 통해 fine tuning을 진행한다. 이전에는 각 task마다 fine tuning을 진행하여 여러개의 모델을 만들었으나 요즘엔 모델 하나하나의 크기가 거대해져서 fine tuning을 그렇게 진행할 수 없고, task 종류도 너무 많이 늘었다. 전체 파라미터를 수정하기 어려우니 일부분만 학습하기로 하였다. Adapters - 필요한 부분만 (전체 파라미터의 3% 정도) 바꾸어 전체를 파인 튜닝 한 모델과 큰 차이가 나지 않은 정확도를 보였다. fine-tuning은 특정 task의 los..

자연어 처리 16강 - Prompt Engineering

Instruction : input에 대한 설명 Context : input  Prompt = instruction + context Prompt -> model -> output Prompt 엔지니어링 == 모델을 다양한 분야에 적용하기 위해 Chat GPT는 오픈 도메인으로 instructions를 잘 작성해야 한다.  좋은 prompt 작성을 위해선 상황을 가정해주고, 무슨 일을 할지 명령해주며, 원하는 대답의 형태 등 넣어줄 것이 많다. step을 정해주는건 안해주는 것과 큰 차이가 난다. few-shot Prompts : 예시 남겨주기Zero shot CoT : "Let's think step by step"을 활용하여 순차적으로 문장 하나 하나에 대응할 수 있게 해준다. 문제도 step by ..

자연어 처리 15강 - Large Language Model

생성형 모델의 대부분은 Decoder 모델이다. input이 들어가면 차례대로 결과가 나오고, 질문에 대한 답을 생성하는데 목적이 있다. fine-tuning으로 말이 되는지 안되는지 supervised learning도 진행한다. 이러한 fine-tuning없이 모든 task를 잘하길 원했고, 스케일 up, 학습 up하여 좋은 데이터셋을 가지고 좋은 모델을 만들려고 지속적으로 시도하였다. GPT2는 시존 책 코퍼스가 아니라 웹 텍스트를 가져왔고, 데이터의 양도 많이 늘렸다.transformer layer도 12층에서 48층으로 늘리면서 토큰 수도 늘었다.117M -> 1.5B로 파라미터도 엄청나게 증가!Vocab size를 늘렸다 == 인코딩 방식을 세분화 하였다.input을 넣을 때 무슨 일을 할지 ..

자연어 처리 14강 - Self supervised Learning 2

BERT에서는 supervised learning과 unsupervised learning의 중간인 semi(self) supervised learning을 Pre-training 과정(실제 task 풀기 전 전반적인 지식 탐구)에 한다. Fine-tuning을 진행할 때 labeled dataset으로 supervised learning을 진행한다.  SpanBERT에선 NSP가 빠졌다. 마스킹을 span레벨로 진행하여 문맥을 조금 더 파악할 수 있게 되었다. Longformer : BERT의 변형으로 긴 doc를 처리한다.  긴 doc에서 global로 attention을 진행하게 되면 연산량이 엄청나게 늘어난다 -> 특정 패턴을 주자 NLU는 NLG에 비해 그나마 쉽다.  BART는 원본 문장을 생..

C언어 영상처리 과제 - compression, Quantization

C언어 문자열 다루는게 기억이 안나서 막 짰는데 그것 때문에 코드가 많이 지저분해 진 것 같은데,,,#define _CRT_SECURE_NO_WARNINGS#include#include#include#include #includevoid DPCMEncoder(double*, int*, int, BITMAPFILEHEADER, BITMAPINFOHEADER);void write_matrix_to_file(const char* filename, int* matrix, int height, int width);void makeOutFile(BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo, char* fileName, double* y);int main() { BITM..

언어/C 2024.06.05
728x90
728x90