It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

자연어/LLM

LLM 프로젝트 공부 - 섹션 1. LLM 개요

2jin2 2023. 10. 10. 15:11

LLM (Large Language Model) : 대규모 데이터 세트에서 훈련된 인공지능 언어 모델

자연어 처리 (NLP) 작업에 널리 사용되며, 텍스트 생성, 분류, 번역, 질문 응답, 감정 분석 등 다양한 작업 수행 가능.

 

LLM에 사용 되는 딥러닝 모델 : Transformer

대부분의 LLM은 트랜스포머(Transformer) 딥러닝 모델을 사용함.

 

언어모델 LM : 다음에 올 단어를 맞추는 것

-> LLM의 기본 원리, ChatGPT의 기본원리

 

파운데이션 모델 (Foundation Model) : 범용성이 높고 다양한 응용 분야에서 사용될 수 있는 대규모 머신 러닝 모델을 의미함. 이러한 모델들은 일반적으로 막대한 양의 데이터에서 훈련되고, 사람의 언어 이해 능력을 모방하거나 초과할 수 있는 높은 성능을 지님.

 

Meta(Facebook) : Llama 1, Llama 2 모델 공개. 상업적으로 사용도 가능.

기초 Foundation Model들을 제품화 하기 위해서 RLHF 기업이 사용됨 -> 뭔지 다시 공부

 

전이 학습 (Transfer Learning) (또는 Fine-Tuning)

이미 학습된 Neural Networks의 파라미터를 새로운 Task에 맞게 다시 미세조정 하는 것을 의미함.

대량의 corpus 데이터셋으로 Pre-training -> 우리의 목적에 맞게 Fine-tuning (예를들면 논문 데이터)

 

LLM의 잠재적 위험성 - 편향 (Bias)와 할루시네이션 (Hallucination)

- 편향 : 

1) 데이터로부터의 편향 : 그 데이터셋에 내재된 사회적, 문화적 편향을 학습할 수도 있음.

2) 확인 편향 : 모델은 때로 사용자의 의견이나 선입견을 듣고 사용자가 원하는 대답을 하려고 하는 경향이 있을 수도 있음.

3) 편향의 증폭 : 모델이 특정 집단 또는 개념에 대해 더 극단적, 편향된 정보를 생성하거나 전달하는 경우도 있음.

- 할루시네이션 : 

1) 정보의 부정확성 : LLM이 때로 현실과 다른 부정확한 정보를 생성함. (통계적 특성에 기반한 LLM의 한계)

2) 추론 오류 : 모델이 문맥을 정확이 이해하지 못하여 잘못된 추론을 함.

3) 데이터 왜곡 : 모델이 훈련 데이터에 없던 정보를 새로 생성 할 수도 있음.

 

Llama 2

90% Pre-tuning 데이터가 영어로 되어 있다는 단점, 한국어를 처리하는 문제에는 아직 성능이 좋지 않은 상태.

 

LLM 용어 정리 - 토크나이징

1) 토큰 : 텍스트를 구성하는 개별 단위.

2) 토큰화 : 주어진 텍스트를 개별 토큰들로 불리하는 과정.

3) 토큰의 종류  : 기준에 따라 여러 종류의 토큰이 생성될 수 있음.

4) 토큰화의 중요성 : 대부분의 NLP 작업에서 텍스트를 토큰화하여 각 토큰을 기반으로 처리함.

5) 도구와 라이브러리 : 여러 NLP 라이브러리와 도구가 토큰화 기능을 제공함.

 

토크나이징 (Tokenizing)

1) 단어 단위 토큰화

장 : 토큰 시퀀스가 상대적으로 짧음.

단 : Vocabulary 집합 크기가 너무 커짐. Unknown 토큰 (<unk>)이 발생할 가능서이 큼.

2) 문자 (Character) 단위 토큰화

장 : Vocabulary 집합 크기가 작음. Unknown 토큰이 발생할 가능성이 작음.

단 : 토큰 시퀀스가 길어져서 학습이 어려울 수 있음.

3) 단어 단위와 문자 단위 토큰화의 중간단위 (Subword)로 토큰화. ex) BPE(Byte-oair Encoding 알고리즘)

 

인컨텍스트 러닝 (In-context learning)

- Zero-shot : 프롬프트에 추가적인 설명 예제 없이 바로 문제를 해결하려는 세팅.

- One-shot : 프롬프트에 추가적인 설명 예제 1개와 함께 문제를 해결하려는 세팅.

- Few-shot : 프롬프트에 추가적인 설명 예제 n개와 함께 문제를 해결하려는 세팅.

모델 입장에서는 Few-shot의 성능이 가장 좋음. example의 개수를 늘려줄수록 성능 개선 기대 가능.

추가적인 Fine-Tuning 없이도 In-context Learning 만으로 원하는 결과를 얻는 것이 가능해지면서 어떻게 프롬프트를 작성하면 LLM에게서 더 효과적으로 정보를 얻어내는 프롬프트를 작성할 수 있는 지 연구하는 프롬프트 엔지니어링 기법이 연구되기 시작함.

 

창발 능력 (Emergent Abilities)

Emergent abilities of large language models의 핵심 idea : 큰 LLM 모델 학습 과정에서 특정 임계치를 넘으면 기존의 작은 LLM 모델에서 발생하지 않았던 새로운 능력이 발현됨.

"창발은 시스템의 양적 변화가 행동의 질적 변화로 이어질 때 발생한다는 것임."