GitHub 2800颗星,支持GPT/Transformer,字节跳动这个开源项目是怎么来的?

news2025/2/6 20:55:29

AI 绘画、机器翻译、多轮对话……对于各类 AI 相关的功能来说,总有一个痛点,困扰着所有训模型的算法工程师们:

想要效果更好,那么 AI 模型一般都很大,耗费的算力更多不说,运行起来还更费时间;

如果希望模型小、运行快,那么效果通常不如前者好。

这就像天平的两端,算法工程师们常常需要根据不同场景和限定条件,在跑得快和效果好之间取得一个平衡。

因此,如果有一项技术可以在两者之间做好平衡,那么,它大概率会成为对业界有贡献的重要技术。

LightSeq 就是这样一项技术。

具体来说,LightSeq 是一个模型训练推理引擎,就像一个炼丹炉,Transformer/GPT/BERT 这种以体积大、效果好、但运行更耗时的 AI 模型都可以扔进去炼一炼,帮助它们提速。

而且 LightSeq 不仅可以在模型训练环节提速,让开发者更便捷的使用;也可以在推理环节提升运行速度,让各类 AI 模型更快地产出效果,降低 AI 翻译、AI 生成文字等任务的耗时,更好地服务用户。

自 2019 年开源以来,LightSeq 受到了很多机器学习从业者的欢迎,在 GitHub 上已经收获了超过 2800 颗星。

在做 LightSeq 之前,一个关于模型运行速度的问题一直让 ByteDance Research 团队的王辉感到困扰:

2019 年,机器翻译行业出现了一轮技术迭代,大家正在由 LSTM 模型切换到更新的 Transformer 模型,以实现更好的翻译效果。

但是,当时效果最好的 Transformer 翻译一句话,要耗费长达 1 秒钟的时间,这将大大影响用户体验。

于是王辉拉着几位同学,开始研究 GPU 模型加速,从头进行 CUDA 编程,开始了 LightSeq 的研发过程。

在学习了大量的底层技术知识、进行了不少优化研发后,LightSeq 第一版问世了。他们首先在字节跳动的火山翻译业务上运用,果然取得了不错的效果,翻译速度大大提升。

2019 年底,LightSeq 研发团队将它回馈给了开源社区,并持续保持版本迭代,帮助其他开发者一起提效。

开源成果受到欢迎,LightSeq 论文也同时获得了学术界的认可。

LightSeq 的推理引擎论文中选了 NLP 领域顶会 NAACL 2021。

第二年 LightSeq 的训练系统论文也被超算领域国际顶会 SC22 接收。

王辉最近还在北京大学软件和微电子学院开设了一个学期的研究生课程,专门给北大的学生们介绍 AI 领域的进展,教他们 LightSeq 的使用方法。

获得外部认可的同时,LightSeq 研发团队也在积极将它落地在字节跳动的 NLP 业务场景。除了机器翻译,例如广告文案生成、电商内容理解也能借助 LightSeq 大规模提升模型训练和推理的速度。

团队甚至还将 LightSeq 部署在了移动端,即使你的手机没连网,也能仅使用手机 CPU 的算力实现 AI 自动翻译。

他们还为此写了一篇论文《MobileNMT: Enabling Translation in 15MB and 30ms》,这篇论文也已经中选了自然语言处理顶会 ACL 2023 的 Industry Track。

LightSeq 团队希望不断追逐最前沿的技术,让技术回馈业界,用创新服务用户。来听听他们是如何探索新技术的吧。

GitHub 2800颗星,字节跳动这个开源项目是怎么做出来的?

最后,照例给大家送上 LightSeq 项目相关地址,欢迎各位开发者一起探索~

GitHub:

https://github.com/bytedance/lightseq

LightSeq 论文:

https://arxiv.org/abs/2010.13887

LightSeq2 论文:

https://arxiv.org/abs/2110.05722

MobileNMT 论文:

https://arxiv.org/abs/2306.04235

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关键字static,final的使用

关键字:static 概念 是java中的一个关键字 用于修饰成员(成员变量和成员方法) 类属性、类方法的设计思想 概念: 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实 质上的对象&#x…

使用递归SQL实现树形参数的转换(后传前)

1、什么是递归SQL 递归 SQL(Recursive SQL)是一种 SQL 查询语言的扩展,它允许在查询中使用递归算法。递归 SQL 通常用于处理树形结构或层次结构数据,例如组织结构、产品分类、地理位置等。 递归 SQL 语句通常包含两个部分&#xf…

大数据入门-大数据技术概述(一)

大数据入门系列文章 大数据入门-大数据是什么 一、概念 大数据技术是指在构架大数据平台的时候需要的技术。包含存储系统,数据库,数据仓库,资源调度,查询引擎,实时框架等。下面以我目前所了解到的一些技术做简要介绍…

React学习笔记十-生命周期(旧)

此文章是本人在学习React的时候,写下的学习笔记,在此纪录和分享。此为第十篇,主要介绍React非常重要的组件的生命周期(旧)。要学习react新的生命周期,那必须先学习旧的生命周期。 目录 1.引出生命周期概念 1.1案例 1.1.1案例卸…

snmp默认团体名/弱口令漏洞及安全加固

