---
# System prepended metadata

title: 11.5 피어 세션
tags: [peer-session]

---

# 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)