当前位置: 首页 > news >正文

做营销网站建设挣钱吗全网推广怎么做

做营销网站建设挣钱吗,全网推广怎么做,vi系统设计一般多少钱,.net 手机网站源码下载在之前的博客中,我采用SFT(监督优化训练)的方法训练一个GPT2的模型,使得这个模型可以根据提示语进行回答。具体可见博客召唤神龙打造自己的ChatGPT_gzroy的博客-CSDN博客 Huggingface提供了一个TRL的扩展库,可以对tra…

在之前的博客中,我采用SFT(监督优化训练)的方法训练一个GPT2的模型,使得这个模型可以根据提示语进行回答。具体可见博客召唤神龙打造自己的ChatGPT_gzroy的博客-CSDN博客

Huggingface提供了一个TRL的扩展库,可以对transformer模型进行强化学习,SFT是其中的一个训练步骤,为此我也测试一下如何用Huggingface来进行SFT训练,和Pytorch的训练方式做一个比较。

训练数据

首先是获取训练数据,这里同样是采用Huggingface的chatbot_instruction_prompts的数据集,这个数据集涵盖了不同类型的问答,可以用作我们的模型优化之用。

from datasets import load_datasetds = load_dataset("alespalla/chatbot_instruction_prompts")
train_ds = ds['train']
eval_dataset = ds['test']
eval_dataset = eval_dataset.select(range(1024))

训练集总共包括了258042条问答数据,对于验证集我只选取了头1024条记录,因为总的数据集太长,如果在训练过程中全部验证的话耗时太长。

加载GPT2模型

Huggingface提供了很多大模型的训练好的参数,这里我们可以直接加载一个已经训练好的GPT2模型来做优化

from transformers import AutoModelForCausalLM, AutoTokenizermodel = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")
tokenizer.pad_token = tokenizer.eos_token

然后我们可以定义TRL提供的SFTTrainer来进行训练,首先需要对训练数据处理一下,因为训练数据包括了两列,分别是prompt和response,我们需要把两列的文本合为一起,通过格式化字符来区分,如以下格式化函数:

def formatting_func(example):text = f"### Prompt: {example['prompt']}\n ### Response: {example['response']}"return text

定义SFTTrainer的训练参数,具体每个参数的含义可见官网的文档:

args = TrainingArguments(output_dir='checkpoints_hf_sft',overwrite_output_dir=True, per_device_train_batch_size=4,per_device_eval_batch_size=4,fp16=True,torch_compile=True,evaluation_strategy='steps',prediction_loss_only=True,eval_accumulation_steps=1,learning_rate=0.00006,weight_decay=0.01,adam_beta1=0.9,adam_beta2=0.95,warmup_steps=1000,eval_steps=4000,save_steps=4000,save_total_limit=4,dataloader_num_workers=4,max_steps=12000,optim='adamw_torch_fused')

最后就可以定义一个trainer来训练了

trainer = SFTTrainer(model,args = args,train_dataset=dataset,eval_dataset=eval_dataset,tokenizer=tokenizer,packing=True,formatting_func=formatting_func,max_seq_length=1024
)trainer.train(resume_from_checkpoint=False)

因为是第一次训练,我设置了resume_from_checkpoint=False,如果是继续训练,把这个参数设为True即可从上次checkpoint目录自动加载最新的checkpoint来训练。

训练结果如下:

 [12000/12000 45:05, Epoch 0/1]

StepTraining LossValidation Loss
40002.1379002.262321
80002.1878002.232235
120002.2185002.210413

总共耗时45分钟,比我在pytorch上的训练要快一些(快了10分钟多一些),但是这个训练集的Loss随着Step的增加反而增加了,Validation Loss就减少了,有些奇怪。在Pytorch上我同样训练12000个迭代,最后training loss是去到1.8556的。可能还要再调整一下trainer的参数看看。

测试

最后我们把SFT训练完成的模型,通过huggingface的pipeline就可加载进行测试了。

from transformers import pipelinemodel = AutoModelForCausalLM.from_pretrained('checkpoints_hf_sft/checkpoint-12000/')
pipe = pipeline(task='text-generation', model=model, tokenizer=tokenizer, device=0)pipe('### Prompt: Who is the current president of USA?')
[{'generated_text': '### Prompt: Who is the current president of USA?\n ### Response: Harry K. Busby is currently President of the United States.'}]

回答的语法没问题,不过内容是错的。

再测试另一个问题

### Prompt: How to make a cup of coffee?

[{'generated_text': '### Prompt: How to make a cup of coffee?\n ### Response: 1. Preheat the oven to 350°F (175°C).\n\n2. Boil the coffee beans according to package instructions.\n\n3. In a'}]

这个回答就正确了。

总结

通过用Huggingface可以很方便的对大模型进行强化学习的训练,不过也正因为太方便了,很多训练的细节被包装了,所以训练的结果不太容易优化,不像在Pytorch里面控制的自由度更高一些。当然可能我对huggingface的trainer参数的细节还不太了解,这个有待后续继续了解。

另外我还发现huggingface的一个小的bug,就是模型从头训练的时候没有问题,但是当我从之前的checkpoint继续训练时,会报CUDA OOM的错误,从nvidia-smi命令看到的显存占用率来看,好像trainer定义模型和装载Checkpoint会重复占用了显存,因此同样的batch_size,在继续训练时就报内存不够了,这个也有待后溪继续了解。

http://www.khdw.cn/news/67987.html

相关文章:

  • 谷歌网站怎么设置才能打开网站关键词排名优化提升培训
  • 瑞安电影城网站建设哪里有seo排名优化
  • 网页模板网站推荐代理怎么引流推广
  • 换接入商网站备案爱站网是什么
  • 网站集约化建设的意义网站首页快速收录
  • 洛阳网站建设招聘信息新闻头条最新消息
  • 贵州网站建设吧青岛百度推广多少钱
  • 网站后台使用说明优秀软文范例800字
  • 南京医院手机网站建设广东公共广告20120708
  • 佛山短视频拍摄南京seo公司哪家
  • 网络销售工作靠谱吗自动seo系统
  • 凡科二级网站怎么做商家联盟营销方案
  • 哪一个景区网站做的最成熟免费关键词排名优化软件
  • 网站建设需求调研过程sem工作内容
  • 淘宝优惠券网站开发seo优化网站教程百度
  • b2b商城网站建设今日军事新闻最新消息新闻
  • 乐清高端网站建设公司网站的推广方案
  • 网站改版后百度不收录seo初级入门教程
  • 网站左侧悬浮导航足球世界排名前十
  • 大学英文网站建设重庆seo排名软件
  • 买一个域名多少钱一个手机清理优化软件排名
  • 专做批发的网站有哪些长春seo排名扣费
  • 摄影网站cms社区推广
  • 南桥做网站软文营销的案例
  • 可以上传自己做的视频的网站吗浙江百度查关键词排名
  • b2b平台网站功能江门关键词优化公司
  • 凡科免费建站平台运营推广怎么做
  • 专业个人网站百度开户代理公司
  • css 网站模板民宿平台搜索量上涨
  • 做网站为什么要建站点正规的培训机构有哪些