跳到主要内容

​​构建基于Qwen3-8B的沉浸式苏东坡角色扮演大模型服务

更新时间:2025-10-24 11:43:25
预置模型/数据集使用超便捷高性能GPU卡苏东坡角色扮演存储钜惠LoRA微调

在当代文化内容爆发式增长的背景下,角色扮演技术不断创新升级。以Qwen3-8B为基础,构建沉浸式苏东坡角色扮演大模型,能够精准还原苏东坡的人格特征、语言风格及历史背景。随着用户对情感联结和个性化互动的需求提升,传统的单向内容消费已无法满足期待——市场正呈现出强烈的“历史人物沉浸式互动”诉求。基于Qwen3-8B的生成式AI技术,使用户能够突破时空限制,与苏东坡进行深度对话和个性化交流,为文化IP运营、沉浸式教育、历史体验及心理陪伴等领域创造新价值。其轻量化设计(8B参数)平衡了交互实时性与成本效率,支持进一步扩展多模态交互接口。

模型微调前后,对话效果对比如下所示。

SwanLab对比图

前提条件

  • 用户已经获取LLaMA Factory Online平台账户和密码,如果需要帮助或尚未注册,可参考注册账户完成注册。
  • 当前账号的余额充裕,可满足模型微调服务的需要。点击可了解最新的活动费用信息,或前往充值,如需了解更多请联系我们

操作步骤

配置概览

配置参数配置项是否预置说明
模型Qwen3-8B经过指令微调,参数量约80亿 (8B),专为遵循指令和对话任务优化。
数据集SUdongpo覆盖苏东坡生平、诗词、美食等经历,确保角色塑造的深度与广度。
GPUH800*1(推荐)--
微调方法lora-显著降低计算与存储成本,兼具高性能与部署灵活性。

资源消耗预览

时长

使用推荐资源(H800*1)进行实例模式微调时微调过程总时长约2h20min。

数据集制作

本实践所用的数据集“sudongpo.json”来源如下。

  1. 下载华夏群雄历史任务对话数据集,抽取出与苏轼对话的样本,共计700+条。

  2. 下载关于苏轼生平、诗词、绘画、美食等方面的图书、文献,借助 Easy DataSet 工具,经过“文本上传--文本分块--数据清洗--问题生成--数据集生成--数据集导出”步骤,得到初始数据集10000+条。使用python脚本进行数据清洗,剔除无关问题,接着处理人称问题,最后将每一条样本数据的语言风格用大模型润色,完成数据集准备。

{
"instruction": "讲述经历",
"input": "请回忆一下你的人生经历。",
"output": "那一年我被贬至黄州,初到之时,心中不免郁结。一日夜游赤壁,见江水浩荡,明月当空,忽觉人生如寄,何必执着一时得失。
于是写下《赤壁赋》以抒胸臆。在黄州的日子里,我躬耕东坡,自号\"东坡居士\",虽处逆境,却得闲适。这段经历让我明白,人生起伏本
是常态,唯有豁达之心能使人超脱物外,于困顿中寻得真趣。"
},

参数配置

在展示不同微调模式前,我们需要找到较优的参数组合。我们选取了几个关键参数进行正交实验,观察loss来选择较好的参数组合。下表给出了初始参数值和正交实验后效果较优的当前参数值,以及调整的效果和原因。

参数名初始参数值当前参数值调整原因&效果
Epochs63平衡效率与拟合度,9000+数据 + LoRA 8 秩下,3 轮已经足够让模型学习到苏东坡语言风格等核心模式,符合“早停/最小验证损失”原则,同时显著节省训练开销。
Learning rate3e-55e-5在更小 batch(8→2)与更少 epoch的设定下,适度抬高峰值学习率并配合 warmup+衰减,可在保证稳定性的同时维持收敛速度。
Lora rank128LoRA 利用低秩更新完成适配,许多任务用较小的 r 就足够;将 r 从 12→8 可降低可训练参数与过拟合风险、减小显存/计算,同时保持对目标风格的表达能力。
Lora alpha1216设置为Lora rank的2倍,经验做法。
Batch size/Cutoff length8/10242/2048为了覆盖更长上下文(诗词、典故与文言句式),将序列长度扩到 2048;训练时间也缩短一半。
Lora dropout00.02防止过拟合,让模型学习更通用的苏东坡语言逻辑,尤其是在训练轮数较少场景下,避免模型死记硬背训练数据。

初始参数和当前参数的训练loss图和result如下所示:

