ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

天机智能体实战:3 步微调一个中文祝福语生成模型

天机智能体实战:3 步微调一个中文祝福语生成模型 天机智能体实战3 步微调一个中文祝福语生成模型【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调全参数/Lora、部署国内外开源大模型LLM/多模态大模型MLLM教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm想给模型加上人情味吗Tianji-天机智能体专攻中文社交场景敬酒词、节日祝福、尴尬化解它把送祝福做成了一个可以完整复刻的微调案例。读完这篇你能在 24G 显存的机器上走通数据生成、LoRA 微调、上线验证的完整链路。先看它解决什么想象三个场景。年底公司聚餐轮到敬酒你卡壳了——输一句祝领导新年顺利严肃风格它就给你一段不卑不亢的祝词姐姐生日快到了你想要点网感——切到小红书风格带 emoji 的俏皮文案直接到手领导生日不能太活泼——严肃风格输出得端庄克制字数也更长。祝福之外examples/Tianji-天机/readme.md 里还覆盖了敬酒、请客、送礼、化解矛盾等方向。对我们更有价值的是这条流水线提示词工程 → 造数据 → QLoRA 微调 → 部署可以原样搬到任何垂直场景。环境速查一张清单备齐这一步只为避免装到最后发现跑不起来。所有版本都按 python 3.10 环境验证过直接照抄GPU24G 显存起步3090 单卡即可跑 QLoRA框架PyTorch 2.0.x Xtuner v0.1.18基础模型internlm2-chat-7b用 ModelScope 拉取python -m pip install --upgrade pip pip install modelscope1.9.5 transformers4.36.2 streamlit1.39.0 pip install sentencepiece0.1.99 accelerate0.24.1 pip install transformers_stream_generator0.0.4 einops ujson protobuf git clone -b v0.1.18 https://gitcode.com/GitHub_Trending/se/self-llm cd xtuner pip install -e .[all]装完跑一句xtuner version能打印版本号就算就绪。仓库内 models/InternLM2/ 目录有同框架的环境配置参考截图核心第一步造数据目的用聪明大模型批量生产高质量祝福语样本这是最终效果的最大变量。做法把三个维度做笛卡尔积——28 种角色大舅、李总、导师……× 18 个场景生日、春节、乔迁……× 3 种风格正常、小红书、严肃每个组合喂给一个大模型DeepSeek、GLM 或本地部署的 Qwen产出 system/input/output 三元组存成 json。风格靠 few-shot 例句控制比如小红书风格会附上几条参考文案让它只看造句风格。避坑input 字段要写成人会输入的短句如祝姐姐生日快乐,小红书风格而不是造数据时的长提示词否则训练和推理对不上。多轮生成的 json 用一个小脚本合并、统一成训练格式extracted { system: conversation[system], input: conversation[input], output: conversation[output] } all_conversations.append({conversation: [extracted]})不想自己跑造数据流程也可以直接下载项目提供的现成数据集tianji-wishes-chinese-v0.1.json。核心第二步QLoRA 微调目的用 4bit 量化 LoRA 把祝福能力焊进模型24G 显存就能训。做法先复制一份 xtuner 的配置模板再改四处模型路径、数据集路径、数据集加载方式改为pathjson、评估输入换成祝福语样例并把评估频率调到 50。模板长这样然后启动训练权重每 50 步存一次cd /home/finetune xtuner copy-cfg internlm2_chat_7b_qlora_oasst1_e3 ./ # 改完配置后 xtuner train ./internlm2_chat_7b_qlora_oasst1_e3_copy.py --deepspeed deepspeed_zero2训练轮数 1-3 轮即可LLM 对少量数据极易过拟合loss 平稳下降、验证样本的回复质量没明显退化就可以停。显存不够就把 zero2 换成 zero3。建议插图训练 loss 下降曲线核心第三步转换合并上线目的把训练出的 LoRA 权重变成能直接加载的完整模型。最小命令链是转 HF 格式 → 与基座合并路径变量别抄错xtuner convert pth_to_hf ${SCRIPT_PATH} ${WEIGHTS_PATH} ./hf xtuner convert merge ${SRC_MODEL_PATH} ./hf ./merge \ --max-shard-size 2GBWEIGHTS_PATH指向训练目录work_dirs下的iter_XXX.pthSRC_MODEL_PATH指向原 internlm2-chat-7b 模型。合并完就是一个可直接部署的目录。一条命令跑通效果验证启动交互式对话带上和训练时一致的 system 提示词xtuner chat ./merge --prompt-template internlm2_chat \ --system 你现在是一个送祝福大师帮我针对不同人和事情、节日送对应的祝福 \ --temperature 0.7回车两下结束输入测两组输入我想送哥哥中秋节祝福,小红书风格→ 输出 哥中秋月圆人团圆愿你事业如月圆家庭幸福似团圆快乐满怀幸福满满输入祝赵老师生日祝福,严肃风格→ 输出尊敬的赵老师值此佳辰恭祝您福寿安康事业蒸蒸日上……风格切换是否生效就是这次微调成没成的判据。想反复测试时记得输RESET清上下文。也可以接 Streamlit 的web_demo.py把模型路径换成./merge后启动一个网页版进阶玩法加新场景往角色表和场景表里追加词项如面试话术重跑造数据脚本再训练一轮即可改动都在 readme 的数据制造代码里。加新风格在风格字典里新增一项配 3-5 条 few-shot 例句注意例句的句式和长度要与你期望的输出一致。接知识库按仓库里 LangChain 知识库助手的套路把礼仪、民俗资料灌进 RAG让模型在人情常识上不再瞎编。换模型复刻同一套流程在 Chat-嬛嬛 里被搬到了角色模仿场景证明它是通用的。常见坑显存溢出换--deepspeed deepspeed_zero3或降低accumulative_counts。过拟合表现是回复开始复读训练句把max_epochs降到 1-2尽早停。convert 报错找不到权重检查WEIGHTS_PATH是否指向work_dirs里最新的那个iter_XXX.pth。中文乱码json 读写记得ensure_asciiFalse utf-8 编码终端乱码先查系统 locale。下一步清单用现成数据集跑通一次 7B 的 QLoRA 全流程给自己造 100 条数据加一个新风格并验证效果差异把 merge 后的模型接上 Streamlit WebDemo给模型挂一个 RAG 知识库把流水线迁移到 Qwen 系列再对比一次【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调全参数/Lora、部署国内外开源大模型LLM/多模态大模型MLLM教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表