자연어 처리(NLP)의 기본 개념
자연어 처리(NLP)의 개념
- 컴퓨터가 인간의 언어를 이해, 처리, 생성할 수 있도록 하는 AI 서비스.
- 언어를 컴퓨터가 처리할 수 있는 형태 = 숫자 로 변환해야함.
- 번역, 챗봇 (상담) 등 다양한 분야에서 활용 가능.
자연어 처리 과정
언어 숫자화
- 컴퓨터는 텍스트보다 숫자를 더 잘 이해하기에 아래 과정을 거쳐 언어를 숫자화해야함.
- 토큰화: 텍스트를 작은 단위인 토큰 (단어, 문장 등) 으로 분할.
- 인덱싱: 각 토큰에 고유한 숫자 (인덱스) 를 부여하여 텍스트를 수치화.
어휘 목록과 워드 임베딩
- 텍스트 데이터를 벡터로 변환해 컴퓨터가 의미적 관계를 이해할 수 있도록 하는 과정임.
- 어휘 목록: 언어 숫자화를 마친 단어들의 집합. 모델이 텍스트 데이터를 처리하는 데 사용됨.
- 워드 임베딩: 단어 간 의미상 관계를 통해 NLP 가 단어의 의미를 이해 및 처리하기 쉽게 해줌.
차원 개념
- 벡터의 차원은 텍스트의 다양한 특징을 수치화하는 데 사용.
- 벡터 차원이 높을수록 더 많고 복잡한 정보를 다룰 수 있음.
- GPT-3은 1280차원의 벡터를 사용하여 텍스트를 표현.
트랜스포머와 LLM
트랜스포머
- 트랜스포머: RNN, LSTM 대신 등장한 NLP 용 모델.
- 병렬 처리용 구조 + 셀프 어텐션 메커니즘.
- 입력 데이터의 모든 요소를 동시에 처리 가능.
- 긴 문장이나 대규모 데이터를 빠르게 학습할 수 있음.
- 셀프 어텐션: 문장 내 각 단어가 타 단어들과 어떻게 연관된 지 분석해 문맥을 더 잘 이해하도록 해줌.
인코더와 디코더 구조
- 트랜스포머는 인코더와 디코더라는 두 가지 주요 모듈로 구성됨.
- 인코더는 입력 데이터를 벡터로 변환하고, 디코더는 그 벡터를 다시 자연어로 변환함.
| 구조 | 설명 |
|---|
| 인코더 | 입력 데이터를 벡터로 변환 |
| 디코더 | 벡터를 다시 자연어로 변환 |
인코더 온리와 디코더 온리 모델
인코더 온리
- 인코더 온리 모델의 공통점: 입력 데이터의 전체 문맥을 고려하여 특정 작업을 수행하는 모델.
- 인코더 온리 모델 예시:
- BERT: 양방향 문맥 정보를 활용하여 텍스트 이해 작업 수행.
- ALBERT: BERT의 경량화 버전. 파라미터 수를 줄여 학습 효율성 향상.
디코더 온리
- 디코더 온리 모델의 공통점: 입력 데이터의 일부를 기반으로 다음 단어 또는 문장을 생성하는 데 최적화된 모델.
- 디코더 온리 모델 예시:
- GPT-4: OpenAI가 개발한 최신 언어 모델.
- LLaMA: Meta AI가 개발한 LLM.