国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

這篇具有很好參考價值的文章主要介紹了快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言:
  • 系統(tǒng):ubuntu 18.04
  • 顯卡:A100-80G(蹭的,嘿嘿~)
    (本次主要記錄如何快速進行大模型的指令微調(diào))

1. 選用工程:lit-llama

  • 地址:https://github.com/Lightning-AI/lit-llama
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

2. 下載工程

git clone https://github.com/Lightning-AI/lit-llama.git

3. 安裝環(huán)境

  1. 切換到工程目錄
cd ./lit-llama
  1. 使用pip安裝依賴庫
pip install -r requirements.txt

(當然,這里可能會遇到網(wǎng)絡問題,安裝不了lightning)
可使用以下方式安裝:

  • 下載lightning工程
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 解壓進入工程目錄,使用以下命令安裝

    python setup.py install
    
  • 查看lightning是否安裝成功:

    pip list|grep lightning
    

    (這里注意lightning的版本是2.1.0)
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

4. 下載LLAMA-7B模型

這里我們要基于LLAMA-7B做指令微調(diào),所以要先下載模型權(quán)重,并作一系列轉(zhuǎn)換。

  • 切換到 lit-llama 所在位置,使用以下命令下載權(quán)重:
python scripts/download.py --repo_id openlm-research/open_llama_7b --local_dir checkpoints/open-llama/7B

(文件有點大,需要等待一些時間)

  • 下載完畢之后,會得到如下的文件:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

5. 做模型轉(zhuǎn)換

  • 還是切換到 lit-llama 所在位置,使用以下指令進行轉(zhuǎn)換
    python scripts/convert_hf_checkpoint.py --checkpoint_dir checkpoints/open-llama/7B --model_size 7B
    
  • 轉(zhuǎn)換完畢之后,在 lit-llama/checkpoints/lit-llama/7B 位置,會得到大小為26G左右的 lit-llama.pth 文件,在上一級目錄(lit-llama/checkpoints/lit-llama)還有一個tokenizer.model文件
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

6. 初步測試

  • 在命令行,使用如下命令運行:

     python generate.py --prompt "Today is a"
    

    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 使用中文測試,發(fā)現(xiàn)效果不好(開始胡說八道了~)
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

7. 為什么要進行指令微調(diào)?

  • 因為原始的預訓練LLAMA模型是一個大語言模型(廢話~),會根據(jù)前面的單詞預測下一個詞語,如果你問它問題,它不會正確回答你,你問它一個問題,它可能會續(xù)寫一些跟你一樣的句子,例如,
  • Prompt為 “What is the capital of China?”,它的回復如下所示:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

8. 開始進行指令微調(diào)

8.1. 數(shù)據(jù)準備

  • 這里使用alpaca的52k指令數(shù)據(jù)進行微調(diào),使用如下指令:

    python scripts/prepare_alpaca.py
    
  • 如果下載不下來的話,我們直接打開scripts/prepare_alpaca.py文件,如下所示:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 直接打開鏈接 https://raw.githubusercontent.com/tloen/alpaca-lora/main/alpaca_data_cleaned_archive.json,然后全選頁面復制,再保存到新建的文件里。
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 得到alpaca_data_cleaned_archive.json(看名字的clean應該是清洗過的),每條指令包含"instruction"、“input”、"output"三個關鍵字,本次先不具體展開講解,如下所示:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 運行指令后,還會作數(shù)據(jù)劃分,train-49759, val-2000如下所示:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 最后,會在lit-llama/data/alpaca路徑下得到以下文件:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

8.2 開始模型訓練

  • 使用以下指令:

    python finetune/lora.py
    
  • 訓練過程如下所示:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 整個訓練過程大約要1.5個小時(16:51 ~ 18:22)

  • 訓練完畢之后,會在out/lora/alpaca得到一系列l(wèi)ora的權(quán)重文件,如下圖所示:
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

8.3 模型測試

  • 使用如下指令進行提問,其中prompt為"what is the capital of China?",

    python generate/lora.py --prompt "what is the capital of China?"
    
  • 得到的結(jié)果如下所示
    快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)

  • 可以看到,經(jīng)過指令微調(diào)之后,模型已經(jīng)可以正?;卮鹞覀兊膯栴}了。

(ps:其他細節(jié)可以參考工程的README,寫的很清楚~)

結(jié)束。文章來源地址http://www.zghlxwxcb.cn/news/detail-505054.html

到了這里,關于快速訓練自己的大語言模型:基于LLAMA-7B的lora指令微調(diào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包