星图·微调试&全参数调试qwen3.1-B对比

整体微调流程

1. 整体目标

  • 使模型能够根据用户输入的医学问题,先给出 <think> 思考过程,再输出最终答案,以提升回答的专业性和可解释性。

  • 使用 LoRA(Low-Rank Adaptation)进行高效参数微调,降低显存和计算开销。

2. 关键模块与技术

数据预处理
  • 原始数据格式:{"question":..., "think":..., "answer":...}

  • 下载

    复制代码
    {
      "instruction": "系统提示(医学专家)",
      "input": "问题",
      "output": "<think>思考过程</think> \n 答案"
    }
  • 下载

    复制代码
    <|im_start|>system\n{PROMPT}<|im_end|>
    <|im_start|>user\n{input}<|im_end|>
    <|im_start|>assistant\n{output}

    并生成对应的 input_idsattention_masklabels(其中系统部分和用户部分的 labels 设为 -100,不参与损失计算)。

模型与 LoRA 配置
  • 使用 snapshot_download 从 ModelScope 下载 Qwen3-1.7B 模型。

  • 加载模型时启用 device_map="auto"torch.bfloat16 以节省显存。

  • 配置 LoRA:

    • 目标模块:q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj(覆盖了自注意力和前馈网络的关键线性层)。

    • r=8lora_alpha=32dropout=0.1

训练参数
  • 批次大小:per_device_train_batch_size=1,梯度累积 4 步,实际 batch size 为 4。

  • 学习率 1e-4,训练 2 个 epoch。

  • 启用梯度检查点(gradient_checkpointing=True)以进一步降低显存占用。

  • 使用 DataCollatorForSeq2Seq 动态填充序列。

  • 日志与模型保存间隔:每 10 步记录日志,每 100 步评估验证集,每 400 步保存一次模型。

实验跟踪
  • 集成 swanlab:记录超参数、训练过程中的 loss、以及训练后的模型预测示例(前 3 条验证集样本)。

3. 流程总结

  1. 下载模型并加载 tokenizer 和模型。

  2. 配置 LoRA 并封装模型。

  3. 转换原始 JSONL 数据集为微调格式。

  4. 使用 Dataset.map 进行 tokenization 预处理。

  5. 设置 TrainingArguments 并创建 Trainer

  6. 开始训练。

  7. 训练结束后对验证集前 3 条进行推理,将结果记录到 swanlab。

总结

swanlab可以看到最终得结果,整体感觉星图算力的操作不复杂,很容易微调入门,致力于微调大模型的伙伴们可以试试~

相关推荐
刘一说3 分钟前
AI科技热点日报 | 2026年07月24日
人工智能·科技
zzzll11115 分钟前
Agent 开发的五种架构范式及选型思路
人工智能·架构·大模型·llm
hongyucai16 分钟前
大模型常见问题整理
人工智能·深度学习
小柯南敲键盘18 分钟前
跨马翻译:批量图片与视频字幕翻译,支持智能抠图
大数据·人工智能·python·音视频
aax121345320 分钟前
VOCs集群治理工程落地|美丽蓝天绿岛项目工艺、控制方案、申报技术要点解析
大数据·人工智能
俊哥V20 分钟前
每日 AI 研究简报 · 2026-07-24
人工智能·ai
墨舟的AI笔记24 分钟前
浏览器内 LLM 推理:WebGPU 量化模型与推理管线搭建
人工智能
大公产经晚间消息33 分钟前
“胜算未来·2026戈峻思享会”即将登陆大连
大数据·人工智能·ai
烟漠河洛34 分钟前
AI Agent 在代购系统中的三个落地实战:从知识图谱到自动化链路
人工智能·自动化·知识图谱
IvorySQL35 分钟前
PG 日报|修复高 IO 并发场景,解决预读机制耗尽本地缓冲区缺陷
数据库·人工智能·sql·postgresql·区块链