본문 바로가기

카테고리 없음

llm 기본 용어정리

Google Brain: Transfomer(AI 딥러닝 모델)

-Copilot과 같은 어플리케이션에 사용됨.

 

LLM이란?

Large Language Model(대규모 언어 모델)

-> 대부분 트랜스포머 아키텍처에서 파생된 AI모델, 사람의 언어나 코드 등을 이해하고 생성하기 위해 설계되었다.

텍스트 분류 및 생성에 이르기까지 수행할 수 있음.

이전 최첨단 NLP 모델들보다 훨씬 병렬화하고 확장할 수 있음.

*셀프 어텐션, 입력 문맥윈도우(앞뒤로 몇개의 단어 볼지)에 제한되엉 ㅣㅆ음.

 

LLM 저장소 ex) Hugging Face

 

*모델 선택, 데이터 형식, 파인튜닝 파라미터, 모델 내부 작동 원리에 대한 통찰력 얻기

 

 

NLU(자연어 이해)

-> 감정 분석, 분류, 명명된 엔티티 인식 등

 

NLP

-언어 모델링(지정된 어휘 내의 토큰 시퀀스 가능성을 예측하기 위한 통계/딥러닝 모델 생성을 포함함)

 

1) 자귀 회귀 언어 모델: 이전 토큰만을 기반으로 다음 토큰을 에측하도록 훈련(트랜스포머 디코더에 해당),

앞서 온 토큰만 볼 수 있도록 mask가 적용되어있음. ex) GPT

2) 자동 인코딩 언어 모델: 토큰 일부가 가려진 손상된 문장을 재구성(트랜스포머의 인코더에 해당), 양방향 표현 생성

-> 문장 분류 혹은 토큰 분류가 주된 용도 ex) BERT

3) 자기 회귀 + 자동 인코딩: 다양하고 유연한 텍스트를 생성하기 위해 인코더와 디코더를 함께 사용함.

인코더 원시 텍스트를 핵심 구성 요소로 분리하고, 벡터로 변환하는 업무(Word2vec), 어텐션을 사용해 텍스트 맥락 이해.(양방향)
디코더 수정된 형식의 어텐션을 사용해 다음에 올 최적의 토큰을 예측함으로써 텍스트를 생성하는데 뛰어남.(단방향)

 

 

[LLM 작동원리]

*사전훈련

: 거의 모든 LLM은 대량의 텍스트 데이터로 특정 언어 모델링 관련 작업에 대해 사전훈련되었다.

ex) BERT는 위키백과와 BookCorpus에서 사전훈련됨.

-> MLM(마스크된 언어 모델링), 다음 문장 예측(NSP)

 

사전 훈련에 대해 딥하게 다루진 않고, 모델들이 어떻게 사전훈련되었는지 가볍게 알아보는 정도.

 

*전이학습

: 머신러닝에서 한 작업에서 얻은 지식을 활용해 다른 관련 작업의 성능을 향상시키는 기술

한 말뭉치에서 사전훈련된 LLM을 가져온 후, 텍스트 분류나 생성과 같은 특정 실제 작업을 위해 작업 특정 데이터로 모델의 파라미터를 업데이트함으로써 모델을 파인튜닝하는것을 포함한다.

 

*파인튜닝

: 사전 훈련된 LLM은 특정 작업을 위해 파인튜닝 될 수 있다.

파인튜닝은 LLM을 작업에 특화된 상대적으로 작은 크기의 데이터셋에서 훈련시켜 특정 작업을 위한 파라미터를 조정하는 것을 말한다. 즉, 사전 훈련된 언어에 대한 지식을 활용해 특정 작업의 정확도를 향상시킬 수 있다.

특정 도메인 및 작업에서의 성능을 가성비좋게 향상시킴.

훈련 data => (모델 -> 손실 계산 -> 기울기 계산 -> 가중치 최적화 ->모델 -> ...반복...)

1. 파인튜닝하려는 모델과 파인튜닝 파라미터를 결정함
2. 학습 데이터를 모은다.(포맷 및 기타 특성은 업데이트 모델에 따라 상이함.)
3. 손실과 기울기(오류 최소화하기 위한 모델 변경 정보)를 계산함
4. 오류를 최소화하기 위해 모델 파라미터를 업데ㅣ트하는 back propagatoin 모델을 업데이트 함.

