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

主流网站开发平台做视频教育网站

主流网站开发平台,做视频教育网站,网站备案服务商,seo公司电信上海百首网络文章目录 0、参数微调简介1、常见的微调方法2、代码实战2.1、导包2.2、加载数据集2.3、数据集处理2.4、创建模型2.5、BitFit微调*2.6、配置模型参数2.7、创建训练器2.8、模型训练2.9、模型推理 0、参数微调简介 参数微调方法是仅对模型的一小部分的参数(这一小部分可…

文章目录

  • 0、参数微调简介
  • 1、常见的微调方法
  • 2、代码实战
    • 2.1、导包
    • 2.2、加载数据集
    • 2.3、数据集处理
    • 2.4、创建模型
    • 2.5、BitFit微调*
    • 2.6、配置模型参数
    • 2.7、创建训练器
    • 2.8、模型训练
    • 2.9、模型推理

0、参数微调简介

 参数微调方法是仅对模型的一小部分的参数(这一小部分可能是模型自身的,也可能是外部引入的)进行训练,便可以为模型带来显著的性能变化,在一些场景下甚至不输于全量微调。
 由于训练一小部分参数,极大程度降低了训练大模型的算力需求,不需要多机多卡,单卡就可以完成对一些大模型的训练。不仅如此,少量的训练参数,对存储的要求同样降低很多,大多数的参数微调方法只需要保存训练部分的参数,与动辄几十GB的原始大模型相比,几乎可以忽略。

1、常见的微调方法

 常见的微调方法如图所示:
在这里插入图片描述

Lialin, Vladislav, Vijeta Deshpande, and Anna Rumshisky. “Scaling down to scale up: A guide to parameter-efficient fine-tuning.” arXiv preprint arXiv:2303.15647 (2023).

2、代码实战

  • 模型——bloom-389m-zh
  • 数据集——alpaca_data_zh

2.1、导包

from datasets import load_dataset, Dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, DataCollatorForSeq2Seq, TrainingArguments, Trainer

2.2、加载数据集

ds = Dataset.load_from_disk("./alpaca_data_zh/")

2.3、数据集处理

tokenizer = AutoTokenizer.from_pretrained("../Model/bloom-389m-zh")
tokenizer
def process_func(example):MAX_LENGTH = 256input_ids, attention_mask, labels = [], [], []instruction = tokenizer("\n".join(["Human: " + example["instruction"], example["input"]]).strip() + "\n\nAssistant: ")response = tokenizer(example["output"] + tokenizer.eos_token)input_ids = instruction["input_ids"] + response["input_ids"]attention_mask = instruction["attention_mask"] + response["attention_mask"]labels = [-100] * len(instruction["input_ids"]) + response["input_ids"]if len(input_ids) > MAX_LENGTH:input_ids = input_ids[:MAX_LENGTH]attention_mask = attention_mask[:MAX_LENGTH]labels = labels[:MAX_LENGTH]return {"input_ids": input_ids,"attention_mask": attention_mask,"labels": labels}
tokenized_ds = ds.map(process_func, remove_columns=ds.column_names)
tokenized_ds

2.4、创建模型

model = AutoModelForCausalLM.from_pretrained("../Model/bloom-389m-zh",low_cpu_mem_usage=True)

2.5、BitFit微调*

#选择模型参数里面的所有bias部分
#非bias部分冻结
num_param = 0
for name,param in model.named_parameters():if 'bias' not in name:param.requires_grad = Falseelse:num_param+=param.numel()
num_param

2.6、配置模型参数

args = TrainingArguments(output_dir="./chatbot",per_device_train_batch_size=1,gradient_accumulation_steps=4,logging_steps=10,num_train_epochs=1
)

2.7、创建训练器

trainer = Trainer(args=args,model=model,train_dataset=tokenized_ds,data_collator=DataCollatorForSeq2Seq(tokenizer, padding=True, )
)

2.8、模型训练

trainer.train()

2.9、模型推理

from transformers import pipelinepipe = pipeline("text-generation", model=model, tokenizer=tokenizer, device=0)
ipt = "Human: {}\n{}".format("考试有哪些技巧?", "").strip() + "\n\nAssistant: "
pipe(ipt, max_length=256, do_sample=True, temperature=0.5)
http://www.yayakq.cn/news/664179/

相关文章:

  • 做演示的网站网站开发的层次
  • 怎么让谷歌收录我的网站网站备案免费的吗
  • 网站做优化的好处北京米兰广告设计有限公司
  • 京广桥做网站的公司网站开发设备费用计入什么科目
  • 假视频网站源码出售网站被**泛解析后的解决方法
  • 微信微网站开发免费的网站免安装
  • 最好的网络营销软件搜索引擎关键词怎么优化
  • 深圳市南山区住房和建设局网站官网网站推广制作教程
  • 哈尔滨网站制作策划简单的销售网站怎么做
  • 昆明做网站要多少钱泗泾做网站
  • 内部卷网站怎么做的wordpress数据库连接时错误
  • 企业网站建设实训建议开源cms建站系统
  • 自己做的网站会被黑吗网站建设 淘宝运营
  • 苏宁易购网站建设方案阜宁做网站
  • 我的世界做皮肤的网站wordpress 文字折叠
  • 如何上传自己的做的网站wordpress 修改页面链接地址
  • 湖州网站建设策划中国建设银行网站下载
  • 企业互联网网站定位icann域名注册商
  • 泰安集团网站建设免费发布卖车信息网站
  • 专业的网站建设企业网站红色风格网站
  • 江汉建站公司网站设计网站开发优化
  • 网站框架是怎么做的哪个网站做兼职有保障
  • 黄浦区网站建设公司建公司网站外贸
  • 可以做网站开个写手公司信息网络安全包括
  • 网站修改了关键词被降权做网站是要编程吗
  • 在线流程图网站怎么做建筑行业网站模板
  • 温州免费建站济南百度推广代理商
  • 网站建设后端工程师岗位职责百度外推排名
  • 做网站需要什么软件ppt链接网站怎么做
  • 公司做网站该注意哪些网站推广方法素材