--- tags: '피어세션' --- 211027 피어세션 === - 기록자 : 다 같이 :smile_cat: - 오늘의 한마디 - "바쁘다 바빠 현대사회" 진행 해야 될 것 --- - TodoList 리마인더 질문 정리 --- 피어세션 진행 --- - Todo 공유 - 동규님: tokenizer 학습(wiki 데이터 위주로 없는 토큰 확인), roberta MLM으로 학습 예정, tokenizer 학습 시 사용할 수 있는 huggingface의 새로운 기능 공유 예정 - 석민님: 데이터 Augmentation 시도(pororo, konlpy), 데이터증강 코드 업로드 할 예정 - 은진님: early-stopping 기능 추가하여 병합됨, T5 모델 oom 문제 해결중(git generation branch에 올림), T5 인코더만 사용하여 BERT처럼 학습할 수 있는 방법 찾는 중, 네트워크 과목 공부할 예정 - 종현님: 모델 전처리 완료(수정해서 다시 하니까 EM이 1.~점정도 올라감), 위키 전처리 데이터 돌리는 중, Retrieval 코드 구현할 예정 - 태현님: 실험 목표 완료, 결국 roberta-large로? - (동규님 답변) large 모델이 확실히 성능이 잘 나온다 - 채원님: 치과 다녀옴, Curriculum Learning 논문 읽었음, Roberta 모델 학습을 어떻게 할지 고민중(LSTM, Conv Layer 결과에 효과가 없어서 레이어를 더 깊게 쌓을까 고민중), Bart를 사용해볼 예정 - 재혁님: 건강검진, elastic search docs 찾아봄, retrieval elastic search 성능 문제 해결(config 수정) - 인덱스 부분 수정해서 성능 올림 - 엘라스틱 서치 최대 성능 15개뽑았을때 90프로정도 - 목표는 95%~ - Multilingual 모델을 Monolingual 모델 성능만큼 내는 법 (논문 자체의 내용은 토크나이저가 모델 성능에 미치는 영향을 분석하기 위해 Multilingual 모델을 Monolingual 모델과 비교하며 다양한 실험을 진행한 논문) - (동규님) [논문 리뷰 유튜브 링크](https://www.youtube.com/watch?v=bV9WWRyRBt4&t=3s) - 앞으로는 best model을 남기는 기능을 구현? - Data Augmentation - 명사를 출력할 것인가, 년도(Time)를 출력할 것인가, komoran 기준으로 명사 출력하고 다른 형태소 분석기들로 그 명사를 재분석해서 2개 이상으로 나뉘지 않을 경우 고유명사가 아니라 판단 (다른 형태소 분석기가 2개 이상으로 나눠야 고유명사라 판단), 이 방식으로 판단한 명사만 정답 단어로 활용하여 질문을 생성. - 올바르지 않은 데이터는 데이터증강 후에 전처리 할 예정 - 대략 10개 중 3개 정도의 데이터가 별로 안좋은 데이터인듯. - 인간지능으로 해결,, - 시간이 엄청 오래걸림.. 5개 하는데 5분 - 답으로 쓸 명사나 시간이 여러개인 경우 drop(하나만 있는 경우만 채택) - pororo 쓰면 이상한 에러 고쳐야할 게 있음 - / 를 //로 바꿔주어야 하는 부분이 있음. - 토크나이저를 <<전처리된 train(질문, context), val(질문, context), wiki(text만)>>에서 새로 학습 - 기존 토크나이저와 얼마나 차이가 나는지 비교하고 학습 - transformer에서 간편하게 하는 기능 제공 - 새로운 토큰을 추가해서 MLM 학습을 하려고 했음 - wiki 포함하면 2분 40초 소요, 미포함의 경우 4초 - 새로운 vocab과 그냥 vocab의 차이는 11417개 - 이상한 문자들은 filtering(SH:한자 SL:외국어, UNKNOWN) - 필터링하면 만개로 줄어듬 - 이걸 바로 적용할 예정X - wiki text를 눈을 확인해봤을때 이상한 문자가 포함된 경우가 있음 - 오타인 문자들이 모여서 만들어진 결과거나 - 이상한 단어로만 구성된 위키 데이터가 있거나 - 순차적으로 수를 늘리면서 추가하여 실험할 계획 - MLM training - 1 epoch만 돌리고 성능 확인할 예정 - answer는 왜 안 넣나요? - context에 있기 때문에! - 근데 넣는게 안정적일 것 같다. - 전처리 변경 - html태그 제거를 위해 <,>안에 있는 것들을 다 없앴는데 -> <<정답>>까지 사라짐 - <,>안에 영어가 들어가있는 것만 제거하는 것으로 변경 - 원래는 개인정보이슈로 없앤다고 배웠는데, 답에 있어서 신문사, 기자이름도 다 살림 - T5, LSTM, Conv layer 붙여서 모델 써보기 - LSTM, Conv - 결과 자체는 기본 모델과 별로 없었다. (비슷하거나 조금 낮거나) - 1기 분들 자료에는 레이어를 조금 깊게 쌓았었는데 시도해볼만 한 것 같다. - mT5, keT5 - keT5는 성능이 별로..(base 모델을 써도 mt5랑 비교했을 때 EM 점수가 20점정도 낮음) - mT5는 라지 모델을 썼는데 memory 용량이 안됨. 그냥 생 모델로 평가했을때 EM 59~60정도(0.3 epoch 정도 학습..) - T5 인코더만 써서 Extractive QA 처럼 학습하는 방법 적용해볼 예정 - 그리고 BART 모델을 채원님이 사용해볼 예정 - Curriculum Learning 실험 계획 - 난이도에 대한 판단은 보통 term frequency로 판단하거나 grammer가 얼마나 복잡한지 여부로 판단 - 주로 large-scale 모델에서 많이 사용을 하고, training epoch이 적을 때나 레이블에 노이즈가 있는 경우 효과가 있다고 한다. - ColBERT 모델도 Retriever 파트에서 적용해볼 수 있는것 같은데 시간 남으면 적용해볼 수 있을듯. - Prompt-based fine tuning 개념 : fine tuning 시에 최대한 pretraining 단계와 비슷하게 학습을 진행하면 더 좋은 성능을 얻을 수 있다. (https://thegradient.pub/prompting/) 내일 까지 계획 ---