🚀 韩国语文本生成模型
本项目是一个韩国语文本生成模型,基于GPT - J架构,使用多种韩国语语料进行训练,可用于生成各类文本内容。
🚀 快速开始
安装依赖
确保你已经安装了transformers
库,若未安装,可使用以下命令进行安装:
pip install transformers
运行示例代码
from transformers import pipeline
model_name = "heegyu/kogpt-j-350m"
pipe = pipeline('text-generation', model=model_name)
print(pipe("안녕하세요", repetition_penalty=1.2, do_sample=True, eos_token_id=1, early_stopping=True, max_new_tokens=128))
print(pipe("오늘 정부 발표에 따르면, ", repetition_penalty=1.2, do_sample=True, eos_token_id=1, early_stopping=True, max_new_tokens=128))
print(pipe("싸늘하다. 가슴에 비수가 날아와 꽂힌다. ", repetition_penalty=1.2, do_sample=True, eos_token_id=1, early_stopping=True, max_new_tokens=128, min_length=64))
示例结果
[{'generated_text': '안녕하세요?\n네.\n자~ 오늘 그~ 뭐~ 남북정상회담에서 인제 남북 관계와 관련된 발언이죠?\n예. 그렇습니다.\n어~ 그~ 이산가족 문제 관련해서 이산가족 상봉을\n예.\n하는 방안이 좀 가능성이 있지 않아요?\n상당히 가능성이 있죠.\n예. 이~ 구체적으로 어떤 거였나요?\n어~ 먼저 이산가족 상봉을 이제 말씀드리겠습니다.\n예.\n아까 설명드린 것처럼 그~ 이산가족 상\n네.\n그~ 상봉에 대한 그~ 구체적인 방안이 어떻게 결정되는 게 가장 좋을까요?\n우선 상봉 방법부터 얘기를 드리죠.\n'}]
[{'generated_text': '오늘 정부 발표에 따르면, gtx-d d 노선을 창릉과 수서에서 출발하는 등 당초 예정된 노선들을 모두 정차하기로 했다. 지난 2월 국토교통부가 이 노선을 일산·금정·파주 운정역과 직접 연결키로 하면서 일산~동탄, 일산~분당, 일산~양재 구간에 추가 정차할 것이라는 예상이 나왔지만 실제 일산~수서 구간이 정차하기로 확정됐다. gtx-d 노선이 일산~수서역까지 개통되는 것은 이번이 처음이다.. gtx-d 노선과 gtx-a 노선이 모두 개통되면 지하철 5호선의 서울 도심 통과 구간이 추가된다. 현재 gtx-b'}]
[{'generated_text': '싸늘하다. 가슴에 비수가 날아와 꽂힌다. \U000f0854삼국사절요\U000f0855 ‘화살촉이 울버린’의 경우에서 보면, 총소리의 원음은 鐘(종자용 : 송악), 鐘을 비(鐘)라 하고 종자의 발음은 ‘이( )’이다. 이때에서 ‘이(은)로 시작하는 발음’은 ‘이/이’의 음운적 표현이다. ‘이/은→종자용[鐘] → 송악/종자[鐘]→이→종자(鐘) …’이다. 이는 한자어로서 그 발음'}]
✨ 主要特性
- 模型架构:基于GPT - J(Flax, Pytorch)架构构建。
- 模型规模:具有20层,隐藏维度为1024,中间层维度为4096,16个注意力头,词汇表大小为51200,最大序列长度为1024,参数数量达350M。
📦 安装指南
安装所需的Python库:
pip install transformers
💻 使用示例
基础用法
from transformers import pipeline
model_name = "heegyu/kogpt-j-350m"
pipe = pipeline('text-generation', model=model_name)
print(pipe("안녕하세요", repetition_penalty=1.2, do_sample=True, eos_token_id=1, early_stopping=True, max_new_tokens=128))
高级用法
print(pipe("오늘 정부 발표에 따르면, ", repetition_penalty=1.2, do_sample=True, eos_token_id=1, early_stopping=True, max_new_tokens=128))
print(pipe("싸늘하다. 가슴에 비수가 날아와 꽂힌다. ", repetition_penalty=1.2, do_sample=True, eos_token_id=1, early_stopping=True, max_new_tokens=128, min_length=64))
📚 详细文档
模型性能

训练环境及超参数
- 训练设备:TPU V2 - 8
- 学习率:3e - 4
- 批量大小:512(= 64累积 x 8设备)
- 调度器:线性
- 预热步数:1000步
- 优化器参数:adam_beta1 = 0.9,adam_beta2 = 0.98,weight_decay = 0.01
- 训练步数:43247(3个epoch)
- 训练令牌数:21.11B(43247 * 512 * 1024seq / 1024^3)
- 训练周期:2023/1/25 ~ 2023/1/29
训练使用的数据
- AIHub SNS对话(730MB)
- AIHub口语体(422MB)
- AIHub图书(1.6MB)
- AIHub大规模网络数据基础韩国语语料库(12GB)
- 韩国语维基百科(867MB)
- 나무위키(6.4GB)
- 国立国语院信使对话(21MB)
- 国立国语院日常对话语料库(23MB)
- 国立国语院书面语语料库(3.2GB)
- 国立国语院口语语料库(1.1GB)
- 国立国语院新闻语料库(~2022,17GB)
- 青瓦台国民请愿(525MB)
数据集大小以预处理后的jsonl文件为基准,总令牌数约为7B。
🔧 技术细节
模型基于GPT - J架构,通过在多种韩国语语料上进行训练,学习语言的模式和规律,从而实现文本生成功能。训练过程中使用了TPU V2 - 8设备,并对超参数进行了精心调整,以达到较好的性能。
📄 许可证
本项目采用MIT许可证。
⚠️ 重要提示
本模型的训练数据可能包含各种歧视/仇恨数据,且未进行单独的去除操作。因此,模型生成的句子可能会包含针对特定人物、种族、性别、残疾的歧视/仇恨言论。在使用时请谨慎对待生成的内容。