이 글은 [랭체인으로 LLM 기반의 AI 서비스 개발하기] 도서를 읽고 개인 정리한 글입니다. 모르는 부분을 중심으로 TIL을 작성했습니다.
파인튜닝과 전이학습은 모두 기존에 학습된 모델을 활용하여 새로운 작업을 수행하기 위한 방법이지만 접근 방식과 적용 범위에 차이가 있다.
전이학습(Transfer Learning) : 사전 학습된 모델의 지식(가중치)을 새로운 과제에 일부 또는 전체 활용하는 것이다. 예를 들어, 이미지넷으로 학습된 모델을 다른 이미지 분류 작업에 활용하는 것이 전이학습의 예시에 해당한다.
파인튜닝(Fine-Tuning) : 전이학습의 한 방식으로, 사전 학습된 모델 전체 또는 일부를 새로운 작업에 맞춰 추가 학습시키는 것이다. 전이학습의 하위 개념으로 볼 수 있으며, 전이학습 중에서도 특히 모델 파라미터를 수정하면서 학습하는 것을 말한다.
요약하자면 기존 모델의 지식을 활용하는 것은 전이학습이고, 기존 모델을 추가 학습으로 하여 새로운 작업에 최적화하는 것은 파인튜닝이다.
RAG는 정보 검색 단계와 텍스트 생성 단계를 포함한 두 단계로 구성되어 있다.
정보 검색 단계 : 사용자가 질문을 입력하면, 모델은 사전에 구축된 문서 데이터 베이스에서 질문과 관련된 가장 연관성 높은 문서들을 검색한다.
텍스트 생성 단계 : 검색된 문서와 사용자의 질문이 함께 LLM에 전달된다. 모델은 이 문서들을 바탕으로 질문의 의미를 이해하고, 검색한 정보와 모델이 알고 있는 지식을 결합하여 사용자의 질문에 대한 정확하고 구체적인 답변을 제공한다.
Q: 다음 문장을 영어로 번역하세요: "나는 학교에 갑니다."
A: # 예시 없이도 번역 결과를 생성할 수 있다.
Q: 한국어를 영어로 번역하세요.
예시: "나는 집에 간다." → "I go home."
Q: "나는 학교에 갑니다." → # 예시 하나를 참고하여 새로운 문장도 같은 형식으로 번역할 수 있다.
Q: 다음 문장을 영어로 번역하세요.
"나는 집에 간다." → "I go home."
"그녀는 밥을 먹는다." → "She eats rice."
"나는 학교에 갑니다." → # 여러 예시를 보고 패턴을 파악한 뒤 문장을 번역할 수 있다.
SaaS(Software as a Service) : 소프트웨어를 서비스 형태로 제공하는 것이다. 사용자는 소프트웨어를 설치하거나 관리할 필요 없이 웹을 통해 바로 사용할 수 있다.
PaaS(Platform as a Service) : 개발에 필요한 플랫폼을 서비스로 제공하는 것이다. 사용자는 인프라를 신경쓰지 않고 애플리케이션 개발 및 배포에 집중할 수 있다.
IaaS(Infrastructure as a Service) : 서버, 스토리지, 네트워크 등의 인프라를 가상화하여 제공하는 것이다. 사용자는 OS부터 애플리케이션까지 모두 직접 구성 가능하다.
RAG에서 정보 검색 단계의 전체 흐름은 다음과 같다.
1. 사용자 질문 입력
2. 문서 검색 (Embedding + 검색 방식)
3. 유사도 계산 (키워드 또는 시멘틱 기반)
4. 관련도 기반 랭킹 처리
5. 최종 문서 선택해서 LLM에 전달
GloVe는 전체 말뭉치에서 단어 i와 단어 j가 몇 번 함께 등장했는지를 기록한 동시 등장 행렬(Co-occurrence Matrix)을 생성한다.
그런 다음, 이 행렬을 바탕으로
두 단어 벡터 간의 차이가 의미적 관계를 반영하도록 학습합니다.