Lightseq

用于序列处理和生成的高性能库
授权协议 Apache-2.0
开发语言 C/C++ Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 国产
投 递 者 邰伟彦
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

LightSeq 是一个高性能的训练和推理库,用于在 CUDA 中实现序列处理和生成。它可以高效计算现代 NLP 模型,例如BERT、GPT、 Transformer等。因此,它最适用于机器翻译文本生成对话语言建模情感分析和其他具有序列数据的相关任务。

该库建立在 CUDA 官方库(cuBLASThrustCUB)和自定义内核函数之上, 这些函数专门为 Transformer 模型系列融合和优化。除了模型组件,推理库还提供了基于 TensorRT 推理服务器的易于部署的模型管理和服务后端 。使用 LightSeq,只需少量额外代码即可轻松开发修改后的 Transformer 架构。

特征

以下是 LightSeq 训练库支持的矩阵与 DeepSpeed 对比。

以下是 LightSeq 推理库支持矩阵与 TurboTransformers 和 FasterTransformer 的对比。

  • 前言 LightSeq是字节跳动火山翻译团队开源的一款Transformer系列模型加速引擎,分为训练和推理两个部分。其中推理加速引擎早在2019年12月就已经开源,而训练加速引擎也在2021年6月开源。 项目地址: GitHub - bytedance/lightseq: LightSeq: A High Performance Library for Sequence Processing a

 相关资料
  • 问题内容: 我有一个数据模型,该数据模型在一个实体和其他11个实体之间具有一对多关系。这12个实体一起代表一个数据包。我遇到的问题是与这些关系的“许多”方面发生的插入次数有关。其中一些可以具有多达100个单独的值,因此要将一个完整的数据包保存在数据库中,最多需要500次插入。 我正在将MySQL 5.5与InnoDB表一起使用。现在,通过测试数据库,我发现在处理批量插入时,它每秒可以轻松地每秒进行

  • 我从http://docs.oracle.com/javaee/7/tutorial/doc/servlets012.htm Java EE为servlet和过滤器提供异步处理支持。如果servlet或过滤器在处理请求时达到潜在的阻塞操作,它可以将该操作分配给异步执行上下文,并将与请求相关联的线程立即返回到容器,而不生成响应。阻塞操作在不同线程的异步执行上下文中完成,该线程可以生成响应或将请求分派

  • 最简单的经验法则之一是记住硬件喜欢数组,并且针对数组的迭代进行了高度优化。对许多问题的一个简单优化只是停止使用花哨的数据结构,只使用简单的数组(或C++中的std::vectors)。这需要一些时间来适应。 C++类是那种“奇特的数据结构”,即一种可以用数组代替的数据类型,以在C++程序中获得更高的性能吗?

  • 根据网页 activemq-性能-模块-用户-手册 中的建议,我尝试过(在配备 Windows 7 操作系统和固态盘驱动器的英特尔 i7 笔记本电脑上)在 ActiveMQ 队列上生成持久消息的性能: 针对活动 mq 5.12.1 的默认安装 我得到的性能大约是每秒300-400条消息。在激活性能页面上,我一直在阅读更高的数字: 当在一个机器上运行服务器,在另一个机器上的单独虚拟机中运行单个生产者

  • 生成器(generator)也是一种迭代器,在每次迭代时返回一个值,直到抛出 StopIteration 异常。它有两种构造方式: 生成器表达式 和列表推导式的定义类似,生成器表达式使用 () 而不是 [],比如: numbers = (x for x in range(5)) # 注意是(),而不是[] for num in numbers: print num 生成器函数 含有 y

  • Liquibase在Java世界中类似于EntityFramework(EF)。并且=在中。但问题是只生成,但没有回滚。有可能在回滚的同时生成差异吗? 我试着用liquibase:rollback创建回滚脚本。但它并不能在所有情况下都生成回滚脚本,例如,当我删除了一个带有更改集的列,然后想要回滚时。设置或运行时出错