공부 기록장
언어 모델의 종류와 평가, RAG 아키텍처 본문
LMM 모델의 종류와 평가
언어 모델링 방법에 따른 언어 모델 종류
자가회귀 모델(Autoregressive Model)
- 이전의 단어들을 기반으로 `다음 단어를 순차적으로 예측`하는 모델
- GPT 시리즈(GPT-1, GPT-2, GPT-3)
- 텍스트 생성, 번역, 대화형 AI 등에 활용
마스크드 언어 모델(Masked Language Model)
- 문장의 일부 단어를 `마스킹`하고, 마스킹된 단어를 예측하는 모델
- BERT 모델
- 텍스트 분류, 질문 응답, 자연어 추론 등에 활용
언어 모델의 평가
퍼플렉시티(Perplexity)
- 모델이 주어진 텍스트를 얼마나 잘 예측하는지를 나타내는 지표
- 예측 확률의 역수의 기하평균으로 계산되며, 모델의 예측 불확실성을 나타낸다
- 예측 확률이 높을수록 해당 값은 낮아진다
BLEU(Bilingual Evaluation Understudy)
- 기계 번역 결과와 사람 번역 결과가 얼마나 유사한지 비교하여 번역 성능을 측정하는 방법
- 참조 텍스트와 생성 텍스트 간의 유사성 측정
⇒ LLM 평가에 대한 논문은 현재 많이 나오는 중이다
Open Ko-LLM LeaderBoard
한국어 대형 언어 모델의 성능을 평가하고 비교하기 위해 만들어진 플랫폼
한국어 데이터 기반으로 구축되어 한국어와 한국 문화의 특성을 반영한 고품질 데이터를 사용
→ 한국어 모델의 수준을 높이고, 국제적으로 한국어 LLM 연구의 인지도를 향상시키는 데 기여한다
ChatGPT
OpenAI에서 개발한 대규모 언어 모델 GPT 시리즈를 기반으로 한 대화형 인공지능
⇒ 여러 실무 분야에서 사용되고 있지만 보안, 비용, 정확성 및 신뢰성 문제 존재
RAG
RAG(Retrieve-Augmented Generation)란?
정보 검색(Retrieve)과 텍스트 생성(Generate)을 결합한 하이브리드 `언어 모델 아키텍처`
- 특정 질의에 대해 Wekipedia와 같은 외부 지식 베이스에서 관련 정보를 검색 후, 이를 기반으로 텍스트 생성
- 정보가 풍부한 응답 생성 가능
RAG의 주요 구조
Retrieve 단계
- 입력 질의와 관련된 문서를 외부 지식 베이스에서 검색
- 쿼리와 문서의 임베딩 생성 후, 임베딩 간의 유사성 계산을 통해 문서 검색
Augmented 단계
- 검색된 문서를 기반으로 `입력 질의 강화`
Generate 단계
- 입력 질의 또는 검색된 문서를 기반으로 자연스러운 텍스트 생성
RAG 작동 원리
① 쿼리 임베딩 생성
: 입력된 질의를 임베딩 벡터로 변환
② 문서 검색
: 쿼리 임베딩을 사용해서 외부 지식 베이스에서 문서 검색
③ 문서 임베딩 생성
: 검색된 각 문서를 임베딩 벡터로 변환
④ 문서-쿼리 결합
: 쿼리 임베딩과 검색된 문서를 결합해 텍스트 생성을 위한 입력으로 사용
⑤ 텍스트 생성
: 결합된 임베딩을 입력으로 받아 디코더가 새로운 텍스트 생성
RAG의 장점
- 다양한 데이터 소스를 결합해 더 광범위한 지식을 응답에 포함
- 단순 생성 모델보다 더 정확하고 정보가 풍부한 응답을 생성
- 내부 LLM모델로 구성 시, 보안, 프라이버시 위협에서 어느 정도 벗어날 수 있음
- 특화 도메인에 대응 가능
RAG의 단점
- 검색과 생성의 결합 과정이 복잡해, 모델 학습과 튜닝 어려움 ↑
- 임베딩 생성, 문서 검색, 텍스트 생성 등 모든 단계에서 높은 연산 자원 필요
- 외부 지식 베이스의 품질과 최신성에 크게 의존
RAG 프레임워크
○ Langchain
- 검색 및 생성을 독립적 모듈로 구현할 수 있는 구조 제공
- 각 구성 요소의 독립적 개발, 테스트, 배포 가능
- 다양한 데이터 소스와 검색 방법을 쉽게 통합하는 기능 제공
- 데이터 처리 및 변환 파이프라인 유연하게 구성 가능
- 통합 환경 제공
구조
- 데이터 소스 : 외부 데이터베이스, 웹사이트, 문서 저장소 등 다양한 데이터 소스에서 정보 검색
- 검색 모듈 : TF-IDF, BM 25 등의 검색 알고리즘을 사용해 관련된 문서 검색 기능 수행
- 생성 모듈 : 검색된 문서를 바탕으로 자연스러운 텍스트 생성 수행
- 파이프라인 관리 : 데이터 전처리 및 검색/생성 단계 조정을 통해 최종 응답 생성
○ LlamaIndex
- 대규모 데이터셋을 효율적으로 인덱싱하고 고성능 검색 기능을 제공하는데 중점
- 다양한 검색 알고리즘과 언어 모델을 쉽게 통합
- 문서/쿼리 임베딩 생성 후, 유사성 계산해 관련 문서 검색
구조
데이터 인덱싱 : 효율적인 대규모 데이터셋 인덱싱을 통해 빠른 검색 지원, 데이터 구조/내용 분석을 통한 효율적 검색 가능
쿼리 처리 및 검색 : 사용자 쿼리 및 인덱싱 된 문서를 임베딩 벡터로 변환해 유사도 계산
텍스트 생성 : 검색된 문서를 바탕으로 생성에 필요한 입력 준비
파이프라인 관리 : 인덱싱, 검색, 생성을 통합해 효율적인 작업 흐름 관리
⇒ Langchain은 다양한 응용 분야에서 유연하게 활용할 수 있고, LlamaIndex는 대규모 데이터셋 기반의 고성능 검색 작업에 적합하다!
RAG 최신 동향
SELF-RAG: 필요할 때마다 검색하고, 생성한 내용을 자체 반성하여 평가하는 reflection 토큰 사용
Adaptive RAG: 쿼리 복잡도에 따라 가장 적절한 전략을 동적으로 선택하는 프레임워크
⇒ 새로운 연구 및 논문 계속 나오는 중
'카카오테크 부트캠프 > 강의' 카테고리의 다른 글
클라우드, 리눅스, 컨테이너 (0) | 2024.07.31 |
---|---|
모델의 효율적인 학습과 배포 : 파인튜닝, 양자화, 서빙 (0) | 2024.07.31 |
LLM과 프롬프트 엔지니어링(Prompt Engineering) (0) | 2024.07.26 |
PyTorch, Seq2Seq, 오토인코더, GAN, 하이퍼 파라미터 튜닝의 이해 (2) | 2024.07.24 |
자연어 처리 이해하기 : NLP, RNN, LSTM, GRU의 원리와 활용 (3) | 2024.07.23 |