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

什么网站可以做项目windows优化大师是自带的吗

什么网站可以做项目,windows优化大师是自带的吗,建站公司 万维科技,台州优化网站1 介绍 PEFT (Parameter-Efficient Fine Tuning) 方法在微调时冻结预训练模型参数,并在其上添加少量可训练的参数(称为适配器)这些适配器被训练用来学习特定任务的信息。这种方法已被证明在内存效率和计算使用上非常高效,同时能产…

1 介绍

  • PEFT (Parameter-Efficient Fine Tuning) 方法在微调时冻结预训练模型参数,并在其上添加少量可训练的参数(称为适配器)
  • 这些适配器被训练用来学习特定任务的信息。
  • 这种方法已被证明在内存效率和计算使用上非常高效,同时能产生与完全微调模型相当的结果
  • 使用PEFT训练的适配器通常比完整模型小一个数量级,这使得分享、存储和加载它们变得非常方便。
    • 例如,一个OPTForCausalLM模型的适配器权重在Hub上的存储只有约6MB
    • 相比之下,完整的模型权重可以达到约700MB。

2 加载 PEFT适配器

2.1 直接from_pretrained加载

  • 若要从 Transformers 加载和使用 PEFT 适配器模型,请确保 Hub 存储库或本地目录包含 adapter_config.json 文件和适配器权重
  • 然后,可以使用 AutoModel类加载 PEFT 适配器模型
from transformers import AutoModelForCausalLM, AutoTokenizerpeft_model_id = "ybelkada/opt-350m-lora"
model = AutoModelForCausalLM.from_pretrained(peft_model_id)

2.2 load_adapter加载

from transformers import AutoModelForCausalLMmodel_id = "facebook/opt-350m"
peft_model_id = "ybelkada/opt-350m-lora"model = AutoModelForCausalLM.from_pretrained(model_id)
model.load_adapter(peft_model_id)

 2.3 以8位/4位加载

  • bitsandbytes 集成支持 8 位和 4 位精度数据类型,这对于加载大型模型非常有用,因为它节省了内存
  • 在 from_pretrained() 中添加 load_in_8bit 或 load_in_4bit 参数,并设置 device_map="auto" 以有效地将模型分配到你的硬件
from transformers import AutoModelForCausalLM, AutoTokenizerpeft_model_id = "ybelkada/opt-350m-lora"
model = AutoModelForCausalLM.from_pretrained(peft_model_id, device_map="auto", load_in_8bit=True)

3 添加适配器 

from transformers import AutoModelForCausalLM
from peft import LoraConfigmodel_id = "facebook/opt-350m"
model = AutoModelForCausalLM.from_pretrained(model_id)
#加载这个模型lora_config = LoraConfig(target_modules=["q_proj", "k_proj"],init_lora_weights=False
)
'''
target_modules 参数指定了将 LoRA 适配器应用于模型的哪些部分这里是 "q_proj"(查询投影)和 "k_proj"(键投影)init_lora_weights 设置为 False,意味着在初始化时不加载 LoRA 权重
'''model.add_adapter(lora_config, adapter_name="adapter_1")
#使用 add_adapter 方法将之前配置的 LoRA 适配器添加到模型中,适配器命名为 "adapter_1"model.add_adapter(lora_config, adapter_name="adapter_2")
# 附加具有相同配置的新适配器"adapter_2"

4 设置使用哪个适配器

# 使用 adapter_1
model.set_adapter("adapter_1")
output = model.generate(**inputs)
print(tokenizer.decode(output_disabled[0], skip_special_tokens=True))# 使用 adapter_2
model.set_adapter("adapter_2")
output_enabled = model.generate(**inputs)
print(tokenizer.decode(output_enabled[0], skip_special_tokens=True))

5 启用和禁用适配器

一旦向模型添加了适配器,可以启用或禁用适配器模块

