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

llama-factory SFT系列教程 (二),大模型在自定義數(shù)據(jù)集 lora 訓(xùn)練與部署

這篇具有很好參考價(jià)值的文章主要介紹了llama-factory SFT系列教程 (二),大模型在自定義數(shù)據(jù)集 lora 訓(xùn)練與部署。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡介

文章列表:

  1. llama-factory SFT系列教程 (一),大模型 API 部署與使用
  2. llama-factory SFT系列教程 (二),大模型在自定義數(shù)據(jù)集 lora 訓(xùn)練與部署
  3. llama-factory SFT系列教程 (三),chatglm3-6B 命名實(shí)體識(shí)別實(shí)戰(zhàn)

支持的模型列表

模型名 模型大小 默認(rèn)模塊 Template
Baichuan2 7B/13B W_pack baichuan2
BLOOM 560M/1.1B/1.7B/3B/7.1B/176B query_key_value -
BLOOMZ 560M/1.1B/1.7B/3B/7.1B/176B query_key_value -
ChatGLM3 6B query_key_value chatglm3
DeepSeek (MoE) 7B/16B/67B q_proj,v_proj deepseek
Falcon 7B/40B/180B query_key_value falcon
Gemma 2B/7B q_proj,v_proj gemma
InternLM2 7B/20B wqkv intern2
LLaMA 7B/13B/33B/65B q_proj,v_proj -
LLaMA-2 7B/13B/70B q_proj,v_proj llama2
Mistral 7B q_proj,v_proj mistral
Mixtral 8x7B q_proj,v_proj mistral
OLMo 1B/7B att_proj olmo
Phi-1.5/2 1.3B/2.7B q_proj,v_proj -
Qwen 1.8B/7B/14B/72B c_attn qwen
Qwen1.5 0.5B/1.8B/4B/7B/14B/72B q_proj,v_proj qwen
StarCoder2 3B/7B/15B q_proj,v_proj -
XVERSE 7B/13B/65B q_proj,v_proj xverse
Yi 6B/9B/34B q_proj,v_proj yi
Yuan 2B/51B/102B q_proj,v_proj yuan

參考自:https://zhuanlan.zhihu.com/p/689333581

  • 默認(rèn)模塊 作為 --lora_target 參數(shù)的默認(rèn)值,也可使用 --lora_target all 參數(shù)指定全部模塊;

  • –template 參數(shù)可以是 default, alpaca, vicuna 等任意值。但“對(duì)話”(Chat)模型請(qǐng)務(wù)必使用對(duì)應(yīng)的模板。

項(xiàng)目所支持模型的完整列表請(qǐng)參閱 constants.py。

2. 添加自定義數(shù)據(jù)集

LLaMA-Factory 數(shù)據(jù)集說明,參考該文件給出的說明,在dataset_info.json 文件中添加配置信息;

參考如下數(shù)據(jù)集格式,定義自定義數(shù)據(jù)集;

[
  {
    "instruction": "用戶指令(必填)",
    "input": "用戶輸入(選填)",
    "output": "模型回答(必填)",
    "system": "系統(tǒng)提示詞(選填)",
    "history": [
      ["第一輪指令(選填)", "第一輪回答(選填)"],
      ["第二輪指令(選填)", "第二輪回答(選填)"]
    ]
  }
]

新數(shù)據(jù)集內(nèi)容如下:
diy.json

[
  {
    "instruction": "你是誰?",
    "input": "",
    "output": "我是Qwen,edit by JieShin.",
    "history": []
  },
  {
    "instruction": "你能幫我干些什么?",
    "input": "",
    "output": "我能和你互動(dòng)問答,我的其他功能正在開發(fā)中。",
    "history": []
   }
]

添加自定義數(shù)據(jù)集的步驟如下:

  1. diy.json 文件保存到 LLaMA-Factory/data 文件夾下;

llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

  1. 在 dataset_info.json 文件中,配置數(shù)據(jù)集
    首先計(jì)算 diy.json 文件的sha1sum, sha1sum diy.json
    llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理
    vim dataset_info.json 添加自定義數(shù)據(jù)集的配置信息, 把 diy.json 文件的sha1 值添加到文件中,"diy" 為該數(shù)據(jù)集名;
    llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

3. lora 微調(diào)

使用配置好的 diy 數(shù)據(jù)集進(jìn)行模型訓(xùn)練;

--model_name_or_path qwen/Qwen-7B,只寫模型名,不寫絕對(duì)路徑可運(yùn)行成功,因?yàn)榕渲昧?code>export USE_MODELSCOPE_HUB=1

查看 配置是否生效,輸出1 即為配置成功:
echo $USE_MODELSCOPE_HUB

llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
--stage sft \
--do_train \
--model_name_or_path qwen/Qwen-7B \
--dataset diy \
--template qwen \
--finetuning_type lora \
--lora_target c_attn \
--output_dir /mnt/workspace/llama_factory_demo/qwen/lora/sft \
--overwrite_cache \
--per_device_train_batch_size 4 \
--gradient_accumulation_steps 4 \
--lr_scheduler_type cosine \
--logging_steps 10 \
--save_strategy epoch \
--learning_rate 5e-5 \
--num_train_epochs 50.0 \
--plot_loss \
--fp16

訓(xùn)練完成的lora 權(quán)重,保存在下述文件夾中;
--output_dir /mnt/workspace/llama_factory_demo/qwen/lora/sft

模型的訓(xùn)練結(jié)果如下:
llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

lora 訓(xùn)練后的權(quán)重如下圖所示:
llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

4. 大模型 + lora 權(quán)重,部署

由于llama-factory 不支持 qwen 結(jié)合 lora 進(jìn)行推理,故需要把 lora 權(quán)重融合進(jìn)大模型成一個(gè)全新的大模型權(quán)重;

可查看如下鏈接,了解如何合并模型權(quán)重:merge_lora GitHub issue

下述是合并 lora 權(quán)重的腳本,全新大模型的權(quán)重保存到 export_dir 文件夾;

CUDA_VISIBLE_DEVICES=0 python src/export_model.py \
    --model_name_or_path qwen/Qwen-7B \
    --adapter_name_or_path /mnt/workspace/llama_factory_demo/qwen/lora/sft/checkpoint-50 \
    --template qwen \
    --finetuning_type lora \
    --export_dir /mnt/workspace/merge_w/qwen \
    --export_size 2 \
    --export_legacy_format False

使用融合后到大模型進(jìn)行推理,model_name_or_path 為融合后的新大模型路徑

CUDA_VISIBLE_DEVICES=0 API_PORT=8000 python src/api_demo.py \
    --model_name_or_path /mnt/workspace/merge_w/qwen \
    --template qwen \
    --infer_backend vllm \
    --vllm_enforce_eager \
~                             

模型請(qǐng)求腳本

curl -X 'POST' \
  'http://0.0.0.0:8000/v1/chat/completions' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "string",
  "messages": [
    {
      "role": "user",
      "content": "你能幫我做一些什么事情?",
      "tool_calls": [
        {
          "id": "call_default",
          "type": "function",
          "function": {
            "name": "string",
            "arguments": "string"
          }
        }
      ]
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "string",
        "description": "string",
        "parameters": {}
      }
    }
  ],
  "do_sample": true,
  "temperature": 0,
  "top_p": 0,
  "n": 1,
  "max_tokens": 128,
  "stream": false
}'

模型推理得到了和數(shù)據(jù)集中一樣的結(jié)果,這說明 lora 微調(diào)生效了;
llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

以為設(shè)置了 "stop": "<|endoftext|>",模型會(huì)在遇到結(jié)束符自動(dòng)結(jié)束,但模型依然推理到了最長的長度后結(jié)束,設(shè)置的 stop 并沒有生效;

llamafactory找不到目錄的數(shù)據(jù)集,大模型,自然語言處理

