成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

當(dāng)下最容易上手的大模型微調(diào)工具是誰?LLamaFactory或是其中之一

發(fā)布于 2024-4-9 10:29
瀏覽
0收藏

近日,國內(nèi)的一款微調(diào)框架發(fā)布了自己的論文《LLAMAFACTORY: Unified Efficient Fine-Tuning of 100+ Language Models》,對他們的框架做了系統(tǒng)性的總結(jié)。該框架自推出后迅速出圈,現(xiàn)已斬獲15.6k的star,逐步成為當(dāng)下微調(diào)的首選工具。

當(dāng)下最容易上手的大模型微調(diào)工具是誰?LLamaFactory或是其中之一-AI.x社區(qū)

??https://arxiv.org/pdf/2403.13372.pdf??

模型微調(diào)相較于上下文學(xué)習(xí)來講,存在比較高的門檻,但又是模型專業(yè)化,領(lǐng)域化不可或缺的技術(shù)手段。而其復(fù)雜性突出表現(xiàn)在這些方面:

1)理論基礎(chǔ),如果說基于大模型寫prompt 根據(jù)一定范式來構(gòu)建RAG或者Agent不需要太多機(jī)器學(xué)習(xí)理論知識,然而微調(diào)就必須要對這些有理解,比如樣本,學(xué)習(xí)率,logloss等。

2)數(shù)據(jù)準(zhǔn)備,對于普通開發(fā)者,高質(zhì)量的數(shù)據(jù)是微調(diào)成功的關(guān)鍵保證,而如何預(yù)處理,清洗,標(biāo)注這些樣本本身就很復(fù)雜,更因此誕生了大模型數(shù)據(jù)工程這樣的領(lǐng)域來解決這一問題。

3)基座模型存在分化,雖然當(dāng)下很多模型都參考llama和huggingface的一些規(guī)范,但是仍然都有一些特殊之處,想要微調(diào)也需要針對性地去分析和構(gòu)建相應(yīng)的策略。

4)超參數(shù)優(yōu)化,微調(diào)本身是一個“煉丹”過程,如何能夠找到合適的超參數(shù),達(dá)到一個最佳性能,是一個重大挑戰(zhàn)。

5)AI工程復(fù)雜性,涉及到硬件\軟件\復(fù)雜流程的協(xié)同配合以及系統(tǒng)優(yōu)化,在有限的成本、資源和時間要求下完成模型訓(xùn)練過程。

正是因?yàn)檫@些原因,對于預(yù)訓(xùn)練微調(diào),需要一個類似于工廠的工業(yè)化手段來降低門檻,提升效率。

