---
# System prepended metadata

title: 211018 피어세션
tags: [피어세션]

---

---
tags: '피어세션'
---

211018 피어세션
===

- 기록자 : 
- 오늘의 한마디
    - "눈 관리도 틈틈이 하자"

진행 해야 될 것
---

- TodoList 리마인더

질문 정리
---
- tokenizer는 max-length에 맞게 뒷부분이 짤리는가?
    - tokenizer를 pre-trained로 불러 올 때, token화는 하는 데 max-length 만큼만 모델에 전달됨
- Generation의 형태로 답을 도출하는 경우 평가를 어떻게 하는가?
    - Text2Text로 input과 output이 나오기 때문에 class로 나누어서 확률로 나오는 것이 아닌 다른 방식

피어세션 진행
---
- Todo 점검
    - 재혁님: 운동, 8강 학습정리, 하이브리드 ODQA 방법론 찾아봄, 엘라스틱 서치 공부
    - 석민님: 8강 완료, 코드 리펙토링, 트레이너에 하이드라 적용, 추론 방식 최적화 예정, 하이퍼라이미터 레이튠 적용, TF-IDF/BM25 클래스 구현
    - 종현님: augmentation 논문 (negative sampling 적용 방법 생각), 저번주 강의, 스페셜 미션이랑 8강 
    - 태현님: 8강 강의랑 스페셜 미션, 커리큘럼 러닝 방법론 조사, 알고리즘 대비 중, 리팩토링 코드 이해하기 쉽도록 설명 추가 예정.
    - 채원님: 8강 강의랑 스페셜 미션, 방법론 조사 (span-BERT 모델), 
    - 은진님: 8강 강의, 중간고사 시험 공부, 생성 기반 MRC 모델 조사(T5, BART)
    - 동규님: train/valid 데이터 셋 분리, 데이터 어그멘테이션 논문, 코드 구현
- Elastic Search
    - 데이터를 어떻게 넣을 것인지 알려주고, DB에서 Elastic search를 통해서 원하는 부분만 추출해서 가져오는 느낌..?
    - kibana : 대시보드를 표시해주는 툴
- BM25
    - "!pip install rank_bm25"
    - BM25: corpus tokenizing -> BM25 api 적용해서 손쉽게 사용가능
    - token별 빈도수 볼 수 있음
    - query와 similarity score가 높은 상위 n개의 document 선택 가능
    - sparse 방식은 token 카운트 기반이라 그런지 질문에 있는 단어가 들어있는 지문을 잘 뽑아내지만 그 지문에 정답 단어가 없을 수 있다. -> 그래서 하이브리드로 써야하는가 봄.
    - Dense에서 negative sampling을 BM25로 가져오는 방식을 이용하자
- QA 성능 향상 아이디어
    - faiss 이용 -> 얼마나 중요한 span을 많이 잡아주는가 성능에 중요한 영향을 미칠듯.
    - 성능이 제일 좋을 것으로 예상되는 후보
        - T5
        - BART
    - BART의 경우 한국어 모델이 있지만, T5의 경우 다국어 모델이기 때문에 조금 변형해서 사용해야 함
- 코드 분석
    - baseline에서 DPR 평가 부분이 없다
    - DPR 모델 중에 huggingface 3버전에 사용할 수 있는 pre-trained 모델이 있다
    - Sparse 를 고유명사는 높은점수, 일반명사는 보통점수, 동사는 정규화후 보통점수, 조사나 형용사 부사등은 낮은점수 및 0점
- 역할분담
    - 재혁님: 리트리버 ~~왈왈~~
    - 석민님: 할거를 찾자
    - 동규님, 종현님: negative sampling 더 명확하게, Augmentation 방법론 조사 및 적용
    - 채원님: 추출 모델 조사
    - 은진님: 리더파트
    - 태현님: 프리트레인 모델 생성


내일 까지 계획
---
- Retrieval과 Augmentation을 같이 방법을 계획해서 구현 하면 좋지 않을까..?
    - Augmentation을 할 때, negative sampling을 합쳐서 만들면 좋은데
    - 그 시점에서 BM25 또는 Elastic serach를 사용해서 negative sampling을 합치면 좋을 것 같다
- 3개의 팀으로 나눠서 진행
    - Data Augmentation을 전체적으로 정리해서 관리
    - Retrieval을 해서 DPR을 써서 학습
    - Extraction 모델로 실험결과 확인 후 Generation 모델도 확인