新闻详情

新闻详情

首页 / 资讯中心 / 详情

RD-Agent FT-Agent 实战指南:用 LLM 智能体自动完成基准驱动的模型微调闭环

发布时间:2026/9/14 6:49:58来源:尧图网络
RD-Agent FT-Agent 实战指南:用 LLM 智能体自动完成基准驱动的模型微调闭环
RD-Agent FT-Agent 实战指南用 LLM 智能体自动完成基准驱动的模型微调闭环【免费下载链接】RD-AgentResearch and development (RD) is crucial for the enhancement of industrial productivity, especially in the AI era, where the core aspects of RD are mainly focused on data and models. We are committed to automating these high-value generic RD processes through RD-Agent, which lets AI drive>项目地址: https://gitcode.com/GitHub_Trending/rd/RD-Agent本篇指南基于仓库中的 FT-Agent 场景文档系统讲解如何在 RD-Agent 中运行「自动 LLM 微调」流程从基准任务定义、原始数据集准备到生成 LLaMA-Factory 训练配置、fail-fast 校验、OpenCompass 评估反馈的完整闭环。读完后你可以独立配置.env、跑通单次/批量微调任务并理解其背后各组件场景初始化、基准适配器、校验器、反馈生成的源码级实现。一、FT-Agent 是什么基准驱动的微调闭环FT-Agent 是 RD-Agent 中的 LLM 微调场景实现研究导向对应 ICML 2026 论文 FT-Dojo 的实验载体。它自动化的核心循环包含 5 个环节检查目标基准与可用原始数据集inspect benchmark and raw datasets生成数据处理代码和 LLaMA-Factory 训练配置generate>git clone https://github.com/microsoft/RD-Agent cd RD-Agent make dev四、最小.env配置在仓库根目录创建.env模型名与 API 设置按你的服务商调整。以下为官方文档给出的最小可用配置完整保留# LLM backend BACKENDrdagent.oai.backend.LiteLLMAPIBackend CHAT_MODELgpt-4o CHAT_TEMPERATURE1 CHAT_STREAMTrue OPENAI_API_KEYyour_api_key # OPENAI_API_BASEyour_api_base_if_needed # Embedding model used by RD-Agent infrastructure EMBEDDING_MODELtext-embedding-3-small # Fine-tuning workspace. Keep this stable to reuse downloaded models/datasets. FT_FILE_PATH/absolute/path/to/finetune_files # Runtime environment: docker is the default path; conda is available for local setups. FT_Coder_CoSTEER_env_typedocker # Target task. You may also pass these through CLI arguments. FT_TARGET_BENCHMARKaime25 FT_BENCHMARK_DESCRIPTIONAIME 2025 math competition problems. Each answer is an integer from 0 to 999. Expected Output Format: put the final answer within \\boxed{}, for example \\boxed{42}. # Target model and>rdagent llm_finetune \ --benchmark aime25 \ --benchmark-description AIME 2025 math competition problems. Each answer is an integer from 0 to 999. Expected Output Format: put the final answer within \\boxed{}, for example \\boxed{42}. \ --base-model Qwen/Qwen2.5-7B-Instruct \ --loop-n 3 \ --timeout 12h5.2 等价的直接 Python 入口dotenv run -- python rdagent/app/finetune/llm/loop.py \ --benchmark aime25 \ --benchmark-description AIME 2025 math competition problems. Each answer is an integer from 0 to 999. Expected Output Format: put the final answer within \\boxed{}, for example \\boxed{42}. \ --base-model Qwen/Qwen2.5-7B-Instruct \ --loop-n 3 \ --timeout 12h5.3 参数说明参数含义--base-model待微调的 HuggingFace 模型 ID除非已设置FT_BASE_MODEL否则必填--benchmark目标基准 key如aime25、chemcotbench_mol_edit--benchmark-description自然语言的任务与输出格式描述除非已在.env中设置否则必填--dataset数据集准备完成后供智能体选择的数据集名--upper-data-size-limit单个实验使用的训练样本上限--loop-nRD-Agent 循环的最大轮数--timeout整体墙钟预算如12h从 loop.py 的 main 函数 可以看到几条硬约束user_target_scenario目前尚未支持传入会被断言拒绝必须通过benchmarkbenchmark_description指定目标--base-model实际也必填自动选模型的逻辑尚未实现代码中保留了 TODO 断言。若提供--path形如$LOG_PATH/__session__/1/0_propose还可以从断点恢复循环状态--checkout控制是否清理该会话之后的日志。5.4 运行时会发生什么源码视角场景初始化LLMFinetuneScenscen/scenario.py是一个信息密度很高的阶段校验并创建FT_FILE_PATH执行prepare_all()准备全部已注册数据集若指定了base_model还会确保模型资产存在通过LLaMAFactory_manager拉取 LLaMA-Factory 的方法与参数元信息作为编码器的「知识源」生成dataset_info.json——数据集信息的单一事实来源包含 LLaMA-Factory 兼容字段file_name、formatting、columns、自动统计、截断样本与 AI 生成的描述采集本机 GPU 运行时信息并生成显存估算报告MemoryEstimator供规划提示词引用运行基线评估用目标模型在未微调状态下分别对基准的验证集与测试集打分。源码中注释明确Agent 只可见验证集分数baseline_benchmark_score测试集分数baseline_benchmark_score_test仅供前端展示。验证/测试切分由get_benchmark_ranges()动态生成——小数据集200 样本50/50 切分大数据集各取 100 个样本且保证两段不重叠见 benchmark.py。六、批量运行Job Runner多基准/多模型并行运行使用本目录的 job 辅助脚本cp rdagent/app/finetune/llm/job/tasks.json.example rdagent/app/finetune/llm/job/tasks.json cp .env rdagent/app/finetune/llm/job/.env bash rdagent/app/finetune/llm/job/run_ft_job.sh rdagent/app/finetune/llm/job/tasks.json任务定义来自 tasks.json.example结构如下{ tasks: [ { model: Qwen/Qwen2.5-7B-Instruct, benchmark: aime25, gpus: 0,1, timeout: 12h }, { model: Qwen/Qwen2.5-7B-Instruct, benchmark: chemcotbench_mol_edit, gpus: 2,3, timeout: 12h }, { model: Qwen/Qwen2.5-7B-Instruct, benchmark: tablebench_visualization, gpus: 4,5, timeout: 12h, benchmark_description: Table Visualization - generate executable Python code to create the requested chart from tabular data. Expected Output Format: return Python code in a python code block using matplotlib or pandas. } ] }任务字段说明来自 job/README.md字段必填默认值说明model是-HuggingFace 模型 IDbenchmark是-基准 key如aime25、chemcotbench_mol_editgpus否0写入CUDA_VISIBLE_DEVICES的值timeout否12h传给 FT-Agent 循环的墙钟预算port否-可选本地 API 端口为该任务写入OPENAI_API_BASEhttp://localhost:portbenchmark_description否取自scenarios.json任务与输出格式描述当任务条目未提供benchmark_description时job runner 会从 job/scenarios.json 中按基准名查表补齐两者都缺失时脚本直接报错退出。从 run_ft_job.sh 的实现可以看到其工作机制依赖jq、tmux、condaRD-Agent 的 conda 环境默认名为rdagent可用CONDA_ENV_NAME覆盖每个任务开一个 tmux 窗口会话名rdagent日志统一写入log/job_id/task.log任务工作区位于git_ignore_folder/RD-Agent_workspace/job_id/task/第一个任务会等待场景初始化产物$FT_FILE_PATH/datasets/dataset_info.json出现后才放行其余任务后续任务之间以 60 秒错峰启动运行模式由job/.env中的FT_Coder_CoSTEER_env_type决定docker模式跳过 conda 环境就绪检查conda模式则等待llm_finetune与opencompass两个环境初始化完毕。七、fail-fast 校验训练前的两道关卡文档强调「完整训练前先做 fail-fast 校验」其实现是 unified_validator.py 中的LLMConfigValidator采用两/三步验证策略参数过滤parameter filtering对照 LLaMA-Factory 实际支持的参数集合剔除生成配置中的不支持项系统参数注入注入受系统管理的参数如overwrite_cache、save_only_model、output_dir./output、per_device_eval_batch_size1防评估 OOM这些参数不进入对齐检查微批测试micro-batch testing在小规模数据集上做运行时验证——由于微批测试本身覆盖了完整性校验源码注释说明无需单独的完整性检查步骤。此外README Notes 指出生成的训练数据必须使用 Alpaca 风格的instruction、input、output字段校验器会在完整训练前检查这一点。对应超时配置为micro_batch_timeout默认 30 分钟与debug_data_processing_timeout默认 20 分钟用于编码阶段的 debug 数据处理。八、评估与反馈迭代评估环节由 benchmark.py 的run_benchmark实现要点包括在 Docker或 conda环境中渲染 OpenCompass 配置模板并执行opencompass config --work-dir dir通过adapter_config.json/adapter_model.*文件自动检测 LoRA 适配器必要时例如 vLLM 对含modules_to_save的 LoRA 支持受限自动执行 LoRA 合并后再评估推理参数从configs/models.yaml按「精确匹配 → 最长前缀匹配 → default」三级合并tensor_parallel_size: auto会向下取到最接近的 2 的幂评估结果除汇总准确率外还会抽取至多 10 条错误样本extract_error_samples供智能体反馈分析已有同目录时间戳结果时直接复用skip re-running避免重复评估。反馈生成由FTExperiment2Feedbackdev/feedback.py完成成功时基于基准分数、训练 loss 曲线超 60 点时自动采样首尾各 30 点以控制 token 膨胀与 SOTA/基线对比生成下一轮假设失败时切换到错误分析提示词并优先采用 runner 评估器产出的结构化分析execution / return_checking / code 三段而非裸错误字符串。文档 Notes 中「评估用验证集反馈驱动智能体迭代测试集保留用于最终报告/前端展示」的设计与上述源码注释完全一致。九、日志与 UI 观察运行产生的 RD-Agent trace 写入配置的日志目录。两种查看方式# FT 专用 Streamlit UI streamlit run rdagent/app/finetune/llm/ui/app.py # 通用 RD-Agent 日志 UI rdagent ui --port 19899 --log-dir your_log_folder批量运行时在 Streamlit UI 中选择生成的 job 文件夹作为日志源即可也可以tmux attach -t rdagent或tail -f log/job_id/*.log实时监控。十、实用注意事项汇总首次运行预期缓慢可能需要下载模型、数据集、LLaMA-Factory 资产与 OpenCompass 资产Docker 模式会把FT_FILE_PATH下的模型与数据集挂载进训练/评估环境训练数据格式必须是 Alpaca 风格三字段instruction/input/output否则会被校验器拦截验证/测试隔离智能体迭代只看验证集反馈测试集分数仅在最终报告与前端展示避免评估泄漏成本控制FT_API_MAX_WORKERS默认 8、FT_UPPER_DATA_SIZE_LIMIT默认 2000、--loop-n、--timeout以及benchmark_limit快速调试时可限制评估样本数是主要预算控制旋钮。参考文件场景文档 README、入口 loop.py、配置 conf.py、循环 scenarios/finetune/loop.py、场景 scen/scenario.py、评估 benchmark/benchmark.py、批量任务脚本 job/run_ft_job.sh。【免费下载链接】RD-AgentResearch and development (RD) is crucial for the enhancement of industrial productivity, especially in the AI era, where the core aspects of RD are mainly focused on data and models. We are committed to automating these high-value generic RD processes through RD-Agent, which lets AI drive>项目地址: https://gitcode.com/GitHub_Trending/rd/RD-Agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Android共享停车系统实战:从APK解析到定位与构建全流程 2026/9/14 7:41:01

