欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 欺诈文本分类微调(七)—— lora单卡二次调优

欺诈文本分类微调(七)—— lora单卡二次调优

2025/11/9 22:43:16 来源:https://blog.csdn.net/xiaojia1001/article/details/141500352  浏览:    关键词:欺诈文本分类微调(七)—— lora单卡二次调优

1. 前言

模型训练是一个不断调优的过程,这注定了我们的需要多次跑同一个训练过程。在前文欺诈文本分类微调(六):Lora单卡跑的整个训练过程中,基本可以分为几步:

  1. 数据加载
  2. 数据预处理
  3. 模型加载
  4. 定义lora参数
  5. 插入微调矩阵
  6. 定义训练参数
  7. 构建训练器开始训练

这个流程基本是固定的,而训练调优过程中需要调整的主要是以下这些项:

  1. 输入和输出:数据路径,模型路径,输出路径
  2. 参数:lora参数,训练参数

因此,我们将整个训练过程中基本不变的部分提取到trainer.py中。内容如下所示:

def load_jsonl(path):with open(path, 'r') as file:data = [json.loads(line) for line in file]return pd.DataFrame(data)def preprocess(item, tokenizer, max_length=2048):input_ids, attention_mask, labels = [], [], []system_message = "You are a helpful assistant."user_message = item['instruction'] + item['input']assistant_message = json.dumps({"is_fraud":item["label"]}, ensure_ascii=False)instruction = tokenizer(f"<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{user_message}<|im_end|>\n<|im_start|>assistant\n", add_special_tokens=False)  response = tokenizer(assistant_message, add_special_tokens=False)input_ids = instruction["input_ids"] + response["input_ids"] + [tokenizer.pad_token_id]attention_mask = instruction["attention_mask"] + response["attention_mask"] + [1]  # -100是一个特殊的标记,用于指示指令部分的token不应参与损失计算labels = [-100] * len(instruction["input_ids"]) + response["input_ids"] + [tokenizer.pad_token_id]  # 对输入长度做一个限制保护,超出截断return {"input_ids": input_ids[:max_length],"attention_mask": attention_mask[:max_length],"labels": labels[:max_length]}def load_dataset(train_path, eval_path, tokenizer):train_df = load_jsonl(train_path)train_ds = Dataset.from_pandas(train_df)train_dataset = train_ds.map(lambda x: preprocess(x, tokenizer), remove_columns=train_ds.column_names)eval_df = load_jsonl(eval_path)eval_ds = Dataset.from_pandas(eval_df)eval_dataset = eval_ds.map(

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词