当前位置: 首页 > news >正文

字节豆包全新图像Tokenizer:生成图像最低只需32个token,最高提速410倍

  ChatGPT狂飙160天,世界已经不是之前的样子。

更多资源欢迎关注


在生成式模型的迅速发展中,Image Tokenization 扮演着一个很重要的角色,例如Diffusion依赖的VAE或者是Transformer依赖的VQGAN。这些Tokenizers会将图像编码至一个更为紧凑的隐空间(latent space),使得生成高分辨率图像更有效率。

然而,现有的Tokenizer通常会将输入图像映射为隐空间的一个降采样后的2D矩阵,这一设计隐式的限制了token与图像之间的映射关系,导致其很难有效的利用图像中的冗余信息(比如相邻的区域经常会有类似的特征)来获得一个更加有效的图像编码。

为了解决这一问题,字节跳动豆包大模型团队和慕尼黑工业大学提出了全新的1D图像Tokenizer:TiTok,这一Tokenizer打破了2D Tokenizer的设计局限,可以将整个图片压缩至更为紧凑的Token序列。

图片

  • 论文链接:https://arxiv.org/abs/2406.07550 

  • 项目链接:https://yucornetto.github.io/projects/titok.html

  • 代码链接:https://github.com/bytedance/1d-tokenizer

对于256 x 256分辨率的图片,TiTok最少仅需32个Token就可以表达,比通常2D Tokenizer的256或1024个Token显著减少。对于512 x 512分辨率的图片,TiTok最少仅需64个Token,64倍小于Stable Diffusion的VAE Tokenizer。此外,在ImageNet图像生成这一任务上,使用TiTok作为Tokenizer的生成器在生成质量和生成速度上都有显著提高。

在256分辨率,TiTok获得了1.97的FID,显著超过使用同样生成器的MaskGIT 4.21。在512分辨率TiTok可以获得2.74的FID,不仅超过了DiT(3.04),并且相比DiT在图像生成上加速了惊人的410倍!TiTok的最好变种取得了2.13的FID,显著超过DiT的同时仍旧有着74倍的加速。

图片

TiTok仅用32个Token就可以完成高质量的图像重建与生成

图片

图像所需Token的显著减少带来了明显更快的生成速度,但是同时维持了高质量的图像生成。

模型结构

TiTok的结构非常简单,编码器和解码器部分各自是一个ViT,在编码过程中,一组latent tokens会拼接在image patches后,在过完编码器后,仅保留latent tokens并进行quantization的过程。获得的quantized latent tokens将会与一组mask tokens拼接在一起,一并送入解码器,从mask token序列中重建出图像。

图片

1D Tokenization 性质研究

研究者进行了一系列实验研究关于不同数量的用于表示图像的token,不同的tokenizer大小,重建表现,生成表现,linear probing准确率,以及训练和推理速度的比较。在这一过程中,研究者发现(1)仅需32个Token便能取得很好的重建与生成效果(2)通过增大Tokenizer的模型大小,研究者可以使用更少的Token来表示图片(3)当图片使用较少的Token来表示时,Tokenizer会学到更强的语义信息(4)使用更少的Token来表示图片时,训练和推理速度都有了显著的提升。

图片

此外,视频中展示了使用不同的Tokenizer大小以及Token数目时所重建出的图片,可以看到更大的Tokenizer可以在有限的Token下重建出质量更好的图像。此外,当仅有有限Token时,模型更倾向于保留显著区域有更好的重建效果。

图片

实验验证

研究者主要在ImageNet-1k的256 x 256分辨率以及512 x 512分辨率上进行了与其他方法的比较。可以看到,尽管TiTok使用有限的Token数目,但是可以和其他使用更多Token的方法取得相当的重建效果(rFID),使用较少的Token数目让TiTok在维持较高的生成图片质量(gFID)的同时有着显著快于其他方法的生成速度。

例如TiTok-L-32获得了2.77的gFID score,同时可以以每秒101.6张图片的速度进行图片生成,这一速度显著快于其他Diffusion Models (169倍快于DiT)或者Transformer Models (339倍快于ViT-VQGAN).

图片

TiTok使用较少Token的优势在更高分辨率的图像生成上更加明显,其中TiTok-L-64仅使用64个Token就能完成高质量的512分辨率图像的重建与生成,生成图像的质量不仅高于DiT (2.74 v.s. 3.04),同时生成速度提高了近410倍。

图片

结论

在本文中,研究者专注于一个全新的1D Image Tokenizer,并提出了一种全新的Tokenizer来打破现有2D Tokenizer中的局限,进而更好的利用图像中的冗余信息。TiTok仅需少量的Token(比如32个)来表示图像,同时仍旧能进行高质量的图像重建与生成。在ImageNet的256分辨率和512分辨率生成实验中,TiTok不仅取得了超过Diffusion Models的生成质量,同时有着百倍更快的生成速度。

关于豆包大模型团队

字节跳动豆包大模型团队成立于 2023 年,致力于开发业界最先进的 AI 大模型技术,成为世界一流的研究团队,为科技和社会发展作出贡献。

豆包大模型团队在AI领域拥有长期愿景与决心,研究方向涵盖NLP、CV、语音等,在中国、新加坡、美国等地设有实验室和研究岗位。团队依托平台充足的数据、计算等资源,在相关领域持续投入,已推出自研通用大模型,提供多模态能力,下游支持豆包、扣子、即梦等50+业务,并通过火山引擎开放给企业客户。目前,豆包APP已成为中国市场用户量最大的AIGC应用。

相关文章:

  • elementUI的table使用展开功能( type=“expand“ ),展开时合起上一次展开的内容,始终保持展开内容为一个,并且再次点击合起自身
  • 敏捷开发笔记(第7章节)--什么是敏捷设计
  • 八爪鱼现金流-027,以后别再做软件开发了,累了,要有自己的作品
  • deepin 加入甲辰计划,共建 RISC-V 繁荣生态
  • vscode+picgo+gitee实现Markdown图床
  • 摄像头画面显示于unity场景
  • 项目五 OpenStack镜像管理与制作
  • 钓鱼网站开发原理(社会工程学)
  • KEIL5软件仿真观察PIN脚电平(软件仿真逻辑分析仪的使用)
  • centos查找文件 及 操作写入的进程
  • 概率论与数理统计(期末自用总结版)
  • 力扣-2663
  • 快速生成基于vue-element的后台管理框架,实现短时间二次开发
  • 关于飞浆文字识别技术的运用
  • [手机Linux PostmarketOS]一,1加6T真正的手机Linux系统
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 5、React组件事件详解
  • Apache Spark Streaming 使用实例
  • Iterator 和 for...of 循环
  • node和express搭建代理服务器(源码)
  • passportjs 源码分析
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • session共享问题解决方案
  • Vue组件定义
  • 闭包,sync使用细节
  • 多线程事务回滚
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 区块链技术特点之去中心化特性
  • 入门到放弃node系列之Hello Word篇
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 一些关于Rust在2019年的思考
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​虚拟化系列介绍(十)
  • (11)MATLAB PCA+SVM 人脸识别
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)STL算法之比较
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET Core中的去虚
  • .Net7 环境安装配置
  • .Net语言中的StringBuilder:入门到精通
  • @GlobalLock注解作用与原理解析
  • @Import注解详解
  • @Repository 注解
  • []sim300 GPRS数据收发程序
  • [ajaxupload] - 上传文件同时附件参数值
  • [Android]使用Android打包Unity工程
  • [BUAA软工]第一次博客作业---阅读《构建之法》