首頁 > 科技週邊 > 人工智慧 > 微調美洲駝2:定制大語模型的分步指南

微調美洲駝2:定制大語模型的分步指南

William Shakespeare
發布: 2025-03-09 11:09:12
原創
183 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板