Morizeyao / GPT2-Chinese

Chinese version of GPT2 training code, using BERT tokenizer.
MIT License
7.44k stars 1.7k forks source link

训练效率问题 #130

Open ScottishFold007 opened 4 years ago

ScottishFold007 commented 4 years ago

我用笔记本电脑的GTX1070(显存8G),训练了一个虎嗅新闻语料,约110MB,也能跑,每一步保存模型,时间间隔是5分钟。想看看大家的机器及训练效率,欢迎在下方留言探讨。我的参数设置如下: { "architectures": [ "GPT2LMHeadModel" ], "attn_pdrop": 0.1, "bos_token_id": 0, "do_sample": false, "embd_pdrop": 0.1, "eos_token_ids": 0, "finetuning_task": null, "id2label": { "0": "LABEL_0" }, "initializer_range": 0.02, "is_decoder": false, "label2id": { "LABEL_0": 0 }, "layer_norm_epsilon": 1e-05, "length_penalty": 1.0, "max_length": 20, "model_type": "gpt2", "n_ctx": 1024, "n_embd": 768, "n_head": 6, "n_layer": 12, "n_positions": 1024, "num_beams": 1, "num_labels": 1, "num_return_sequences": 1, "output_attentions": false, "output_hidden_states": false, "output_past": true, "pad_token_id": 0, "pruned_heads": {}, "repetition_penalty": 1.0, "resid_pdrop": 0.1, "summary_activation": null, "summary_first_dropout": 0.1, "summary_proj_to_labels": true, "summary_type": "cls_index", "summary_use_proj": true, "temperature": 1.0, "top_k": 50, "top_p": 1.0, "torchscript": false, "use_bfloat16": false, "vocab_size": 21029 }

其他参数设置: _adam_epsilon=1e-08, block_size=500, cache_dir=None, config_name='C:\Users\hp\Desktop\2020.02.15 GPT2模型从头开始训练modeloutput\GPT2LMHeadModel\config.json', device=device(type='cuda'), do_eval=False, do_train=True, eval_all_checkpoints=False, eval_data_file=None, evaluate_during_training=False, fp16=False, fp16_opt_level='O1', gradient_accumulation_steps=1, learning_rate=5e-05, line_by_line=True, local_rank=-1, logging_steps=500, max_grad_norm=1.0, max_steps=-1, mlm=False, mlm_probability=0.15, model_name_or_path=None, model_type='gpt2', n_gpu=1, no_cuda=False, num_train_epochs=40.0, output_dir='D:\20200215OUTPUT', overwrite_cache=False, overwrite_output_dir=True, per_gpu_eval_batch_size=4, per_gpu_train_batch_size=4, save_steps=500, save_total_limit=10, seed=42, server_ip='', server_port='', should_continue=False, tokenizer_name=None, train_data_file='huxiu.txt', warmup_steps=0, weightdecay=0.0 跑40轮,目前的生成效果:

《CASE》 前文脉络: 个人认为O2O 生成结果: _个人认为o2o_是一种新鲜概念,而且很多行业都在思考如何利用互联网技术来改变传统的商业模式和产品。这就是生存空间、价值与市场基础之上面临的问题。然而我们将从中国大陆来看到的机会,以下内容摘要:1.线上成 ...

《CASE》 前文脉络: 个人认为O2O 生成结果: 个人认为o2o是未来的一种趋势,而不仅限于线下体验和互联网技术发展会产生巨大影响。在这样的背景中我们可以看到:1、商业模式将成功与传统行业相结合;2、用户需求强烈;3、社交属性(实时信息决策)或者说明了什么原因?如果你想通过连接线上渠道获取流量,那么就必然面临着哪些挑战呢?从目前各家电子商务平台进军企业级市场已经开始有所改变,但现阶段很多事情都还没有停止过去了服务提供方便之外的问题,比较好理智地词 ... 《CASE》 前文脉络 个人认为O2O: 生成结果: 个人认为o2o是未来的一种趋势,而线上和互联网之间存在着巨大变数。但这不仅将从传统行业转型或者新兴市场中获益最高领域(如电子商务、社交媒体等)进入到更多创造力与产品形态;同时也意味深远地发展用户习惯以及生活消费需求方面都有可能成功案例分享出自己所谓家庭信息服务平台+零售渠道模式并提供给第三点建议:1.poi通过收购完毕后开始实现盈利;2)使得其他公司无法持续投资增长率降低至50%-30%左右员工每天溢价blogspot元/月均复合下滑20万美金汴0m(约会减去年全球规范围内再融资额度超1000亿美国各项指标准则失败了100倍!3.对于当前本土企鹅公布的2012财报显示,截止2013q4季总营运净亏损5,比2011移动广告支付我们预计今日环比 ...

angletxm commented 3 years ago

我用gpt2训练对联,跑了一千轮了要 还是没有达到拟合,请问是训练的不够吗 ? def init( self, vocab_size=2341, n_positions=128, n_ctx=128, n_embd=128, n_layer=4, n_head=8, resid_pdrop=0.1, embd_pdrop=0.1, attn_pdrop=0.1, layer_norm_epsilon=1e-5, initializer_range=0.02, output_hidden_states=False, output_attentions=False, lr=3e-5, dynamics_lr=False, read_len=40000, history_len=5, **kwargs )

ScottishFold007 commented 3 years ago

模型缩水了。。。,参数设置有问题

---原始邮件--- 发件人: "angletxm"<notifications@github.com> 发送时间: 2020年10月30日(周五) 下午5:24 收件人: "Morizeyao/GPT2-Chinese"<GPT2-Chinese@noreply.github.com>; 抄送: "Author"<author@noreply.github.com>;"Scottish_Fold007"<gaochangkuan01@foxmail.com>; 主题: Re: [Morizeyao/GPT2-Chinese] 训练效率问题 (#130)

我用gpt2训练对联,跑了一千轮了要 还是没有达到拟合,请问是训练的不够吗 ? def init( self, vocab_size=2341, n_positions=128, n_ctx=128, n_embd=128, n_layer=4, n_head=8, resid_pdrop=0.1, embd_pdrop=0.1, attn_pdrop=0.1, layer_norm_epsilon=1e-5, initializer_range=0.02, output_hidden_states=False, output_attentions=False, lr=3e-5, dynamics_lr=False, read_len=40000, history_len=5, **kwargs )

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

BiEchi commented 2 years ago

我单机四块V100,用的DistributedDataParallel+Apex,10秒一个epoch,5m的语料库(0.1B)一小时基本拟合完成.