因此,行業(yè)內(nèi)出現(xiàn)了很多微調(diào)框架,而LLamaFactory(https://github.com/hiyouga/LLaMA-Factory)便是其中之一,從起名上就可以看出它們的目標(biāo)是成為模型微調(diào)的工廠。

當(dāng)下最容易上手的大模型微調(diào)工具是誰?LLamaFactory或是其中之一-AI.x社區(qū)

它得以流行主要得益于支持當(dāng)下主流的大模型百川、千問、LLaMA等,不僅集成了大模型預(yù)訓(xùn)練、監(jiān)督微調(diào)和強(qiáng)化微調(diào)等階段的主流的微調(diào)技術(shù)(支持 LoRA 和 QLoRA 等參數(shù)高效微調(diào)策略),還提供了預(yù)訓(xùn)練、指令微調(diào)等豐富的數(shù)據(jù)集,方便參考使用,最重要的是提供了一個無代碼的圖形界面,大幅降低使用門檻,非開發(fā)者也可以方便地完成模型微調(diào)。

該框架架構(gòu)上由四個模塊構(gòu)成:模型加載器、數(shù)據(jù)工作器和訓(xùn)練器,以及用戶界面LlamaBoard。

當(dāng)下最容易上手的大模型微調(diào)工具是誰?LLamaFactory或是其中之一-AI.x社區(qū)

在根據(jù)官方文檔安裝好LLamaFactory后,可以有三種方式進(jìn)行操作,WebUI、CLI或者Python。

1.webUI。

CUDA_VISIBLE_DEVICES=0 python src/train_web.py

當(dāng)下最容易上手的大模型微調(diào)工具是誰?LLamaFactory或是其中之一-AI.x社區(qū)

2.CLI,由于有時候界面限制,可能需要命令行的方式進(jìn)行微調(diào)。如果不知道具體格式,可以在界面上配置好,再復(fù)制到命令行中調(diào)整使用。

當(dāng)下最容易上手的大模型微調(diào)工具是誰?LLamaFactory或是其中之一-AI.x社區(qū)


在example目錄中有大量的示例可供參考。

examples/
├── lora_single_gpu/
│   ├── pretrain.sh: 進(jìn)行預(yù)訓(xùn)練
│   ├── sft.sh: 進(jìn)行指令監(jiān)督微調(diào)
│   ├── reward.sh: 進(jìn)行獎勵模型訓(xùn)練
│   ├── ppo.sh: 進(jìn)行 PPO 訓(xùn)練
│   ├── dpo.sh: 進(jìn)行 DPO 訓(xùn)練
│   ├── orpo.sh: 進(jìn)行 ORPO 訓(xùn)練
│   ├── prepare.sh: 保存預(yù)處理后的數(shù)據(jù)集
│   └── predict.sh: 進(jìn)行批量預(yù)測
├── qlora_single_gpu/
│   ├── bitsandbytes.sh: 微調(diào) 4/8 比特 BNB 模型
│   ├── gptq.sh: 微調(diào) 4/8 比特 GPTQ 模型
│   ├── awq.sh: 微調(diào) 4 比特 AWQ 模型
│   └── aqlm.sh: 微調(diào) 2 比特 AQLM 模型
├── lora_multi_gpu/
│   ├── single_node.sh: 使用 Accelerate 進(jìn)行單節(jié)點(diǎn)訓(xùn)練
│   └── multi_node.sh: 使用 Accelerate 進(jìn)行多節(jié)點(diǎn)訓(xùn)練
├── full_multi_gpu/
│   ├── single_node.sh: 使用 DeepSpeed 進(jìn)行單節(jié)點(diǎn)訓(xùn)練
│   └── multi_node.sh: 使用 DeepSpeed 進(jìn)行多節(jié)點(diǎn)訓(xùn)練
├── merge_lora/
│   ├── merge.sh: 將 LoRA 權(quán)重合并到預(yù)訓(xùn)練模型中
│   └── quantize.sh: 使用 AutoGPTQ 量化模型
├── inference/
│   ├── cli_demo.sh: 啟動命令行推理接口
│   ├── api_demo.sh: 啟動 OpenAI 風(fēng)格 API
│   ├── web_demo.sh: 啟動瀏覽器推理接口
│   └── evaluate.sh: 在 MMLU 數(shù)據(jù)集上評測模型
└── extras/
    ├── galore/
    │   └── sft.sh: 使用 GaLore 訓(xùn)練模型
    ├── loraplus/
    │   └── sft.sh: 使用 LoRA+ 訓(xùn)練模型
    ├── llama_pro/
    │   ├── expand.sh: 擴(kuò)展模型中的層
    │   └── sft.sh: 訓(xùn)練擴(kuò)展后的模型
    └── fsdp_qlora/
        └── sft.sh: 使用 FSDP 微調(diào)量化模型

3)編程方式。

from llmtuner import run_exp
run_exp(dict(
  stage="sft",
  do_train=True,
  model_name_or_path="Qwen/Qwen1.5-0.5B-Chat",
  dataset="identity,alpaca_gpt4_en,alpaca_gpt4_zh",
  template="qwen",
  finetuning_type="lora",
  lora_target="all",
  output_dir="test_identity",
  per_device_train_batch_size=4,
  gradient_accumulation_steps=4,
  lr_scheduler_type="cosine",
  logging_steps=10,
  save_steps=100,
  learning_rate=1e-4,
  num_train_epochs=5.0,
  max_samples=500,
  max_grad_norm=1.0,
  fp16=True,
))

對于用戶來講,準(zhǔn)備正確高質(zhì)量的數(shù)據(jù)是用好該工具的關(guān)鍵。在使用自定義數(shù)據(jù)集時需要在 dataset_info.json 文件中按照以下格式提供數(shù)據(jù)集定義,數(shù)據(jù)集格式支持兩種:alpaca 和 sharegpt,具體可參考其官方文檔。

