# 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에서 실행됨 기존모델 성능이기기가 쉽지 않았습니다. ![](https://i.imgur.com/o4vaUpg.png)