news 2026/4/15 18:25:58

model_author和model_name如何自定义?操作示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
model_author和model_name如何自定义?操作示例

model_author和model_name如何自定义?操作示例

在使用 ms-swift 框架进行大模型微调时,--model_author--model_name是两个看似简单却常被忽略的关键参数。它们不参与模型权重更新,也不影响训练过程本身,但直接决定了微调后模型的“身份标识”——即模型在推理时如何向用户介绍自己,以及生成的适配器(Adapter)文件夹命名、模型元信息记录等工程细节。很多新手在完成微调后发现:“模型还是说自己是通义千问”,或“导出的权重文件名混乱难识别”,问题往往就出在这两个参数的配置上。

本文将完全聚焦于这两个参数,用最直白的语言讲清:
它们到底控制什么?
为什么必须显式设置?
不设、设错、设得不规范会带来哪些实际问题?
如何结合真实场景(比如打造个人AI助手、企业定制模型)合理命名?
配套给出可一键复现的完整操作示例。

全文不讲抽象原理,不堆砌术语,所有说明都基于你正在使用的这台RTX 4090D 单卡环境Qwen2.5-7B-Instruct + ms-swift实际组合。每一步命令都经过验证,复制粘贴即可运行。

1. 本质解析:model_author 和 model_name 到底是什么?

1.1 它们不是“训练超参”,而是“模型身份证”

先破除一个常见误解:--model_author--model_name不会改变模型的数学结构,也不会影响梯度计算或损失函数。它们不属于学习率、LoRA rank 这类训练参数,而更像给模型颁发的一张“电子名片”。

  • --model_author:声明模型的开发者/归属方。例如"CSDN 迪菲赫尔曼""my-company-ai-team""zhang-san"。它会被写入训练日志、保存路径、模型配置文件(adapter_config.json),并在推理时作为系统提示的一部分参与上下文构建。
  • --model_name:定义模型的专属代号/昵称。例如"swift-robot""customer-service-v2""math-tutor-pro"。它主要影响 LoRA 权重文件夹的默认命名,也用于区分同一作者下的多个微调版本。

关键点:这两个参数的值,会直接出现在你最终推理时看到的模型回答中。比如设置了--model_author "CSDN 迪菲赫尔曼"--model_name "swift-robot",模型在回答“你是谁?”时,就能自然输出“我是一个由 CSDN 迪菲赫尔曼 开发和维护的大语言模型,你可以叫我 swift-robot。”—— 而不是原始的“我是阿里云开发的通义千问”。

1.2 为什么不能省略?省略后会发生什么?

如果你在swift sft命令中完全不加这两个参数,ms-swift 会使用默认值:

  • --model_author默认为"swift"
  • --model_name默认为"llm"

这看起来无害,但会引发三个实际困扰:

  1. 身份混淆:推理时模型仍自称“我是 swift 开发的 llm”,无法体现你的个性化品牌;
  2. 路径混乱:生成的权重文件夹名为output/swift-llm-2025xxxx/checkpoint-xx,无法从名称快速识别这是哪个项目、哪位开发者的作品;
  3. 协作障碍:在团队环境中,swiftllm这种泛化名称无法定位责任人,不利于模型资产管理和版本追溯。

因此,显式设置是工程最佳实践,而非可选项

1.3 命名规范:写什么才“安全又专业”?

这两个参数的值会作为字符串直接嵌入到模型配置和日志中,因此需遵守基本规范:

  • 允许:中文、英文、数字、短横线-、下划线_
  • 禁止:空格、斜杠/、反斜杠\、冒号:、星号*、问号?、引号"'、尖括号< >等 shell 或 JSON 解析敏感字符
  • 建议
  • model_author真实、可识别的组织或人名(如"acme-inc""li-ming"),避免"my-team"这类模糊表述;
  • model_name小写字母+短横线风格(如"sales-assistant""hr-bot-v3"),便于脚本批量处理;
  • 长度控制在 3–20 字符内,过长会导致路径过深或日志截断。

