IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 论文《PYTEXT: A SEAMLESS PATH FROM NLP RESEARCH TO PRODUCTION》学习总结 -> 正文阅读

[人工智能]论文《PYTEXT: A SEAMLESS PATH FROM NLP RESEARCH TO PRODUCTION》学习总结

Abstract

阐述工作内容

写了一个基于pytorch的模型部署文件框架,该框架可以调和算法工程师快速实验和大规模服务模型部署之间的矛盾

创新点

1.为模型组件提供简单可扩展的接口
2.利用pytorch导出模型以便送入caff2模型进行推断
3.同时构建多个单任务模型,通过上述的模块,确定共享的模型参数,进行共同的研究,可以对于多个任务使用一个或者多个输入表示联合训练模型

Introduction

工作背景

(1) 在搭建机器学习模型框架时,特别是深度学习模型框架中,实验和部署之间存在很大的矛盾
(2) 实验过程中,通常使用pytorch和tensorflow,优点是快速建模,建立动态图模型,缺点是推断过程延时,部署具有挑战(其实我不太了解什么是推断,什么是部署)
模型部署时,使用声明式框架,采用caffe2和tensorflow框架,建立静态图模型,优点是高度优化生产场景,但难以使用且实验生命周期更长。
(3) 当前矛盾是因为大多数NLP模型是动态模型,不容易在静态图中表示,增加了在工业规模基础上开启各项服务的挑战性。

创新点

1.快速建模
2.在新数据上使用模型变得容易,减少额外工作量
3.在同一生产线上的研究人员和工作师,以最小的代价实现创建、评估、交付模型到部署的全过程。
4.确保模型部署时的高性能(低延迟和高吞吐量)

Related work

相关研究算法介绍,分析存在的优缺点。
不同模型框架 优点 缺点
CoreNLP 支持研究和生产 不支持深度学习神经网络
FLAIR 支持研究和深度学习模型 不支持生产
AllenNLP 支持研究和深度学习模型 不支持生产
Spacy 2.0 支持深度学习模型和生产 不支持建模

Discussion

论文介绍

PyText是一套帮助研究人员或者工程师快速部署机器学习系统的框架,具有自定义处理原始数据模型、报告指标、训练方法、输出训练模型方法等功能。
此时可以研究各类模型的构建模块,进行深入化研究。

源码结构

所有组件都是需要在全局注册表里面维护的,由配置它所需要的参数进行定义
组件结构=训练(Data Handler/Model/Optimizer/Metric Reporter/Trainer)+预测(Predictor)+导出(Exporter),所有的模型导出为ONXX格式

模型结构

单任务训练模型
Token Embedding+Representation+Decoder+Output Layer
多任务训练模型
同时构建多个单任务模型,通过上述的模块,确定共享的模型参数,进行共同的研究,可以对于多个任务使用一个或者多个输入表示联合训练模型

多任务训练模型的相关前提条件

  1. 设置不同的数据源,不同数据源对应不同的任务
  2. 必须实现单个的任务场景,确保在多任务设置中重用它。

多任务训练模型的实例
可以通过共享词表示变量,实现(1)文本分类和词标记模型,(2)两个文本分类+文本匹配模型

该模型可以支持的任务

  1. 文本分类
  2. 词标记
  3. 语义解析
  4. 语言模型
  5. 联合模型

Experiments

实验步骤

PyText的部署任务

  1. 实现模型
  2. 绑定到pytorch的推理服务,对实时流量样本进行实时小规模评估
  3. 导出成caffe2模型,但不一定支持过于复杂的版本
  4. 如果3步骤不行,则使用pytorch的C++ API,重写模型并且封装成Caffe2格式
  5. 发布到Caffe2的预测服务中,进行训练操作

实验条件
实验是在一台只有cpu的机器上进行的,机器上有48个2.5GHz的Intel Xeon E5-2680处理器,251 GB RAM和CentOS 7.5。c++代码使用gcc -O3编译

模型部署情况
该模型研究了pytext在导出为C++和caffe2中,导出为意图识别任务中的延迟情况

结果分析

模型部署的挑战
文本预处理:

  1. 文本标记化
  2. 字符转ID
  3. 字符串对齐

词汇表管理的方法

  1. 维护远程服务中的词汇表
  2. 导出为Caffe2后,将词汇表添加至网络中

选择第二种是可以同步/控制不同版本的用例和语言模型

未来研究方向

1.添加任务

(1)添加多语言任务建模研究
(2)添加问答系统、总结系统、阅读理解任务的研究

2.性能基准以及相应改进

为了提高高吞吐量,降低延迟时间
(1) 训练:增加分布式训练
(2) 预测:对训练进行基准测试,根据预测的负载模式调优模型部署。

3. 模型可解释性

监控指标,调试模型内部,添加更多工具支持
(1) tensorboard+visdom
(2) 探索不同的模型解释方法

4.模型稳健性

为了抵抗扰动的对抗性输入、噪声、语法差异性对模型准确性的影响,添加对抗训练和数据增强技术。

5.移动模型部署

训练轻量化的模型,在移动设备上部署模型

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:24:00  更:2021-08-17 15:24:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:35:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码