Tokenzation: Beyond Tokenizers of LLMs
1 什么是Tokenization
Tokenzation,指的是将数据转换为离散序列的过程。例如,我们在阅读英语时,我们是一个一个单词阅读的,也就是说,人类的Tokenization就是把句子按照空格和标点符号切分。在大语言模型中,Tokenizer将语言的字符串转化为token序列,token来自于一个固定词汇表。为了缩减词汇表大小,token与单词略有不同,可以看作“词根词缀”,根据BPE算法得到的。例如,Llama的词汇表大小是32000 token。
2 视觉(Vision)的Tokenization
NLP领域中,自然语言的Tokenization较为直观,并且已经有比较成熟的实现方法。随着大模型领域迈向多模态时代,一个热点的研究方向是构建视觉、音频等模态和文本模态统一的大模型,即使用一个多模态大模型(MLLM)进行理解与生成。
以Transformer为基础架构,我们需要将文本之外的其他模态进行Tokenization。用于理解任务的MLLM通常将visual feature投影至LLM的空间,将投影后的Visual Token和自然语言指令共同输入LLM中进行理解任务。经典的架构包括LLaVa[1],BLIP-2[2]等。模型通过Instruction Tuning的方式训练投影器的参数,或者同时对LLM进行参数高效微调。这里的投影,不论是线性投影还是Q-Former,并不完全算是Tokenizer,因为生成的vision token并不在一个固定的词汇表中。
由于LLaVa和BLIP-2的backbone都是LLM,因此只能进行文本的生成。DALL·E[3]是一个经典的文生图模型,该模型的pipeline为:先训练一个离散VAE将图像中的patch转换为8192大小的词汇表中的某个token,再结合text token训练一个Transformer。
进入大模型时代,以SEED[4]为代表的多模态模型实现了文本和图像的自回归生成。以一个Frozen的ViT输出的visual feature为输入,该模型使用Causal Q-Former生成causal embeddings(causal指的是序列的前后关系,和Causal LLM的Causal是一个意思),再通过VQ-VAE进行离散化,维护一个vision vocabulary,与自然语言的vocabulary共同构成MLLM的词表,进行自回归生成。模型首先训练Q-former,得到text-grounded的causal feature;再通过重构目标训练VQ-VAE,得到Codebook。最后,在各种多模态任务上使用next token prediction的目标进行多模态自回归训练。与其类似的模型还有Emu3[5],进行了更多模态的自回归预训练。Emu3的Tokenizer是SBER-MoVQGAN,基于VQ-GAN的架构,与VQ-VAE有一些相似性。
3 图(Graph)的Tokenization
由于分子图天然存在一个“词汇”,也就是固定的原子种类和化学键种类,有一些工作成功将分子图进行Tokenization以进行各种任务。Mole-BERT使用VQ-VAE的方式构建一个原子的词汇表,其中不同原子对应的vocabulary个数是不同的,用于解决atom vocabulary稀疏和不平衡的问题。模型训练方式与DALL·E类似,先训练VQ-VAE Tokenizer,再用masked modeling的目标训练GNN。
除了VQ-VAE的方式,GraphsGPT[6]将原子和化学键作为Token,将分子图序列化,通过自回归生成的方式训练了一个纯Graph Transformer进行各种任务,包括性质预测和可控生成。
对于广义的图数据,Tokenization并不清晰。Graph Transformer和Graph-LLM领域都有一些将graph进行tokenization的工作。通常来讲,我们可以直接将节点特征作为token的embedding,特征可以来自于原始特征、GNN聚合、文本编码特征如SentenceBERT embedding。Graph Transformer大多使用节点原始特征,以NAGphormer[7]为代表的部分模型使用了按跳(hop)聚合的方式,即每一跳有一个token。近期也有部分工作[8]尝试引入VQ-VAE式的Tokenizer。
为了让LLM能够在图数据上进行开放式的问答任务,利用LLM强大的推理能力,一些工作尝试将Graph Token作为指令的一部分,输入LLM进行推理任务。Graph Token即投影后的节点特征,是对齐到LLM空间后到图数据的表示。代表性工作有LLaGA[9],GraphGPT[10],GraphTranslator[11],TEA-GLM[12]等等。上述工作借鉴于LLaVA和BLIP式的pipeline。近期也有工作[13]使用VQ-VAE架构作为Tokenizer。该工作初步发现了VQ-VAE在graph上的优势,实现了图结构的跨数据集和跨域迁移性。
尽管在图数据上进行自然语言式的开放问答任务比较重要,从而我们需要考虑Graph Tokenization的问题,但笔者认为以下问题仍然有待解答:
-
什么任务适合Tokenization+LLM的pipeline?传统的节点分类等任务是否真的需要? -
什么数据适合Tokenization?为了实现Tokenization的可迁移性,需要怎样的训练数据集和领域、以及训练方法? -
Graph Token究竟包含什么信息,或者说,需要包含什么信息?结构?特征?还是二者都有 -
LLM是否有能力decode出Graph Token包含的信息?为什么能decode出? -
考虑到CV等模态和Graph的差异性,Graph LLM的Tokenization以及Training Pipeline该如何设计与改进?
由于NLP之外的Tokenization问题并不明晰,很多结论都是可供开放思考与讨论的,欢迎批评指正,邮箱[email protected]
[1] Visual Instruction Tuning, NeurIPS 2023 [2] BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models, ICML 2023 [3] Zero-Shot Text-to-Image Generation [4] Making Llama See and Draw with SEED Tokenizer,ICLR 24 [5] Emu3: Next-Token Prediction is All You Need [6] A Graph is Worth Words: Euclideanizing Graph using Pure Transformer, ICML 2024 [7] NAGphormer: A tokenized graph transformer for node classification in large graphs, ICLR 2023 [8] Learning Graph Quantized Tokenizers for Transformers, ICLR 2025 submission [9] LLaGA: Large Language and Graph Assistant, ICML 2024 [10] GraphGPT: Graph Instruction Tuning for Large Language Models, SIGIR 2024 [11] GraphTranslator: Aligning Graph Model to Large Language Model for Open-ended Tasks, WWW 2024 [12] LLMs as Zero-shot Graph Learners: Alignment of GNN Representations with LLM Token Embeddings, NeurIPS 2024 [13] GFT: Graph Foundation Model with Transferable Tree Vocabulary, NeurIPS 2024
原文始发于微信公众号(北邮 GAMMA Lab):专题解读 | 多模态模型和图大模型的词元化(Tokenization)问题
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论