当前位置:   article > 正文

Huggingface官方文档阅读——Transformers_transformers官方文档

transformers官方文档

量化模型配置信息 quantization-BitsAndBytesConfig

import bitsandbytes as bnb
from transformers import BitsAndBytesConfig
from transformers import GenerationConfig
from peft import (
    prepare_model_for_int8_training,
    LoraConfig,
    get_peft_model,
    get_peft_model_state_dict,
    prepare_model_for_kbit_training
)
from peft import PeftModel
from transformers import AutoTokenizer, AutoConfig, AutoModelForCausalLM, 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在使用PEFT参数高效微调库时有许多config信息,现在做一个梳理:

  • bitsandbytes:bitsandbytes 是一个集成了 Transformers 的量化库。通过此集成,您可以将模型量化为 8 位或 4 位,并通过配置 BitsAndBytesConfig 类来启用许多其他选项。
  • BitsAndBytesConfig 用于设置你想要量化的模型的配置信息
import torch
from transformers import BitsAndBytesConfig
config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_use_double_quant=True,
    bnb_4bit_compute_dtype=torch.bfloat16,
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 在配置好 BitsAndBytesConfig后,将此配置传给 from_pretrained 方法,将此配置应用在模型上
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1", quantization_config=config)
  • 1
  • 2
  • 接下来,调用 prepare_model_for_kbit_training() 函数来预处理用于训练的量化模型。
from peft import prepare_model_for_kbit_training
model = prepare_model_for_kbit_training(model)
  • 1
  • 2
  • 如果想使用Lora来微调模型的话,先做Lora的配置
from peft import LoraConfig
config = LoraConfig(
    r=16,
    lora_alpha=8,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM"
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 最后使用Lora的get_peft_model方法,加载集成了Lora的模型
from peft import get_peft_model

model = get_peft_model(model, config)
  • 1
  • 2
  • 3

参考链接 | Quantize a model
参考链接 | BitsAndBytesConfig

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/772572
推荐阅读
相关标签
  

闽ICP备14008679号