ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ParlAI Wizard of Wikipedia MTurk 人工评估任务指南:归档恢复、模型替换与 Mephisto 迁移

ParlAI Wizard of Wikipedia MTurk 人工评估任务指南:归档恢复、模型替换与 Mephisto 迁移 NLP人工智能深度学习【免费下载链接】ParlAIA framework for training and evaluating AI models on a variety of openly available dialogue datasets.项目地址https://gitcode.com/gh_mirrors/pa/ParlAI点击查看免费下载Wizard of WikipediaWoW是 ParlAI 项目中的开放域知识型对话任务用于训练能够基于 Wikipedia 知识进行有据可依对话的智能体。模型在自动指标如 PPL、F1、Hits1上的表现无法完全替代真实用户体验因此 ParlAI 为该项目配套提供了一套基于 Amazon Mechanical TurkMTurk的人工评估任务用于让真人 Turker 与模型对话并对回复质量打分。本文以 projects/wizard_of_wikipedia/mturk_evaluation_task/README.md 为核心系统讲解这套评估任务的设计意图、运行方式、如何替换成自己的模型、如何在mturk_archive归档标签下恢复运行以及 ParlAI 迁移到 Mephisto 之后可供使用的现代替代方案。读完本文你将掌握如何在历史版本 ParlAI 中启动 WoW 人工评估、如何通过--human-eval标志实现人人对话基线采集以及如何用当前仓库的 crowdsourcing 组件完成类似的人工评估工作。一、为什么需要一套 MTurk 人工评估任务Wizard of Wikipedia 的目标是让对话智能体具备知识地谈论开放域话题。在 projects/wizard_of_wikipedia/README.md 中可以看到该任务收集了大量以 Wikipedia 检索知识为对话依据的真实对话数据并提供两种模型评估视角自动指标评估检索模型看 Test Seen / Test Unseen 的 R1如 Transformer MemNet 达到 87.4 / 69.8生成模型看 PPL如 Two-Stage Transformer MemNet 为 46.5 / 84.8人工评估Human Evaluations由 Turker 对对话质量打分Seen / Unseen 场景下模型得分如 Retrieval Trans MemNet 为 3.43 / 3.14与真人表现4.13 / 4.34形成直观对比。自动指标只能反映生成概率或检索命中率而对话是否自然、是否有知识、是否让人愿意继续聊这类体验性问题必须靠人工评估。mturk_evaluation_task目录中的这套任务正是为评估在 WoW 任务上训练的模型而设计的 Mechanical Turk 任务任务内部默认加载了一个预训练模型作为示例研究者只需替换成自己的模型即可开展评估。二、评估任务的基本结构与运行方式从归档 README 的描述可以确认这套任务的核心设计This is the Mechanical Turk task for evaluating models trained on the Wizard of Wikipedia task.2.1 示例预训练模型与 config 替换任务在run.py中内置加载了一个 WoW 预训练模型作为示例。归档 README 明确要求Please editconfiginrun.pyto swap out the model for one of yours.也就是说评估自己模型的流程是在mturk_archive标签下获取任务代码目录为projects/wizard_of_wikipedia/mturk_evaluation_task打开run.py定位其中的config配置项将默认加载的预训练模型替换为你想评估的模型模型文件路径、任务设置等一并写入 config启动任务Turker 便会在 MTurk 界面上与你的模型展开对话任务结束后的评分即构成人工评估数据。这与 ParlAI 一贯的Turker 即 Agent设计一脉相承在 docs/source/tutorial_crowdsourcing.md 中有更底层的说明——Human Turkers are viewed as just another type of agent in ParlAI即人类工人通过 Mechanical Turk Live Chat 界面连接到 ParlAI被封装为一个Agent对象与模型 Agent 在同一个World中交互。因此评估任务中的模型本质上就是任意一个可以用-mfmodel file加载的 ParlAI Agent。2.2 人人对话基线--human-eval 标志归档 README 还给出了一个关键运行标志In order to run the task with two humans speaking to each other, run with the flag--human-eval True.即运行时追加--human-eval True任务会从Turker 与模型对话切换为两个人类互相交谈。这一模式的价值在于采集人类对话基线human-human baselineWoW 项目 Leaderboard 中 Human performance 一行的评分Seen 4.13 / Unseen 4.34正是此类人工基线的产物。有了基线模型的人工评分才有参照系才能回答模型离人类还差多少的问题。三、归档状态与恢复运行方式3.1 为什么被归档ParlAI 正在将 MTurk 相关功能整体迁移到Mephisto平台旧的parlai.mturk代码随之被逐步归档。归档 README 原文说明ParlAI is currently in the process of upgrading MTurk to Mephisto. As part of this process we have archived a number of older tasks.因此projects/wizard_of_wikipedia/mturk_evaluation_task/目录在主线仓库中仅保留了这个说明性 README目录下没有任何可执行代码只有文档实际的run.py、world 代码、前端模板等均存在于mturk_archive归档标签中。3.2 恢复运行的具体命令如果你确实需要运行这套 WoW 人工评估任务归档 README 给出的恢复步骤为git clone 仓库地址 ~/ParlAI cd ~/ParlAI git checkout mturk_archive执行后工作区即回退到归档标签mturk_archive此时projects/wizard_of_wikipedia/mturk_evaluation_task/下会包含完整的任务代码含run.py可以按第二节的方法编辑config并启动评估。如果只需要阅读代码例如参考旧的 MTurk world 编写逻辑、复用其中的对话流程同样可以通过git checkout mturk_archive后浏览projects/wizard_of_wikipedia/mturk_evaluation_task目录无需真正运行任务。3.3 适用前提与限制mturk_archive是历史标签其依赖的旧版 ParlAI APIparlai.mturk、旧版 agent/world 接口与当前主线代码不兼容恢复运行意味着使用一套较旧的环境运行真实 MTurk 任务需要有效的 Amazon Mechanical Turk 账户与 Requester 配置这套代码默认面向线上 HITHuman Intelligence Task发布主线仓库中该目录下不再提供任何可执行文件直接在当前版本运行会失败——这是归档的预期行为不要将其视为缺陷。四、现代替代方案Mephisto 与 parlai.crowdsourcing如果你希望在不回退历史版本的前提下开展 WoW 模型的人工评估当前主线仓库已提供完整的现代替代路径。4.1 迁移现状在 docs/source/tutorial_crowdsourcing.md 和 parlai/crowdsourcing/README.md 中可以看到ParlAI 的 MTurk 功能已扩展为独立的Mephisto平台ParlAI 侧对应代码从parlai.mturk迁移到parlai.crowdsourcingMephisto 建议通过 poetry 单独安装以避免与 ParlAI 的依赖冲突旧版 crowdsourcing 教程可通过git checkout final_mturk标签查看。4.2 与 WoW 评估直接相关的现有任务parlai/crowdsourcing/projects 下现有三类项目humaneval、multisession_chat、wizard_of_internet。其中与人工评估对话模型最接近的是humaneval/single_model_eval见 parlai/crowdsourcing/projects/humaneval/single_model_eval/README.md实现 Turker 与单模型对话逐轮收集 engagingness、humanness、interestingness 标注SM-Turn并在对话结束时收集 1~5 的 Likert 评分SM-Dialog。要评估自己的 WoW 模型只需通过mephisto.blueprint.model_opt_path指向一个自定义 YAML参考其task_config/model_opts.yaml把其中的模型换成你训练好的 WoW 模型acute_eval位于 parlai/crowdsourcing/tasks/acute_eval/README.md让人类阅读两段对话并做偏好判断如你更愿意和谁长时间聊天适用于 WoW 模型间的成对对比评估model_chat/multi_model_chat位于 parlai/crowdsourcing/tasks人类与模型聊天的通用基础任务可配置不同模型和逐轮标注。这些任务都基于 Mephisto 运行默认在 sandbox 模式下本地测试需要发布线上 HIT 时再配置 requester 与 architect如mephisto.provider.requester_name...。从架构上看它们与mturk_archive中的 WoW 评估任务解决的是同一类问题——让真人通过与模型对话来评估对话质量——只是底层平台从旧版parlai.mturk换成了 Mephisto。五、可作为评估对象的 WoW 模型与自动评估对照为了在开展人工评估前先对模型做一轮自动指标筛查仓库提供了对应的预训练模型与脚本可作为run.py中config的候选模型来源。5.1 端到端生成模型parlai/zoo/wizard_of_wikipedia/end2end_generator.py提供了端到端生成模型的下载入口projects/wizard_of_wikipedia/README.md 给出的自动评估命令为parlai eval_model \ -bs 64 -t wizard_of_wikipedia:generator:random_split \ -mf models:wizard_of_wikipedia/end2end_generator/model对应指标示例为{f1: 0.1717, ppl: 61.21, know_acc: 0.2201, know_chance: 0.02625}该模型是公开复刻版与论文数字略有差异。也支持 unseen 主题切分-t wizard_of_wikipedia:generator:topic_split以及直接交互parlai interactive -mf models:wizard_of_wikipedia/end2end_generator/model -t wizard_of_wikipedia从实现看projects/wizard_of_wikipedia/generator/agents.py 中的EndToEndAgent会为每条知识句构造title __knowledge__ checked_sentence形式的输入训练时把正确知识句固定在候选列表首位并计算知识注意力损失know_loss权重由--knowledge-alpha控制默认 0.95。这类检索生成双阶段模型正是人工评估中值得重点考察的对象——自动指标之外人工评分能直接反映回复是否真的用上了知识。5.2 检索模型parlai/zoo/wizard_of_wikipedia/full_dialogue_retrieval_model.py提供全对话检索模型projects/wizard_of_wikipedia/scripts/eval_retrieval_model.py 给出了评估入口python projects/wizard_of_wikipedia/scripts/eval_retrieval_model.py脚本内部通过WizardTransformerRankerAgent加载models:wizard_of_wikipedia/full_dialogue_retrieval_model/model在 seen 测试集上 Hits1/100 约 86.7unseen 切分-t wizard_of_wikipedia:WizardDialogKnowledge:topic_split约 68.96。需要说明的是自动评估与人工评估服务于不同目的。先跑自动指标做粗筛再用 MTurk 任务归档版或 Mephisto 任务现代版做人工精评是 WoW 项目论文中的标准做法也是这套评估任务存在的意义。六、注意事项与最佳实践小结明确你的需求再选择路径只想复现或阅读旧评估代码 →git checkout mturk_archive浏览projects/wizard_of_wikipedia/mturk_evaluation_task想真正跑线上人工评估且接受旧环境 → 在归档标签下运行编辑run.py的config替换模型--human-eval True采集人人基线想在当前主线开展评估 → 使用 parlai/crowdsourcing 下的humaneval/model_chat/acute_eval等 Mephisto 任务。模型替换的实质无论旧任务还是新任务替换模型的本质都是指定一个可加载的 ParlAI Agent 模型文件对应-mf参数。WoW 模型通常以models:wizard_of_wikipedia/...形式引用由 parlai/zoo/wizard_of_wikipedia 下的脚本负责下载。人工基线不可省略--human-eval True提供的人人对话数据是人工评分的参照系与 Leaderboard 中的 Human performance 行对应务必在评估设计中包含。注意环境隔离Mephisto 建议用 poetry 独立安装见 parlai/crowdsourcing/README.md归档版本则需整体使用mturk_archive标签的旧依赖两者不要混用。Wizard of Wikipedia 的 MTurk 评估任务是 ParlAI 对话模型人工评估体系的一个历史缩影它承载了以真实对话体验检验知识型对话模型的设计思路并随着 ParlAI 迁移到 Mephisto 而归档。理解它的运行机制与归档恢复方式再衔接上现代的 crowdsourcing 组件你就能在任意版本的 ParlAI 中完成从自动指标到人工评分的完整模型评估闭环。赞分享NLP人工智能深度学习【免费下载链接】ParlAIA framework for training and evaluating AI models on a variety of openly available dialogue datasets.项目地址https://gitcode.com/gh_mirrors/pa/ParlAI点击查看免费下载相关推荐ParlAI MTurk 众包代码迁移指南从 parlai/mturk/ 到 parlai/crowdsourcing/ 与 Mephisto 平台ParlAI MTurk 众包代码迁移指南从 parlai/mturk/ 到 parlai/crowdsourcing/ 与 Mephisto 平台 导读 本NLP人工智能深度学习ParlAI任务库详解从ConvAI2到Wizard of Wikipedia的完整指南ParlAI任务库详解从ConvAI2到Wizard of Wikipedia的完整指南 ParlAI是一个功能强大的对话AI框架提供了丰富多样的任务库让NLP人工智能深度学习ParlAI Wizard of Wikipedia 任务指南基于知识检索的开放域对话数据集与模型实战ParlAI Wizard of Wikipedia 任务指南基于知识检索的开放域对话数据集与模型实战 Wizard of WikipediaWoW是 PNLP人工智能深度学习上一篇Front-End-Checklist 之 Interaction to Next PaintINP优化实战让页面在 200ms 内响应每一次交互下一篇Nexent零代码AI智能体平台的技术范式转变创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表