Coder Social home page Coder Social logo

boostcampaitech3 / level2-mrc-level2-nlp-09 Goto Github PK

View Code? Open in Web Editor NEW
6.0 0.0 6.0 40.02 MB

네이버 부스트캠프 | Open-Domain Question Answering(ODQA)

Python 6.65% Shell 0.04% Jupyter Notebook 93.32%
klue mrc natural-language-processing nlp odqa question-answering boostcamp-ai-tech

level2-mrc-level2-nlp-09's Introduction

Open-Domain Question Anwering Competition - NLP 9조 (MnM)

MRC(Machine Reading Comprehension) dataset으로 Open-Domain Question Answering을 수행하는 task입니다.

질문에 관련된 문서를 찾는 Retriever와 찾아온 문서에서 질문에 대한 정답을 찾는 Reader로 구성됩니다.

MnM Team

김태일 문찬국 이재학 하성진 한나연

Members' Role

Member Role
김태일 실험 세팅, BM25, rerank, DPR 구현 및 실험
문찬국 협업 툴 관리, 실험 세팅, KorQuAD Fine-tuning, Curriculum Learning, Hyperparameter Tuning
이재학 EDA, Scheduler 실험, 성능 검증 코드 제작, Data Length 관련 실험, Inference 후처리, Ensemble
하성진 Pre-trained 모델 실험, KorQuAD Pre-training
한나연 EDA, Pre-trained 모델 실험, Elasticsearch, NER tagging

Score

▶️ Public Leaderboard: 1st / 11 image

▶️ Private Leaderboard: 1st / 11 image

Our Solution

  • Data Processing
    • Remove punctuation marks
  • Reader Model
    • klue\roberta-large + fine-tuning on KorQuAD + fine-tuning on our own train dataset + curriculum learning
  • Retriever Model
    • BM25
    • Elasticsearch BM25
  • Ensemble
    • Soft voting
    • Hard voting
    • Post processing

Dataset

아래는 제공하는 데이터셋의 분포를 보여줍니다.

data에 대한 argument 는 arguments.pyDataTrainingArguments 에서 확인 가능합니다.

데이터 분포

Evalutaion Metric

EM(Exact Match)와 F1 score 두 개의 평가지표를 사용하지만, EM기준으로 리더보드 등수가 반영되고, F1은 참고용으로만 활용됩니다.

Exact Match: 모델의 예측과 실제 답이 정확하게 일치할 때만 점수가 주어지고, 띄어쓰기나 문장부호를 제외한 후 정답에 대해서만 일치하는지 확인합니다. 또한 답이 하나가 아닐 수 있는데, 이런 경우는 하나라도 일치하면 정답으로 간주합니다.

EM

F1 Score: EM과 다르게 부분 점수를 제공합니다. 예를 들어, 정답은 "Barack Obama"지만 예측이 "Obama"일 때, EM의 경우 0점을 받겠지만 F1 Score는 겹치는 단어도 있는 것을 고려해 부분 점수를 받을 수 있습니다.

F1

Usage

1) Installation

  • 저장소를 clone한 후에 필요한 파이썬 패키지를 설치합니다.
  • Elasticsearch 설치와 사용법은 여기를 참고해주세요.
git clone https://github.com/boostcampaitech3/level2-mrc-level2-nlp-09.git
cd level2-mrc-level2-nlp-09
bash ./install/install_requirements.sh

2) Train model

arguments 에 대한 세팅을 직접하고 싶다면 arguments.py 에서 확인 가능합니다.

python train.py \
--output_dir ./models/train_dataset \
--learning_rate 3e-5 \
--per_device_train_batch_size 16 \
--eval_steps 500 \
--do_train \
--save_steps 500 \
--logging_steps 500 \
--do_eval \
--evaluation_strategy "steps" \
--num_train_epochs 3 

3) Inference

  • retrieval 과 mrc 모델의 학습이 완료되면 inference.py 를 이용해 odqa 를 진행해 predictions.json 이라는 파일이 생성됩니다.

  • 학습한 모델의 test_dataset에 대한 결과를 제출하기 위해선 추론(--do_predict)만 진행하면 됩니다.

  • 학습한 모델이 train_dataset 대해서 ODQA 성능이 어떻게 나오는지 알고 싶다면 평가(--do_eval)를 진행하면 됩니다.

  • wandb 가 로그인 되어있다면 자동으로 결과가 wandb 에 저장됩니다. 아니면 단순히 출력됩니다.

