参与:吴攀、晏奇 Facebook 近日在 GitHub 上开源了一个可用于在多种开放可用的对话数据集上训练和评估人工智能模型的框架 ParlAI,开奖,机器之心在本文中对这一项目的 README.md 内容进行了编译介绍。项目地址如下: 官网地址: GitHub:https://github.com/facebookresearch/ParlAI
ParlAI(读音为 par-lay)是一个用于对话人工智能研究的框架,是用 Python 实现的。该框架的目标是为研究者提供: 一个用于训练和测试对话模型的统一框架 一次性在许多数据集上进行多任务训练 无缝集成 Amazon Mechanical Turk,以便数据收集和人工评估 这第一个版本支持超过 20 种任务,也囊括了许多流行的数据集,比如 SQuAD、bAbI tasks、MCTest、WikiQA、WebQuestions、SimpleQuestions、WikiMovies、QACNN & QADailyMail、CBT、BookTest、bAbI Dialog tasks、Ubuntu Dialog、OpenSubtitles、Cornell Movie 和 VQA-COCO2014。 还包括使用 PyTorch 和 Lua Torch 训练神经模型的示例,其包含了在 GPU 上的批训练或在 CPU 上的 hogwild 训练。另外使用 Theano 或 TensorFlow 也是很直接的。 我们的目标是让那些在它们之上训练的任务和智能体能够以一种基于社区的方式成长。 这个版本还是早期的 Beta 版,使用过程中可能会有一些冒险,或遇到一些难题。 目标 用于评估模型的统一框架 可按需下载任务/数据集,且为它们提供了同样简单的接口 统一的数据集输入和评估框架/标准 agents/ 目录鼓励研究者提交他们的训练代码,以便在该 repo 中分享 协助重现 最终目标是实现通用的对话,包括许多不同的技能 无缝地组合模拟的和真实的语言任务 鼓励多任务模型的开发和评估 有助于减少模型在特定数据集上的过拟合 最终目标是实现与人类的真实对话 通过 Mechanical Turk,在与人类的实时对话上训练和评估 只需简单的设置,就可以连接 Mechanical Turk 上的人类与你的对话代理 允许比较不同研究组的 Turk 实验 能够引导一个可与人类交互的对话模型的数据集配置 激励构建将进入本 repo 的新数据集 特性 所有的数据集都像自然对话:单一格式/API 既有固定数据集(会话日志),也有交互式任务(在线/RL) 既有真实任务,也有模拟任务 支持其它媒体,比如 VQA 中的视觉 可以使用 Mechanical Turk 来运行/收集数据/评估 Python 框架 PyTorch 的训练示例 可使用 zmq 与其它非 Python 的工具箱对话,给出了 Lua Torch 的示例 支持模型的 hogwild 训练和批训练 基本示例 从「1k training examples」bAbI 任务的任务 1 中展示 10 个随机样本: python examples/display_data.py -t babi:task1k:1 同时在 bAbI 任务的多任务与 SQuAD 数据集上展示 100 个随机样本: python examples/display_data.py -t babi:task1k:1,squad -n 100 在 Movies Subreddit 数据集的验证集上评估 IR 基线模型: python examples/eval_model.py -m ir_baseline -t "#moviedd-reddit" -dt valid 给出该 IR 基线模型的预测: python examples/display_model.py -m ir_baseline -t "#moviedd-reddit" -dt valid 在「10k training examples」bAbI 任务 1 上训练一个简单的基于 CPU 的记忆网络,其使用了 Hogwild(需要 zmq 和 Lua Torch),有 8 个线程(Python 进程): python examples/memnn_luatorch_cpu/full_task_train.py -t babi:task10k:1 -n 8 在 SQuAD 数据集上训练一个「注意 LSTM」模型,其中批大小为 32(PyTorch 和 regex) python examples/drqa/train.py -t squad -b 32 要求 ParlAI 目前支持 Python3。 (责任编辑:本港台直播) |