Chanhee Lee

게임 세계관 위키 LLM 챗봇 프로젝트

진행 기간: 2024.09 ~ (진행 중)

프로젝트 소개

게임 세계관을 담은 사내 위키의 내용에 대해 질문했을 때 답변할 수 있는 챗봇 만들기

문제 상황

프로젝트 목표

해결 과정

기술 스택

프로젝트 내 주요 역할

모델 성능 평가(evaluation) 프로세스 설정

우선, 평가 대상을 명확하게 하는 것이 필요했습니다. 아직 개발 초기 단계이기 때문에, 복잡한 평가 과정을 거치기보다는 빠르고 간단한 평가 프로세스를 설정하고자 했습니다. 평가 대상은 크게 모델, 데이터 두 가지 측면에서 바라볼 수 있습니다.

첫 번째로 모델 측면입니다. 모델을 변경할 때마다 성능을 평가할 필요가 있습니다. 모델의 어떤 부분이 바뀔 수 있는지 미리 모델 파라미터로 정의하고 그에 맞게 평가 기록을 남길 필요가 있습니다. 이 과정에서 설정한 모델 파라미터는 다음과 같습니다.

두 번째로 데이터 측면입니다. 어떤 질문에 대해 답변을 잘 했는지 평가하는 것이 중요합니다. 실제 서비스 과정의 질문/답변을 활용할 수 있다면 좋겠지만, RLHF를 비롯한 테스트 과정을 고안하기에는 유저의 질문과 답변의 패턴을 예상하기 쉽지 않았습니다. 그래서 offline 방식으로 고정된 데이터셋을 만들어 별도로 평가하는 쪽으로 결정했습니다. 이를 위해 위키 관리자와 함께 모델의 성능을 평가할 수 있는 ground truth 데이터셋을 준비했습니다. 초반 테스트 단계에서 챗봇이 잘 답변하지 못했던 질문들을 추려서, 각 질문에 대한 모법 답안과 출처를 기록했습니다.

RAG retriever 평가 구현

평가 프로세스를 어느 정도 고정한 후에는 실제로 모델을 평가할 수 있는 코드를 구현할 차례였습니다. 출력은 크게 RAG retriever와 최종 답변 두 가지로 나누어 생각할 수 있습니다. 이 중에서 먼저 RAG retriever 평가에 집중했습니다. 이유는 두 가지입니다.

Retriever 평가를 위해 information retrieval 지표의 종류를 공부하고 다음과 같은 지표들을 측정했습니다.