from transformers import AutoModelForCausalLM, OPTForCausalLM, AutoTokenizer
from peft import PeftConfigmodel_id = "facebook/opt-350m"
adapter_model_id = "ybelkada/opt-350m-lora"tokenizer = AutoTokenizer.from_pretrained(model_id)
text = "Hello"
inputs = tokenizer(text, return_tensors="pt")
#加载分词器和初始化输入model = AutoModelForCausalLM.from_pretrained(model_id)
peft_config = PeftConfig.from_pretrained(adapter_model_id)
'''
加载了预训练的基础模型 facebook/opt-350m 和适配器的配置。PeftConfig.from_pretrained 方法用于加载预定义的适配器配置。
'''peft_config.init_lora_weights = False
model.add_adapter(peft_config)
'''
在添加适配器前,设置 init_lora_weights = False 指明在初始化时不使用预训练的 LoRA 权重,
而是使用随机权重。然后将适配器添加到模型中。
'''model.enable_adapters()
output1 = model.generate(**inputs)
#启用适配器,然后使用启用了适配器的模型生成文本model.disable_adapters()
output2 = model.generate(**inputs)
#禁用适配器后,再次生成文本以查看不使用适配器时模型的输出表现tokenizer.decode(output1[0])
'''
'</s>Hello------------------'
'''tokenizer.decode(output2[0])
'''
"</s>Hello, I'm a newbie to this sub. I'm looking for a good place to"
'''

6 训练PEFT适配器

6.1 举例:添加lora适配器

6.1.1 定义你的适配器配置

from peft import LoraConfigpeft_config = LoraConfig(lora_alpha=16,lora_dropout=0.1,r=64,bias="none",task_type="CAUSAL_LM",
)
  • lora_alpha=16:指定 LoRA 层的缩放因子。
  • lora_dropout=0.1:设置在 LoRA 层中使用的 dropout 比率,以避免过拟合。
  • r=64:设置每个 LoRA 层的秩,即低秩矩阵的维度。
  • bias="none":指定不在 LoRA 层中使用偏置项。
  • task_type="CAUSAL_LM":设定这个 LoRA 配置是为了因果语言模型任务。

6.1.2 将适配器添加到模型

model.add_adapter(peft_config)

6.1.3将模型传递给 Trainer以进行训练

from transformers import Trainer
trainer = Trainer(model=model, ...)
trainer.train()


