김태은/ AI · ML Research Intern
- 연구 과정
- No Language Left Behind (NLLB), Meta의 사전 학습 번역 모델
- 데이터 수집 및 전처리
- 파인튜닝 과정
- 결과 및 분석
- GEC 모델 성능 분석을 위한 LLM-as-Judge 프레임워크
- 한계점과 향후 방향
이 아티클에서는 메타의 NLLB 번역 모델을 기반으로 한국어 문법 오류를 교정하는 KoGEC 모델의 개발 과정과 성능을 소개합니다. (Taeeun Kim 외, 2024)
연구 과정
다음은 KoGEC를 구축하는 데 따른 일반적인 연구 과정입니다:
No Language Left Behind (NLLB), Meta의 사전 학습 번역 모델
이번 연구의 목표는 컴팩트하고 특화된 모델이 한국어 문법 오류 교정(GEC) 작업을 효과적으로 수행할 수 있는 가능성을 탐구하는 것이었습니다. 계산 자원의 부담을 최소화하면서 성능의 품질을 최대화하는 데 중점을 두었고, 이를 위해 Meta의 No Language Left Behind (NLLB) 모델을 실험의 기반으로 선택했습니다.
NLLB 모델은 200개 이상의 언어를 지원하도록 설계된 다국어 번역 모델로, 저자원 언어를 포함한 기계 번역을 민주화하려는 Meta의 프로젝트입니다. 현재 NLLB는 600M, 1.3B, 3.3B, 54B 등 네 가지 크기로 제공됩니다.
- 문법 전문성
- NLLB는 번역 모델로서 복잡한 문법 구조를 해석하고 처리하는 데 탁월한 능력을 보여주며, 정교한 구문을 다룰 수 있는 가능성을 제공합니다.
- SOTA 성능
- 동급의 오픈 소스 번역 모델 중 NLLB는 상위에 위치한 몇 안 되는 우수 모델 중 하나입니다.
- 효율성
- NLLB의 600M 및 3.3B 파라미터 모델은 GEC 작업에서 컴팩트한 모델의 잠재력을 탐구하려는 연구 목표에 적합했습니다.
데이터 수집 및 전처리
Corpus | Train | Test |
모두의 말뭉치 : 맞춤법 교정 말뭉치 2021 | 393k | 4k |
인터페이스별 고빈도 오류 교정 데이터 | 127k | 1k |
Total | 520k | 5k |
- 본 연구에서는 NIKL 맞춤법 교정 코퍼스와 AI Hub의 인터페이스별 고빈도 오류 교정 데이터를 사용하였으며, 총 52만 개의 학습 샘플로 구성되었습니다.
- 이 데이터는 소셜 미디어에서의 네이티브 대화를 바탕으로 추출되었으며, 네이티브 수준의 문법 오류 교정을 모델링하려는 목표에 부합한다고 판단했습니다.
- 소셜 미디어 대화의 특성상, 데이터는 학습에 적합하도록 전처리 과정을 거쳐야 했습니다. 데이터셋에 풍부하게 포함된 이모지와 중복된 영어 텍스트를 제거하여 정제 작업을 완료했습니다.
파인튜닝 과정
한국어 문법 오류 교정에 NLLB 모델을 적응시키기 위해, 학습 과정에 특수 토큰을 도입했습니다. 구체적으로, 원문(교정 전 텍스트)을 표시하기 위해 <ko_Hang>
토큰을, 교정된 텍스트를 표시하기 위해 <co_Hang>
토큰을 사용했습니다.
- 이러한 토큰을 통해 원문과 교정 텍스트를 명시적으로 구분하여 번역 과제로 간주하도록 모델을 유도했으며, 오류와 교정을 명확히 구분하는 능력을 향상시켰습니다.
학습 세부 사항
- 모델 변형: 600M 및 3.3B 파라미터
- 옵티마이저: Adafactor
- 하드웨어: NVIDIA A100 GPU 한 대
- 학습 시간:
- 600M: 3시간
- 3.3B: 10시간
이번 실험에서는 두 개의 파인튜닝 모델이 생성되었습니다:
결과 및 분석
파인튜닝한 두 모델은 최신 언어 모델(LLM)인 GPT-4o 및 HCX-3과 비교되었습니다. GPT-4o는 범용적 성능으로 잘 알려져 있으며, HCX-3는 한국어 작업에 특화된 모델로서 사전 학습 데이터의 상당 부분이 한국어에 중점을 둔 것이 특징입니다.
GPT-4o와 HCX-3 추론 과정에서는 few-shot 및 zero-shot 프롬프트 방식을 테스트했습니다.
Zero-Shot Prompt:
Few-Shot Prompt:
- “당신은 틀린 한국어 문장을 고쳐주는 표준어 맞춤법 교정기입니다. 주어진 문장을 표준어와 맞춤법 규정에 맞게 고치되, 윤문을 바꾸지 않도록 최소한의 교정을 하세요. 만약 문장의 맞춤법과 띄어쓰기가 틀리지 않고 표준어라면 문장 그대로 출력하세요. 교정된 문장 외 아무것도 출력하지 마세요.”
- “You are a standard spelling corrector that corrects incorrect Korean sentences. Edit the given sentence to comply with standard language and spelling regulations, but make minimal corrections to avoid changing the sentences. If the sentence has no spelling or spacing errors and is in standard language, print the sentence as is. Do not print anything other than the corrected sentences.”
zero-shot은 위에서 설명한 간단한 지침을 기반으로 이루어졌습니다. 반면, few-shot은 공식 한국어 문법 및 맞춤법 규정에 따라 신중히 구성된 포괄적인 한국어 문법 가이드라인을 활용했습니다. 각 규칙에는 여러 예시가 포함되어 있었습니다. 두 가지 방법을 테스트한 결과, 성능 차이는 최소한에 그쳤으며, 최종 평가에서는 입력 토큰 수를 최소화하기 위해 zero-shot을 채택했습니다.
문법 오류 교정(GEC) 성능을 평가하기 위해 모델 출력과 참조 텍스트를 비교하는 표준 지표인 BLEU score를 사용했습니다.
Model | BLEU Score |
NLLB-ko-gec-3.3B | 85.73 |
NLLB-ko-gec-600M | 58.15 |
GPT-4 | 75.03 |
HCX-3 | 71.24 |
일치 데이터 비율은 정확히 참조 데이터와 일치하는 출력을 보여주며, 이는 완벽하게 정확한 문법 교정을 나타냅니다.
GEC 모델 성능 분석을 위한 LLM-as-Judge 프레임워크
모델 성능을 이해하기 위해, ‘LLM as Judge’ 프레임워크를 활용하여 각 모델이 만든 오류 유형을 분석했습니다. 아래는 해당 파이프라인의 다이어그램입니다.
- 먼저 KoGEC, GPT-4, HCX-3 등 세 가지 GEC 모델이 동일한 문장을 처리하여 각각 교정된 데이터를 생성했습니다.
- 오류 유형을 정의하기 위해 Yoon의 이전 연구를 참고하여 일반적인 한국어 문법 오류 유형에 대한 분류 체계를 마련했습니다. 이 체계는 띄어쓰기, 구두점 오류, 동사 활용 오류 등 11개의 고유 오류 유형을 식별합니다.
- 오류 유형 예시:
- 참조 데이터를 기반으로 하는 평가 기준을 마련하기 위해 reference-guided grading 방식을 사용했습니다. 테스트 데이터의 참조값을 심판(GPT-4o)에게 제공하여 명확한 평가 기준을 설정하고 편향을 최소화했습니다.
WS: Word Spacing, violating Korean spacing rules.
Incorrect: 오징어 볶음 시키자.
Correct: 오징어볶음 시키자.
translation: Let’s order stirfried squid.
PUNCT: Punctuation errors, incorrect use of periods, commas, etc.
Incorrect: 진짜 한번 가 봐 되게 예뻐..
Correct: 진짜 한번 가 봐. 되게 예뻐.
translation: You should really go see it. It’s so pretty.
- 참조 데이터와 오류 분류를 바탕으로, GPT-4o가 세 모델의 불일치 출력을 일관되고 객관적으로 평가하도록 구조화된 프롬프트를 설계했습니다. GPT-4o는 참조 데이터를 기반으로 각 모델의 출력을 미리 정의된 오류 카테고리로 분류했습니다.
결과
이 분석을 통해, KoGEC는 GPT-4 및 HCX-3와 비교해 더욱 균형 잡힌 오류 프로파일을 보여준다는 결론을 내렸습니다. 다른 모델들과 달리 KoGEC는 특정 오류 유형에 집중된 경향을 보이지 않았으며, 다양한 문법 문제를 효과적으로 처리할 수 있는 능력을 나타냈습니다.
한계점과 향후 방향
본 연구에 사용한 KoGEC 모델은 Sionic AI의 HuggingFace 페이지에 오픈소스로 공개했습니다. 또한, KoGEC는 GoodHangul 웹사이트를 통해 누구나 접근 가능하며, 3.3B 모델이 실시간 문법 오류 교정 서비스를 제공합니다.
데모 페이지는 https://goodhangul.sionic.ai/ 에서 확인하실 수 있습니다.
참고문헌
Taeeun Kim, Semin Jeong, Youngsook Song, KoGEC : Korean Grammatical Error Correction with Pre-trained Translation Models, PACLIC38(2024), Japan.