随着大模型应用场景持续拓展,怎样令通用模型适配更具明确性的任务需求,已然成为一个颇富代表性的疑问。于此之中,特定写作风格的研习就是一个极为直观的导向:一个原本具备通用性的大模型,是不是能够借由训练,渐渐学会某一种清晰的表达方式?
针对这个问题,本文拿“现代诗生成”当作例子,进行了一回完整的微调试验。该试验是依据Qwen3 - 4B - Base以及LLaMA Factory搭建的,从数据集的准备开始,接着是格式的转换,然后进行模型的训练,还要进行对话验证以及量化评估,完整地记录模型学习现代诗风格的过程。
与普通文本生成任务相较,现代诗更着重于语言的节奏感,着重于意象之间的组织方式,着重于整体表达里的留白与氛围,所以也更适宜用来观察模型在风格层面的变化。经由这次实验,能够更直观地目睹:在训练数据与目标风格完全契合之际,模型的输出方式的确会产生较为显著的变化。
微调后效果一览
项目链接:https://www.lab4ai.cn/project/detail?utm_source=sf_lf_poetry&...
微调之前的效果是,模型输出之时,自身带有比较显著的古韵感觉。在用词方面,偏向典雅风格,句式相对较为工整,整体情形更趋近于传统诗词或者古风表达的样式。
微调达成的效果是,该模型输出显著地朝着现代自由诗的方向靠近。其中,短句分行展示出更为自然的态势,意象组织呈现出更为松弛的状态,并且语言节奏以及留白感也更加契合现代诗的表达形式。
从对比得出的结果能够看得出,在经历了具备特定针对性的数据训练以后,模型于生成风格方面已然产生了相对而言较为显著的改变。模型并非仅仅是“创作出一首诗”,而是在表达方式这一方面更加趋近于此次任务期望去学习的现代诗风格。
项目实战Step 1 数据介绍及处理
本次实验使用中文现代诗数据集(链接:https://huggingface.co/datasets/Iess/chinese_modern_poetry),规模约为 24> 万条样本。该数据集将现代诗写作整理为“给定意象,生成诗歌”的训练形式,较适合用于现代诗风格微调。
原始数据:
{"uuid": "6b57705f-4fa7-5fc5-9b95-104732d01b0c", "prompt": "使用下列意象写一首现代诗:智慧,刀刃", "response": "标题:一个过程的小细节\n\n请把这把尖刀放回盒子里\n已经生锈了,它追随你的欲望\n它是一件记念的物品\n而你就是它尚未剖腹而生的婴儿\n\n已经习以为常,一群悒郁的病毒\n你擦干的刀刃,另一面切伤了手指\n在你的血流滴滴的那会儿\n你如此镇静地包扎有点职业化\n\n请把你的镜子彻底裸体地照出自己\n用白皙地肤色平息性感的挑逗\n你熟练地削一片柠檬地时候\n却解说了这是必要的生活\n\n让我摸一摸你的刀,可是你\n收起来了,而一个身体的智慧\n是将我构成了你无所畏忌的呢称\n你贸然的偷袭,这就堵住了我呼吸"}
{"uuid": "e3e1c802-127c-574f-aab6-aab1a126fc1a", "prompt": "使用下列意象写一首现代诗:石头,森林", "response": "标题:从望江到安庆——给沈天鸿\n\n临近砍伐者的森林与河流\n我少年时背着石头和刀斧\n去远方,这是你十年前告诫我说的话\n相邻于宿松的望江,越过长江的栅栏\n一个诗人重复写下西围墙的地址\n你的鱼网残余的诗章无须编织\n多少漏网的鱼仍是自由的词,也无人捕获\n远离喧嚣的你沉默地引导着\n清洁的编辑生涯像是言辞片断\n我从中逃脱并走远,已经完全长大成人"}
之所以这样,是因为LLaMA Factory针对自定义训练数据呈现的组织样式有着清晰确切的规范,其中常用的能够提供支持的格式主要涵盖着Alpaca以及ShareGPT,然而原先的语料一般情况下是没办法直接用来进行微调操作的,所以呢,在正式开展训练工作之前,得先要在Jupyter环境里达成数据清洗、字段规整以及格式转变这些事项,要把数据统一处理成框架能够识别的标准样本。
根据本实验的任务形式,最终把数据整理成 Alpaca 格式的单轮训练样本,并且再进一步划分训练集、验证集,与此同时生成对应配置文件,以供后续微调能够直接使用。
处理完毕之后,产生了三个文件,其中一个是训练集文件,名为poetry_sft_train.jsonl,另一个是验证集文件,名为poetry_sft_val.jsonl,还有一个是用于LLaMA Factory数据集注册与字段映射的配置文件,名为dataset_info.json。
处理好后的数据结构如下(部分):
[
{
"instruction":"使用下列意象写一首现代诗:城市,红灯,人群,绿灯",
"input":"",
"output":"标题:城市的大街 红灯亮时 那边人群通过 绿灯亮时 这边人群通过 红灯亮时 你看我站在灯下 红灯亮时 我们到了一块 我想和你交往 但不可能 红灯亮时 我正在想你 想你站在灯下 我制造的雪 落在你的城市 站前的 留言壁上 很想给你留言"
},
{
"instruction":"使用下列意象写一首现代诗:晨风,山坡",
"input":"",
"output":"标题:后来 每天清晨,都是他把太阳唤醒 挽着晨风一道奔上山梁 然后,在山顶上坐下来 望着朝阳在脚下缓缓升起 后来,他只能爬到半山腰 在山坡上歇歇脚,再缓缓走下山来 再后来,他只到村中的老庙旁坐坐 等着那口老钟敲响晨曦 现在,他哪儿也不去了 每天清晨,只能静静地躺在床上 闭着昏花的眼睛,等着阳光 把他昨夜的记忆,一点一点唤醒"
}
]
从中可以看出样本形式,整理过后的数据已然转变成标准的“指令—输出”训练样本,这更有利于模型去学习“给定意象—生成现代诗”之间的映射关系。
Step 2 模型微调
在完成了数据处理这个操作之后,便进入到了微调方面所处的阶段。此次的训练是以LLaMA Factory WebUI为基础来展开进行的,其硬件环境是6卡GPU这种情况,整个训练所耗费的时间大概是2小时。基础模型运用的是Qwen3 - 4B - Base。
在训练的界面里头,仅仅只要把数据的路径设置成处理过后的数据目录,并且挑选对应的数据集,这样就能够开始训练了。下面的这张图给出了在本次实验当中能够供参考的一组训练参数配置:
在完成训练之后,能够于页面里查看 loss 曲线,还有相关的训练结果,训练结果是这样的:
Step 3 模型对话验证
微调完成后,可以先通过对话方式对模型效果进行定性验证。
于LLaMA Factory的Chat页面里,在评测原模型这么个情况时,得先去清空“检查点路径”,进而再去点击“加载模型”,以此来确保当下所调用的是基础模型本体,并非是某个微调过后的checkpoint。随后输入一样的测试问题,观察模型的回答风格。
原模型回答效果:
测试微调过后的模型之际,在 “检查点路径” 里头,选中对应到实验输出目录那儿的 checkpoint,剩下的流程维持一样,同样用相同的问题开展测验。微调以后回应。
借由这种途径,能够相对直观地去比较在微调之前以及调试之后的模型,于诸多方面有所不同,像是诗歌风格方面,还有语言节奏方面,以及表达方式方面所呈现出的变化。
Step 4 模型评估
完成定性验证之后,还能够进一步地借助Evaluate & Predict页面来开展量化评估。
进行原模型评测之际,同样得先将“检查点路径”予以清空,以此保证待评估的对象就是基础模型本体,之后于数据集的地方挑选val,并且维持统一的评测参数设定。
当对微调完毕的模型开展评测工作之时,要于“检查点路径”里挑选对应实验输出目录当中的 checkpoint ,其余的评测参数和原模型维持一致。如此做能够保证前后的对比具备可比较性。
最终得到如下评估结果:
微调前
{
"predict_bleu-4": 2.1871475978647688,
"predict_model_preparation_time": 0.0044,
"predict_rouge-1": 21.40672099644128,
"predict_rouge-2": 3.7574184163701063,
"predict_rouge-l": 11.514890925266906,
"predict_runtime": 2094.8775,
"predict_samples_per_second": 1.071,
"predict_steps_per_second": 0.134
}
就结果而言,微调之后的模型,于诸如 BLEU - 4、ROUGE - 1 和 ROUGE - 2 这类指标之上,都有着显著的提升。当中,ROUGE - 2 的提升格外突出,这表明模型在局部短语表达以及目标风格适应方面,有了较为明显的增进。
需要留意的是,ROUGE - L出现了略微的下降,然而这并不必然就表示生成质量降低。对于现代诗这种创作型文本而言,语言自身更注重分行、断句、留白以及意象跳跃,而非传统的线性叙事。所以,ROUGE - L这类更侧重于连续性匹配的指标,没办法完全体现诗歌任务里的真实生成质量。
与此同时,就predict_runtime、samples_per_second以及steps_per_second等这些结果而言,来看,模型在经过微调之前与之后,其推理效率基本上维持着稳定的状态,并没有呈现出明显的性能损耗的情况。
整体综合起来看,这一回的微调,基本上达成了模型从仿古进行创作,转变到现代诗创作的风格迁移,以及质量的优化。
项目思考
这次实验说明了一件事,这件事是,通过有针对性的数据微调,大模型确实能够学会更贴近目标任务的表达风格。
对于现代诗生成此项任务而言,只要将数据准备得清晰明了,把格式整理到规范无误,让训练流程达合规合理,那么模型便能够较好地去学习现代诗的表达方式。
勿庸置疑,此项实验仍存在有持续进行优化的余地,像是针对 parameters 予以调整,对更高质量的数据开展筛选工作,亦或是增添更为精细的人工评测环节。
相关标签: # 微调 # 现代诗 # 风格迁移 # LLaMAFactory # Qwen3-4B