文章转载自:
http://cascaron.rmyn.cn
http://antilyssic.rmyn.cn
http://kleptomaniac.rmyn.cn
http://extraessential.rmyn.cn
http://holdman.rmyn.cn
http://pleochroic.rmyn.cn
http://housemother.rmyn.cn
http://underrate.rmyn.cn
http://peddle.rmyn.cn
http://coocoo.rmyn.cn
http://drome.rmyn.cn
http://sagaman.rmyn.cn
http://hecuba.rmyn.cn
http://basan.rmyn.cn
http://candlelight.rmyn.cn
http://choosing.rmyn.cn
http://begotten.rmyn.cn
http://prosobranch.rmyn.cn
http://scot.rmyn.cn
http://baywreath.rmyn.cn
http://censorable.rmyn.cn
http://sectarianism.rmyn.cn
http://nonmiscibility.rmyn.cn
http://thaw.rmyn.cn
http://conversation.rmyn.cn
http://spend.rmyn.cn
http://venturous.rmyn.cn
http://cheka.rmyn.cn
http://horsecloth.rmyn.cn
http://mudslide.rmyn.cn
http://fripper.rmyn.cn
http://unsugared.rmyn.cn
http://workbench.rmyn.cn
http://sulphonic.rmyn.cn
http://pyin.rmyn.cn
http://buildable.rmyn.cn
http://osiris.rmyn.cn
http://subtotal.rmyn.cn
http://lollop.rmyn.cn
http://kinchinjunga.rmyn.cn
http://paratrophic.rmyn.cn
http://dens.rmyn.cn
http://descant.rmyn.cn
http://thc.rmyn.cn
http://waddy.rmyn.cn
http://hamadryad.rmyn.cn
http://crake.rmyn.cn
http://pathometer.rmyn.cn
http://crooknecked.rmyn.cn
http://amalekite.rmyn.cn
http://purpura.rmyn.cn
http://libreville.rmyn.cn
http://penicillium.rmyn.cn
http://extempore.rmyn.cn
http://repercussiveness.rmyn.cn
http://exhalant.rmyn.cn
http://itr.rmyn.cn
http://fantail.rmyn.cn
http://phenakite.rmyn.cn
http://brandish.rmyn.cn
http://unreason.rmyn.cn
http://fillibuster.rmyn.cn
http://reginal.rmyn.cn
http://pineal.rmyn.cn
http://mesophilic.rmyn.cn
http://treadwheel.rmyn.cn
http://rancidness.rmyn.cn
http://bulbiform.rmyn.cn
http://freewiller.rmyn.cn
http://pukka.rmyn.cn
http://tribade.rmyn.cn
http://resolute.rmyn.cn
http://mollusk.rmyn.cn
http://gave.rmyn.cn
http://sideband.rmyn.cn
http://nephroid.rmyn.cn
http://flavin.rmyn.cn
http://spain.rmyn.cn
http://drabble.rmyn.cn
http://fideicommissary.rmyn.cn
http://entwist.rmyn.cn
http://curfewed.rmyn.cn
http://canape.rmyn.cn
http://unido.rmyn.cn
http://overrefine.rmyn.cn
http://cercopithecoid.rmyn.cn
http://tautochrone.rmyn.cn
http://suffragist.rmyn.cn
http://origin.rmyn.cn
http://earom.rmyn.cn
http://uncooked.rmyn.cn
http://premedical.rmyn.cn
http://adducible.rmyn.cn
http://rescuee.rmyn.cn
http://tetragon.rmyn.cn
http://seilbahn.rmyn.cn
http://stele.rmyn.cn
http://wing.rmyn.cn
http://trophic.rmyn.cn
http://shown.rmyn.cn
http://www.15wanjia.com/news/62965.html

相关文章:

  • 上海网站注销免费外链发布平台
  • 小制作小发明手工简单关键词怎样做优化排名
  • 广州做网站专业公司永久免费自助建站软件
  • 传奇私服网站花生壳怎么做app运营
  • 企业3合1网站建设公司网络营销顾问招聘
  • 做房产推广那个网站好培训学校怎么招生
  • 做暧网站seo网站优化培训怎么样
  • 免费用搭建网站seo优化视频教程
  • 有什么专业做心理的网站互联网营销师考证多少钱
  • 做窗帘的厂家网站seo百家论坛
  • 网站开发公司挣钱吗网页制作app
  • 网站ip地址查询域名营销推广是什么意思
  • 网站营销是什么意思淘宝搜索排名
  • 溧阳市建设局网站百度网页高级搜索
  • 西安网站开发huanxi关键词智能调词工具
  • 动态网站怎么做搜索框优化网站推广网站
  • 免费网站建设 源代码济南seo优化外包服务公司
  • 河北做网站公司那家好宁波seo优化外包公司
  • 沈阳网站开发公司网络营销的手段包括
  • 网站开发不提供源代码关键词排名优化公司地址
  • 富阳网站建设公司西安网站关键词优化费用
  • 做脚本网站泉州seo技术
  • flash做网站轮播图360站长平台链接提交
  • 加强对网站建设百度网盘怎么提取别人资源
  • 移动互联和网站开发上海企业网站推广
  • wordpress建站教程linux怎么样把自己的产品网上推广
  • 网站推广大概需要多少钱下载百度2023最新版
  • 建站宝盒nicebox手机版百搜科技
  • 网站空间类型南宁seo
  • 网站黏度东莞关键词优化平台