开始微调

{
"epoch": 6.0,
"eval_loss": 1.1483079195022583,
"eval_runtime": 4.8713,
"eval_samples_per_second": 19.912,
"eval_steps_per_second": 2.669,
"num_input_tokens_seen": 51754488,
"total_flos": 2.360358882045739e+18,
"train_loss": 1.2354194741778903,
"train_runtime": 16730.3968,
"train_samples_per_second": 3.432,
"train_steps_per_second": 0.054
}

经过一系列参数调优后,对比初始参数与当前参数的训练过程可以发现:在相同的验证集上,采用当前参数训练的模型取得了更低的eval_loss,表明其收敛效果更优。同时,在训练成本方面,当前参数配置显著提升了效率——相比初始参数,token消耗减少了2.54倍,训练时长缩短了3.54倍,训练速度(step/s)提升了约7倍。这些结果充分说明,当前参数配置不仅大幅提高了训练效率,还增强了模型的收敛性能。详细的训练过程将在下文“模型训练”章节中展开说明。

模型训练

LLaMA Factory Online支持通过实例模式和任务模式运行微调任务,不同模式下的微调/评估操作详情如下所示。

  1. 进入LLaMA-Factory Online平台,点击“控制台”,进入控制台后点击左侧导航栏的“模型微调”进入页面。

  2. 选择基础模型和数据集,进行参数配置。

    • 本实践使用平台内置的Qwen3-8B作为基础模型,数据集同样为平台内置的SUdongpo_merged
    • 其他参数配置参考下图橙色框。
    • 资源配置。推荐卡数为1卡。
    • 选择价格模式。本实践选择“极速尊享”,不同模式的计费说明参考计费说明
    • 开始训练。点击“开始训练”按钮,开始模型训练。

    开始微调

    提示

    配置模型与数据集后,系统将根据所需资源及其相关参数,动态预估任务运行时长及微调费用,您可在页面底部查看预估结果。

  3. 通过任务中心查看任务状态。 在左侧边栏选择”任务中心“,即可看到刚刚提交的任务。可以通过单击任务框,可查看任务的详细信息、超参数、训练追踪和日志。 开始微调 开始微调

  4. 任务完成后,模型自动保存在"文件管理->模型->output"文件夹中。可在"任务中心->基本信息->模型成果"处查看保存路径。

    开始微调

  5. 进行模型评估。 点击页面左侧导航栏“模型评估”,进行评估训练配置。 微调模型选择上一步骤微调后的模型,评估数据集平台内置的测试集:SUdongpo_merged。其他参数设置为默认。

    模型评估

    提示

    配置模型与数据集后,系统将根据所需资源及其相关参数,动态预估任务运行时长及微调费用,您可在页面底部查看预估结果。

  6. 可以在“任务中心->模型评估”下看到评估任务的运行状态。

    开始微调

  7. 点击swanapi图标,进入任务基本信息查看页面。用户可查看评估任务的基本信息、日志,评估结束后,可查看评估结果,评估结果如下图所示。

    模型评估

    评估结果解读

    • predict_bleu-4: 28.17,生成文本与参考答案在词汇和短语层面有较好的一致性,内容贴合度高。
    • predict_rouge-1: 45.59,模型能较好地覆盖参考答案中的关键词。
    • predict_rouge-2: 24.64,模型在短语搭配上的合理性和连贯性较好。
    • predict_rouge-l: 34.35,最长公共子序列中等,生成内容结构较好。
  8. 模型对话。

    • 点击左侧导航栏“模型对话”按钮进入模型对话页面。
    • 在微调模型处选择步骤3中显示的模型名称,如下图高亮①所示。点击开始右上角“开始对话”,跳出弹窗“LORA模型对话限时免费”,点击“开始对话”。
    • 在输入框中输入问题(高亮②),点击发送(高亮③);在对话框中查看对话详情,如下图高亮④所示。 模型评估

总结

用户可通过LLaMA Factory Online平台预置的模型及数据集完成快速微调与效果验证。从上述实践案例可以看出,基于Qwen3-8B-Base模型,采用LoRA方法在SUdongpo_merged角色扮演数据集上进行指令微调后,模型在角色语言风格还原、人格一致性与上下文理解能力方面均有显著提升。

本实践为构建高拟真度古代名人角色扮演系统提供了可复用的技术路径,未来可进一步探索多模态输入输出、长期记忆机制与动态人格演化能力,持续提升角色交互的自然性与情感深度。