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)