python inference.py \
--output_dir ./outputs/test_dataset/ \
--dataset_name ../data/test_dataset/ \
--model_name_or_path "Nonegom/roberta_finetune_twice" \
--index_name "origin-wiki" \
--top_k_retrieval 40 \
--do_predict

Code Structure

level2-mrc-level2-nlp-09
├── EDA
│   ├── EDA.ipynb
│   ├── EDA_tokenizer.ipynb
├── assets
├── elasticsearch
├── install
├── utils
│   ├── SOTA_comparison.ipynb
│   ├── ensemble_hardvoting.ipynb
│   ├── ensemble_softvoting.ipynb
│   ├── post_process.ipynb
├── arguments.py
├── elastic_setting.py
├── inference.py
├── retrieval.py
├── setting.json
├── sweep.yaml
├── train.py
├── train_sweep.py
├── trainer_qa.py
└── utils_qa.py

Git Commit Rule

- feat      : 새로운 기능 추가
- debug     : 버그 수정
- docs      : 문서 수정
- style     : 코드 formatting, 세미콜론(;) 누락, 코드 변경이 없는 경우
- refactor  : 코드 리팩토링
- test      : 테스트 코드, 리팩토링 테스트 코드 추가
- chore     : 빌드 업무 수정, 패키지 매니저 수정
- exp       : 실험 진행
- merge     : 코드 합칠 경우
- anno      : 주석 작업
- etc       : 기타

level2-mrc-level2-nlp-09's People

Contributors

detailtales avatar hannayeoniee avatar nonegom avatar wogkr810 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

level2-mrc-level2-nlp-09's Issues

구현) Korquad 데이터 활용 모델 Pretrain 학습

수행이유: 기존에 허깅페이스에 공개된 Finetuned 모델에서의 성능 향상이 없고, 오히려 저하된다는 판단 아래, Pretrained 데이터로써 활용하게 된다면, 어떤 효과가 있을지 검증해보고자 하였다.

수행 목표: 기존 roberta-large모델에서 추가 MLM 학습을 위한 코드를 작성하고, Korquad 데이터로 추가 학습하여 모델의 성능을 확인해보고자 한다.

실험) max_answer_length 변경

Task 수행이유 : EDA를 통해 나온 밑의 이미지에서, train 및 valid에서 answer length의 분포는 제3사분위 수 까지는 균등하지만, 이후의 이상치에서는 큰 차이를 보인다. 이를 arguments.py 에서의 max_answer_length 인자를 변경함으로써 실험을 진행하려 한다.

목표 : 기존의 default 값은 30이므로, 파라미터 값을 증가시키면서 이상치에 해당하는 answer data들을 보존하며 성능을 증대시키려 한다.

eda

조사) ANNA (SQuAD_SOTA) 논문 조사

Task 수행 이유: SOTA모델 중 명사구 기반 접근방법으로, 우리가 해보지 않은 새로운 접근방법에 대해 다루고 있었기 때문에 해보면 좋을 것 같다는 생각이 들었다.

목표: 우선 어떤 원리로 구동이 되는지 이해하고, 다음으로 정해진 기간 내에 수행이 가능한지 확인을 하고자 한다.

구현) BM-25 (Sparse Embedding)

구현 목적: 정답이 포함된 passage들을 더 잘 찾기 위해 bm25 알고리즘을 적용해보려고한다.

bm25: 주어진 쿼리에 대해 문서와의 연관성을 평가하는 랭킹 함수로 사용되는 알고리즘으로, TF-IDF 계열의 검색 알고리즘 중 SOTA 인 것으로 알려져 있다.

image

|D|/avgdl : 문서의 길이가 평균 대비 문서의 길이에 대한 항

  • 해당 문서가 평균적인 문서 길이에 비해 얼마나 긴지를 고려함. (길면 낮은 점수 부여)
  • 열 페이지가 넘는 문서에서 어떤 단어가 한 번 언급되는 것과, 짧은 문장에서 단어가 한 번 언급되는 것 중에서는 두 번째 경우가 더 의미 있다고 보는 것.

b: b가 커지면 문서의 길이가 평균 대비 문서의 길이에 대한 항(|D|/avgdl)의 중요도가 커짐

