Rag와 Fine-tuning과의 차이점
- Fine-tuning: 데이터를 모델의 파라미터에 내재화(학습)하여 모델이 항상 그 데이터를 기반으로 출력 생성.
- RAG: 데이터를 모델에 학습시키지 않고, 요청(Query)에 따라 Vector Store에서 가장 관련성이 높은 데이터를 검색 후 이를 LLM에 입력해 응답 생성.
- Data PipeLine에서
1. LangChain이란?
llm 활용 가능한 프레임워크
https://www.samsungsds.com/kr/insights/what-is-langchain.html
2. Embedding Model이란?
Embedding Model은 데이터를 고차원 벡터 공간에 매핑해 표현하는 모델입니다.
주요 목적은 텍스트, 이미지, 코드 등의 데이터를 수치적으로 표현하여 의미적 유사성 계산을 가능하게 만드는 것입니다.
예: "사과"와 "과일"은 유사성을 가지는 벡터로 표현됨.
일반적으로 LLM , Pre-trained Models, Self-supervised Models에서 생성.
3. Vector Store란(여기서 Embedding index란?)
https://www.magicaiprompts.com/docs/rag/vector-stores-llm-performance-improvement
Vector Store의 핵심 작동 원리:
임베딩(Embedding): 비정형 데이터를 수치화된 벡터로 변환합니다.
예를 들어, 텍스트 데이터는 Word2Vec, GloVe 등의 알고리즘을 사용하여 벡터로 변환됩니다.
인덱싱(Indexing): 변환된 벡터를 효율적으로 저장하고 검색할 수 있도록 인덱스를 생성합니다.
유사도 검색: 코사인 유사도와 같은 방법을 사용하여 벡터 간 유사도를 계산하고, **가장 유사한 벡터**를 빠르게 찾아냅니다.
결과 반환: 검색된 유사 벡터에 해당하는 원본 데이터를 반환합니다.
Vector Store 활용의 핵심
원천 데이터(예: 문서, FAQ)를 Embedding Model로 임베딩하여 Vector Store에 저장.
사용자가 요청(Query)을 보내면, 이 Query를 같은 방식으로 벡터화하고, Vector Store에서 유사도를 기준으로 최적의 데이터를 검색하여 반환.
- Langserve에서
1. Retrievers란?
Retrievers는 필요한 정보를 빠르게 가져오는 데 사용됩니다.
LLM에 의해 질문이 입력되었을 때 관련 데이터를 Vector Store 또는 외부 데이터베이스에서 검색.
주요 기법:
BM25,
Dense Retrieval (예: DPR),
Hybrid Retrieval.
LangChain에서 데이터를 처리할 때 중요한 RAG 모델의 핵심 요소로 사용됩니다.
-> 자세히:
임베딩을 활용한 동적 검색의 작동 방식
질문을 임베딩으로 변환
사용자가 입력한 질의(예: "우리 제품의 환불 정책은?")를 Embedding Model로 변환하여 Query Vector 생성.
Vector Store 검색
Query Vector를 기반으로 Vector Store에 저장된 벡터들과 유사도 비교.
가장 유사한 벡터(즉, 문서나 정보)를 가져옵니다.
이 과정에서는 k-NN 알고리즘이나 FAISS, Pinecone 같은 기술을 사용합니다.
LLM의 활용
검색된 결과(예: 원천 문서)와 사용자의 질의를 결합하여 LLM이 자연스럽고 맥락에 맞는 응답을 생성합니다.
LLM은 이 과정에서 외부 문서를 참고만 할 뿐, 모델 내부에 데이터가 학습되지 않음.
2. Multi-chains에서의 Prompts (다이나믹 프롬프팅)란?
다이나믹 프롬프팅(Dynamic Prompting)은 프롬프트 내용을 유동적으로 생성하여 LLM과의 대화 또는 요청의 맥락을 향상시키는 기법입니다.
3. GPT Cache DB (Vector Store)란?
GPT Cache DB는 LLM 요청 및 응답 데이터를 벡터 형식으로 저장하여 캐싱하는 데이터베이스입니다.
주요 역할:
동일하거나 유사한 요청이 다시 들어왔을 때 빠른 응답 제공.
시간 및 리소스 절약.
Vector Store 기술 활용:
유사한 요청과 매칭하여 필요시 DB에서 바로 결과 반환.
데이터 엔트로피 및 클러스터링.
4. LLM에서의 Region Load Balancing이란?
Region Load Balancing은 LLM 서비스 요청을 다양한 지역에 걸쳐 최적화된 서버로 분산시키는 기술입니다.
주요 목표:
사용자 지연 최소화: 요청을 가장 가까운 지역 서버로 라우팅.
부하 분산: 트래픽 폭증 시 여러 지역 서버에 부담 분산.
중단 복구: 특정 지역 서버 장애 시 다른 지역 서버로 요청 전달.
글로벌 서비스를 제공하는 LLM에서 자주 사용되는 클라우드 네트워크 기술입니다.