llama-factory的作者表示還沒有支持stop,萬一未來支持了stop功能,大家可以關(guān)注這個(gè)issue support “stop” in api chat/completions #3114

問題

雖然設(shè)置了 "temperature": 0 , 但是模型的輸出結(jié)果依然變動(dòng)很大,運(yùn)行3-4次后,才出現(xiàn)訓(xùn)練數(shù)據(jù)集中的結(jié)果;文章來源地址http://www.zghlxwxcb.cn/news/detail-857933.html

參考資料

  • api 參數(shù)列表
  • 使用LLaMa-Factory簡單高效微調(diào)大模型
    展示了支持的大模型列表;

到了這里,關(guān)于llama-factory SFT系列教程 (二),大模型在自定義數(shù)據(jù)集 lora 訓(xùn)練與部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 源2.0大模型適配LLaMA-Factory框架!

    源2.0大模型適配LLaMA-Factory框架!

    近日, 源2.0開源大模型與LLaMA-Factory框架完成全面適配 ,用戶通過LLaMA-Factory,即可快捷、高效地對(duì)不同參數(shù)規(guī)模的源2.0基礎(chǔ)模型進(jìn)行全量微調(diào)及高效微調(diào),輕松實(shí)現(xiàn)專屬大模型。 LLM(大語言模型)微調(diào),是指在大模型的基礎(chǔ)上,針對(duì)特定任務(wù)或領(lǐng)域進(jìn)行調(diào)整和優(yōu)化,以提升

    2024年01月21日
    瀏覽(20)
  • 小白也能微調(diào)大模型:LLaMA-Factory使用心得

    小白也能微調(diào)大模型:LLaMA-Factory使用心得

    大模型火了之后,相信不少人都在嘗試將預(yù)訓(xùn)練大模型應(yīng)用到自己的場景上,希望得到一個(gè)垂類專家,而不是通用大模型。 目前的思路,一是RAG(retrieval augmented generation),在模型的輸入prompt中加入盡可能多的“目標(biāo)領(lǐng)域”的相關(guān)知識(shí),引導(dǎo)模型在生成時(shí)盡量靠攏目標(biāo)領(lǐng)域,運(yùn)

    2024年04月13日
    瀏覽(32)
  • 快速上手!LLaMa-Factory最新微調(diào)實(shí)踐,輕松實(shí)現(xiàn)專屬大模型

    快速上手!LLaMa-Factory最新微調(diào)實(shí)踐,輕松實(shí)現(xiàn)專屬大模型

    Yuan2.0(https://huggingface.co/IEITYuan)是浪潮信息發(fā)布的新一代基礎(chǔ)語言大模型,該模型擁有優(yōu)異的數(shù)學(xué)、代碼能力。自發(fā)布以來,Yuan2.0已經(jīng)受到了業(yè)界廣泛的關(guān)注。當(dāng)前Yuan2.0已經(jīng)開源參數(shù)量分別是102B、51B和2B的3個(gè)基礎(chǔ)模型,以供研發(fā)人員做進(jìn)一步的開發(fā)。 LLM(大語言模型)微

    2024年01月20日
    瀏覽(24)
  • LLaMA-Factory可視化界面微調(diào)chatglm2;LoRA訓(xùn)練微調(diào)模型 簡單案例

    LLaMA-Factory可視化界面微調(diào)chatglm2;LoRA訓(xùn)練微調(diào)模型 簡單案例

    參考:https://github.com/huggingface/peft https://github.com/hiyouga/LLaMA-Factory 類似工具還有流螢,注意是做中文微調(diào)訓(xùn)練這塊;來訓(xùn)練微調(diào)的chatglm2需要完整最新文件,不能是量化后的模型;另外測試下來顯卡資源要大于20來G才能順利,這邊T4單卡訓(xùn)練中間顯存不足,需要開啟4bit量化才行

    2024年02月05日
    瀏覽(35)
  • 【本地大模型部署與微調(diào)】ChatGLM3-6b、m3e、one-api、Fastgpt、LLaMA-Factory

    【本地大模型部署與微調(diào)】ChatGLM3-6b、m3e、one-api、Fastgpt、LLaMA-Factory

    本文檔詳細(xì)介紹了使用ChatGLM3-6b大模型、m3e向量模型、one-api接口管理以及Fastgpt的知識(shí)庫,成功的在本地搭建了一個(gè)大模型。此外,還利用LLaMA-Factory進(jìn)行了大模型的微調(diào)。 1.ChatGLM3-6b 2.m3e 3.One-API 4.Fastgpt 5.LLaMA-Factory 1.1創(chuàng)建騰訊云服務(wù)器 注意: ChatGLM3-6b的大模型40多個(gè)G,購買騰訊

    2024年03月22日
    瀏覽(33)
  • LLaMA-Factory參數(shù)的解答

    LLaMA-Factory參數(shù)的解答

    打開LLaMA-Factory的web頁面會(huì)有一堆參數(shù) ,但不知道怎么選,選哪個(gè),這個(gè)文章詳細(xì)解讀一下,每個(gè)參數(shù)到底是什么含義 這是個(gè)人寫的參數(shù)解讀,我并非該領(lǐng)域的人如果那個(gè)大佬看到有參數(shù)不對(duì)請(qǐng)反饋一下,或者有補(bǔ)充的也可以!謝謝(后續(xù)該文章可能會(huì)持續(xù)更新) LLaMA-Facto

    2024年04月11日
    瀏覽(22)
  • LLaMA-Factory添加adalora

    LLaMA-Factory添加adalora

    感謝https://github.com/tsingcoo/LLaMA-Efficient-Tuning/commit/f3a532f56b4aa7d4200f24d93fade4b2c9042736和https://github.com/huggingface/peft/issues/432的幫助。 1. 修改src/llmtuner/hparams/finetuning_args.py代碼 在FinetuningArguments中修改finetuning_type,添加target_r和init_r 修改__post_init__函數(shù) 2. 修改src/llmtuner/tuner/core/adapter

    2024年01月17日
    瀏覽(26)
  • Llama3-8B+ LLaMA-Factory 中文微調(diào)

    Llama3是目前開源大模型中最優(yōu)秀的模型之一,但是原生的Llama3模型訓(xùn)練的中文語料占比非常低,因此在中文的表現(xiàn)方便略微欠佳! 本教程就以Llama3-8B-Instruct開源模型為模型基座,通過開源程序LLaMA-Factory來進(jìn)行中文的微調(diào),提高Llama3的中文能力!LLaMA-Factory是一個(gè)開源的模型訓(xùn)

    2024年04月27日
    瀏覽(31)
  • 使用LLaMA-Factory微調(diào)ChatGLM3

    使用LLaMA-Factory微調(diào)ChatGLM3

    略 (1)下載LLaMA-Factory https://github.com/hiyouga/LLaMA-Factory (2)安裝依賴 (3)啟動(dòng)LLaMA-Factory的web頁面 得到如下頁面: 設(shè)置如下參數(shù),點(diǎn)擊開始即可: 點(diǎn)擊“預(yù)覽命令”,可以看到要執(zhí)行的python腳本,如下所示:

    2024年02月03日
    瀏覽(37)
  • Llama-Factory的baichuan2微調(diào)

    Llama-Factory的baichuan2微調(diào)

    Llama-Factory:https://github.com/hiyouga/LLaMA-Factory/tree/main 請(qǐng)使用? ?來啟用 QLoRA 訓(xùn)練。 (1)獎(jiǎng)勵(lì)模型訓(xùn)練 (2)PPO訓(xùn)練(PPO訓(xùn)練需要先進(jìn)行上一步RM的訓(xùn)練,然后導(dǎo)入微調(diào)后模型和RM進(jìn)行訓(xùn)練輸出) ? ? ? ?大規(guī)模無監(jiān)督語言模型(LMs)雖然可以學(xué)習(xí)廣泛的世界知識(shí)和一些推理技能

    2024年02月05日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包