"數(shù)據(jù)集名稱": {
  "hf_hub_url": "Hugging Face 的數(shù)據(jù)集倉庫地址(若指定,則忽略 script_url 和 file_name)",
  "ms_hub_url": "ModelScope 的數(shù)據(jù)集倉庫地址(若指定,則忽略 script_url 和 file_name)",
  "script_url": "包含數(shù)據(jù)加載腳本的本地文件夾名稱(若指定,則忽略 file_name)",
  "file_name": "該目錄下數(shù)據(jù)集文件的名稱(若上述參數(shù)未指定,則此項(xiàng)必需)",
  "file_sha1": "數(shù)據(jù)集文件的 SHA-1 哈希值(可選,留空不影響訓(xùn)練)",
  "subset": "數(shù)據(jù)集子集的名稱(可選,默認(rèn):None)",
  "folder": "Hugging Face 倉庫的文件夾名稱(可選,默認(rèn):None)",
  "ranking": "是否為偏好數(shù)據(jù)集(可選,默認(rèn):False)",
  "formatting": "數(shù)據(jù)集格式(可選,默認(rèn):alpaca,可以為 alpaca 或 sharegpt)",
  "columns(可選)": {
    "prompt": "數(shù)據(jù)集代表提示詞的表頭名稱(默認(rèn):instruction)",
    "query": "數(shù)據(jù)集代表請求的表頭名稱(默認(rèn):input)",
    "response": "數(shù)據(jù)集代表回答的表頭名稱(默認(rèn):output)",
    "history": "數(shù)據(jù)集代表歷史對話的表頭名稱(默認(rèn):None)",
    "messages": "數(shù)據(jù)集代表消息列表的表頭名稱(默認(rèn):conversations)",
    "system": "數(shù)據(jù)集代表系統(tǒng)提示的表頭名稱(默認(rèn):None)",
    "tools": "數(shù)據(jù)集代表工具描述的表頭名稱(默認(rèn):None)"
  },
  "tags(可選,用于 sharegpt 格式)": {
    "role_tag": "消息中代表發(fā)送者身份的鍵名(默認(rèn):from)",
    "content_tag": "消息中代表文本內(nèi)容的鍵名(默認(rèn):value)",
    "user_tag": "消息中代表用戶的 role_tag(默認(rèn):human)",
    "assistant_tag": "消息中代表助手的 role_tag(默認(rèn):gpt)",
    "observation_tag": "消息中代表工具返回結(jié)果的 role_tag(默認(rèn):observation)",
    "function_tag": "消息中代表工具調(diào)用的 role_tag(默認(rèn):function_call)",
    "system_tag": "消息中代表系統(tǒng)提示的 role_tag(默認(rèn):system,會覆蓋 system 列)"
  }
}

經(jīng)過以上的步驟,剩下的就是需要耐心的調(diào)參和評估了。下面是一個利用webui進(jìn)行微調(diào)操作示例。

小結(jié)

相較于其他方法,目前,LlamaFactory可以說是當(dāng)下最簡單快捷又功能強(qiáng)大的一種微調(diào)工具,值得大家學(xué)習(xí)使用。

收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 人人鲁人人莫人人爱精品 | 成人区一区二区三区 | 欧美一级二级视频 | 国产一区在线免费观看 | www日本在线播放 | 一本色道精品久久一区二区三区 | 久久精片| 日韩一级一区 | 国产 欧美 日韩 一区 | 国产伦一区二区三区久久 | 久草免费在线视频 | 久久影院一区 | 欧美久久久网站 | 亚洲日本免费 | 91久久精品 | 国产一区二区影院 | 日韩免费三级 | 久久久久久久久久一区 | 欧美激情视频网站 | 日韩成人精品 | 国产成人久久av免费高清密臂 | 91麻豆精品国产91久久久久久久久 | 99热热 | 国产精品视频一区二区三区不卡 | 欧美一区二区免费 | 欧州一区二区三区 | 一区视频在线播放 | 久久99视频 | 日韩中文字幕在线免费 | 国产超碰人人爽人人做人人爱 | 久久y| 免费一级毛片 | 日韩中文久久 | 一区二区三区视频在线观看 | 国产成在线观看免费视频 | 国产乱码精品一区二区三区忘忧草 | 亚洲一区二区三区久久久 | 亚洲成av人影片在线观看 | 日韩一区中文字幕 | 爱草视频 | 精品一区二区久久久久久久网站 |