星图·微调试&全参数调试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可以看到最终得结果,整体感觉星图算力的操作不复杂,很容易微调入门,致力于微调大模型的伙伴们可以试试~

相关推荐
Bigfish_coding12 分钟前
前端转agent-【python】-08 用 LangGraph 把 Agent 做成状态机:像写 Vue 3 状态管理一样编排 AI 流程
人工智能
leeyi19 分钟前
Manus Agent:一个全能 AI,和一支研究团队
后端·aigc·agent
刺猬的温驯1 小时前
语音克隆模型的难点之一:音素对齐及交叉注意力早期失效问题 (兼论旋转位置编码)——F5-TTS、SupertonicTTS、VoxFlash-TTS 对比
人工智能·语音合成·tts
道友可好2 小时前
AI 是最好的混乱放大器:代码熵管理实战
前端·人工智能·后端
不加辣椒3 小时前
第7章 边界与约束技术:确保输出的准确性与安全性
人工智能
AI悦创Python辅导3 小时前
Claude Code 越用越乱?Sub-Agents 才是上下文污染的解法
人工智能
Bigfish_coding3 小时前
前端转agent-【python】-07 长期记忆进阶:用 ChromaDB + 语义搜索给 Agent 装上真正的长期记忆
人工智能
阿黎梨梨3 小时前
AI Loop:告别“人肉写提示词”,让代码替你“鞭策”AI
javascript·人工智能
刘棕霆3 小时前
18—sentry-static 入口收敛:从多能力检查到 1 个静态分析入口
aigc·测试
甲维斯4 小时前
坦克大战测试全翻车了!豆包,DeepSeek,Qwen,GPT,Claude
前端·人工智能·游戏开发