英文

Polyglot-Ko-1.3B

模型描述

Polyglot-Ko是EleutherAI多语言团队推出的一系列大规模韩语自回归语言模型。

Hyperparameter Value
n p a r a m e t e r s n_{parameters} n p a r a m e t e r s ​ 1,331,810,304
n l a y e r s n_{layers} n l a y e r s ​ 24
d m o d e l d_{model} d m o d e l ​ 2,048
d f f d_{ff} d f f ​ 8,192
n h e a d s n_{heads} n h e a d s ​ 16
d h e a d d_{head} d h e a d ​ 128
n c t x n_{ctx} n c t x ​ 2,048
n v o c a b n_{vocab} n v o c a b ​ 30,003 / 30,080
Positional Encoding 1234321
RoPE Dimensions 1235321

该模型由24个Transformer层组成,模型维度为2048,前馈维度为8192。模型维度被分为16个头,每个头的维度为128。每个头的64维应用了Rotary Position Embedding(RoPE)。该模型使用30003个标记构建的词汇表进行训练。

训练数据

Polyglot-Ko-1.3B在863GB的韩语语言数据上进行训练(处理前为1.2TB),该大规模数据集由 TUNiB 策展。数据采集过程遵守韩国法律。此数据集是为训练Polyglot-Ko模型而收集的,因此不会公开发布。

Source Size (GB) Link
Korean blog posts 682.3 -
Korean news dataset 87.0 -
Modu corpus 26.4 corpus.korean.go.kr
Korean patent dataset 19.0 -
Korean Q & A dataset 18.1 -
KcBert dataset 12.7 github.com/Beomi/KcBERT
Korean fiction dataset 6.1 -
Korean online comments 4.2 -
Korean wikipedia 1.4 ko.wikipedia.org
Clova call < 1.0 github.com/clovaai/ClovaCall
Naver sentiment movie corpus < 1.0 github.com/e9t/nsmc
Korean hate speech dataset < 1.0 -
Open subtitles < 1.0 opus.nlpl.eu/OpenSubtitles.php
AIHub various tasks datasets < 1.0 aihub.or.kr
Standard Korean language dictionary < 1.0 stdict.korean.go.kr/main/main.do

此外,为了避免模型记忆和生成训练数据中的个人身份信息(PII),我们在预处理阶段屏蔽了以下敏感信息:

  • <|acc|>:银行账号
  • <|rrn|>:居民登记号码
  • <|tell|>:电话号码

训练过程

Polyglot-Ko-1.3B在256个A100 GPU上进行了102,000个步骤、总计2130亿个标记的训练,使用 GPT-NeoX framework 作为评估指标,作为自回归语言模型进行训练,使用交叉熵损失来最大化预测下一个标记的可能性。

如何使用

可以使用AutoModelForCausalLM类轻松加载此模型。

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("EleutherAI/polyglot-ko-1.3b")
model = AutoModelForCausalLM.from_pretrained("EleutherAI/polyglot-ko-1.3b")

评估结果

我们在 KOBEST dataset 上对Polyglot-Ko-1.3B进行了评估,该基准测试包含5个下游任务,并与skt/ko-gpt-trinity-1.2B-v0.5、kakaobrain/kogpt和facebook/xglm-7.5B等相似模型进行了比较,使用论文中提供的提示。

下表显示了当少量样本数量不同时的结果。您可以使用 polyglot branch of lm-evaluation-harness 和以下脚本来复现这些结果。为了公平比较,所有模型在相同条件下使用相同的提示进行运行。在表中,n表示少量样本的数量。

在WiC数据集中,所有模型表现出随机性能。

python main.py \
   --model gpt2 \
   --model_args pretrained='EleutherAI/polyglot-ko-1.3b' \
   --tasks kobest_copa,kobest_hellaswag,kobest_boolq,kobest_sentineg,kobest_wic \
   --num_fewshot $YOUR_NUM_FEWSHOT \
   --batch_size $YOUR_BATCH_SIZE \
   --device $YOUR_DEVICE \
   --output_path $/path/to/output/

COPA(F1)

