编辑
2024-09-10
NLP技术与实战
00

目录

llama factory webui框架及数据流
webui的内部使用的还是llamafactory-cli的命令行工具
demo演示(基于gradio)
demo启动文件
子组件的实现方式
可实现的接口(数据平台、模型平台)
数据

logo.webp

llama factory webui框架及数据流

webui的内部使用的还是llamafactory-cli的命令行工具

demo演示(基于gradio)

image.png

llamafactory demo有以下功能:

  • Train (训练)

  • Eval & Predict (评估)

  • Chat (聊天对话)

  • Export (模型合并)

不管哪个功能都需要一个固定组件--模型(model), 

所以把model参数置顶在最上方,剩下的就是每一个功能子组件对应的参数设置

demo启动文件

LLaMA-Factory/src/webui.py--->

LLaMA-Factory/src/llamafactory/webui/interface.py

image.png

子组件的实现方式

    image.png

LLaMA-Factory/src/llamafactory/webui/components

image.png

给各个box里的参数命名,且全部更新到input_elems   **output_elems(字典)**这一变量中

对于启动训练,点击相对应的button触发函数

image.png

将这些参数向下传递

image.png

通过各个参数最终映射到命令行就是

image.png

plaintext
llamafactory-cli train \ --stage sft \ --do_train True \ --model_name_or_path hfl/chinese-llama-2-7b \ --preprocessing_num_workers 16 \ --finetuning_type lora \ --quantization_method bitsandbytes \ --template default \ --flash_attn auto \ --dataset_dir /home/phb/phb/project/LLaMA-Factory/data \ --dataset alpaca_en \ --cutoff_len 1024 \ --learning_rate 5e-05 \ --num_train_epochs 3.0 \ --max_samples 100000 \ --per_device_train_batch_size 2 \ --gradient_accumulation_steps 8 \ --lr_scheduler_type cosine \ --max_grad_norm 1.0 \ --logging_steps 5 \ --save_steps 100 \ --warmup_steps 0 \ --optim adamw_torch \ --packing False \ --report_to none \ --output_dir saves/ChineseLLaMA2-7B/lora/train_2024-09-10-03-19-25 \ --bf16 True \ --plot_loss True \ --ddp_timeout 180000000 \ --include_num_input_tokens_seen True \ --lora_rank 8 \ --lora_alpha 16 \ --lora_dropout 0 \ --lora_target all

可实现的接口(数据平台、模型平台)

数据

image.png

重要方向(数据与模型) 数据

程序会读取Data dir下的datasets_info.json,Datasets里才会出现可选数据集,所需的格式如下

{ "code_classify": { "file_name": "/home/phb/phb/phb_research/data_2/convert/all_prompt.jsonl", "columns": { "prompt": "code", "query": "", "response": "label" } } }

模型

image.png

model_path优先级高于model_name,实际操作只需修改model_path表示所需要训练的模型

本文作者:Bob

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!