| { | |
| "version": "0.2.2", | |
| "common_args": { | |
| "model_name_or_path": "./Qwen2.5-3B-Instruct", | |
| "adapter_name_or_path": "./model_output", //同时做为train_sft_args的output_dir | |
| "template": "qwen", | |
| "default_system": "请你扮演一名人类,不要说自己是人工智能", | |
| "finetuning_type": "lora", | |
| "trust_remote_code": true | |
| }, | |
| "cli_args": { | |
| "full_log": false | |
| }, | |
| "make_dataset_args": { | |
| //数据处理配置 | |
| "include_type": [ | |
| "文本" | |
| ], | |
| "blocked_words": [ // 禁用词 | |
| "例如 姓名", | |
| "例如 密码", | |
| "//....." | |
| ], | |
| "single_combine_strategy": "time_window", // 单人组成单句策略 | |
| "qa_match_strategy": "time_window", // 组成qa策略 | |
| "single_combine_time_window": 2, // 单人组成单句时间窗口(分钟), | |
| "qa_match_time_window": 5, // 组成qa时间窗口(分钟), | |
| "combine_msg_max_length": 256, // 组合后消息最大长度 配合cutoff_len 使用 | |
| "prompt_with_history": false, // 是否在prompt中包含历史对话 | |
| "clean_dataset": { | |
| "enable_clean": true, | |
| "clean_strategy": "llm", | |
| "llm": { | |
| "accept_score": 2, //可以接受的llm打分阈值,1分最差,5分最好,低于此分数的数据不会用于训练 | |
| } | |
| } | |
| }, | |
| "train_pt_args": { | |
| //预训练微调配置 | |
| "stage": "pt", | |
| "dataset": "wechat-pt", | |
| "dataset_dir": "./dataset/res_csv/pt", | |
| "lora_target": "q_proj,v_proj", | |
| "lora_rank": 2, | |
| "lora_dropout": 0.1, | |
| "output_dir": "model_output", | |
| "overwrite_cache": true, | |
| "per_device_train_batch_size": 1, | |
| "gradient_accumulation_steps": 1, | |
| "lr_scheduler_type": "cosine", | |
| "logging_steps": 10, | |
| "save_steps": 1000, | |
| "learning_rate": 0.001, | |
| "num_train_epochs": 30, | |
| "plot_loss": true, | |
| "fp16": true | |
| }, | |
| "train_sft_args": { | |
| //微调配置 | |
| "stage": "sft", | |
| "dataset": "wechat-sft", | |
| "dataset_dir": "./dataset/res_csv/sft", | |
| "use_fast_tokenizer": true, | |
| "lora_target": "q_proj,v_proj", | |
| "lora_rank": 4, | |
| "lora_dropout": 0.3, | |
| "weight_decay": 0.1, | |
| "overwrite_cache": true, | |
| "per_device_train_batch_size": 8, | |
| "gradient_accumulation_steps": 4, | |
| "lr_scheduler_type": "cosine", | |
| "cutoff_len": 256, | |
| "logging_steps": 5, | |
| "save_steps": 10, | |
| "learning_rate": 1e-4, | |
| "warmup_ratio": 0.1, | |
| "num_train_epochs": 1, | |
| "plot_loss": true, | |
| "fp16": true, | |
| "flash_attn": "fa2", | |
| // "deepspeed": "ds_config.json" //多卡训练 | |
| }, | |
| "infer_args": { | |
| "repetition_penalty": 1.2, | |
| "temperature": 0.5, | |
| "max_length": 50, | |
| "top_p": 0.65 | |
| } | |
| } |