模型:

kakaobrain/kogpt

英文

KoGPT

KakaoBrain的预训练语言模型。

模型描述

KoGPT6B-ryan1.5b

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 ​ 6,166,502,400
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 ​ 4,096
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 ​ 64,512
Positional Encoding 1238321
RoPE Dimensions 64

硬件要求

KoGPT6B-ryan1.5b

GPU

以下是几个示例KoGPT所需的推荐最低GPU硬件指导。

  • 32GB GPU RAM 是所需的最低内存大小

KoGPT6B-ryan1.5b-float16

GPU

以下是几个示例KoGPT所需的推荐最低GPU硬件指导。

  • 半精度需要基于Volta、Turing或Ampere的NVIDIA GPU
  • 16GB GPU RAM 是所需的最低内存大小

使用方法

提示

python -m kogpt --help
usage: KoGPT inference [-h] [--model MODEL] [--revision {KoGPT6B-ryan1.5b}]
                       [--device {cpu,cuda}] [-d]

KakaoBrain Korean(hangul) Generative Pre-Training Model

optional arguments:
  -h, --help            show this help message and exit
  --model MODEL         huggingface repo (default:kakaobrain/kogpt)
  --revision {KoGPT6B-ryan1.5b}
  --device {cpu,cuda}   (default:cuda)
  -d, --debug
python -m kogpt
prompt> 인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던
temperature(0.8)> 
max_length(128)> 64
인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던 문제의 해답을 찾을 수 있을 것이다. 과학기술이 고도로 발달한 21세기를 살아갈 우리 아이들에게 가장 필요한 것은 사고력 훈련이다. 사고력 훈련을 통해, 세상

prompt>  
...

python

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM 

tokenizer = AutoTokenizer.from_pretrained(
  'kakaobrain/kogpt', revision='KoGPT6B-ryan1.5b-float16',  # or float32 version: revision=KoGPT6B-ryan1.5b
  bos_token='[BOS]', eos_token='[EOS]', unk_token='[UNK]', pad_token='[PAD]', mask_token='[MASK]'
)
model = AutoModelForCausalLM.from_pretrained(
  'kakaobrain/kogpt', revision='KoGPT6B-ryan1.5b-float16',  # or float32 version: revision=KoGPT6B-ryan1.5b
  pad_token_id=tokenizer.eos_token_id,
  torch_dtype='auto', low_cpu_mem_usage=True
).to(device='cuda', non_blocking=True)
_ = model.eval()

prompt = '인간처럼 생각하고, 행동하는 \'지능\'을 통해 인류가 이제까지 풀지 못했던'
with torch.no_grad():
  tokens = tokenizer.encode(prompt, return_tensors='pt').to(device='cuda', non_blocking=True)
  gen_tokens = model.generate(tokens, do_sample=True, temperature=0.8, max_length=64)
  generated = tokenizer.batch_decode(gen_tokens)[0]
  
print(generated)  # print: 인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던 문제의 해답을 찾을 수 있을 것이다. 과학기술이 고도로 발달한 21세기를 살아갈 우리 아이들에게 가장 필요한 것은 사고력 훈련이다. 사고력 훈련을 통해, 세상

实验

上下文中的少量示例

Models #params NSMC (Acc.) YNAT (F1) KLUE-STS (F1)
HyperCLOVA[1] 1.3B 83.9 58.7 60.9
HyperCLOVA[1] 6.9B 83.8 67.5 59.3
HyperCLOVA[1] 13.0B 87.9 67.9 60.0
HyperCLOVA[1] 39.0B 88.0 71.4 61.6
HyperCLOVA[1] 82.0B 88.2 72.7 65.1
Ours 6.0B 87.8 78.0 64.3

微调/预调

我们已经报告了我们的下游评估存在问题( https://github.com/kakaobrain/kogpt/issues/17 )。

之前发布的性能评估表已被删除,因为很难将其视为公平比较,因为比较目标算法不同,且无法确认性能测量方法。

您可以参考上述问题链接获取现有的性能评估表和故障排除结果。

限制

KakaoBrain的KoGPT训练使用了含有亵渎、猥亵、政治变化和其他粗鲁语言的ryan数据集。因此,KoGPT可能生成不被接受的文本。与所有语言模型一样,很难预先预测KoGPT在特定提示和具有冒犯性内容的情况下的响应,而不发出警告。

主要是韩语:KoGPT主要训练用于韩文文本的分类、搜索、摘要或生成,并且在与其训练数据的数据分布不同的输入上表现较差,包括非韩语以及在训练数据中未充分表示的特定韩语方言。

카카오브레인 KoGPT는 욕설, 음란, 정치적 내용 및 기타 거친 언어에 대한 처리를 하지 않은 ryan 데이터셋으로 학습되었습니다. 따라서 KoGPT는 사회적으로 허용되지 않는 텍스트를 생성할 수 있습니다. 다른 언어 모델과 마찬가지로 특정 프롬프트와 공격적인 콘텐츠에 어떠한 결과를 생성할지 사전에 파악하기 어렵습니다.

KoGPT는 주로 한국어 텍스트로 학습되었으며 이러한 텍스트를 분류, 검색, 요약 또는 생성하는 데 가장 적합합니다. 기본적으로 KoGPT는 학습 데이터에 잘 표현되지 않는 방언뿐만 아니라 한국어가 아닌 경우와 같이 학습 데이터에서 발견하기 어려운 입력에서 성능이 좋지 않습니다.

引用

如果您将此库或模型应用于任何项目和研究中,请引用我们的代码:

@misc{kakaobrain2021kogpt,
  title         = {KoGPT: KakaoBrain Korean(hangul) Generative Pre-trained Transformer},
  author        = {Ildoo Kim and Gunsoo Han and Jiyeon Ham and Woonhyuk Baek},
  year          = {2021},
  howpublished  = {\url{https://github.com/kakaobrain/kogpt}},
}

联系方式

此软件是以开源形式发布的,希望能对许多研究机构和初创公司的研究工作有所帮助。我们期待来自希望与我们合作的各个地方的联系。

contact@kakaobrain.com

许可证

KakaoBrain的KoGPT的源代码使用Apache 2.0许可证。KakaoBrain的KoGPT的预训练权重使用 CC-BY-NC-ND 4.0 License 许可证。

카카오브레인 KoGPT의 소스코드는 Apache 2.0 라이선스 하에 공개되어 있습니다. 카카오브레인 KoGPT의 사전학습된 가중치는 CC-BY-NC-ND 4.0 라이선스 라이선스 하에 공개되어 있습니다. 모델 및 코드, 사전학습된 가중치를 사용할 경우 라이선스 내용을 준수해 주십시오. 라이선스 전문은 Apache 2.0, LICENSE.cc-by-nc-nd-4.0 파일에서 확인하실 수 있습니다.

参考文献

[1] HyperCLOVA :Kim, Boseop等。“大规模语言模型能带来什么变化?对hyperclova的深入研究:韩语十亿级生成预训练变形器。”arXiv预印本arXiv:2109.04650(2021)。