一、漏洞描述 SNMP(简单网络管理协议)被广泛用于计算机操作系统设备、网络设备等领域监测连接到网络上的设备是否有任何引起管理上关注的情况。在运行SNMP服务的设备上,若管理员配置不当运行默认团体名/弱口令访问,将导致敏感信息泄露。敏感…

Sentinel源码分析-ProceesorSlotChain调用链及树状资源节点

Sentinel 实现流控,隔离,降级等功能,本质要做两件事: 数据统计: 统计某个资源的访问数据(QPS,RT(响应时间),异常比例)等信息规则判断: 判断流控规…

攻略 | 如何拿下奖金534万的全国人工智能大赛?

全国人工智能大赛已连续成功举办三届,累计吸引全球20个国家、1万多支队伍参与竞技,已成为人工智能领域参与规模和影响力都名列前茅的顶级赛事。作为头部科技企业、高等院校和科研院所的链接平台,大赛在促进产学研融合、推动多项成果落地方面成…

比后缀Ti更香的N卡全能型号回归,40显卡终于不恶心了

NVIDIA RTX 40 系显卡上市有一段时间了,不过大家给出的一致看法是:除了 4090 外,其他型号暂时都不值得购买! 倒不是说他们性能多拉胯,主要是核心规格与价格属实不那么匹配。 特别是主流的 RTX 4060、4070 级别&#…

flask搭建在线音乐网系统

1.使用虚拟环境Virtualenv来创建项目 2. Flask框架介绍 Flask框架是一个用Python编写的轻量级Web应用程序框架,依赖于Werkzeug和Jinja2两个外部库。Werkzeug是一个WSGI工具包,用于接收和处理HTTP请求,匹配视图函数,支持Cookie和会…

基于Java社区文化宣传网站设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

2023年5月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2023年5月国产数据库大事件和重要产品发布消息。 目录 5月国产数据库大事记 TOP105月国产数据库大事记(时间线)产品/版本发布兼容认证代表厂商大事记排行榜新增数据库厂商活动 5月国产数据库大事记 TOP10 5月国产数据库大事记&…

高考之后想学习网络安全,网络安全/信息安全是一个好的专业吗?

本人信息安全专业毕业,在甲方互联网大厂安全部与安全乙方大厂都工作过,有一些经验可以供对安全行业感兴趣的人参考。 或许是因为韩商言让更多人知道了CTF,也或许是因为网络安全越来越受国家重视,安全最近愈加火爆了。当然&#x…

C++初阶—list深度解剖及模拟实现

目录 ➡️0. 前言 😊1.简易框架实现 🐔1. list和__list_node分析实现 🐔2. 无参构造 😊2.迭代器实现 🐔1. list普通迭代器面临问题及解决方案 🐔2. __list_node\iterator\list三类分析 &#x1f41…

内网安全:Cobalt Strike 与 MSF 联动( 会话 相互转移 )

内网安全:Cobalt Strike 与 MSF 联动( 会话 相互转移 ) 在渗透中,有时候 Cobalt Strike 会话可能会受限制,所以我们需要把 Cobalt Strike 会话转移到 MSF 上进行后面的渗透。也有的时候会话在 MSF 上,但是…

大数据学习归纳

本文初衷是为了学习归纳,若有错误,请指出。 修改记录 时间内容2020年4月10日第一次发布2020年4月16日添加MaxCompute SQL部分2020年9月14日新增数仓部分笔记 大数据架构 基础知识题 大数据组件概念 集群:多个人做同样的事 分布式:…

Visual Studio Community 2022 + Win10 编译 OpenCPN 5.9.0 记录

前言 前两天尝试用vs2017编译OpenCPN5.0.0,前后折腾了两三天总算编译成功了。官网给出的编译过程比较简单,我在实际编译过程中遇上了很多很多的问题,最多的就是缺少库,好在最后编译通过了。 后来浏览OpenCPN官网的时候发现发布了…

【Spring】开发框架Spring核心技术含Resource接口详细讲解

前言 Spring 是 Java EE 编程领域的一款轻量级的开源框架,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,它的目标就是要简化 Java 企业级应用程序的开发难度和周期。 Spring 自诞生以来备受青睐,一直被广大开发人员作为 Java…

测试工程师常用的10个python库,面试必备哦

目录 前言 1、os库 2、sys库 3、time库 4、selenium库 5、unittest库 6、pytest库 7、email库 8、appium库 9、pymsql库 10、requests库 总结: 前言 今天给各位小伙伴带来的是测试工程师常用的10个python库,相信有些小伙伴肯定知道一些库&am…

aclocal-1.14 is missing on your system

在编译 bluez 的时候出现如下错误: 没有找到 aclocal-1.14, 但是有 aclocal-1.13 版本的,那最直接的方法就是修改 Makefile了,搜索出来 Makefile 指定了 aclocal-1.14,修改成 aclocal-1.13 即可。修改完还会有如下的错…

数据科学导论

《数据科学导论》 重点归纳 第1~4章 数据科学研究的问题边角广泛,只要是和数据收集、清洗整理、分析和挖掘有关的问题都是数据科学要研究的问题;数据科学的主要方法:有监督学习、无监督学习、半监督学习;有监督学习中&#xff…