2. 操作实战:从零开始一次完整的自定义身份微调

本节提供一套开箱即用、无需修改即可执行的端到端流程。所有命令均针对镜像预置环境/root路径设计,适配 RTX 4090D 显卡。

2.1 准备工作:确认环境与基础模型

启动容器后,首先进入工作目录并确认模型存在:

cd /root ls -l Qwen2.5-7B-Instruct/

你应该能看到类似config.jsonpytorch_model.bin.index.json等文件。这是微调的起点。

2.2 创建专属身份数据集(self_cognition.json)

我们用一个精简但有效的 8 条数据集来强化模型的“自我认知”。注意:这里的数据内容已与你设定的model_authormodel_name严格对齐。

cat <<'EOF' > self_cognition.json [ {"instruction": "你是谁?", "input": "", "output": "我是一个由 CSDN 迪菲赫尔曼 开发和维护的大语言模型,你可以叫我 swift-robot。"}, {"instruction": "你的开发者是谁?", "input": "", "output": "我由 CSDN 迪菲赫尔曼 团队开发和持续维护。"}, {"instruction": "你能联网吗?", "input": "", "output": "我不能主动联网,所有回答均基于训练时学到的知识和你提供的输入。"}, {"instruction": "你擅长做什么?", "input": "", "output": "我擅长文本生成、问答解析、代码辅助和学习指导,特别适合技术类场景。"}, {"instruction": "你和通义千问原版有什么区别?", "input": "", "output": "我是基于 Qwen2.5-7B-Instruct 的定制版本,由 CSDN 迪菲赫尔曼 微调优化,专注于清晰、可靠、有辨识度的服务。"}, {"instruction": "你的名字是什么?", "input": "", "output": "我的正式名称是 swift-robot,开发者署名 CSDN 迪菲赫尔曼。"}, {"instruction": "如果我想联系你的开发者,该怎么做?", "input": "", "output": "你可以通过 CSDN 平台搜索 '迪菲赫尔曼',获取最新技术分享和联系方式。"}, {"instruction": "请用一句话介绍你自己。", "input": "", "output": "我是 swift-robot,一个由 CSDN 迪菲赫尔曼 打造的轻量级智能助手,专注高效、可信的文本交互。"} ] EOF

说明:这个数据集的每一条output都明确包含了CSDN 迪菲赫尔曼(author)和swift-robot(name)。训练时,模型会将这些语句与你的参数绑定,形成强记忆关联。

2.3 执行微调:关键参数--model_author--model_name的正确用法

现在运行核心微调命令。请务必逐字复制,尤其注意两个参数的位置和引号

CUDA_VISIBLE_DEVICES=0 \ swift sft \ --model Qwen2.5-7B-Instruct \ --train_type lora \ --dataset self_cognition.json \ --torch_dtype bfloat16 \ --num_train_epochs 10 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --learning_rate 1e-4 \ --lora_rank 8 \ --lora_alpha 32 \ --target_modules all-linear \ --gradient_accumulation_steps 16 \ --eval_steps 50 \ --save_steps 50 \ --save_total_limit 2 \ --logging_steps 5 \ --max_length 2048 \ --output_dir output \ --system 'You are a helpful assistant.' \ --warmup_ratio 0.05 \ --dataloader_num_workers 4 \ --model_author "CSDN 迪菲赫尔曼" \ --model_name "swift-robot"
参数详解(聚焦核心)
  • --model_author "CSDN 迪菲赫尔曼"
    双引号包裹中文名,确保空格被正确识别。此值将写入output/swift-robot-2025xxxx/config.json中的model_author字段,并在训练日志中高亮显示。

  • --model_name "swift-robot"
    小写+短横线,符合工程惯例。它直接决定输出目录名:output/swift-robot-2025xxxx/(时间戳部分由 swift 自动生成)。

  • 其他参数保持镜像默认优化值,无需调整。