k1 : 하나의 쿼리 토큰이 문서 점수에 줄 수 있는 영향을 제한
tf가 k1 보다 작을때는 점수를 빠르게 증가시키다가 커지면 점수에 주는 영향이 점점 줄어들음

image

구현 방법: rank_bm25 모듈을 사용하여 구현하려한다.

rank_bm25

실험) bm25+알고리즘

  • 실험 동기: BM25 기반의 다양한 변형 알고리즘이 존재하고 각 변형 알고리즘들은 BM25의 단점을 극복하고자 나온 알고리즘들이라 성능이 높아질 것이라 예상하고 실험을 진행
  • 실험 목적: 조사를 통한 BM25 단점 파악 및 성능 좋은 Retrieval 찾기

EDA) 데이터 EDA

Task 수행이유: 이번 Task에는 Label이 없기는 하지만, 텍스트 데이터의 길이나 수, 결측치 등을 확인할 필요가 있다.

목표: EDA를 통해 데이터의 형태, 문장길이, 데이터 수, 결측치 등을 파악하고자 한다.

실험) Wiki Retrieval 데이터 수정

Task 수행이유 : EDA를 통해 나온 밑의 이미지에서 통계값을 보면, 중복데이터들이 존재하고 실제 문서를 찾을 때 도움이 되지 않는 문서들이 보였다. 따라서 , 이를 수정함으로써 실험을 진행하려 한다.

목표 : 우선, 중복을 제거하여 성능을 실험 및 올바르지않은 형식을 갖고있는 데이터들을 제거하여 성능을 비교한 후 알고리즘을 작성하여 json파일을 수정 후에 실험하여 성능을 증대시키려 한다.

wiki
wikiawk

실험) Validation 기준 Metric 선정

Task 수행이유: Validation Metric 선정을 위해 Loss, EM, F1 중 어떤 것을 중점적으로 봐야할 지 기준 선정이 필요

목표: 동일한 모델, 하이퍼파라미터 세팅 값에서 그래프 별로 Chckpoint 중 EM이 높은 경우, F1이 높은 경우, Loss가 낮은 경우를 제출해보고 성능을 비교하고자 한다.

실험) Ensemble

Task 수행이유 : 구현한 Ensemble 모델을 통하여 다양한 실험을 하고 기록하여 변화 추이를 살펴본다.

목표 : 팀원분들께서 진행해 주신 다양한 실험의 결과들을 토대로 앙상블을 진행하여 모델의 일반성을 높이고 대회 성능 지표를 향상시키려 한다.

실험) KorQuad pretrained 모델 활용

Task 수행이유: 외부 데이터를 활용하여 성능 향상을 기대해볼 수 있을 것으로 예상된다. 한국어 MRC Task에서 가장 많이 사용되고, 현 학습 데이터와 가장 유사한 형태를 가진 KorQuad v.1.0을 사용해보고자 한다.

목표: 관련 Pretrained 모델을 탐색하고, 실제 적용할 수 있는지를 확인한 후, 적용하여 기존 roberta-large 모델 성능과 비교 해본다

실험) 배치 사이즈 변경

  • 실험의 목적:

    • 현 모델의 최적의 배치 사이즈를 구하기
    • 각 배치 사이즈에 따라 학습 시간이 얼마만큼 차이 나는지 확인해보기
  • 실험 세팅 값:

    • 아래 shell script에 표기되지 않은 파라미터들은 HuggingFace Training Argument와 베이스라인 코드의 argment.py 파라미터의 디폴트 값을 따름
    • 아래 콜아웃은 실행에 사용한 shell script 파일을 가져온 것
    python [train.py](http://train.py/) \
    --output_dir ./models/train_dataset_b16 \
    --overwrite_output_dir \
    --model_name_or_path "klue/bert-base" \
    --do_train \
    --learning_rate 3e-5 \
    --per_device_train_batch_size 16\
    --eval_steps 200\
    --save_steps 200\
    --logging_steps 200 \
    --do_eval \
    --report_to "wandb" \
    --evaluation_strategy "steps" \
    --save_total_limit 5 \
    --num_train_epochs 3
    
    
  • 실험 방법:

    • shell script의 per_device_train_batch_size argument를 32, 16, 8, 4, 2 로 주어서 실험을 진행
  • 특이사항:

    • 32 배치 기준 3 epoch 학습 시 총 step이 700이라 logging_steps가 200이면 3번 밖에 logging이 안되서 32 배치에만 logging, save, eval steps를 100으로 주었다.
    • 제공 받은 베이스라인 코드 상의 문제로 eval/exact_match와 eval/f1 이 각각 train/exact_match와 train/f1에 로깅되었고 eval loss는 로깅되지 않았다. 추후 베이스 라인 코드 개선 이후 추가 실험 보고가 요망된다.
    • 대회 첫 주라 테스크에 대한 이해 베이스라인 코드 분석이 이루어지지 않은 상태에서 최소한의 정보라도 얻기 위해 시작한 실험임을 인지해주었음 한다.

실험) Learning rate & Scheduler

