Spaces:
No application file
No application file
File size: 5,464 Bytes
7d28c00 4520922 7d28c00 d564c9a 6244161 7d28c00 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
---
license: mit
title: 한국어 텍스트 비난독화 AI 모델 | Korean Text De-obfuscation Fine-tuning
sdk: streamlit
emoji: 📚
colorFrom: purple
colorTo: indigo
sdk_version: 1.45.1
---
# 🔤 한국어 텍스트 비난독화 AI 모델 | Korean Text De-obfuscation Fine-tuning
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://huggingface.co/)
**숭실대학교 지능형시스템 과목**의 **91veMe4Plus 팀**에서 설계하고 개발한 **난독화된 한국어 문자열의 원본을 추론하는 언어모델 파인튜닝** 연구 프로젝트입니다.
## 🎯 프로젝트 개요
**난독화된 한국어 텍스트를 원본으로 복원**하는 언어모델 파인튜닝 프로젝트입니다. **Naver HyperCLOVAX-SEED-Text-Instruct-0.5B** 모델을 **LoRA (Low-Rank Adaptation)**로 파인튜닝하여 왜곡되거나 변형된 한국어 문자열에서 원본 텍스트를 정확히 추론할 수 있는 AI 모델을 개발했습니다.
### 🔤 난독화 복원 예시
| 난독화된 텍스트 | 원본 텍스트 |
|----------------|--------------|
| ㅇㅏㄴㄴㅕㅇ하세요 | 안녕하세요 |
| ㅎㅏㅇㅏㄱㅣㅁㅏㄹ | 하늘이 맑음 |
| ㅁㅏㄹㅎㅏㅁㅅㅣㄴㄴㅏ | 말할 수 있는 나 |
### 핵심 성과
- **BLEU 점수**: 7-10배 향상 (0.0029 → 0.0233)
- **ROUGE-1**: 2배 향상 (0.138 → 0.279)
- **문자 정확도**: 2배 향상 (0.151 → 0.332)
- **추론 시간**: 50% 단축 (6.78s → 3.03s)
## 🏫 학술 정보
- **대학교**: 숭실대학교 (Soongsil University)
- **과목**: 지능형시스템 (Intelligent Systems)
- **팀명**: 91veMe4Plus
- **프로젝트**: 한국어 텍스트 비난독화 AI 모델 성능 최적화 연구
## 📊 모델 성능
| 모델 | BLEU | ROUGE-1 | ROUGE-2 | ROUGE-L | 문자 정확도 | 추론 시간 |
|------|------|---------|---------|---------|-------------|-----------|
| 원본 HyperCLOVAX | 0.0029 | 0.138 | 0.064 | 0.138 | 0.151 | 6.78s |
| **파인튜닝 모델** | **0.0233** | **0.276** | **0.148** | **0.279** | **0.332** | **3.03s** |
## 🛠️ 기술 스택
### 모델 아키텍처
- **베이스 모델**: Naver HyperCLOVAX-SEED-Text-Instruct-0.5B
- **파인튜닝 기법**: LoRA (Low-Rank Adaptation)
- **양자화**: 4-bit BitsAndBytes
- **최적화**: AdamW + Linear Warmup
### LoRA 설정
```python
LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
lora_dropout=0.1,
task_type=TaskType.CAUSAL_LM
)
```
## 📈 실험 결과
### 하이퍼파라미터 최적화
- **Learning Rate**: 1e-4 vs 5e-4 비교
- **Batch Size**: 1, 2, 4 비교
- **Dataset Size**: 10K vs 30K 샘플 비교
### 최적 설정
- **Learning Rate**: 1e-4
- **Batch Size**: 4
- **Dataset Size**: 10,000 샘플 (효율성 관점)
## 💾 데이터셋
**696,024개** 한국어 텍스트 샘플 (6가지 유형):
- 구어체/대화체 (16,878)
- 뉴스문어체 (281,932)
- 문화문어체 (25,628)
- 전문분야문어체 (306,542)
- 조례문어체 (36,339)
- 지자체웹사이트문어체 (28,705)
## 🚀 빠른 시작
### 설치
```bash
pip install transformers peft torch bitsandbytes
```
### 사용법
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
# 모델 로드
base_model = AutoModelForCausalLM.from_pretrained(
"navercorp/HyperCLOVAX-SEED-Text-Instruct-0.5B"
)
model = PeftModel.from_pretrained(base_model, "path/to/lora/adapter")
tokenizer = AutoTokenizer.from_pretrained(
"navercorp/HyperCLOVAX-SEED-Text-Instruct-0.5B"
)
# 추론
prompt = """### 지시사항:
다음 난독화된 한국어 텍스트를 원래 텍스트로 복원해주세요.
난독화된 텍스트: ㅇㅏㄴㄴㅕㅇ하세요
### 응답:"""
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128, temperature=0.7)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
```
## 📁 주요 파일
```
FineTuningLLM/
├── 🧪 실험 노트북
│ ├── learning_rate_hyperclova_deobfuscation_finetuning.ipynb
│ ├── batch_size_hyperclova_deobfuscation_finetuning.ipynb
│ └── datasets_hyperclova_deobfuscation_finetuning.ipynb
├── 📊 성능 분석
│ ├── model_performance_analysis_*.ipynb
│ └── team_all_model_performance_analysis_*.ipynb
├── 🤖 훈련된 모델
│ ├── hyperclova-deobfuscation-lora-1e-4-learning-rate/
│ ├── hyperclova-deobfuscation-lora-*-batch-size/
│ └── hyperclova-deobfuscation-lora-*-datasets/
└── 📈 분석 결과 (CSV, PNG)
```
## 🔧 요구사항
- Python 3.8+
- PyTorch 2.0+
- CUDA 지원 GPU (권장)
- 16GB+ RAM
## 📝 라이선스
MIT License - Copyright (c) 2025 91veMe4Plus
## 🤝 기여하기
이슈나 PR은 언제든 환영합니다! 한국어 NLP 연구에 관심이 있으시면 참여해주세요.
## 📞 연락처
- **팀**: 91veMe4Plus
- **프로젝트**: 한국어 텍스트 비난독화 AI 모델 성능 분석
---
*이 프로젝트는 한국어 텍스트 처리 성능 향상을 위한 연구 목적으로 개발되었습니다.* |