恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

如何用FiD训练自己的Reader?train_reader.py参数调优与实战清单

  • 首页
  • 资讯中心
  • /
  • 如何用FiD训练自己的Reader?train_reader.py参数调优与实战清单

相关资讯

参考文献提取完整指南:Ref-Extractor 从 Word 文档提取 Zotero 引用 2026/8/22 13:48:26
data-link-python Point-in-Time 时点数据实战:3种 interval 让量化回测告别前视偏差 2026/8/22 13:48:26
3 步解锁 WeMod 专业版功能:Wand-Enhancer 免费构建指南 2026/8/22 13:48:26

最新资讯

ipwhois Legacy Whois完整教程:深入解析Port 43查询与Referral转发机制
Duster 接入 GitHub Actions:自动修复代码并优雅忽略 git blame 的完整方案
从1200到2400+:OpenClaw Master Skills周更路线图与MyClaw.ai生态全景
如何为Chat API添加一个新的大模型上游?渠道适配器开发实战教程
Three.js-TypeScript-Boilerplate完全概览:为什么它是WebGL三维开发最佳起点模板?7大功能分支一文讲透
IP地址配置与故障排查全指南:从基础原理到实战应用

今日推荐

markdown-it-vue 踩坑排障:从安装到渲染的 6 个高频问题快速讲清
多尺度智能体控制:从宏观密度场到微观决策的架构与实践
CUBE标准:统一AI智能体评测的度量衡与架构解析

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

如何用FiD训练自己的Reader?train_reader.py参数调优与实战清单

