[청강] 딥러닝 19 - Retrieval Augmented Generation (RAG)

방선생·2026년 1월 19일

청강

목록 보기
19/20

한양대학교 박서연 교수님 - github.io

(한양대학교 박서연 교수님의 딥러닝 수업을 청강 하면서 정리한 내용을 바탕으로 교수님의 허락을 받고 작성하였습니다.)


Retrieval Augmented Generation (RAG)

RAG Code - GitHub

RAG(Llama) Code - GitHub


  • Retrieval Augmented Generation(RAG) : 검색을 증강해서 대답하는 것
    • 추가적인 데이터에 대한 fine-tuning없이 LLM이 외부 지식(Website, PDF, 외부 문서 등)을 검색 시스템이 관련 있는 문서/링크만 골라서 리스트업함 → 이후 관련 정보를 모아서 요약·재구성해서 답변 생성

Custom Data to Vector Format



  • Embedding Leaderboard huggingface

  • AG with Open Source HuggingFace Library (Embedding Model)
    • Open AI의 RAG모델이 제일 좋음 (유료)

    • Huggingface에서 무료로 사용가능 (Qwen model)


RAG using LangChain

DataLoader


TextSplitters


Store


Local DB such as FAISS by Meta


  • 직접 LLM을 구성할때는 Chat History를 Maintaining해야한다 → GPT는 기본적으로 되지만, 직접 만들경우 memory를 기억하는 부분을 넣어줘야함


Retriever

  • query와 문서를 vector로 embedding해서, dot product / cosine similarity 같은 방법으로 가장 유사한 문서들을 찾아오는 검색 모듈

  • RAG에서 외부 knowledge(Website, PDF 등)를 LLM에게 가져다주는 역할을 담당함

Contrastive Learning

  • 아이디어 : 기준이 되는 샘플을 anchor라고 두고, anchor와 비슷한 샘플(positive), 다른 샘플(negative)을 구성한다.

  • 학습 목표 : embedding / feature space에서 anchor–positive 쌍은 가깝게 위치하도록 만들고 anchor–negative 쌍은 멀어지도록 만드는 loss를 최소화한다.

  • 직관 : “비슷한 것끼리는 모으고(끌어당기고), 다른 것끼리는 떼어놓는(밀어내는) 방식으로 representation을 학습하는 방법”이 바로 contrastive learning








  • 참고자료

General Usage of LLMs (Reference)

profile
AI & Robotics

0개의 댓글