Task 수행이유 : 저번RE대회 때 하이퍼파라미터 및 lr scheduler에 따른 성능차이를 보았다. lr scheudler의 경우 epoch에 따른 lr의 감소세를 조절하기 위해 도입했지만, 학습 양상에서의 차이가 보여서 해당 Task에 맞는 하이퍼 파라미터의 값들에 대한 튜닝을 진행하려 한다.

목표 : 학습 그래프를 살펴보며 하이퍼 파라미터 튜닝을 통해 성능향상을 목표로 한다.

구현) inference 후처리 작업(조사처리)

Task 수행이유 : 이번 대회의 주요 metric은 EM(두번째 이미지)이고, 인퍼런스 후 나온 json파일에 대한 정답을 살펴보면 완전하지 않은 명사구 또는 조사가 포함된 것을 밑의 예시(첫번째 이미지)와 같이 살펴 볼 수 있다. 따라서, 이를 처리하여 완벽한 답변을 얻고자 한다.

목표: 후처리 작업을 통하여 답변을 더욱 정확하게 만들고, 대회의 score인 EM 향상을 도모하려 한다.

postprocess

metric

실험) Korquad 데이터 추가 학습

Task 수행이유: 이번에 pretrained된 모델을 찾던 다른 팀원분께서 다음 이미지를 공유해주셨다.
image
SDS에서 korquad 데이터에 대해 성능을 높이기 위해서 총 2번의 Fine-tuning을 진행해서 성능을 올렸다고 한다. 이번 프로젝트에서 다른 데이터를 사용해도 되기에, 이와 같은 형태로 학습을 진행해보고자 한다.

목표: 위의 학습을 벤치마킹해서 1차 Fine-Tuning을 KorQuAD로 해보고, 2차 Fine-tuning을 현재 Training데이터로 해보고자 한다.

구현) Ensemble

Task 수행이유 : 이전의 KLUE대회 때 다양한 실험을 통해 나온 결과물들을 앙상블하여 일반화된 결과를 도출했다. 3주간의 이번 대회 동안 Reader모델과 Retrieval 모델을 다루며 다양한 결과값을 예측했고, 이러한 다양한 결과들을 앙상블하여 모델의 일반화를 더하려 한다.

목표 : 다양한 시도를 통해 나온 결과들을 앙상블을 통해 일반화를 더하고 대회 스코어를 높이려 한다.

실험) top_k_retrieval 실험

Task 수행이유: 하이퍼파라미터 세팅을 진행하던 중 top_k_retrieval의 수를 (기존 10에서) 늘려주면 모델이 찾을 수 있는 context의 수가 높아지기 때문에 성능이 높아질 것이라고 생각함.

목표: top_k_retrieval변수를 변경해서 실험을 진행하고 [10, 20, 40] 리더보드에 제출해 성능차이를 확인해보고자 한다.

구현) retriever 성능 검증 수단

구현 목적: 새로운 retrieval와 기존 retrieval의 정확한 비교를 위해 성능 비교를 수치화해서 표현하고자 했다.

구현 방법:
평가 데이터 셋: ground truth passage 값이 있는 train dataset을 평가 데이터 셋으로 사용
(EDA를 통해 train dataset의 context들은 모두 wikipedia_documents에 있는 것을 확인할 수 있었다.)
평가 메트릭 = retrieval가 찾아온 passage들 중에 정답이 포함되어 있는 경우/ 전체 query 수

구현 방법의 한계: 해당 정답 passage를 높은 점수로 가져왔는지 낮은 점수로 가져왔는지 측정하기 힘들다.

구현) 협업 툴 세팅