发布时间:2026/8/22 13:53:26
如何用FiD训练自己的Reader?train_reader.py参数调优与实战清单 如何用FiD训练自己的Readertrain_reader.py参数调优与实战清单【免费下载链接】FiDFusion-in-Decoder项目地址: https://gitcode.com/gh_mirrors/fi/FiDFiDFusion-in-Decoder是目前开源领域训练开放式问答 Reader 的经典框架。本文带你从零开始用 train_reader.py 训练属于自己的 Reader 模型并完整拆解核心参数学习率、n_context、checkpoint 显存优化等附上官方大模型推荐超参与实战清单新手也能一次跑通。 先搞清楚FiD Reader 是什么FiD 的读取器Reader基于 T5 架构改造而成把问题 多条检索段落拼接成超长的 encoder 输入再融合fusion多个段落的隐状态最终由 decoder 直接生成答案文本。模型定义src/model.py 中的FiDT5类用EncoderWrapper包裹标准 T5 encoder实现多段落融合训练主流程train_reader.py支持单机多卡 / SLURM 集群分布式训练官方预训练模型在 NaturalQuestions 上 dev 精确匹配EM可达52.7largeTriviaQA 达72.5 你不需要自己搭模型--model_size base会从 T5-base 初始化large则对应 T5-large。 快速上手3 步跑通你的第一次 FiD Reader 训练第 1 步克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/fi/FiD cd FiD pip install -r requirements.txt # 注意Transformers 需 3.0.2 版本第 2 步下载训练数据bash get-data.sh脚本会自动下载 NaturalQuestions、TriviaQA 及 Wikipedia 段落并通过 src/preprocess.py 处理成训练所需格式最终生成open_domain_data/NQ/train.json/dev.jsonopen_domain_data/TQA/train.json/dev.json数据格式问题、答案、ctxs 段落列表详见 README.md 的 Data format 一节。第 3 步启动训练python train_reader.py \ --train_data open_domain_data/NQ/train.json \ --eval_data open_domain_data/NQ/dev.json \ --model_size base \ --per_gpu_batch_size 1 \ --n_context 100 \ --name my_experiment \ --checkpoint_dir checkpoint训练完成后最优模型会保存在checkpoint/my_experiment/checkpoint/best_dev。⚙️ train_reader.py 核心参数全解析所有参数定义在 src/options.py按用途可分为四类数据相关参数参数默认值作用--train_datanone训练数据 JSON 路径--eval_datanone验证数据 JSON 路径--n_context1每个问题输入的段落数官方用100--text_maxlength200单个段落问题文本的最大 token 数--answer_maxlength-1答案最大 token 数设为固定值可固定 decoder 张量大小、节省显存--per_gpu_batch_size1每张 GPU 的批大小100 段输入时建议保持 1模型相关参数参数默认值作用--model_sizebasebase或large对应 T5-base / T5-large--use_checkpoint关闭激活重计算100 段落训练几乎必开否则显存爆炸--model_pathnone加载已有模型继续训练断点续训或微调--no_title关闭段落不拼接文章标题优化器与调度器参数参数默认值作用--lr1e-4学习率--optimadam可选adam/adamw--schedulerfixedfixed固定学习率或linear线性衰减带 warmup--warmup_steps1000预热步数--total_steps1000总训练步数训练循环以此为终止条件--weight_decay0.1权重衰减--accumulation_steps1梯度累积步数显存不足时等效增大 batch--clip1.0梯度裁剪阈值调度器实现见 src/util.py 中的WarmupLinearSchedulerwarmup 阶段线性升温之后线性衰减至 0。训练监控参数参数默认值作用--eval_freq500每 N 步在验证集上评估一次 EM超过历史最佳即保存best_dev--save_freq5000每 N 步保存一个step-N检查点--nameexperiment_name实验名决定 checkpoint 子目录名--checkpoint_dir./checkpoint/模型保存根目录--seed0随机种子 官方大模型的黄金超参推荐配置FiD 的 large reader 在 64 张 GPU 上用以下配置训练来自 README.md这是你调参时最值得参考的基线python train_reader.py \ --use_checkpoint \ --lr 0.00005 \ --optim adamw \ --scheduler linear \ --weight_decay 0.01 \ --text_maxlength 250 \ --per_gpu_batch_size 1 \ --n_context 100 \ --total_step 15000 \ --warmup_step 1000新手调参优先级建议显存不够→ 加--use_checkpoint 设--answer_maxlength如 20 增大--accumulation_steps效果不佳→ 先对齐官方配置adamwlinear调度 lr 5e-5warmup 1000训练太短/太长→ 观察eval_freq打出的 EM 曲线同时写入 TensorBoardEM 不再上升就减小--total_steps换数据集→ 数据只需符合 README 规定的 JSON 格式其余参数不用改 断点续训与训练后评估自动续训只要checkpoint_dir/name目录已存在且--model_path为nonetrain_reader.py 会自动从checkpoint/latest恢复模型、优化器与步数从指定模型微调设置--model_path指向已有模型目录会重置优化器参数下载官方预训练模型做基线bash get-model.sh -m nq_reader_base可用nq_reader_base / nq_reader_large / tqa_reader_base / tqa_reader_large等训练完评估用 test_reader.py 跑测试集例如python test_reader.py \ --model_path checkpoint/my_experiment/checkpoint/best_dev \ --eval_data open_domain_data/NQ/test.json \ --per_gpu_batch_size 1 \ --n_context 100 \ --name my_test \ --checkpoint_dir checkpoint✅ 训练前实战清单ChecklistPython 3 PyTorch 1.6 Transformers 3.0.2安装完成requirements.txtbash get-data.sh成功生成open_domain_data/NQ/train.json与dev.json确认 GPU 显存100 段落输入必须开--use_checkpoint--n_context与数据的ctxs长度匹配数据里每条样本 100 段则设为 100--total_steps已按数据量估算官方 large 模型为 15000 步--eval_freq/--save_freq设置合理避免频繁评估拖慢训练--name起个可区分的实验名方便后续对比best_dev指标跟着这份清单配置完你的第一个 FiD Reader 就能稳定跑起来了。建议先跑base模型验证流程再切换到large追求更好的 EM 分数。【免费下载链接】FiDFusion-in-Decoder项目地址: https://gitcode.com/gh_mirrors/fi/FiD创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号