Langchain
-
RAG 성능 평가 방법
RAG는 Input>Retrieval >Generation 단계로 구성되며 정확한 성능 평가는 두가지 핵심 축으로 나뉜다Retrieval 품질 : 질문에 맞는 문서를 잘 찾았는가Generation 품질 : 문서를 기반으로 답변을 잘 생성했는가수동 평가의 한계사람이 직접 수백개의 데이터를 만드는 것은 많은 시간 및 노동 필요하다또한 도메인 복잡도가 올라갈수록 정답 문잭을 정확히 설정하기 어렵다평가 일관성도 유지하기 어렵고, 모델별 버전 비교가 어렵다RAGASRAG 품질을 자동으로 정량 평가하기 위한 프레임워크합성 데이터셋 생성 및 자동 스코어링 기능을 제공한다주요 평가 지표Context Recall : 검색된 context가 생성된 답변과 얼마나 일치하는지Context Precision : 검색 문서들 중..
2025.11.12
-
밀도가 높은 문서 요약 방법
우리가 흔히 GPT와 같은 LLM에게 “요약해줘”라고 요청하는 것은 밀도가 낮은 요약(low-density summarization)에 해당한다.이를 밀도가 높은 요약(high-density summarization)으로 만들기 위해서는 다음과 같은 접근이 필요하다. 문서요약 방법은 다음과 같다 Stuff : 전체 문서 한번에 요약문서 체인 중 가장 간단한 방법이다문서 목록을 가져와서 모두 프롬프트에 삽입한 다음 그 프롬프트를 LLM에 전달한다체인은 문서가 작고 대부분의 호출에 몇개만 전달되는 어플리케이션에 적합하다Map-Reduce : 분할 요약 후 일괄 병합문서를 작은 청크로 나누는 map 단계와 각 chunk 요약을 결합하는 reduce 단계로 구성대규모 문서를 처리할때 유용, 언어 모델의 토큰 제..
2025.11.03
-
ReRanker
두 단계 검색 시스템에서 사용되는 컴포넌트첫번째 단계로 Retriever 가 찾아낸 문서의 순위를 재조정하는 역할주로 트랜스포머 기반 모델을 사용하고 교차 인코더 구조를 채택한다작동원리retriever로부터 초기 검색을 입력으로 받음쿼리(질문)과 각 후보 문서를 쌍으로 결합해서 처리복잡한 모델을 사용하여 각 쿼리-문서 쌍의 관련성 평가평가 결과에 따라 문서들의 순위 재조정최종적으로 재순위화된 결과 출력학습 방법1. 개별 쿼리-문서 쌍의 관련성 점수 예측2. 두 문서 간의 상대적 관련성 비교3. 전체 순위 목록을 한번에 최적화 retriever와 차이점- retriever단일 인코더, 연산 복잡도가 낮음, 우선순위가 속도, 후보 문서 대규모 집합, - rerank교차 인코더, 연산 복잡도가 높음, 우선순위..
2025.10.31
-
Retriever
Retriever란RAG 시스템에서 사용자의 질문과 관련된 문서를 벡터 데이터베이스(VectorStore) 로부터 신속하고 정확하게 문서를 찾아내는 역할을 한다이 과정은 RAG 시스템의 전반적인 성능을 결정짓는 단계이므로 정확한 정보 검색 -> 응답 품질 -> 사용자 경험으로 이어지는 전체 흐름에 직접적인 영향을 미친다상황에 따라 Sparse, Dense, Ensemble, Contextual 등 다양한 방식을 적절하게 조합하여 최적화하는 것이 중요하다 Retriever의 필요성1. 정확한 정보 제공사용자의 질문과 가장 관련성 높은 문서를 검색하여 신뢰할 수 있는 컨텍스트를 기반으로 LLM이 답변을 생성하도록 유도한다검색 품질이 낮을 경우 모델이 비관련 문서를 참고하여 할루시네이션 문제가 발생할 수도 있..
2025.10.20
-
VectorDB
VectorDB란텍스트를 수치(벡터)로 저장하고 의미 기반으로 검색할 수 있는 데이터베이스VectorDB는 텍스트나 이미지를 임베딩(embedding) 모델을 통해 의미를 반영한 고차원 벡터(n-dimensional vector)로 변환해 저장이 벡터 간의 거리를 계산해 문맥적으로 유사한 문서를 찾을 수 있다.저장 공간(로컬/클라우드)에 따른 성능 차이는 직접적이지 않으며, 실제 성능은 검색 알고리즘(인덱싱 구조) 에 따라 달라진다.기존 DB와의 차이점기존 DB는 단어(키워드) 단위의 저차원 인덱스 구조로 되어 있어,단어가 같지만 문맥이 다른 경우에도 동일한 결과로 인식하는 한계가 있었다.반면 VectorDB는 텍스트를 임베딩 모델로 의미 기반 고차원 벡터로 변환하여 문맥적으로 유사한 문서를 검색할 수 ..
2025.10.13
AI 개념 공부 (ML/DL)
-
Why Language Models Hallucinate 논문 리뷰
1. Hallucination이란?모르는 질문에 대해 아는 척하는 것즉, 불확실한 상황에서 모델이 자신감 있게 오답을 생성하는 현상을 의미한다.단순히 “사실과 다른 문장”을 말하는 것이 아니라, 모델이 불확실성을 인식하지 못하고 그럴듯한 답변을 선택하는 구조적 행동이다.Hallucination의 두 가지 유형구분설명예시Intrinsic Hallucination사실적으로 틀린 내용을 생성“서울은 일본의 수도이다.”Extrinsic Hallucination사실은 아니지만 문맥상 덧붙여진 부정확한 정보“한국의 수도는 서울입니다. 인구는 약 4천만 명입니다.”2. Hallucination이 나타나는 이유“모른다”고 답했을 때보다 틀리더라도 아는 척할 때 더 높은 점수를 받는 평가 구조 때문이다.대부분의 벤치마크..
2025.10.10
-
K-NN 모델이란(K-Nearest-Neighbrs)
k 값을 설정한 후 새로운 데이터가 들어왔을때 주변에 있는 k개의 데이터들의 값을 다수결로 비교하여 클래스를 분류하는 것(+) 이해하기 쉽고 직관적이다(+) 학습과정이 없어 구현이 간단하다(-) 적절한 K개를 찾기 어렵다(-) feature가 많아지면 데이터들의 거리가 비슷하기 때문에 예측하기 어려워진다 (차원의 저주)(-) 데이터가 많아지면 예측하는데 시간이 오래걸린다 (하지만 다른 모델들에 비해서는 그렇게 오래걸리지는 않는다)
2025.08.31
-
cross validation(Holdout, K-fold)
Holdout Cross Validation이란?train,valid, test를 고정되게 나눈 다음 학습하는 방법데이터가 많거나 모델이 무거울때 해당 방법 사용(+) 학습,검증,테스트 속도가 빠름(-) train,val에 적합하게만 학습될 수 있음, 과적합 될 수 있음K-fold Cross validationk개로 데이터를 나눈 후 k-1개로 학습하고 나머지 1개로 validation 데이터로 학습함데이터가 적을때 사용(+) 편향된 데이터로 학습할 가능이 줄어듦, 더 안정적이고 신뢰도 높은 성능 평가 가(-) 학습 및 검증 속도가 느림(연산량 및 학습량이 증가하기 때문)
2025.08.29
-
Train, Val, Test 데이터셋
모델을 학습하다보면 validation이 쓰이는 경우가 많다validation이 모델 학습에 간접적으로 영향을 준다는 것은 알고 있었는데 왜 그런지 깊게 파보적은 없는거 같다. 우리는 보통 train:val: test = 6:2:2로 나눈다 1. Train모델이 직접 학습하는 데이터셋.손실 함수(loss function)를 기준으로 실제 값과 예측 값의 차이를 줄이도록 가중치 업데이트가 이뤄짐.이 데이터에 대해서는 모델이 점점 더 잘 맞추도록 최적화됨.2. Validation모델 학습에 직접적으로는 사용되지 않음 → 즉, 가중치 업데이트에 참여하지 않음.하지만 간접적으로는 학습 과정에 큰 영향을 줌:Early Stopping: 검증 손실이 일정 횟수 이상 개선되지 않으면 학습을 멈춰 과적합 방지.Hyp..
2025.08.19
-
TF-IDF, Word2Vector
TF-IDF문서내 단어의 중요도를 수치로 나타내는 기법TF-IDF=TF * IDFTF(Term Frequency) - 빈도단어의 빈도수를 나타냄문서동안 어떤 단어가 얼마나 자주 등장했는가IDF(Inverse Document Frequency) -희귀성반대로, 문서에서 특정 단어가 얼마나 희귀한지자주 등장하지만 특정 문서에서의 빈도는 낮을 수록 높은 점수예시예를 들어 AI에 관한 글이 적혀있다고 하자 AI is ~이렇게 봤을때 AI는 자주 등장하지만, 전체 문서에서는 빈도수가 적을 것이고반대로 is 는 자주 등장하고, 전체 문서에서 빈도수도 많을 것이다한국어에서의 TfidVectorizer이때 주로 TfidVectorizer을 사용하는데 한국어의 경우 형태소가 붙기 때문에 Okt와 같은 형태소 분석기를 붙..
2025.07.30