주말동안 한 것

  • 리더보드 가려주는 크롬 익스텐션을 만들었다.
    • 슬랙에 공유를 하긴 했는데 일단 두 분 정도 사용하시는 것 같다.
    • 아무도 안 쓸 줄 알았는데 완전 럭키비키잖아~
  • 멘토님 피드백은… 아직 못 고쳤다.
    • 흑백요리사가 생각보다 너무 재밌었다…
    • 다음 주말을 이용해보는 걸로!

오늘 한 일

  • MRC 훈련용 데이터셋에서 사용되는 Context들이 wikipedia_documents.json에 실제로 존재하는지 확인했다.
    • 결론부터 말하자면, 모든 context가 wikipedia_documents.json에 존재했다.
    • 그걸 찾다가 corpus에 중복 문서가 약 3000개 정도 존재하는 것을 확인했다.
      • 지우는 작업이 필요할 것 같았는데, faiss 만드는 과정에서 다 날려버린다고 한다.
      • 따로 지우는 작업을 추가할 필요는 없어 보인다.
    • corpus에 존재하는 문서가 60000개 정도 되는 거에 비해 실제 훈련용 데이터셋은 대충 4000개라, 전체의 10%도 되지 않아서 데이터 증강이 필요해 보인다.
  • streamlit을 이용한 훈련용 데이터셋 EDA도 진행해봤다.
    • 코드의 흐름을 역순으로 제어하고 싶다면, st.empty()를 저장하는 placeholder를 이용하는 것도 좋은 방법이다.
      • 저러면 나중에 placeholder.empty()로 다 날려버리고 새로운 글을 쓰거나 할 수 있다.
    • 훈련용 데이터셋을 조금 둘러보다 보니 여러가지 사실을 알게 되었다.
      • 애니메이션 캐릭터 관련 문서도 포함되어 있었다. (…) 이걸 아웃라이어로 봐야하려나…
      • 그리고 잘 읽어보면 정답이 틀린 문서도 확인할 수 있었다.
        • ex. 처음 맥락에서는 참인데, 더 읽어보면 상황이 바뀌는 경우가 있었다.
      • 이걸로 Dense Retrieval을 학습하기엔 ODQA에 적합하지 않은 질문도 있는 것 같아서 이런 거는 쳐내야 할 것 같다.
  • release를 이용한 프로젝트 버전 관리를 시작했다.
    • H 모 캠퍼님이 먼저 제안주셔서 (처음에는 branch로 하려다가) release를 이용해보기로 했다.
    • 장점
      • 롤백이 가능하니 마음의 안식처가 생긴 느낌
      • 버전별로 변경사항을 잘 관리하여 패치노트 같은 느낌으로 보기 편해졌다.

다음에 할 일

  • token 단위로 분석해봐도 좋을 것 같다.
    • 일본어나 한자어가 포함되어있는 문서가 많은데, 이런 건 한글 모델에서는 엥간하면 UNK 토큰일 것 같기도 하고?
  • streamlit 페이지에 기능 추가
    • 토큰 단위 분석 + context나 question 외에도 다른 정보 expander로 볼 수 있도록?
    • retrieval도 테스트해볼 수 있으면 좋을 것 같기도 하고?]
  • 팀원 모두가 지금 retrieval 쪽에 열중하고 있는 것 같다.
    • 나도 해보고 싶긴 한데, L 모 캠퍼님이 Dense Retrieval을 완성한 이후부터 손봐야 할 것 같다.
    • 나 지금 sparse 코드도 잘 안 읽어봐서 그것도 좀 읽어봐야 할 것 같기도 하고… 할 것 많네…
  • 일단 퍼포먼스가 어느정도 보장된 모델을 찾고 싶기도 하고?
    • 저번 프로젝트에 snunlp/KR-ELECTRA-discriminator같은 국밥 모델을 찾아두고 추가적인 실험을 돌리면 좋을 것 같은데?
    • 전에 wandb 로깅을 비롯한, 실험 관리 체계도 중요할 것 같다.