NLP | LLM

LangSmith을 활용해 RAG 평가하기

삐롱K 2025. 8. 21. 16:17
728x90
반응형

1️⃣ 평가용 데이터셋 구축하기

테스트 데이터셋을 생성하는 방법은 RAGAS에서 생성하거나, 직접 입력해서 추가할 수 있습니다.
  • 과정
    • question-retrieval 평가: 검색한 결과(retrieval)과 질문(question)과 관련성이 있는지 평가
    • question-answer 평가: LLM이 생성한 답변(answer)이 질문과 얼마나 관련성이 있는지 평가
    • retrieval-answer 평가: LLM이 생성한 답변이 검색된 결과 안에서 답변하였는지 평가. 특히, 할루시네이션 확인에 필요

ground truth: 평가나 학습을 위해 사람이 정해 놓은 기준 정답. 이를 기준으로 검색이나 응답 결과의 정확도를 판단할 수 있습니다.

 

2️⃣ LLM-as-a-judge로 평가하기

LLM을 평가자로 활용하는 방식입니다.
  • question-answer 평가자
  • context-answer 평가자
    • LLM 체인의 정확성을 판단하는데 참조한 정보(context)를 사용하는 평가자
  • criteria 평가자
    • 참조 레이블(정답 답변)이 없거나 얻기 힘든 경우 사용하여 사용자가 지정한 기준에 따라 평가할 수 있다.
      • conciseness: 답변이 간결하고 간단한지 평가
      • relevance: 답변이 질문과 관련이 있는지 평가
      • correctness: 답변이 사실에 기반하여 정확한지 평가
      • coherence: 답변이 일관성이 있는지 평가
      • harmfulness: 답변이 해롭거나 유해한지 평가
      • maliciousness: 답변이 악의적이거나 악화시키는지 평가
      • helpfulness: 답변이 실질적으로 도움이 되는지 평가
      • controversiality: 답변이 논란이 되는지 평가
      • misogyny: 답변이 여성을 비하하는지 평가
      • criminality: 답변이 범죄를 조장하는지 평가
  • 임베딩 거리 기반 평가자
    • LLM이 생성한 답변을 평가할 때 정답을 기준으로 얼마나 유사한지 판단

 

3️⃣ Groundedness 평가자

답변이 주어진 문맥에 기반하여 정확한지 평가하여, 할루시네이션 여부를 평가하는데 활용

 

4️⃣ 사용자 정의 평가자

프롬프트 방식으로 만든 평가자

 

5️⃣  휴리스틱 방식

불충분한 시간이나 정보로 인해 완벽하게 합리적인 판단을 할 수 없을 때 규칙에 따라 점수를 매겨 빠르고 간편하게 사용할 수 있는 추론 방법.
  • Rouge(Recall-Oriented Understudy for Gisting Evalution): 자동 요약 및 기계 번역의 품질을 평가하는데 사용됨. n-gram 중첩을 기반으로 생성된 텍스트가 참조 텍스트의 중요한 키워드를 얼마나 포함하는지 측정
    *n-gram 중첩: 텍스트를 일정 길이의 연속된 단위로 나누는 기법, 형태소 분석과 결합하여 문장의 의미를 더 세밀하게 분석
  • BLUE(Bilingual Evaluation Understudy): 주로 기계 번역 평가에 사용. 생성된 텍스트가 참조 텍스트와 얼마나 유사한지 측정. n-gram precision를 기반으로 계산
    *n-gram precision: 생성된 텍스트의 n-gram 중 참조 텍스트에 등장하는 n-gram의 비율로, 텍스트 생성의 정확도를 평가
  • METEOR(Metric for Evaluation of Translation with Explicit Ordering): 기계 번역의 품질을 평가하기 위해 개발된 평가 지표, 단어 매칭, 정밀도와 재현율, 순서 패널티, 가중치 부여를 통해 번역의 유사성을 분석 → 더 유연한 평가, 계산 복잡, 시간 오래 걸림.
    • 생성된 문장에서 참조 문장과 매칭될 수 있는 모든 단어를 찾아 정밀도와 재현율을 계산
    • 두 값을 조화평균으로 결합해 F-mean 구함.
    • 단어들의 순서까지 고려하여 일치하는 단어들이 연속되지 않은 경우 순서 패널티 부과
    • 매칭의 유형(정확히 동일한 매칭, 어간, 동의어, 의역)에 따라 다른 가중치를 부여하여 좀 더 정교하게 평가
  • SemScore: 단어 매칭을 넘어 텍스트와 참조 텍스트 간의 의미적 유사성을 많이 본다. BERT나 RoBERTa와 같은 모델을 사용하여 문장 임베딩을 생성
  • 한글 형태소 분석기: Kiwipiepy

 

6️⃣ 요약 평가자

실험의 평가 결과를 요약

 

7️⃣ RAGAS 를 활용한 평가

RAGAS(Retrieval Augmented Generation Assessment): LLM을 사용하여 합성 테스트 데이터셋을 만든다.

질문-답변을 생성하는 과정에서 좋은 질문과 나쁜 질문을 구분하여 좋은 질문만 선별해서 이에 대한 답변을 만드는 정제 작업을 거침.

답변이 할루시네이션이 있는지 검증한 뒤 질문-답변 샘플을 만들어간다. 

또한, 추론하기, 조건에 따라 답변하기, 여러 문맥에서 필요한 내용을 가져오기 등 특정한 목적을 지정할 수 있어 더 정교한 데이터셋을 만들 수 있음.

728x90
반응형