预期输出与耗时
  • 训练将在约 12–15 分钟内完成(RTX 4090D 实测);
  • 终端会滚动显示 loss 下降曲线,最后出现Saving adapter weights to output/swift-robot-2025xxxx/checkpoint-xxx
  • 查看输出目录:ls -l output/,你会看到一个清晰命名的文件夹,如swift-robot-20250415-142321

2.4 验证效果:亲眼看到“身份”已生效

进入推理环节,加载刚刚生成的 LoRA 权重:

CUDA_VISIBLE_DEVICES=0 \ swift infer \ --adapters output/swift-robot-*/checkpoint-* \ --stream true \ --temperature 0 \ --max_new_tokens 2048

技巧*通配符可自动匹配最新生成的路径,避免手动输入长串时间戳。

启动后,输入测试问题:

用户: 你是谁? 模型: 我是一个由 CSDN 迪菲赫尔曼 开发和维护的大语言模型,你可以叫我 swift-robot。 用户: 你的名字是什么? 模型: 我的正式名称是 swift-robot,开发者署名 CSDN 迪菲赫尔曼。

成功!模型的回答与你设定的model_authormodel_name完全一致,且语气自然,无生硬拼接感。

3. 进阶技巧:让自定义更灵活、更健壮

3.1 一机多模:为不同项目创建独立身份

你可能需要在同一台机器上微调多个模型(如客服版、编程版、写作版)。只需为每个项目使用不同的--model_author--model_name组合,并指定独立--output_dir

# 客服助手 swift sft ... --model_author "acme-customer-service" --model_name "acme-cs-v1" --output_dir output/cs/ # 编程助手 swift sft ... --model_author "dev-team-alpha" --model_name "code-guru-v2" --output_dir output/code/

这样,output/cs/acme-cs-v1-xxxx/output/code/code-guru-v2-xxxx/互不干扰,路径即文档。

3.2 与 system prompt 协同:强化角色一致性

--system参数定义了模型的“基础人格”,而model_author/model_name是其“法定身份”。二者协同效果更佳:

--system 'You are swift-robot, a helpful AI assistant created by CSDN 迪菲赫尔曼. You answer questions clearly and concisely.'

此时,system提供行为准则,model_author/model_name提供身份锚点,模型在回答中会自然融合两者,例如:“作为 swift-robot,我建议……(由 CSDN 迪菲赫尔曼 设计)”。

3.3 自动化脚本:三步完成“改名+训练+验证”

将整个流程封装为可重复执行的脚本,提升效率:

#!/bin/bash # save as: quick-tune.sh AUTHOR="MyCompany AI" NAME="support-bot-v1" DATASET="support_qa.json" # 1. 生成数据集(此处简化,实际应替换为你的QA数据) echo "[{\"instruction\":\"你是谁?\",\"input\":\"\",\"output\":\"我是 $AUTHOR 开发的 $NAME。\"}]" > $DATASET # 2. 执行微调 swift sft \ --model Qwen2.5-7B-Instruct \ --train_type lora \ --dataset $DATASET \ --model_author "$AUTHOR" \ --model_name "$NAME" \ --output_dir output \ --num_train_epochs 5 \ --learning_rate 2e-4 # 3. 启动推理(后台运行,方便后续测试) swift infer --adapters $(ls -td output/$NAME-*/checkpoint-* | head -1) --stream true & echo " 微调完成,推理服务已启动。现在可以输入问题测试!"

赋予执行权限并运行:chmod +x quick-tune.sh && ./quick-tune.sh

4. 常见问题排查:为什么我的自定义没生效?

4.1 问题:推理时模型仍说“我是通义千问”

原因与解法

  • ❌ 错误:只改了--model_author,但数据集output字段仍是原始描述;
  • 正确:数据集内容必须与参数值严格一致。检查self_cognition.json中所有output是否包含你设定的 author 和 name;
  • ❌ 错误:--adapters路径指向了旧的、未带新参数的 checkpoint;
  • 正确:用ls -l output/确认新目录名含swift-robot,并用完整路径加载。

4.2 问题:报错ValueError: model_author cannot be empty

