Tan Kim

klue-roberta

KLUE/RoBERTa

개요

KLUE(Korean Language Understanding Evaluation)는 한국어 자연어 처리 벤치마크 프로젝트이며, 이 프레임워크 하에서 공개된 KLUE-RoBERTa는 한국어에 특화된 사전학습 언어 모델이다.

  • 기반 아키텍처: RoBERTa (BERT의 개선 버전)
  • 학습 데이터: 뉴스, 위키피디아, 법률 문서 등 대규모 한국어 코퍼스
  • 공개처: Hugging Face — klue/roberta-base, klue/roberta-large

RoBERTa란

BERT의 학습 방식을 개선한 모델:

  • NSP(Next Sentence Prediction) 제거 → MLM(Masked Language Modeling)만 사용
  • 더 큰 배치 사이즈 + 더 많은 학습 데이터
  • 동적 마스킹(Dynamic Masking) 적용

사용 방식

from transformers import AutoTokenizer, AutoModel
 
tokenizer = AutoTokenizer.from_pretrained("klue/roberta-base")
model = AutoModel.from_pretrained("klue/roberta-base")

미세조정(Fine-tuning) 활용

태스크 방법
텍스트 분류 출력 레이어에 분류기(Classifier) 추가
유사도 계산 [CLS] 토큰 임베딩 활용
카테고리 매핑 입력 쌍(pair)으로 학습하는 Sentence-BERT 방식

이커머스 카테고리 매핑 활용

마켓 A의 카테고리와 마켓 B의 카테고리를 쌍으로 학습시켜, 새 카테고리 입력 시 유사도 상위 N개 후보를 반환하는 모델로 사용.

입력: "스마트폰 > 갤럭시"
출력: [("휴대폰 > 삼성", 0.92), ("전자기기 > 스마트폰", 0.87), ...]

필요 학습 데이터: 수동으로 매핑된 카테고리 쌍 수백~수천 건

모델 크기 비교

모델 파라미터 수 특징
roberta-small ~32M 경량, 추론 빠름
roberta-base ~111M 범용, 균형적
roberta-large ~355M 고성능, 학습 비용 높음

관련 개념

  • Fine-tuning
  • LLM