--- 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 모델도 확인