-> Hugging Face의 트랜스포머 패키지 & OpenAI의 파인튜닝 API의 사전 제작된 도구를 이용해 과정을 단순화.

 

*어텐션

: 트랜스포머만이 아니라 다양한 가중치를 입력의 다른 부분에 할당하는 딥러닝 모델에서 사용하는 메커니즘

모델이 동적으로 입력의 다른 부분에 집중할 수 있게 하여 성능 향상과 더 정확한 결과를 이끌어 냄.

어텐션이 있기 전에는 대부분의 신경망이 모든 입력을 동등하게 처리했고, 모델은 예측을 위해 입력의 고정된 표현에 의존했음.

 

*트랜스포머가 다른 딥러닝 아키텍처와 차별화된 점?

토큰 간의 장거리 의존성과 관계를 어텐션을 사용해 포착할 수 있는 능력

즉, 어텐션은 트랜스포머 기반 LLM의 핵심 구성 요소이며, 훈련 과정과 대상 사이의 정보를 효과적으로 유지하면서 긴 텍스트 부분을 쉽게 처리할 수 있다.

 

*임베딩

: 고차원 공간에서의 단어, 구절 또는 토큰의 수학적 표현

LLM이 어떠한 규칙을 학습하기 위해서 텍스트로 인지하는 것을 기계가 읽을 수 있는 것을 변환하는 작업.

여러 종류의 임베딩이 가능

ex) 토큰의 위치를 인코딩, 토큰의 의미를 인코딩 한다거나...

 

*토큰화

: 텍스트를 가장 작은 이해 단위인 토큰으로 분해하는 과정(의미를 내포한 정보 조각)

어텐션 계산에 입력으로 사용되어 LLM이 실제로 학습하고 작동하게 됨.

거의 모든 LLM에는 모델에 특정 의미를 가진 특별한 토큰이 있다.

ex) BERT - 특별한 [CLS] 토큰

 

 

*언어 모델링을 넘어서: 정렬 + RLHF

언어모델에서의 정렬은 모델이 사용자의 기대에 부합하는 입력 프롬프트에 얼마나 잘 답변할 수 있는지를 나타낸다.

언어 모델을 정렬하는 포ㅘㄴ적인 방법 중 하나는 강화학습(RL)을 훈련 과정에 포함시키는 것이다.

 

*RLHF(인간 피드백 강화학습)

-> 사전 훈련된 LLM을 정렬하는 데 인기있는 방법, 사람의 피드백을 사용해 성능을 향상시킴.

 

[현재 많이 사용되는 LLM]

-BERT(Google), GPT(OpenAI), T5(Google) + (다른 변형으로는 RoBERTa, BART, ELECTRA)

모두 공통 조상인 transformer를 공유하고 있지만, 아키텍처 측면에서 상당한 차이점이 있다.

 

*BERT(Bidirectional Encoder Representation from Transformers)

= 트랜스포머 아키텍처에서 가져온, 어텐션을 활용한 인코딩 언어 모델

인코더만 사용하므로, (한번에 하나의 토큰을 생성하는데 중점을 둔 LLM에 비해) 엄청나게 많은 텍스트를 매우 빠르게 처리/이해할 수 있다.

-> 자유로운 텍스트를 작성할 필요가 없을 때, 대량의 말뭉치를 빠르게 작업하고 분석하는 데 가장 적합하다.

 

*GPT-4와 ChatGPT(Generative Pre-trained Transformer)

BERT와는 대조적으로, 어텐션 메커니즘을 사용해 이전 토큰을 기반으로 시퀀스에서 다음 토큰을 예측하는 자기회귀 모델이다. GPT 알고리즘 계열은 주로 텍스트 생성에 사용되며, 사람이 쓴 것처럼 자연스러운 텍스트를 생성할 수 있는 능력으로 알려져있다.

 

*T5(Text-to-Text Transfer Transformer)

텍스트 분류부터 텍스트 요약 및 생성에 이르기까지 여러 NLP 작업을 수행하기 위해 설계된 순수한 인코더/디코더 트래스포머 모델

인코더를 사용해 입력 텍스트의 표현을 구축하고 디코더를 사용해 텍스트를 생성하는 능력 -> 텍스트 분류 및 텍스트 생성에 이르기까지 다양한 NLP 작업 수행 가능

파인튜닝 없이 여러 작업을 수행하는 능력