Meta的Llama引发了大型语言模型(LLM)开发的激增,旨在与GPT-3.5这样的模型竞争。 开源社区迅速产生了越来越强大的模型,但是这些进步并非没有挑战。 许多开源LLM具有限制性许可(仅研究),需要大量预算进行微调,并且部署昂贵。 Llama的新迭代通过商业许可证和新方法解决了这些问题,从而可以对消费级GPU进行微调,并且内存有限。这使AI民主化,甚至允许较小的组织创建量身定制的模型。
本指南在Google Colab上展示了微调Llama-2,利用有效的技术来克服资源限制。我们将探索最大程度地减少内存使用量并加速培训的方法。>
作者使用dall-e 3 生成的图像
> >微调乳拉拉玛-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
<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中文网其他相关文章!