네이버 부스트캠프 5기 12~13주차 주간 회고(KlUE TC 대회)

김태민·2023년 6월 9일
1

boostcamp13week

목록 보기
3/3
post-thumbnail
  1. 프로젝트 개요
프로젝트 주제Topic Classification(TC) 모델 구조의 변경 없이 Data-Centric 관점으로 데이터의 수정으로만 성능을 향상하여 텍스트의 주제를 분류하는 태스크
프로젝트 구현내용

1. 모델 구조의 변경 없이 Data-Centric 관점으로 데이터의 수정으로만 성능을 향상

2. 뉴스 기사의 제목을 입력으로 하여 해당 기사가 어떤 카테고리에 속하는지를 예측하는 AI 모델 구축

3. 평가지표인 macro F1 점수 향상을 목표로 EDA에 기반한 데이터 전처리, 증강을 진행

개발 환경

GPU: Tesla V100 서버 4개 (RAM32G) /GeForce RTX 4090 로컬 (RAM 24GB)

개발 Tool: PyCharm, Jupyter notebook, VS Code [서버 SSH연결], Colab Pro +, wandb

협업 환경

Github Repository: 베이스라인 코드 및 데이터 EDA, 전처리, 증강 코드 공유 및 버전 관리HuggingFace: 데이터셋 공유 및 버전 관리

Notion: KLUE 프로젝트 페이지를 통한 역할분담, 대회 협업 관련 Ground Rule 설정, 아이디어 브레인 스토밍, 대회관련 회의 내용 기록

SLACK, Zoom: 실시간 대면/비대면 회의

  1. 프로젝트 팀 구성 및 역할
이름**역할
강민재EDA기반 베이스라인 수정, Back Translation을 활용한 데이터 증강, 모델 output 분석을 통한 레이블 에러 탐지
김태민G2P 증강 데이터 탐지 및 원본 복원 모델 개발 및 배포, 토픽에 해당하는 뉴스 제목 생성하는 모델 개발 및 배포
김주원EDA(중복 값, 결측치, 레이블별 길이 분포), CleanLab 활용 노이즈 필터링, Confusion Matrix 활용 Error Analysis
윤상원평가 metric 분석, 크롤링을 통한 G2P 클렌징 및 데이터 증강, 베이스라인 코드 커스터마이징
신혁준EDA(중복 값, 레이블별 분포), 동일 문장 복제 및 외부 데이터(AI Hub 뉴스 데이터)를 활용한 데이터 증강
  1. 프로젝트 수행 내용
  2. EDA(Exploratory Data Analysis)
  • 데이터 전처리 및 증강 이전 주어진 데이터의 feature를 파악하여 모델 성능 향상을 위한 방향성 확립을 위해 진행
  • 데이터 중복 및 결측치 존재 여부 확인
  • 데이터의 레이블별 분포 파악을 통한 편향 발생 가능 여부 판단
  • 전체 데이터 및 레이블 별 데이터의 문장 길이, 토크나이징 이후 문장 길이 분포 분석
  • Heuristic 데이터 분석을 통해 기본적인 EDA에서 파악하지 못한 데이터 특성 및 편향 확인
  1. 데이터 전처리
  2. 레이블 노이즈 필터링
  • Confident Learning에 근거하여 노이즈를 필터링하면 모델 성능이 향상될 것으로 판단하여 CleanLab을 이용한 데이터 필터링 수행
  • 학습 데이터를 5등분 후, 각각을 학습한 모델 5개의 output을 비교하여 레이블 노이즈를 탐지
    • 즉, 각 모델이 annotator와 같은 역할을 수행하여 output voting 결과 threshold를 넘기지 못하면

노이즈로 분류

  1. G2P 증강 데이터 필터링
  • G2P 데이터를 탐지 및 원본으로 복원하는 모델을 개발하여 데이터 필터링 수행
    • g2pk 라이브러리로 생성한 (원본, G2P) 데이터쌍을 사용하여 모델을 학습하였음
  • 주어진 데이터의 url 컬럼을 활용하여 웹 크롤링을 통해 기사 원문의 제목과 대조하여 G2P 증강 데이터를 탐지하고 복원
  1. 데이터 증강

모든 데이터 증강은 더 많은 개수의 데이터 확보와 더불어, 레이블의 균일 분포를 만족하는 방향으로 수행되었음.

  • 외부 데이터셋 활용
    • AI Hub, 국립국어원 말뭉치를 활용하여 EDA에 기반하여 데이터 개수가 부족한 레이블의 데이터 증강
  • Papago API를 사용하여 Back Translation을 통한 데이터 증강 수행
  • 웹 크롤링으로 원본 데이터와 출처가 같은 데이터 추가 확보**
  • 주어진 토픽에 맞는 뉴스 제목을 생성하는 모델을 개발하여 데이터 증강
    • T5 모델을 대회에서 사용하는 학습 데이터로 파인튜닝하였음
  1. Hugging Face 배포 모델
Hugging Face 배포명학습 데이터모델 기능
kfkas/t5-large-korean-P2G모두의 말뭉치-신문 말뭉치 (50만Dataset)G2P 생성 Text를 P2G 변환 모델
kfkas/RoBERTa-large-Detection-P2G모두의 말뭉치-신문 말뭉치 (5만Dataset)G2P 생성text를 이진 분류하는 모델
kfkas/t5-large-korean-news-title-klue-ynatKLUE-YNAT (45679Dataset)주제를 입력 시 뉴스 제목 생성

NLP Topic Classification NLP-08조 팀 회고

회고

이번대회는 아쉽게도 문제점도 많았고 부스트캠프 내에서도 처음하는 대회다 보니 문제점이 많았다. 실질적으로 대회 기간이 적고 할 수 있었는게 적었으며 최종적으로는 원본 순수 데이터가 가장높은 결과를 뽑아내는 신기함을 보였다. 하지만 생성모델을 훈련하고 각종 모델을 배포했었던 점에서 개인적으로 많은 실력 향상이 있어서 나름 생각보다 의미있는 대회였다.

profile
한성대학교 네이버 AI Tech 5기 NLP

1개의 댓글

comment-user-thumbnail
2023년 6월 26일

아 그 문제있어서 잠깐 정지된 그 대회인가용?

답글 달기