2025. 1. 7. 15:45ㆍProjects
Korean Paper QA - Retrieval Evaluation
한국어 embeddig/retrieval evaluation용 데이터셋을 구축해보았는데요, 국내논문 QA 데이터셋이 있어서 이 데이터를 사용하여 구축하였습니다. (데이터셋 링크)
기존 국내논문 QA 데이터셋에서 "context", "qas"를 사용하여 구축하였습니다.
"context": "질의응답문장이 포함된 논문 풀텍스트",
"qas": [
{
"level": "난이도 (0:일반, 1:하, 2:상)",
"question": "질의",
"answer": {
"answer_text": "응답에 해당하는 텍스트",
"answer_start": "응답 시작 인덱스"
}
}
]
해당 데이터셋을 일부 수정하여 새로 구축하였습니다. "qas" 내부의 "question"을 "query"로 사용하였고, "context"와 "answer_start"를 이용하여 최대 길이 512의 "context"를 생성했습니다.
이 때 검색되어야 하는 문서의 앞쪽에 관련 정보들이 모여있을 가능성이 높으므로, "answer_start" index 앞에 128 character를 포함하도록 context를 설정하였습니다.
총 데이터셋 개수
level: 0,1,2 각각에 해당하는 데이터셋 274,779개씩 포함하여, 총 824,337개의 데이터셋을 구축하였습니다.
Data Sample
평가 데이터셋은 총 824,337개의 전체 데이터 셋 중에서 10,000개를 랜덤 샘플링하여 구성한 데이터셋입니다. 데이터셋 예시는 아래와 같습니다.
{
"level": 1,
"question": "SNEP를 사용하기 위해 무엇이 필요한가?",
"context": [
"데이터 기밀성과 두 노드 사이에서의 데이터 인증, 무결성 및 데이터\
freshness를 제공할 수 있는 SNEP과 데이터 브로드캐스트 시에 데이터\
인증을 제공할 수 있는 μTESLA로 이루어져 있다.\nSNEP를 사용하기\
위해서는 통신하기를 원하는 두 노드 간에 pairwise key를 공유하고\
있어야 하는데 이를 위해서 네트워크의 각 노드들은 배치 이전에 베이스\
스테이션과 각각 유일한 대칭키인 개인키를 공유하고 이를 바탕으로\
베이스 스테이션이 pairwise key 설립에 참여를 함으로서 노드 간에 키를\
설립한다. 이 대칭키에 단방향 함수(one-way function)을 취함으로\
노드 사이에 전송될 메시지에 대한 인증키를 각 노드가 스스로\
유도해낼 수 있으며 이 키들을 이용하여 노드 간에 각각의 카운터를\
교환하여 사용함으로 약한 데이터 freshness를 이룰 수 있다.\
그리고 μTESLA를 이용하면 베이스 스테이션의 브로드캐스팅을\
인증할 수 있는데 이는 시간의 지연을 두고 대칭키를 공표함으로 이루어진"
],
"answer": "통신하기를 원하는 두 노드 간에 pairwise key를 공유",
"id": 33
}
Retrieval Evaluation
고려대학교 nlpai-lab의 KURE-v1, BAAI의 bge-m3 모델과 jinaai의 jina-embeddings-v3를 original retriever로, BM25와 hybrid retrieval 방식으로 비교하였습니다. Hybrid retrieval은 BM25의 weight를 0.2로 설정하여 진행하였습니다. 평가지표는 Recall, nDCG, MRR을 사용하였으며, Time은 1만개 데이터셋 총 평가에 걸린 시간입니다.
Model Name | Recall@5(10) | nDCG@5(10) | MRR@5(10) | Time(Sec.) |
nlpai-lab/KURE-v1 | 0.977(0.987) | 0.936(0.939) | 0.922(0.923) | 29 |
KURE-v1 + BM25 | 0.838(0.894) | 0.800(0.833) | 0.800(0.813) | 219 |
BAAI/bge-m3 | 0.950(0.970) | 0.896(0.903) | 0.878(0.881) | 12 |
bge-m3 + BM25 | 0.837(0.892) | 0.807(0.830) | 0.797(0.810) | 199 |
jinaai/jina-embeddings-v3 | 0.848(0.891) | 0.764(0.778) | 0.737(0.742) | 8 |
jina-embeddings-v3 + BM25 | 0.831(0.883) | 0.795(0.818) | 0 .783(0.797) | 212 |
BM25 | 0.792(0.815) | 0.736(0.744) | 0.718(0.721) | 196 |
간단하게 평가를 진행했지만, 고려대학교에서 발표한 CachedGISTEmbedLoss와 hard negative dataset을 이용해서 학습한 KURE-v1 모델이 가장 성능이 높았습니다. 또한, Hybrid retrieval을 했을 때 jina-embeddings-v3를 제외한 모델은 오히려 성능이 낮아지는 모습을 보였습니다. Hybrid retrieval 최적화를 잘못했는지 원래 느린건지, 배치처리를 했음에도 검색 시간이 굉장히 길어지는 모습을 보였습니다.
임베딩 확인을 해보니 고려대학교에서 좋은 모델을 만들어 냈네요.. 속도가 조금 느리긴하지만 성능은 높아보이네요. Huggingface에서도 이것저것 실험한 지표 올려두었던데 궁금하신분은 여기로!
'Projects' 카테고리의 다른 글
MS MARCO Kor 한국어 데이터셋 및 임베딩 평가 (3) | 2024.12.27 |
---|