GPT-3夸夸机器人-中文-large

我要开发同款
匿名用户2024年07月31日
78阅读

技术信息

开源地址
https://modelscope.cn/models/iic/nlp_gpt3_kuakua-robot_chinese-large
授权协议
Apache License 2.0

作品详情

GPT-3夸夸机器人介绍

GPT-3模型是一个通用的预训练生成模型,可以用于解决下游各种类型的生成任务,特别是zero-shot生成能力。我们在GPT-3基础模型上,通过夸夸数据训练了一个GPT-3夸夸机器人,可以随时随地为你鼓励,加油!

模型描述

GPT-3模型使用Trasformer的 Decoder结构,并对Trasformer Decoder进行了一些改动,原本的Decoder包含了两个 Multi-Head Attetio 结构,GPT-3只保留了 Mask Multi-Head Attetio,利用常规的语言建模优化,从左到右的自回归预训练。本模型是基于GPT-3的代码结合大量中文无监督数据和下游任务数据预训练得到,我们训练了多种不同参数的模型,此处展示的是GPT-3 Large模型。GPT-3模型介绍,详见:Laguage Models are Few-Shot Learers

本项目我们复现了一系列不同规模的中文GPT3模型,包括base/large/1.3B/2.7B/13B/30B/175B等,本模型是其中large的版本。全部版本如下表所示:

Model Layers Heads d_model LR Batch
base 12 12 768 6.0e-4 0.5M
large 24 16 1024 3.0e-4 0.5M
1.3B 24 32 2048 2.0e-4 2M
2.7B 32 32 2560 1.6e-4 2M
13B 40 40 5120 1.0e-4 6M
30B 48 56 7168 1.0e-4 6M
175B(work i process) 96 96 12288 1.2e-4 6M

同时,在这些通用模型基础上,我们也二次开发了性能更好的领域生成模型,如诗词生成等。全部版本如下表所示:

Model Layers Heads d_model LR Batch
GPT-3诗词-large 24 16 1024 3.0e-4 0.5M
GPT-3夸夸机器人-large 24 16 1024 3.0e-4 0.5M

期望模型使用方式以及适用范围

本模型主要用于夸夸场景,比如之前火的微信夸夸群,我们训练的机器人可以针对用户的不同输入进行全方位无死角的夸,同时针对相同的输入重复调用模型会得到不同的夸奖词

如何使用

在安装完成ModelScope library之后即可使用GPT-3的text-geeratio的能力

代码范例

from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks
text_geeratio_zh = pipelie(Tasks.text_geeratio, model='damo/lp_gpt3_kuakua-robot_chiese-large')
result_zh = text_geeratio_zh("今天终于拿到驾照了,求夸 | ")
prit(result_zh['text'])

模型局限性以及可能的偏差

模型在数据集上训练,有可能产生一些偏差,请用户自行评测后决定如何使用。

训练数据介绍

本模型采用无监督数据和有监督下游数据相结合的方式对GPT-3进行预训练,其中无监督数据包含公开可下载的语料,有监督数据包含摘要、诗词、作文等数据集

模型训练流程

预处理

训练数据只需包含src_txt字段,推荐使用MsDataset包装后使用ModelScope的Traier进行训练。

import tempfile
from datasets import Dataset
from modelscope.msdatasets import MsDataset

# 模拟训练数据集
src_dataset_dict = {
    'src_txt': [
        '测试文本1', '测试文本2', '测试文本3'
    ]
}
src_dataset = MsDataset(Dataset.from_dict(src_dataset_dict))
max_epochs = 3
tmp_dir = tempfile.TemporaryDirectory().ame

训练

# 基于modelscope中文gpt3底座二次开发得到夸夸机器人

from modelscope.msdatasets import MsDataset
from modelscope.traiers import build_traier
from modelscope.msdatasets import MsDataset
from modelscope.utils.hub import read_cofig
from modelscope.metaifo import Metrics, Traiers
from datasets import Dataset

dataset_dict = MsDataset.load('chiese-kuakua-collectio')
trai_dataset = dataset_dict['trai'].remap_colums({'text1': 'src_txt'})
eval_dataset = dataset_dict['test'].remap_colums({'text1': 'src_txt'})
prit (eval_dataset)
max_epochs = 10
tmp_dir = "./gpt3_kuakua"

um_warmup_steps = 100
def oam_lambda(curret_step: it):
    curret_step += 1
    retur mi(curret_step ** (-0.5), curret_step * um_warmup_steps ** (-1.5))

def cfg_modify_f(cfg):
    cfg.trai.lr_scheduler = {
        "type": "LambdaLR",
        "lr_lambda": oam_lambda,
        "optios": {"by_epoch": False}
    }
    cfg.trai.optimizer = {
        "type": "AdamW",
        "lr": 3e-4
    }
    cfg.trai.dataloader = {"batch_size_per_gpu": 16, "workers_per_gpu": 1}
    retur cfg

kwargs = dict(
    model='damo/lp_gpt3_text-geeratio_chiese-large',
    trai_dataset=trai_dataset,
    eval_datase=eval_dataset,
    max_epochs=max_epochs,
    work_dir=tmp_dir,
    cfg_modify_f=cfg_modify_f)

# 构造 traier 并进行训练
traier = build_traier(
    ame=Traiers.lp_base_traier, default_args=kwargs)
traier.trai()

数据评估及结果

相关论文以及引用信息

如果GPT-3模型对您有帮助,请您引用该模型的相关文章:

@iproceedigs{NEURIPS2020_1457c0d6,
 author = {Brow, Tom ad Ma, Bejami ad Ryder, Nick ad Subbiah, Melaie ad Kapla, Jared D ad Dhariwal, Prafulla ad Neelakata, Arvid ad Shyam, Praav ad Sastry, Girish ad Askell, Amada ad Agarwal, Sadhii ad Herbert-Voss, Ariel ad Krueger, Gretche ad Heigha, Tom ad Child, Rewo ad Ramesh, Aditya ad Ziegler, Daiel ad Wu, Jeffrey ad Witer, Clemes ad Hesse, Chris ad Che, Mark ad Sigler, Eric ad Litwi, Mateusz ad Gray, Scott ad Chess, Bejami ad Clark, Jack ad Berer, Christopher ad McCadlish, Sam ad Radford, Alec ad Sutskever, Ilya ad Amodei, Dario},
 booktitle = {Advaces i Neural Iformatio Processig Systems},
 editor = {H. Larochelle ad M. Razato ad R. Hadsell ad M.F. Balca ad H. Li},
 pages = {1877--1901},
 publisher = {Curra Associates, Ic.},
 title = {Laguage Models are Few-Shot Learers},
 url = {https://proceedigs.eurips.cc/paper/2020/file/1457c0d6bfcb4967418bfb8ac142f64a-Paper.pdf},
 volume = {33},
 year = {2020}
}

功能介绍

GPT-3夸夸机器人介绍 GPT-3模型是一个通用的预训练生成模型,可以用于解决下游各种类型的生成任务,特别是zero-shot生成能力。我们在GPT-3基础模型上,通过夸夸数据训练了一个GPT-3夸

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论