项目概述
KR-ELECTRA是由首尔国立大学计算语言实验室开发的一个韩语ELECTRA模型。该模型在保持其他任务comparable性能的同时,在处理评论文档等非正式文本相关任务上表现出色。
模型架构
KR-ELECTRA采用了基于ELECTRA的base规模模型架构,包含判别器(Discriminator)和生成器(Generator)两个部分:
- 判别器: 12层网络结构,768维嵌入向量,768维隐藏层,12个注意力头
- 生成器: 12层网络结构,768维嵌入向量,256维隐藏层,4个注意力头
训练细节
该模型使用TensorFlow v1在Google Cloud Platform的TPU v3-8上进行训练,主要训练参数包括:
- 批次大小: 256
- 训练步数: 70万步
- 学习率: 2e-4
- 最大序列长度: 128
- 生成器大小比例: 0.33333
训练数据
模型使用了34GB的韩语文本进行预训练,数据来源广泛且均衡:
- 维基百科文档
- 新闻文章
- 法律文本
- 新闻评论
- 产品评论
- 其他书面语和口语数据(比例相当)
词汇表特点
模型使用基于Mecab-Ko形态素分析器的词汇单元,词汇表大小为30,000。这种基于形态素的分词方式更适合韩语的语言特点。
性能表现
在多个韩语NLP任务上进行了评估,包括:
- 情感分析(NSMC)
- 命名实体识别(Naver NER)
- 文本相似度判断(PAWS)
- 自然语言推理(KorNLI)
- 语义相似度评估(KorSTS)
- 问题对判断(Question Pair)
- 问答任务(KorQuaD)
- 仇恨言论检测(Korean-Hate-Speech)
相比KoBERT、XLM-Roberta-Base等基线模型,KR-ELECTRA在多个任务上取得了最优或接近最优的性能。
使用方式
模型提供了TensorFlow和PyTorch两个版本:
- TensorFlow版本可通过Google Drive下载
- PyTorch版本已发布在HuggingFace,可直接通过transformers库加载使用
同时项目还提供了详细的微调代码和配置文件,方便用户进行下游任务的开发。