Llama-Factory使用记录

1、训练

a.方式一

  • FORCE_TORCHRUN=1 CUDA_VISIBLE_DEVICES=0 llamafactory-cil train examples/train_lora/qwen2_5vl_lora_sft.yam

b.方式二

  • FORCE_TORCHRUN=1 CUDA_VISIBLE_DEVICES=0 torchrun --nproc_per_node=1 --master_port=29501 src/train.py examples/train_lora/qwen2_5vl_lora_sft.yam

2、推理

CUDA_VISIBLE_DEVICES=0 llamafactory-cil chat examples/inference/qwen2_5vl_lora_sft.yaml

3、合并

llamafactory-cli export examples/merge_lora/qwen2_5vl_lora_sft.yaml

4、记录

  1. 准备数据
  • 按照模板格式准备;
  • pretrain阶段的数据说明,可以是json格式,每行内容是"text":"文本描述";也可以是txt文件,每行的内容是文本描述
  • 更新dataset_info.json
  1. 训练配置
  • yaml配置文件中,dataset项中可以增加一个dataset_dir用于配置数据读取路径,注意此路径中需要有dataset_info.json
  • yaml配置文件中,dataset项中的max_samples配置加载数据的数量,更新需求修改。
  1. 怎么进行模型预训练
  • 方式1,下载开源模型,在yaml配置文件中的model项修改model_name_or_path字段,接下来按照预训练步骤进行。
  • 方式2,只需要开源模型的config.jsontokenizer_config.jsontokenizer.json这三个文件,可以修改config.json中的参数进而修改模型大小、结构。然后在yaml配置文件中的model项修改model_name_or_path字段,再增加train_from_scratch: true,这是通过配置文件实例化模型。接下来按照预训练步骤进行。
  • 方式3,将自己的模型已规定格式放在transformers库中,再以上述两种方式进行训练。
  1. cutoff_len
    每条样本tokenizer后进行拼接,次参数用于拼接后的长度。(多条样本会合并成一个样本进行训练)

5、扩展tokenizer

准备中

相关推荐
ME_Liao_20222 年前
“对象创建”模式
c语言·c++·简单工厂模式·抽象工厂模式·format factory