Task 수행 이유: 프로젝트 협업 과정에서 실험 기록을 공유하기 위해서 협업 툴 세팅이 필요하다.

목표: 기존 Wandb를 사용했지만, 기업에서 자주 사용하는 툴이라고 하는 MLFlow를 활용해서 실험 기록 및 하이퍼 파라미터 튜닝 등을 진행하고자 한다.

수정-->MLFlow를 사용하려고 했지만, MLFlow를 새로 구현하고 사용하는 것이 현실적으로 시간이 더 소요될 것으로 생각되어 wandb를 사용하기로 함.

구현) 커리큘럼 러닝

Task수행이유: 지난 RE task에서 커리큘럼 러닝의 효과를 알게 되었고 이번 테스크에서도 데이터에 따른 난이도가 있을 것이라 생각을 했다. 따라서 커리큘럼 러닝을 통해서 난이도별로 학습시키면 성능의 향상을 기대해 볼 수 있을 것 같아 task를 수행하고자 한다.

목표: 커리큘럼 러닝을 구현함으로써 Reader모델의 성능 향상

구현) 하이퍼파라미터 튜닝 구현

Task 수행이유: 이전 프로젝트에서는 하이퍼파라미터 튜닝을 후반에 하다보니 많은 실험을 할 수 없었다. 또한, 모델마다 최적의 하이퍼파라미터 세팅이 다르기 때문에, 모델이 변경될 때마다 매번 세팅을 변경했어야 했다. 그래서 이번 프로젝트에서는 먼저 하이퍼파라미터 튜닝을 할 수 있게 구현하고자 한다.

목표: 하이퍼파라미터 튜닝을 위한 코드 구현

구현) Elasticsearch 적용

task 수행 이유: Elasticsearch는 Apache Lucene 기반의 Java 오픈소스 분산 검색 엔진이다. Inverted index를 사용해 문서 검색 속도가 굉장히 빠르고 검색 성능을 향상시킨다고 알려져 있다.

목표: Elasticsearch를 사용해 retrieve 속도를 향상시키고 다양한 유사도 방법을 적용해보고자 한다.

조사) DPR 논문 조사

Task 수행 이유: Sparse Embedding이 아닌 새로운 Dense Embedding을 적용시키기 위한 방법 조사

목표: Dense Passage Retrieval에 대한 이해와 모델 구현 가능성 확인

실험) 하이퍼파라미터 선정

Task 수행이유: 하이퍼파라미터 튜닝을 하기 위해서는 모델에 영향을 주는 핵심 인자들을 우선적으로 추려놓는다면 실험의 효율성을 증대시킬 수 있을 것이라고 생각한다.

목표: 논문 등을 참고해 하이퍼 파라미터 튜닝 수행 시 변경할 변수들을 조사하고자 한다. 기존 Learningrate, Epoch, Batchsize 및 새로운 인자들을 찾고 주로 사용하는 세팅 값에 대한 정보를 얻고자 한다.

구현) Dense Passage Retrieval

Task 수행이유: Dense Passage Retrieval 논문에서 기존 BM-25보다 더 좋은 성능을 보인다고 했으며, 우리가 수행해보고자 하는 Task(DenseEmbedding, ReRanking, FAISS, Ensemble(?))가 모두 접목된 모델이라고 생각함.
Sparse embedding의 경우 동음의의어 같은 의미는 유사하나 단어가 다르면 낮은 가중치를 할당하는 것에 문제가 있을 수 있다고 판단했다. 그 단점을 보안하기 위해 유사한 의미는 유사한 위치에 임베딩 시키는 Dense embedding을 적용하고 논문에 나와있는 rerank를 통해 기존 sparse retrieval과 결합하여 정답 passage를 더 잘 찾는 retrieval을 찾으려 함

목표: Dense Passage Retrieval 구현을 통한 새로운 Embedding방법으로 Retrieval 성능향상 도모

실험) max_seq_length & doc_stride 변경

Task 수행이유 : EDA를 통해 나온 밑의 이미지에서, max_answer_length와 마찬가지로 train 및 valid에서 context_length의 분포는 제 3사분위 수 까지는 균등하지만 ,이후의 이상치에서는 큰 차이를 보인다. 이를 arguments.py 에서의 max_seq_length 및 doc_stride 인자를 변경함으로써 실험을 진행하려 한다.

