진행 기간: 24년 9월 10일 ~ 24년 9월 26일
데이터셋:
- 학습 데이터셋 9,324개
- 검증 데이터셋 550개
- 평가 데이터는 1,100개
평가 데이터의 50%는 Public 점수 계산에 활용되어 실시간 리더보드에 표기가 되고, 남은 50%는 Private 결과 계산에 활용되었습니다.
부스트캠프AI Tech 7기의 Level1 과정으로 NLP 기초 대회입니다. 주제는 ‘문장 간 유사도 측정’으로, 두 문장이 얼마나 유사한지를 수치화하는 자연어처리 N21 태스크인 의미 유사도 판별(Semantic Text Similarity, 이하 STS)을 진행했습니다. 학습 데이터에 주어진 문장 두 개와 유사도 점수를 기반으로 평가 데이터의 두 문장 간의 유사도를 0과 5 사이의 값으로 예측하는 모델을 구축하였습니다.
📦project1
┣ 📂config
┃ ┗ 📜config.yaml
┣ 📂data
┣ 📂model
┃ ┗ 📜model.py
┣ 📂output
┣ 📂tb_logs
┣ 📂utils
┃ ┣ 📂ensemble
┃ ┣ 📂preprocess
┣ 📜README.md
┣ 📜inference.py
┣ 📜requirements.txt
┗ 📜train.py
|
|
|
|
|
|
이름 | 역할 |
---|---|
김민서 | 베이스라인 코드 구현, 텐서보드 기능 구현, 허깅페이스 내 모델 Search, 모델링 및 튜닝(klue/roberta-large , klue/roberta-base , team-lucid/deberta-v3-base-korean , deliciouscat/kf-deberta-base-cross-sts , upskyy/kf-deberta-multitask , kakaobank/kf-deberta-base , klue/bert-base ), 앙상블(soft voting , weighted voting ) |
김수진 | Task에 적합한 모델 Search, 데이터 증강(swap ), 데이터 분할, 모델링 및 튜닝(snunlp/KR-ELECTRA-discriminator ), 앙상블(weighted voting ) |
양가연 | 데이터 전처리(hanspell , soynlp ), 데이터 증강(copied_sentence , swap , synonym replacement , undersampling , masking ), 모델링 및 튜닝(kykim/electra-kor-base , snunlp/KR-ELECTRA-discriminator , klue/roberta-large , WandB ), 앙상블(weighted voting ) |
이예서 | EDA(Label 분포 , Source 분포 , Sentence length 분석 ), 데이터 전처리(특수문자 제거 , 초성 대체 , 띄어쓰기/맞춤법 교정 ), 데이터 증강(sentence swap , sentence copy , korEDA(SR, RI, RS) , K-TACC(BERT_RMR, ADVERB) ), 앙상블(weighted voting ) |
홍성민 | 모델링 및 튜닝(kykim/KR-ELECTRA-Base ), 앙상블(weighted voting ), 베이스라인 코드 수정과 기능 추가 |
홍성재 | 하이퍼 파라미터 튜닝(BS , Epoch , LR ), 모델 최적화 및 앙상블(Koelectra-base-v3-discriminator , roberta-small , bert-base-multilingual-cased / Soft voting ) |
- torch==2.1.0
- transformers==4.35.2
- pytorch-lightning==2.1.2
- Setting
$ pip install -r requirements.txt
- Training
$ python3 train.py
- Inference
$ python3 inference.py