Android共享停车系统实战:从APK解析到定位与构建全流程

简介:面向Android开发初学者及毕业设计学生,提供一套基于Android微信小程序的共享停车位管理系统完整工程代码,旨在解决城市停车难问题,涵盖车位查询、预约、地图导航、账户管理等核心功能,并整合移动互联网、物联网等…

阅读更多 →
memU 的 Skill 一等公民化:从 Memory Item/Category 到按 track 划分的 RecallFile/RecallEntry 存储(ADR 0006 详解) 2026/9/14 7:41:01

memU 的 Skill 一等公民化:从 Memory Item/Category 到按 track 划分的 RecallFile/RecallEntry 存储(ADR 0006 详解)

memU 的 Skill 一等公民化:从 Memory Item/Category 到按 track 划分的 RecallFile/RecallEntry 存储(ADR 0006 详解) 【免费下载链接】memU Personal memory across agents 项目地址: https://gitcode.com/GitHub_Trending/mem/memU …

阅读更多 →
从自然语言到SQL:Text2SQL落地实战与系统设计 2026/9/14 7:41:01

从自然语言到SQL:Text2SQL落地实战与系统设计

上周有个做运营的朋友跑来找我,说他们团队每天花大量时间写SQL取数,效率太低,问我能不能搞一个"用大白话直接查数据库"的工具。我第一反应是这需求听着简单,真正落地全是坑。当时正好赶上大模型火得一塌糊涂&#xff0c…

