1. AutoPrompt
few shot, one-shot learning이 반드시 도움이 되는 것은 아니다. 오히려 성능을 저하시키는 prompt를 만드는 경우도 생긴다. 우리는 그 원인을 알기도 매우 어렵고 prompt 내 단어 하나의 차이로도 성능이 달라진다.
그래서 prompt를 어떻게 만들어야 할까?에 대한 연구가 발전되고 있다.
이미 학습이 완료된 언어 모델을 다시 fine-tuning하지 않고 autoprompt만으로 성능을 높일 수 있다.
sentimental analysis를 예로 들어 autoprompt의 원리를 이해해보자.
"a real joy"라는 분류를 해야하는 문장이 주어졌다고 하자. 우리가 하려는 것은 이 input 문장 뒤에 prompt를 붙여서 새로운 input을 만들어 감정분류의 성능을 높이려한다.
그럼 어떤 토큰들을 프롬프트로써 뒤에 붙일것인가?
우리가 사전에 갖고 있는 긍부정 문장에 토큰을 [MASK]로 치환한다. 그리고 언어모델이 [MASK]의 단어를 예측하도록 한다. 그럼 우리는 긍정 문장에서 중요한 토큰들과 부정 문장에서 중요한 토큰들이 어떤 것들인지 알고있게 된다.
이제 input sentence와 유사한 토큰들을 이어 붙인다. 맨 마지막에 [MASK] 토큰을 붙이는 것으로 새로운 input을 완성한다. 언어모델은 저 [MASK]의 결과로 긍부정을 평가한다.
2. p-tuning
앞에서 본 autoprompt는 prompt로 단어의 리스트(vocab 내에 존재하는 단어들)가 들어간다. continuos한 sequence로 prompt를 만들려는 시도로 p-tuning에 대해 알아보자.
어떤 vector 값을 token처럼 넣어준다. 모델이 예측한 정답([MASK]에 해당하는 벡터)과 실제 정답과의 차이를 back propagation으로 prompt encoder를 학습시킨다.
자세한 내용은 https://arxiv.org/abs/2103.10385 를 찾아보자.
3. Adapter를 활용한 fine-tuning
모델의 규모가 너무 커지는 바람에 학습에 많은 비용이 든다. 따라서 기존 transformer 구조 안에 feed forward layer와 nonlinearlayer로 구성된 adapter layer를 추가한다. 그 외에 layer는 모두 freeze시키고 adapter layer만 fine-tuning시에 학습시킨다.
대표적인 모델로 LoRA가 있다. 훨신 적은 양의 데이터로 fine-tuning을 해서 좋은 결과를 얻었다고 한다. (https://arxiv.org/abs/2106.09685)
4. IA3 fine-tuning
설명은 생략한다. https://arxiv.org/pdf/2205.05638
5. Human in the loop, InstructGPT
인공지능이 출력하는 정답을 사람이 직접 교정할 수 있는 방법이다.
질문과 올바른 대답 쌍으로 구성된 데이터셋으로 학습된 모델1과 모델의 출력이 적절한지 판단하는 모델2가 서로 상호작용하면서 학습하는 방법이다.
대표적으로 DialogRPT가 있다. human feedback과 GPT2의 상호작용으로 학습된 모델이다.
6. chain of thought, program of thought
gpt의 또 한가지 문제점으로 지적되는 것으로 Hallucination이 있다. 틀린답변을 내놓는 것이다.
따라서 모델이 단계적으로 문제를 정의해서 풀어나가도록 지도하여 hallucination을 극복하려는 연구들도 있다.
https://arxiv.org/abs/2201.11903
https://arxiv.org/pdf/2211.12588
7. Modular LLM
LLM의 hallucination을 해결하기 위해 외부의 도움을 받아서 해결하려는 시도도 있다. 예를들어 7+10 같은 계산 문제가 주어졌을때 계산기를 호출해서 정확한 답변을 얻는다던지 외부 검색 엔진을 통해 나온 결과를 제공(RAG방식)하는 방법이 있다.
8. LLM의 성능 평가
생성모델의 성능을 평가할 수 있는 데이터셋들에 대해 간략히 소개한다.
MMLU 수학, 과학, 상식, 인문 등 57개의 다양한 문제 유형을 담고 있는 데이터 셋이다.
BIG-bench, HELM 등의 데이터셋도 LLM을 평가할 수 있는 유명한 데이터셋이다.
LLM을 올바르게 평가할 수 있는 데이터셋에 대한 연구도 활발히 진행되고 있다.
'boostcamp AI tech > boostcamp AI' 카테고리의 다른 글
Controllable LM - Plug and Play LM(PPLM) (0) | 2024.01.18 |
---|---|
XLNet, RoBERTa, BART, T5, Meena (0) | 2024.01.18 |
BERT 복습 (1) | 2024.01.10 |
NLP task : Relation Extraction (0) | 2024.01.03 |
Representation Learning & Self Supervised Learning (0) | 2024.01.02 |