模型:
EleutherAI/polyglot-ko-3.8b
Polyglot-Ko是EleutherAI polyglot团队制作的一系列大规模韩语自回归语言模型。
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 | 3,809,974,272 |
n l a y e r s n_{layers} n l a y e r s | 32 |
d m o d e l d_{model} d m o d e l | 3,072 |
d f f d_{ff} d f f | 12,288 |
n h e a d s n_{heads} n h e a d s | 24 |
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 |
该模型由32个变压器层组成,模型维度为3072,前馈维度为12288。模型维度分为24个头,每个头的维度为128。在每个头的64个维度上应用了旋转位置嵌入(RoPE)。模型使用30003个标记的词汇进行训练。
Polyglot-Ko-3.8B是在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),我们在预处理阶段屏蔽了以下敏感信息:
Polyglot-Ko-3.8B是在256个A100 GPU上进行的105,000个步骤的训练,总共2190亿个标记。它是作为自回归语言模型进行训练的,使用交叉熵损失来最大限度地提高预测下一个标记的可能性。
可以使用AutoModelForCausalLM类轻松加载此模型。
from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("EleutherAI/polyglot-ko-3.8b") model = AutoModelForCausalLM.from_pretrained("EleutherAI/polyglot-ko-3.8b")
我们使用提供的提示在 KOBEST dataset 上评估Polyglot-Ko-3.8B,这是一个包含5个下游任务的基准测试,并与类似的模型(如skt/ko-gpt-trinity-1.2B-v0.5,kakaobrain/kogpt和facebook/xglm-7.5B)进行对比。
当few-shot示例的数量不同时,下表显示了结果。您可以使用 polyglot branch of lm-evaluation-harness 和以下脚本重现这些结果。为了公平比较,所有模型在相同条件下和使用相同的提示下运行。在表中,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/
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 | 1.3B | 0.7196 | 0.7193 | 0.7204 | 0.7206 |
12314321 (this) | 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 |
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 | 1.3B | 0.5247 | 0.5260 | 0.5278 | 0.5427 |
12314321 (this) | 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 |
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 | 1.3B | 0.3552 | 0.4751 | 0.4109 | 0.4038 |
12314321 (this) | 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 |
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 | 1.3B | 0.6790 | 0.6257 | 0.5514 | 0.7851 |
12314321 (this) | 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 |
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 | 1.3B | 0.3297 | 0.4850 | 0.4650 | 0.3290 |
12314321 (this) | 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可能生成不可接受或有冒犯性的内容。我们建议设置人工筛选员或其他过滤机制来审查敏感内容。
如果您认为我们的工作有用,请考虑引用:
@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 为此工作提供的大规模韩语数据集。