阅读更多 →
context-mode:上下文感知的运行模式设计与SQLite+MCP实战 2026/9/14 7:41:01

context-mode:上下文感知的运行模式设计与SQLite+MCP实战

1. 项目概述:什么是 context-mode?它不是玄学概念,而是可落地的上下文协同范式 “context-mode”这个词最近在开发者社区、AI工具链和低代码平台讨论中高频出现,但它既不是某个具体开源库的官方命名,也不是某家大厂刚…

阅读更多 →
Matlab膜单元有限元分析:从理论到工程实践 2026/9/14 7:41:01

Matlab膜单元有限元分析:从理论到工程实践

1. 项目概述与核心价值膜单元在有限元分析中扮演着独特角色——它就像给结构工程师的一把"瑞士军刀",特别适合处理那些厚度远小于其他尺寸的薄壁结构。这次我们聚焦两个经典案例:带孔平板和悬臂梁,它们分别代表了工程中常见的应力集…

阅读更多 →
风储联合一次调频MATLAB仿真模型搭建与参数整定指南 2026/9/14 7:38:01

风储联合一次调频MATLAB仿真模型搭建与参数整定指南

做电力系统仿真这些年,我几乎每年都会接触几回风电一次调频相关的项目。风储联合一次调频的MATLAB仿真模型听起来像是个“标配”活儿,标题里几个词——电力系统、风储联合、一次调频、MATLAB仿真模型——单独拆开都好理解,凑在一起就要求你必…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