使用 Beeuni 运行并评估模型微调实验
让智能体准备训练数据,在已连接的训练计算机上运行微调任务、检查故障并比较模型输出。
训练脚本在夜间退出了。输出文件夹里有一个检查点,也就是训练过程中某一时刻保存的模型状态,但日志在评估开始前就结束了。训练完成了吗?这个模型还能加载吗?它用了哪些设置?Beeuni 智能体可以检查文件和日志、尝试加载检查点,并说明哪些工作已经完成,帮你判断是否需要重新运行。
获得训练计算机的访问权限后,智能体可以检查代码和数据、运行命令、读取日志并收集评估结果。模型由你选择,什么算作改进也由你决定。Beeuni 会使用这台计算机上已有的训练软件和算力来完成工作。
从一种你想改变的行为入手
可以参考数据集指南中的客服请求分类器。它会将请求分到账单、账户访问、产品帮助或待审核类别。你想测试:与仅使用指令的基础模型相比,微调后的模型是否能更稳定地把请求分到正确类别。保留同时涉及账户访问和账单的示例,用来检查模型是否学会了一条请求包含多个问题时,应优先归入哪一类。
向智能体提供标签定义、审核过的训练记录和独立的评估集。修改模型权重之前,先让它用基础模型在评估集上运行。保存模型标识符、指令、生成设置和预测结果。没有这个基线,即使训练命令成功运行,你也很难判断额外的训练是否有帮助。
设置训练计算机的访问权限
通过Computer Tunnel连接将运行实验的计算机,并在当前配置中选中它。允许访问训练目录中的文件系统和 shell。告知智能体代码仓库、数据集位置和 Python 环境。对于 GPU 训练,让它先检查可用设备、内存、驱动程序和框架兼容性,再选择设置。
基础模型和训练方法决定了所需的内存和算力。使用适配器方法时,只训练一小组新增参数,基础模型的权重保持不变。更新全部权重通常需要更多资源。让 Beeuni 智能体检查训练脚本和可用硬件,再说明计划采用的设置是否合适。开始前,先审核它提出的软件包安装、模型下载或环境变更。
Use the connected training computer and repository I specify.
Inspect the training script, model access, Python environment, and available devices.
Validate the reviewed dataset and keep the evaluation set separate.
Run the base-model evaluation and save its predictions.
Propose a small fine-tuning run with the settings and output directory shown.
Wait for my approval before starting training or changing the environment.
Save the command, configuration, logs, and evaluation results for each run.让首次运行规模足够小,便于检查
完整运行之前,先用一小部分训练数据检查整个流程。分词器能否读取记录?标签的表示是否一致?模型学习预测的是你想要的文本吗?脚本能否保存检查点,再加载它来回答请求?这些检查能在你花时间用完整数据集训练之前,发现配置问题。
让 Beeuni 智能体按训练脚本实际读取的样子,展示一条示例。请它标出哪些文本是模型要学习预测的,哪些仅作为上下文提供。训练损失衡量的就是这些预测中的错误。如果脚本用了错误的字段,训练可能正常运行,却教给模型错误的行为。依赖损失曲线判断训练效果前,先检查这条示例。
每项实验都使用独立的输出目录。记录代码版本、数据集版本、基础模型、训练方法、随机种子和各项设置。如果该方法只保存适配器,也要记录它所依赖的基础模型。权重文件夹应附带足够的信息,确保之后能够重新加载模型。
查看训练进度,不必重新启动任务
使用训练计算机上的任务运行器或持久终端会话,并将日志写入磁盘。让智能体记录如何检查和停止任务。通过工具调用启动的命令需要单独的进程管理;不能只靠聊天连接来确认任务是否已启动。
你要求更新时,智能体可以检查已记录的任务、读取最新日志并查看已保存的检查点。如果连接中断,先确认同一个任务是否仍在运行,再启动另一个任务。能否从检查点恢复,取决于训练框架保存了哪些内容,包括所需的优化器和调度器状态。
如果出现显存不足错误,让智能体保留失败的配置,并先读取错误信息,再提出调整方案。减小批次大小、缩短序列或更换训练方法,都会影响显存使用和实验结果。将调整后的设置记录为另一轮运行,以便后续比较。
比较错误,再决定保留什么
让微调后的模型使用与基础模型相同的评估样本作答。这批样本不应参与训练,预测设置和评分规则也要保持一致。对于客服请求分类器,比较各类别的结果,并检查分类发生变化的请求。整体准确率提高,可能会掩盖你关心的少数案例处理效果变差的问题。
| 需要检查的示例 | 比较结果应揭示的问题 |
|---|---|
| 直接的扣款争议 | 基本的账单分类是否仍然有效 |
| 同时涉及登录问题和取消服务的请求 | 模型是否遵循了处理意图冲突的规则 |
| 信息不完整的后续消息 | 模型是否会使用待审核标签,而不是擅自猜测 |
| 不在批准范围内的标签 | 是否需要改进输出格式或标签约束 |
让 Beeuni 撰写一份报告,将发生变化的预测与源示例和运行设置关联起来。如果根据这些错误修改了数据集,请使用单独的测试集作出最终判断。反复针对同一批示例进行调优,可能会让评估结果看起来更好,却无法提升模型处理新请求的表现。
将选定的权重或适配器、加载说明、环境详情和评估报告放在一起。启动一个全新的进程,测试能否加载结果。接受比较结果后再进行部署;在此之前,现有模型可以继续为应用提供服务,同时将实验与生产环境分开。