首页 >科技周边 >人工智能 >微调美洲驼2:定制大语模型的分步指南

微调美洲驼2:定制大语模型的分步指南

William Shakespeare
William Shakespeare原创
2025-03-09 11:09:12187浏览

Meta的Llama引发了大型语言模型(LLM)开发的激增,旨在与GPT-3.5这样的模型竞争。 开源社区迅速产生了越来越强大的模型,但是这些进步并非没有挑战。 许多开源LLM具有限制性许可(仅研究),需要大量预算进行微调,并且部署昂贵。 Llama的新迭代通过商业许可证和新方法解决了这些问题,从而可以对消费级GPU进行微调,并且内存有限。这使AI民主化,甚至允许较小的组织创建量身定制的模型。

本指南在Google Colab上展示了微调Llama-2,利用有效的技术来克服资源限制。我们将探索最大程度地减少内存使用量并加速培训的方法。

>

作者使用dall-e 3 Fine-Tuning LLaMA 2: A Step-by-Step Guide to Customizing the Large Language Model 生成的图像

> >微调乳拉拉玛-2:逐步指南

> 此教程微调T4 GPU上的70亿参数Llama-2模型(可在Google Colab或Kaggle上找到)。 T4的16GB VRAM需要使用Qlora(4位精度)进行参数有效的微调。我们将利用拥抱的面部生态系统(变形金刚,加速,PEFT,TRL,BITSANDBYTES)。

1。设置:

安装必要的库:

>导入模块:

<code>%%capture
%pip install accelerate peft bitsandbytes transformers trl</code>

2。模型和数据集选择:
<code>import os
import torch
from datasets import load_dataset
from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    BitsAndBytesConfig,
    TrainingArguments,
    pipeline,
    logging,
)
from peft import LoraConfig
from trl import SFTTrainer</code>

我们将使用(等效于官方Llama-2的易于访问)作为基本模型,将其作为我们较小的培训数据集。

>NousResearch/Llama-2-7b-chat-hf>说明了拥抱面模型和数据集的图像,与原始图像相同。 mlabonne/guanaco-llama2-1k

3。加载数据和型号:
<code>base_model = "NousResearch/Llama-2-7b-chat-hf"
guanaco_dataset = "mlabonne/guanaco-llama2-1k"
new_model = "llama-2-7b-chat-guanaco"</code>

> 加载数据集:

>使用Qlora配置4位量化:

>使用4位量化加载Llama-2模型:

<code>dataset = load_dataset(guanaco_dataset, split="train")</code>
加载令牌:

<code>compute_dtype = getattr(torch, "float16")
quant_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=compute_dtype,
    bnb_4bit_use_double_quant=False,
)</code>
>

图像说明Qlora的图像与原始。
<code>model = AutoModelForCausalLM.from_pretrained(
    base_model,
    quantization_config=quant_config,
    device_map={"": 0}
)
model.config.use_cache = False
model.config.pretraining_tp = 1</code>

4。 PEFT配置:

<code>tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token
tokenizer.padding_side = "right"</code>

定义PEFT参数以进行有效的微调:>

5。训练参数:

设置训练超标仪(输出目录,时期,批量大小,学习率等)。 详细信息与原始。

6。用SFT进行微调:

<code>peft_params = LoraConfig(
    lora_alpha=16,
    lora_dropout=0.1,
    r=64,
    bias="none",
    task_type="CAUSAL_LM",
)</code>

>使用TRL库中的进行监督的微调:>

>

>显示训练进度和模型节省的屏幕截图与原始相同。

7。评估:

>使用管道测试微调模型。提供了示例,与原始相同。transformers>

8。张板可视化:

启动张板以监视培训指标。

<code>%%capture
%pip install accelerate peft bitsandbytes transformers trl</code>

张量板的屏幕截图与原始板相同。 结论:

本指南在有限的硬件上展示了有效的Llama-2微调。 Qlora和其他技术的使用使更广泛的受众可以访问高级LLM。 最后提到了进一步的资源和学习路径,类似于原始的原始资源和学习路径,但没有营销呼吁采取行动。

以上是微调美洲驼2:定制大语模型的分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

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