목표 : 베이스라인 코드에서 max_seq_length & doc_stride의 조화를 통해 문서들의 임베딩이 달라지지만, 오피스아워 때 말씀해주셨던 max_seq_length & doc_stride의 적정비율(4:1, 3:1)을 보존하며 변경함으로써 실험을 진행하고 성능을 증대시키려 한다.

eda

실험) Elasticsearch 설정값 변경

수행 이유 및 목표: retriever에 Elasticsearch를 적용해 성능을 향상시켰다. 인덱스 setting값, topk 등 변경할 수 있는 요소가 많아 최적 값을 찾고자 한다.

실험) multilingual pre-trained 모델 활용

Task 수행이유: 한국어 데이터셋으로 pre-trained된 모델은 BERT, RoBERTa로 한정적인 반면, 영어 데이터셋으로 pre-trained된 모델은 그 종류가 훨씬 다양하다. multilingual 모델이 한국어 모델과 비슷한 성능을 보인다면 다양한 모델을 사용할 수 있을 것으로 기대된다.

목표: 단일 언어 모델과 어떤 차이가 있는지 multilingual 모델을 조사하고, 적용해 성능을 확인한다.

구현) Validation Tracking 세팅

Task 수행이유: 베이스라인 코드에서는 Validation 데이터가 나눠져는 있지만, Train과 동일하게 진행되지 않아서 Validation 확인이 안된다. 따라서 Validation의 loss 등을 확인하기 위해 Train과
Validation이 동시에 진행되도록 해야 한다.

목표: Train과 Validation이 동시에 진행될 수 있도록 세팅하고자 한다. 그리고 협업 툴을 활용함에 있어서 Tracking이 될 수 있게 만들고자 한다.

실험) n-gram TFIDF 성능 비교

  • 실험 동기:
    • BM25 retrieval 구현 후 unigram뿐만 아니라 순서를 고려하는 bigram을 동시에 쓰면 성능이 오를 것이라 예상하여 구현하려고 함
    • 그전에 정말로 bigram으로 성능이 좋아지나? 그렇다면 trigram으로는 성능이 안좋아지나? 하는 생각이 들어 실험을 진행하게 됨
  • 실험 목적:
    • retrieval에서 ngram의 영향을 측정하고자함

구현) KorQuad 데이터 MLM Pretrain 학습

Task 수행 이유: korquad 데이터를 활용하기 위한 방법의 일환으로, KorQuad 위키 데이터에 대해 추가적인 MLM 학습을 진행하여 성능을 끌어올려보고자함

목적: Transformers 라이브러리 기반 MLM 학습 코드를 구현하고, 모델을 생성하여 실제 성능을 확인해본다

정리) SOTA모델_Reader(MRC)

Task 수행이유: Reader모델 기준으로 리더보드에서 SOTA모델이 갱신되고 있지만, 별도의 기록이 없어 정리의 필요를 느낌

목표: 지금까지 나온 SOTA모델들의 리더보드 값과 모델 생성 과정에 대해서 정리. 또한, 모델 생성과정 중 있었던 이슈에 대한 정리

구현) SOTA의 예측과 진행한 실험의 예측 비교

Task 수행 이유 : 쏟아져 나오는 실험과 인퍼런스 파일 속에서 대회는 마무리 되어가고 있다. 제출 기회는 한정적이고 시간도 한정적이기에, 제출 당시의 SOTA 예측파일과 자신의 예측을 비교하는 ipynb 파일을 구현하려 한다.

목표 : 구현한 ipynb파일에는 SOTA와 자신이 예측한 답을 비교하여 차이나는 답변의 개수, 문장들을 살펴볼 수 있다.

조사) ODQA Task SOTA 모델

Task 수행이유: 익숙하지 않은 ODQA task이므로 SOTA모델을 기준으로 탐색을 하면 수월할 것이라고 생각된다.

목표: ODQA Task에 사용되는 Retrieval 방법과 MRC모델들을 검색해서 정리한다.

실험) 한국어 데이터셋 pretrained 모델 활용

Task 수행이유: 비교 실험을 통해 monolingual PrLM이 multilingual PrLM보다 성능이 좋은 것을 확인했다. 한국어로 학습된 다른 모델을 조사해보고자 한다.

목표: 한국어로 학습된 pretrained 모델을 조사하고, 본 task에 적용해 현재 SOTA인 klue\roberta-large와 성능을 비교해본다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.