1. Abstract
- Goal of the Competition
- Text Summarization 일상대화 요약 경진대회. 주어진 데이터를 활용하여 대화의 요약 생성.
- Timeline
- March 08, 2024 - Start Date
- March 06, 2024 - Mentoring1 (Before Competition)
- March 15, 2024 - Mentoring2
- March 20, 2024 - Mentoring3
- March 20, 2024 - Final submission deadline
- Description of the Data
- 모든 데이터는 .csv 형식으로 제공되고 있으며, 각각의 데이터 건수는 다음과 같습니다.
dev는 validation 데이터이며, test는 public, hidden-test는 private test 데이터입니다.
- train : 12457
- dev : 499
- test : 250
- hidden-test : 249 - 총 6526가지의 대화 주제.
- 일상 대화는 236개의 대화, 쇼핑은 188개, 기업 운영, 밴드의 경우는 1개의 대화만 존재한다.
- 성능 지표는 ROUGE-1-F1, 2-F1, L-F1의 합을 사용한다.
- 이때, ROUGE란 Recall-Oriented Understudy for Gisting Evaluation의 약자로 자동 요약이나 기계번역에서 사용되는 평가지표다.
- 경진대회 데이터는 AI Stages가 제공했다.
- 모든 데이터는 .csv 형식으로 제공되고 있으며, 각각의 데이터 건수는 다음과 같습니다.
- Description of the Work
- 총 5명의 조원이 각자 EDA, 리서치, 피쳐엔지니어링, 모델링 후 결과 공유
- 첫 주차는 오전 10시에 회의, 두번째 주차에는 오후 5시에 하루에 2번씩 회의
- 얻은 인사이트, 구현한 코드, 모은 데이터, 리서치, 의문점 등 논의
- 여러차례 멘토링을 통해 의문점이나 추가적인 사항에 대한 정보 공유
2. Process : Competition Model
- AI Stages에서 제공한 서버 이용해서 학습
- 자동 문서 요약에는 문서 이해 MRC 능력과 Generation인 생성 능력이 모두 필요하기 때문에 Encoder-Decoder 모델을 사용했다. KoBART를 사용했다. KoT5의 경우 시도했으나 튜닝하는 과정에서 완성하지 못했다. 아래의 Figure 1과 2는 huggingface에서 찾은 한국어 자동 요약 모델들이다.
- EasyDataAugmentation (EDA) 적용
RandomDeletion (RD)
RandomInsertion (RI)
SynonymReplacement (SR)
RandomSwap (RS) - AEasierDataAugmentation (AEDA) 적용
- EDA와 AEDA 모두 koeda 사용
- wandb를 활용한 모델의 성능 지표 모니터링 적용 경험을 쌓았다. 이로써 Tensorboard와 wandb 모두를 사용해보았다.
3. Process : Issues
- Issues.
- 부족한 데이터의 수 문제
- NLP 문제를 푸는 것 자체에 대해 익숙하지 않았다.
- KoT5의 적용 문제
- Solutions to Imporve Your Project Performance.
- koeda를 통한 EDA과 AEDA를 적용해서 데이터 증강을 시도했다.
- EDA는 성능의 향상이 별로 없었고, AEDA는 적용 시간이 오래 걸려서 사용하지 않았다.
- 주어진 강의와 baseline 코드를 적용하면서 익숙해졌다.
- 직접 대회를 만든 분과 멘토링할 시간이 있었는데 베이스라인인 KoBART 자체가 성능이 높아서 향상이 쉽지 않다고 피드백을 들었다.
- KoBART의 baseline을 기초로 한 코드로 학습 중에 Batch Size 하나 차이나는 문제가 발생했다. BART와는 다른 T5의 Encoder input과 Decoder input 파트를 더 분석해봐야한다.
4. Role
- EDA, 리서치, 피쳐 엔지니어링, 모델링
5. Results
리더보드
- 8th, Public Score: 41.9246
- 7th, Final(Public + Private) Score: 39.1958
6. Conclusion and Retrospective
- NLP 강의들이 내용이 좋기에 이를 복습하고 이를 기반으로 페이퍼들을 직접 보고 huggingface 등을 통해서 구현을 더 해보겠다 다짐했다.
- Wandb를 처음 사용해봤는데 굉장히 유용한 툴이라 앞으로도 자주 사용할 듯 싶다.
- 특히 EDA의 적용에 있어서 교착어인 한국어와 고립어인 영어는 형태소 분석이나 토크나이제이션 파트에서 다르게 적용해야 데이터 증강이나 성능의 향상에 있어서 유의미한 결과를 낼 수 있다. 영어의 경우 형용사나 부사를 빼도 의미가 전달되는 경우가 있으나 한국어의 경우 조사 하나가 바뀌면 의미가 크게 바뀐다.
- Self-Attention, Encoder 구조, Decoder 구조 등 NLP 모델에 대한 이해와 더불어서 한국어가 지닌 고유의 언어학적 지식도 알아야 유의미한 결과를 낼 수 있으니 이에 유의해야겠다고 반성했다.
- LLM 같은 거대한 모델은 개인이나 작은 규모의 기업, 연구집단에서는 파운데이션 모델을 건드리기 보다는 데이터에 집중해야 한다. 이는 곧 언어 자체에 대한 지식과, 그 언어가 사용되는 분야에 대한 이해, 예를 들어 전문문서 번역의 경우 의학이면 의학, 건설이면 건설분야에 대한 도메인 지식이 중요하다고 판단할 수 있다.
- Backtranslation도 사용해봐야겠다. 특히 ROGUE 지표를 만족해야하므로 정답인 summary 보다는 dialogue에 증강을 적용하는게 좋아 보인다.
- Supervised Fine-Tuning Trainer랑 LORA도 사용해봐야겠다.
References:
https://github.com/toriving/KoEDA
'패스트캠퍼스&업스테이지 AI Lab 1기' 카테고리의 다른 글
IR RAG 경진대회 후기 - 패스트캠퍼스&업스테이지 AI Lab 1기 (0) | 2024.05.07 |
---|---|
CV 경진대회 후기 - 패스트캠퍼스&업스테이지 AI Lab 1기 (0) | 2024.02.20 |
ML 경진대회 후기 - 패스트캠퍼스&업스테이지 AI Lab 1기 (0) | 2024.01.30 |