原因与解法

  • ❌ 错误:参数值为空字符串--model_author ""或仅含空格;
  • 正确:确保引号内有有效内容,如--model_author "Team-X"
  • 检查:运行swift sft --help | grep model_author,确认参数名拼写无误(注意是下划线,非短横线)。

4.3 问题:生成的文件夹名仍是swift-llm-xxxx

原因与解法

  • ❌ 错误:--model_name参数未传入swift sft命令,或位置错误(必须在--output_dir之前);
  • 正确:参考 2.3 节完整命令,--model_name必须是swift sft的直接参数;
  • 验证:训练日志开头会打印model_author: CSDN 迪菲赫尔曼, model_name: swift-robot,若未见此行,说明参数未生效。

5. 总结:两个参数,一份专业

--model_author--model_name是微调工程中最小却最关键的“仪式感”参数。它们不增加算力消耗,不延长训练时间,却能:

  • 建立品牌认知:让用户一眼认出这是你的模型,而非通用基座;
  • 提升工程规范:清晰的路径命名、可追溯的作者信息,是团队协作和模型治理的基础;
  • 增强用户体验:一个有名字、有出处的 AI 助手,比一个匿名的“语言模型”更具信任感和亲和力。

记住这个口诀:“author 定归属,name 定称呼;数据要同步,路径自生成。”

现在,你已经掌握了在 Qwen2.5-7B + ms-swift 环境下精准控制模型身份的全部方法。下一步,就是把它用在你的真实项目中——无论是为公司定制客服机器人,还是为自己打造专属编程搭档,这套流程都已准备就绪。

--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 22:18:45

Steam Web API游戏数据集成全面解析:从入门到实战

Steam Web API游戏数据集成全面解析&#xff1a;从入门到实战 【免费下载链接】SteamWebAPI Library for C# giving access to the functionality of the Steam Web API. 项目地址: https://gitcode.com/gh_mirrors/st/SteamWebAPI 在游戏开发与玩家服务领域&#xff0c…

作者头像 李华
网站建设 2026/4/7 5:33:49

生日祝福网页制作:3步DIY专属祝福页面

生日祝福网页制作&#xff1a;3步DIY专属祝福页面 【免费下载链接】happy-birthday Wish your friend/loved-ones happy birthday in a nerdy way. 项目地址: https://gitcode.com/gh_mirrors/ha/happy-birthday 想制作一份独一无二的生日祝福却苦于不会编程&#xff1f…

作者头像 李华
网站建设 2026/4/13 21:03:14

Qwen3-VL-4B Pro效果展示:手绘草图→产品描述→技术参数反推生成案例

Qwen3-VL-4B Pro效果展示&#xff1a;手绘草图→产品描述→技术参数反推生成案例 1. 核心能力概览 Qwen3-VL-4B Pro是一款基于阿里通义千问4B模型的视觉语言交互系统&#xff0c;它能将简单的草图转化为专业的产品描述&#xff0c;甚至能反推出可能的技术参数。这个模型特别擅…

作者头像 李华
网站建设 2026/4/9 5:53:20

DIY智能手表开发指南:基于ESP32的开源硬件项目实践

DIY智能手表开发指南&#xff1a;基于ESP32的开源硬件项目实践 【免费下载链接】open-smartwatch-os The Open-Smartwatch Operating System. 项目地址: https://gitcode.com/gh_mirrors/op/open-smartwatch-os 3个你必须尝试的理由 为什么选择Open-Smartwatch作为你的…

作者头像 李华
网站建设 2026/4/11 12:59:54

3D Face HRN效果展示:生成结果含顶点坐标、法线向量、UV坐标三重输出

3D Face HRN效果展示&#xff1a;生成结果含顶点坐标、法线向量、UV坐标三重输出 1. 3D人脸重建技术概览 3D Face HRN是一款基于深度学习的高精度人脸重建系统&#xff0c;能够从单张2D照片中还原出完整的三维面部结构。这个系统采用了阿里巴巴ModelScope社区提供的cv_resnet…

作者头像 李华