首页 >科技周边 >人工智能 >Mistral 7B教程:使用和微调Mistral 7b的分步指南

Mistral 7B教程:使用和微调Mistral 7b的分步指南

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原创
2025-03-09 10:37:13892浏览

>本教程提供了使用和微调Mistral 7b语言模型的自然语言处理任务的综合指南。 您将学会利用Kaggle进行模型访问,执行推理,应用量化技术,微调模型,合并适配器并部署到拥抱面枢纽。

>访问Mistral 7b

Mistral 7b可以通过各种平台访问,包括拥抱脸,顶点AI,Replicate,Sagemaker Jumpstart和Baseten。 本教程的重点是利用Kaggle的“模型”功能进行简化的访问,消除了对手动下载的需求。

>本节演示了从kaggle和执行推理加载模型。 基本图书馆更新对于防止错误至关重要:

使用BITSANDBYTES使用NF4配置进行4位量化量化量增强加载速度并降低内存使用情况:

<code>!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes</code>

>将Mistral 7b模型添加到您的Kaggle笔记本中涉及以下步骤:>

<code>from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, pipeline
import torch

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_use_double_quant=True,
)</code>
>单击右图中的“添加模型”。

>搜索“ Mistral 7b”,选择“ 7b-v0.1-hf”,然后添加。
    >
  1. 记录目录路径。
型号和令牌加载使用

库:> Mistral 7B Tutorial: A Step-by-Step Guide to Using and Fine-Tuning Mistral 7B 使用

>函数来简化推理:

> transformers

提示模型和设置参数:
<code>model_name = "/kaggle/input/mistral/pytorch/7b-v0.1-hf/1"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
        model_name,
        load_in_4bit=True,
        quantization_config=bnb_config,
        torch_dtype=torch.bfloat16,
        device_map="auto",
        trust_remote_code=True,
    )</code>

pipelineMISTRAL 7B微调

<code>pipe = pipeline(
    "text-generation", 
    model=model, 
    tokenizer = tokenizer, 
    torch_dtype=torch.bfloat16, 
    device_map="auto"
)</code>
本节通过使用PEFT,4位量化和Qlora之类的技术来指导您通过数据集上的Mistral 7b进行微调。 该教程还引用了有关更多环境的微调Llama 2指南。

>设置

<code>prompt = "As a data scientist, can you explain the concept of regularization in machine learning?"

sequences = pipe(
    prompt,
    do_sample=True,
    max_new_tokens=100, 
    temperature=0.7, 
    top_k=50, 
    top_p=0.95,
    num_return_sequences=1,
)
print(sequences[0]['generated_text'])</code>
安装了必要的库:

>

导入相关模块:

使用Kaggle Secrets安全管理API密钥: guanaco-llama2-1k

紧紧的脸和偏见是配置的:

基本模型,数据集和新型号名称已定义:>

数据加载
<code>%%capture
%pip install -U bitsandbytes
%pip install -U transformers
%pip install -U peft
%pip install -U accelerate
%pip install -U trl</code>

加载数据集并显示样本:

>
<code>from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig,HfArgumentParser,TrainingArguments,pipeline, logging
from peft import LoraConfig, PeftModel, prepare_model_for_kbit_training, get_peft_model
import os,torch, wandb
from datasets import load_dataset
from trl import SFTTrainer</code>

<code>from kaggle_secrets import UserSecretsClient
user_secrets = UserSecretsClient()
secret_hf = user_secrets.get_secret("HUGGINGFACE_TOKEN")
secret_wandb = user_secrets.get_secret("wandb")</code>

>加载Mistral 7b

<code>!huggingface-cli login --token $secret_hf
wandb.login(key = secret_wandb)
run = wandb.init(
    project='Fine tuning mistral 7B', 
    job_type="training", 
    anonymous="allow"
)</code>
该模型装有4位精度:

<code>base_model = "/kaggle/input/mistral/pytorch/7b-v0.1-hf/1"
dataset_name = "mlabonne/guanaco-llama2-1k"
new_model = "mistral_7b_guanaco"</code>
加载令牌

加载和配置了令牌:

>

<code>dataset = load_dataset(dataset_name, split="train")
dataset["text"][100]</code>
添加适配器

Mistral 7B Tutorial: A Step-by-Step Guide to Using and Fine-Tuning Mistral 7B 添加了一个lora适配器以进行有效的微调:

超参数

>培训论点是定义的:

<code>bnb_config = BitsAndBytesConfig(  
    load_in_4bit= True,
    bnb_4bit_quant_type= "nf4",
    bnb_4bit_compute_dtype= torch.bfloat16,
    bnb_4bit_use_double_quant= False,
)
model = AutoModelForCausalLM.from_pretrained(
        base_model,
        load_in_4bit=True,
        quantization_config=bnb_config,
        torch_dtype=torch.bfloat16,
        device_map="auto",
        trust_remote_code=True,
)
model.config.use_cache = False
model.config.pretraining_tp = 1
model.gradient_checkpointing_enable()</code>

SFT培训

SFTTRAINER已配置并启动培训:>

<code>!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes</code>

Mistral 7B Tutorial: A Step-by-Step Guide to Using and Fine-Tuning Mistral 7B

保存并推动模型

微调模型被保存并推到拥抱的脸上枢纽:>

<code>from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, pipeline
import torch

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_use_double_quant=True,
)</code>
模型评估

使用权重和偏见评估模型性能。提供了推理示例。

合并适配器

>适配器与基本模型合并,并将结果模型推向拥抱的脸。

访问微型模型

合并的模型是通过拥抱的脸和推理加载的。

结论

>教程以Mistral 7b的功能的摘要以及访问,微调和部署模型所涉及的步骤进行回顾。 还包括资源和常见问题解答。 重点是为用户提供使用这种强大语言模型的实用指南。

以上是Mistral 7B教程:使用和微调Mistral 7b的分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn