[프로젝트 회고] ODQA

ivor·2022년 6월 16일
0

부스트캠프 AI TECH

목록 보기
17/18

어제자(22.06.17)로 부스트캠프 AI Tech 3기 과정이 모두 종료되었다.
과정 회고는 추후 작성하도록 하고 밀린 프로젝트를 하려고 한다. (사실 프로젝트가 끝난 후 했어야 하는데 부캠 과정은 프로젝트가 끝나고 바로 프로젝트가 시작되는 구조였어서 그러지 못했다. 그냥 내가 게으른 탓인가)


프로젝트

개요

부캠 과정에서 정의된 ODQA(Open Domain Question Answering)는 다음과 같다.

  • QA(Question Answering)는 다양한 종류의 질문에 대답하는 인공지능을 만드는 연구이다.
  • 다양한 QA 시스템 중 ODQA(Open Domain Question Answering)는 주어지는 지문이 따로 존재하지 않고 사전에 구축되어 있는 Knowledge Resource에서 질문에 대답할 수 있는 문서를 찾는 과정이 추가된다.

사실 팀 내부에서 ODQA의 정의에 대해 의견이 분분했다. 팀원 중 한분은 면접을 보고 왔는데 거기서 '어쨋든 Knowledge Resource를 따로 구축했으니까 완전히 Open된 Domain은 아니지 않나요?' 라는 질문을 받았다고 했고, 이에 대해 다른 팀원 분은 'ODQA는 마치 Open-book 시험과 같다. question과 question에 대해 답을 찾아낼 수 있는 context를 동시에 입력받아서 답을 찾아내는 것이 아니라 두꺼운 책 한권을 옆에 낀 상태에서 question만 들어오면 답을 찾아내는 작업이다.' 라는 의견을 내셨다.

어쨋든 ODQA 프로젝트는 후자의 정의를 따라 진행되었다. 그냥 질문을 받으면 사전에 구축된 Knowledge Base(Wikipedia 문서 뭉치)에 따라 답을 찾아내는 과정이었다.


상세 정보

Github

사용한 데이터셋, 모델 등은 깃허브에 상세히 올려두었다.


결과

public test set에서는 EM 63.3300으로 7등이었다.
하지만 private test set에서는 EM 64.4400으로 3등을 차지했다.
(public test set, private test set의 차이는 기밀이었기에 아직도 알지 못한다. 다만 다른 대회에 비춰보면 public test set은 private test set의 일부분이지 않을까?)


회고

  • 외부 데이터셋이 처음으로 허용된 대회였는데 주어진 데이터셋과 유사한 데이터셋을 찾아 데이터 증강을 수행한 게 성능 향상의 주요 요인 중 하나였다고 생각한다.
    • 다만 이 과정에서 KorQuAD v1.0에서 좋은 성능을 낸 모델들을 도입하지 못한 점은 아쉬웠다. baseline code가 huggingface의 모델을 사용했기 때문에 huggingface에 존재하는 모델들만 사용하려 했기 때문인데 그냥 코드를 조금 수정하고 벤치마크 상위권 모델들을 customizing해서 사용했다면 더 좋은 결과를 얻지 않았을까 생각한다.
  • 대회였기에 Knowledge Resource를 수정하지 못했지만 만약 ODQA 시스템을 만든다고 한다면 Knowledge Resource를 확장할 것 같다. Knowledge Resource가 가진 데이터의 양이 1차적으로 중요하다고 생각한다. '포워드는 어떤 역할이야?'라는 질문이 들어왔다고 가정해보자. 당장 포워드라는 역할군이 존재하는 스포츠만 해도 축구, 농구, 하키 등 다양하다. 만약 Knowledge Resource에 축구에 대한 데이터만 있다면 축구에서의 포워드 정보를 답으로 내놓을 것이다. 하지만 이는 올바른 질의응답이라고 볼 수 없다.
  • 이전 KLUE-RE(Relation Extraction) 대회에서부터 RoBERTa는 항상 무난하고 좋은 성능을 보여주었다.
  • RoBERTa 논문을 참고하여 Batch Size를 조정했는데 가장 큰 성능 향상(약 10 정도의 EM 상승)을 보여주었다.
    • 메인 모델 논문, DAPT와 TAPT 등의 일반적인 방법론 논문 등을 참조하는 게 도움이 많이 되었다.
  • 앙상블은 확실히 일반화 성능 향상에 도움이 된다.
    • Hard Voting, Soft Voting을 모두 실험하고 Soft Voting을 적용했다.
    • 스태킹 등 다른 앙상블 기법을 도입해보지 못한 점은 아쉬움으로 남는다.
profile
BEST? BETTER!

0개의 댓글