模型:
EleutherAI/polyglot-ko-5.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 | 5,885,059,072 |
n l a y e r s n_{layers} n l a y e r s | 28 |
d m o d e l d_{model} d m o d e l | 4096 |
d f f d_{ff} d f f | 16,384 |
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 | 256 |
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 |
该模型由28个transformer层组成,模型维度为4096,前馈维度为16384。模型维度被分成16个头,每个头的维度为256。每个头的64个维度应用了Rotary Position Embedding (RoPE)。模型使用了30003个token作为词汇表进行训练。
Polyglot-Ko-5.8B在863 GB的韩语语言数据(处理前为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-5.8B在256个A100 GPU上进行了320,000个步骤,共计训练了1720亿个token。它作为自回归语言模型进行训练,使用交叉熵损失来最大化预测下一个token的概率。
使用AutoModelForCausalLM类可以轻松加载此模型:
from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("EleutherAI/polyglot-ko-5.8b") model = AutoModelForCausalLM.from_pretrained("EleutherAI/polyglot-ko-5.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 | 3.8B | 0.7595 | 0.7608 | 0.7638 | 0.7788 |
12315321 (this) | 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 | 3.8B | 0.5707 | 0.5830 | 0.5670 | 0.5787 |
12315321 (this) | 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 | 3.8B | 0.4320 | 0.5263 | 0.4930 | 0.4038 |
12315321 (this) | 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 | 3.8B | 0.4858 | 0.7950 | 0.7320 | 0.7851 |
12315321 (this) | 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 | 3.8B | 0.3390 | 0.4944 | 0.4203 | 0.3835 |
12315321 (this) | 5.8B | 0.3913 | 0.4688 | 0.4189 | 0.3910 |
12316321 | 12.8B | 0.3985 | 0.3683 | 0.3307 | 0.3273 |
Polyglot-Ko已经经过训练,以优化下一个token的预测。这类语言模型常用于各种任务,因此了解可能出现的意外结果非常重要。例如,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许可证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 提供了这项工作所需的大规模韩语数据集。