# 11.5 피어 세션
###### tags: `peer-session`
## 송민재
- dpr + bm25
- data_args.bm25 == True일때만 실행
- 특정 경로의 encoder를 읽음
- 함수형태로 bm25처럼 켜고 끌 수 있게 되어있음
- 현재 메인함수와 충돌일어나지 않음
## 홍석진
- elastic search inference.py 파일 따로 추가
- inference.py 사용법과 동일하게 사용
- python (이부분만 변경) [elastic_inference.py]
- --output_dir ./outputs/test_dataset/ --dataset_name ../data/test_dataset/ --model_name_or_path ./models/train_dataset/ --do_predict
- version==7.6.0
- Okt, Komoran, Mecab, Hannanum, Kkma를 통해 context tokenizing을 시도해 봤으나 pororo의 성능이 가장 좋음
- 내부에 topk의 score값도 저장할지를 정하는 함수 생성
- stopwords는 따로 util폴더에 저장되어 있음
- 사용시에는 현재 경로에 맞게 설정해 '/opt/ml/elasticsearch-7.9.2/bin/elasticsearch/user_dic" 디렉토리에 stopword.txt를 저장 필요
- data preprocess
- wiki 데이터 중복 문제를 제거하기 위해 \n \n\n 등의 전처리가 제대로 되어있지 않은 data를 retrieval 코드에서 제거하고 파일 생성
- 기존 코드 내에서 기본 파일을 사용하거나, 파일을 생성하려면 context_path의 값을 변경해주시면 됩니다.
- 56737 -> 55
## 나요한
- DPR Negative 클래스
- dense_retrieval.py
- inference_dense.py
- tfidf / bm25방법을 바꿔가면서 사용가능
- 기존 파일 건드리지 않는 방식
- luke(x)
- 시도해봤지만 적용 불가
- dapt(x)
- cuda error..
## 백재형
- dpr 코드
- class로 구현되어 있음.
- 기존의 spare retriever과 동일한 함수로 구현되어 있어서 그냥 inference.py에 한줄 추가 하면 됨
- factory pattern으로 하면 예쁠 것 같음
- 리팩토링한다면 retrieval_dataloader, retrieval_train, dense_retrieval.py이렇게 나눌 수 있음.
- lstm
- bert_lstm.py에서 custom model 만든다.
- train.py에 train.py에 train.py에 한줄 추가하면 됨.
- argument.py로 적용하면 간-단
- bm25
- bm25L
- bm25Plus
- 기존 방법과 완전히 동일하게 구현되어 있음.
- merge만 하면 기존 방법과 완전히 동일.
- bm25.py만 새로 추가
- wandb table을 넣게 된다면 바꿔야 하는 파일
- util_qa
- post processing
- trian...
- ㅏ실 넣으면 번거오룸...굳이...
## 한진
- data augment 코드
- preprocess.py 내부에 구현되어 있음
## 정찬미
- wiki preprocessing 코드
- preprocess.py 내부에 구현되어 있음
- arguments.py 의 DataTrainingArguments 클래스에 사용여부를 정할 수 있는 use_wiki_preprocessing이 추가되어 있음
- use_wiki_preprocessing=True인 경우 retrieval.py에서 실행됨
기존모델 성능이기기가 쉽지 않았습니다.
