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>
<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>
<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中文網其他相關文章!