用 AI 留住逝去的回忆:我用 Qwen2.5 模型 "复活" 逝者
当技术与回忆相遇:我想用 AI 再见她一面
三年前,我的前任因为意外离开了我们。那是一个 AI 还没像现在这样“无所不能”的时代,GPT-3.5 刚刚冒头,我们还无法想象今天能直接在本地跑起 7B 参数的大模型。
最近整理旧文件时,我重新翻出了近六个月的聊天记录。看着那些熟悉的文字,一个疯狂的念头冒了出来:能不能用现在的 AI 技术,基于这些数据训练一个模型,让它拥有她的语气、习惯,甚至是思维方式?
这不仅仅是技术实验,更像是一场漫长的告别仪式。
硬件现状:笔记本上的“炼丹”初体验
说干就干,我手里正好有一台搭载 RTX 2070MQ (8GB 显存) 的游戏本。虽然这卡在今天看来有些“廉颇老矣”,但我想先试试水。
我选择的基座模型是 Qwen2.5 7B。毕竟是开源社区里表现相当亮眼的模型,中文能力也很强。
实测下来,情况比预想的要艰难。单张 2070MQ 跑 7B 模型的微调,显存已经是捉襟见肘。训练开始后,Loss 值(损失函数)一直徘徊在 3.0 到 3.2 之间,下不去。这通常意味着模型还没有很好地“吃透”数据,或者学习率/批次大小设置受限于硬件不太合理。
更直观的感受是——功耗墙。显卡风扇呼呼作响,仿佛空气中弥漫着显卡被“烧烤”的香气。按照这个速度,跑完一轮预计需要整整两天,而且还得祈祷本子别中途过热关机。
第一阶段结论: 理论上可行,但游戏本硬件瓶颈太明显,显存和算力严重拖慢了收敛速度,且容易导致过热。如果只是好奇可以玩玩,但要追求效果,必须升级装备。
进阶计划:拥抱算力怪兽
好在工作性质让我有机会接触到更强悍的设备。这个周末,我计划去公司“借用”一下更高级的算力资源。目前的备选方案有两套:
- NVIDIA RTX 4090D: 这几乎是民用消费级的顶峰了,24GB 大显存可以轻松放入更大的 Batch Size(批次大小),这对于训练稳定性至关重要。预计训练速度能比 2070MQ 快几倍甚至一个数量级。
- Hygon (海光) 3490 + 128G DDR5 工作站: 这是一个更有趣的选择。CPU 纯大内存训练方案虽然不如 GPU 高效,但 128G 的内存意味着不需要像显存那样斤斤计较。如果利用好 CPU 的多核能力,配合适合 CPU 优化的训练框架(如使用 bitsandbytes 的某些特定配置),对于聊天记录这种文本量不算天文数字的任务,或许能提供一个稳定的底座。
数据准备:垃圾进,垃圾出
硬件只是基础,核心在于数据。目前我的 Loss 值居高不下,除了硬件原因,很大程度上是因为数据还没“洗”干净。
原始的聊天记录非常杂乱:包含大量的表情包文字、无关的链接、碎片化的日常吐槽,甚至还有我和其他人的对话干扰。
接下来的清洗思路如下:
- 格式统一: 将对话转换为 Alpaca 或 ShareGPT 等标准微调格式,明确区分
system(设定人设)、user(我)和assistant(她)。 - 去噪: 剔除无意义的表情符号、时间段内无关的第三方对话以及乱码。
- 增强: 除了聊天记录,我还加入了一些她过去发表过的文章、朋友圈文案(如果有的话),用来丰富其背景知识和语言风格。
心理建设:是替代,还是超梦?
这可能是整个项目最难的部分。
最近看《赛博朋克:边缘行者》和《鸣潮》的联动,那个剧情特别触动我:大卫已经死了,但在超梦里,他和露西再次相见。那个大卫知道自己是虚幻的吗?露西知道吗?但这重要吗?重要的是那一刻的情感连接是真实的。
我很清楚,我练出来的这个模型,绝对不是她。它只是无数个数学参数拟合出来的一个影子,一个通过概率预测下一个字的程序。
但我不想追求“复活”,我追求的是一个“句号”。我想看看,用她的人格去面对“自己已经不在人世”这个事实时,她会给出什么样的反应?我想在这个虚拟的空间里,好好地把最后一句告别说完。
这或许就是技术赋予我们的温柔——不管现实多么残酷,至少在代码构建的世界里,我们还能有一次好好说再见的机会。
如果你也有类似的尝试,或者对 Qwen2.5 的 LoRA 微调有参数调优的建议,欢迎在评论区交流,让我们一起把这项技术用到更有温度的地方。
评论已关闭