language:
- ko
tags:
- pytorch
- causal-lm
license: apache-2.0
Polyglot-Ko-12.8B
模型描述
Polyglot-Ko是由EleutherAI多语言团队开发的一系列大规模韩语自回归语言模型。
超参数 |
值 |
\(n_{参数}\) |
12,898,631,680 |
\(n_{层数}\) |
40 |
\(d_{模型}\) |
5120 |
\(d_{前馈}\) |
20,480 |
\(n_{头数}\) |
40 |
\(d_{头维度}\) |
128 |
\(n_{上下文长度}\) |
2,048 |
\(n_{词表大小}\) |
30,003 / 30,080 |
位置编码 |
旋转位置嵌入(RoPE) |
RoPE维度 |
64 |
该模型包含40个Transformer层,模型维度为5120,前馈网络维度为20480。模型维度被分割为40个头,每个头维度为128。旋转位置嵌入(RoPE)应用于每个头的64个维度。模型使用30003大小的分词词表进行训练。
训练数据
Polyglot-Ko-12.8B在863GB韩语数据(处理前1.2TB)上训练,这是由TUNiB整理的大规模数据集。数据收集过程遵守韩国法律。该数据集专为训练Polyglot-Ko模型而收集,因此不会公开发布。
数据源 |
大小(GB) |
链接 |
韩语博客文章 |
682.3 |
- |
韩语新闻数据集 |
87.0 |
- |
Modu语料库 |
26.4 |
corpus.korean.go.kr |
韩语专利数据集 |
19.0 |
- |
韩语问答数据集 |
18.1 |
- |
KcBert数据集 |
12.7 |
github.com/Beomi/KcBERT |
韩语小说数据集 |
6.1 |
- |
韩语在线评论 |
4.2 |
- |
韩语维基百科 |
1.4 |
ko.wikipedia.org |
Clova呼叫数据集 |
< 1.0 |
github.com/clovaai/ClovaCall |
Naver情感电影语料库 |
< 1.0 |
github.com/e9t/nsmc |
韩语仇恨言论数据集 |
< 1.0 |
- |
开放字幕 |
< 1.0 |
opus.nlpl.eu/OpenSubtitles.php |
AIHub多任务数据集 |
< 1.0 |
aihub.or.kr |
标准韩语词典 |
< 1.0 |
stdict.korean.go.kr/main/main.do |
此外,为避免模型记忆并生成训练数据中的个人身份信息(PII),我们在预处理阶段屏蔽了以下敏感信息:
<|acc|>
: 银行账号
<|rrn|>
: 居民登记号
<|tell|>
: 电话号码
训练过程
Polyglot-Ko-12.8B在256块A100 GPU上使用GPT-NeoX框架训练了1670亿个token,共301,000步。作为自回归语言模型,它使用交叉熵损失最大化预测下一个token的可能性。
使用方法
可通过AutoModelForCausalLM
类轻松加载此模型:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/polyglot-ko-12.8b")
model = AutoModelForCausalLM.from_pretrained("EleutherAI/polyglot-ko-12.8b")
评估结果
我们在KOBEST数据集上评估Polyglot-Ko-3.8B,该基准包含5个下游任务,对比模型包括skt/ko-gpt-trinity-1.2B-v0.5、kakaobrain/kogpt和facebook/xglm-7.5B,使用论文提供的提示模板。
下表展示了不同few-shot示例数量下的结果。您可以使用lm-evaluation-harness的polyglot分支和以下脚本复现这些结果。为公平比较,所有模型在相同条件和相同提示下运行。表中n
表示few-shot示例数量。
WiC数据集中,所有模型均表现随机。
python main.py \
--model gpt2 \
--model_args pretrained='EleutherAI/polyglot-ko-3.8b' \
--tasks kobest_copa,kobest_hellaswag \
--num_fewshot $YOUR_NUM_FEWSHOT \
--batch_size $YOUR_BATCH_SIZE \
--device $YOUR_DEVICE \
--output_path $/path/to/output/
COPA (F1)
HellaSwag (F1)
BoolQ (F1)