Model params 0-shot 5-shot 10-shot 50-shot
12310321 1.2B 0.6696 0.6477 0.6419 0.6514
12311321 6.0B 0.7345 0.7287 0.7277 0.7479
12312321 7.5B 0.6723 0.6731 0.6769 0.7119
12313321 (this) 1.3B 0.7196 0.7193 0.7204 0.7206
12314321 3.8B 0.7595 0.7608 0.7638 0.7788
12315321 5.8B 0.7745 0.7676 0.7775 0.7887
12316321 12.8B 0.7937 0.8108 0.8037 0.8369

HellaSwag(F1)

Model params 0-shot 5-shot 10-shot 50-shot
12310321 1.2B 0.5243 0.5272 0.5166 0.5352
12311321 6.0B 0.5590 0.5833 0.5828 0.5907
12312321 7.5B 0.5665 0.5689 0.5565 0.5622
12313321 (this) 1.3B 0.5247 0.5260 0.5278 0.5427
12314321 3.8B 0.5707 0.5830 0.5670 0.5787
12315321 5.8B 0.5976 0.5998 0.5979 0.6208
12316321 12.8B 0.5954 0.6306 0.6098 0.6118

BoolQ(F1)

Model params 0-shot 5-shot 10-shot 50-shot
12310321 1.2B 0.3356 0.4014 0.3640 0.3560
12311321 6.0B 0.4514 0.5981 0.5499 0.5202
12312321 7.5B 0.4464 0.3324 0.3324 0.3324
12313321 (this) 1.3B 0.3552 0.4751 0.4109 0.4038
12314321 3.8B 0.4320 0.5263 0.4930 0.4038
12315321 5.8B 0.4356 0.5698 0.5187 0.5236
12316321 12.8B 0.4818 0.6041 0.6289 0.6448

SentiNeg(F1)

Model params 0-shot 5-shot 10-shot 50-shot
12310321 1.2B 0.6065 0.6878 0.7280 0.8413
12311321 6.0B 0.3747 0.8942 0.9294 0.9698
12312321 7.5B 0.3578 0.4471 0.3964 0.5271
12313321 (this) 1.3B 0.6790 0.6257 0.5514 0.7851
12314321 3.8B 0.4858 0.7950 0.7320 0.7851
12315321 5.8B 0.3394 0.8841 0.8808 0.9521
12316321 12.8B 0.9117 0.9015 0.9345 0.9723

WiC(F1)

Model params 0-shot 5-shot 10-shot 50-shot
12310321 1.2B 0.3290 0.4313 0.4001 0.3621
12311321 6.0B 0.3526 0.4775 0.4358 0.4061
12312321 7.5B 0.3280 0.4903 0.4945 0.3656
12313321 (this) 1.3B 0.3297 0.4850 0.465 0.3290
12314321 3.8B 0.3390 0.4944 0.4203 0.3835
12315321 5.8B 0.3913 0.4688 0.4189 0.3910
12316321 12.8B 0.3985 0.3683 0.3307 0.3273

限制和偏见

Polyglot-Ko已经经过训练以优化下一个标记的预测。这类语言模型通常用于各种任务,因此需要注意可能的意外结果。例如,Polyglot-Ko不总是返回最真实或准确的响应,而是最有统计可能性的响应。此外,Polyglot可能会生成社会上不可接受或冒犯性的内容。我们建议使用人工策展人员或其他过滤机制对敏感内容进行审查。

引用和相关信息

BibTeX记录

如果您觉得我们的工作有用,请考虑引用:

@misc{ko2023technical,
      title={A Technical Report for Polyglot-Ko: Open-Source Large-Scale Korean Language Models}, 
      author={Hyunwoong Ko and Kichang Yang and Minho Ryu and Taekyoon Choi and Seungmu Yang and jiwung Hyun and Sungho Park},
      year={2023},
      eprint={2306.02254},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

许可证

我们所有的模型都在Apache License 2.0的条款下获得许可。

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

致谢

感谢 Stability.ai 提供的计算资源,以及感谢 TUNiB 为此工作提供的大规模韩语数据集。