基于DS4proTokenizer和GLM5.1Tokenizer的单次性能测试

3月入了L站后接触到了codex后,觉得以前使用古法chat模式做开发真的是太惨了,同时内心中压抑的很久的想法终于压制不住了,于是在4月19,创建了一个llm工程。工程的作用是什么呢,对,就是妄图在gpt的帮助下手搓一个llm。因为当时最强的开源国模,就是glm5.1,而且还是mit协议的,没有太大...
基于DS4proTokenizer和GLM5.1Tokenizer的单次性能测试
基于DS4proTokenizer和GLM5.1Tokenizer的单次性能测试

3月入了L站后接触到了codex后,觉得以前使用古法chat模式做开发真的是太惨了,同时内心中压抑的很久的想法终于压制不住了,于是在4月19,创建了一个llm工程。工程的作用是什么呢,对,就是妄图在gpt的帮助下手搓一个llm。因为当时最强的开源国模,就是glm5.1,而且还是mit协议的,没有太大的协议风险。想着有现成的Tokenizer干嘛不用。于是就以5.1的Tokenizer作为基础开始手搓模型。于是开始了长达10天的llm工程化,于是什么 SwiGLUCLA+GQARetNet统统扔进模型里面。然后4.29在开发到从单卡训练转FSDP2下跑多卡训练的时候就发现ds4发布了,还是mit协议的。于是本着反正模型都还没彻底定型,多试几个Tokenizer,看看哪个比较好(单纯是因为5060ti16G练不动了,5.1回家把4060ti16g也插上做双卡)。于是就有了下面的对比。前期实验glmTokenizer时发现占用较高,但是训练出来后主观感觉收敛更好。但是因为本身就不是严谨的实验工程,纯个人爱好一时兴起,所以懒得测试两种Tokenizer训练出来的模型性能如何了。

目前单次Tokenizer实验的总结就是:DS伟大无需多言。同样的数据集下,ds4Tokenizer转出来的Token数量更少, Sequence Packing(序列打包)效率更高。不愧是性价比战神!!!

免责声明:这个测试是孤例,秉承科研界中孤证不立的原则,个人声明本次测试什么都不代表,仅作为LPT工程下指定数据集下的数据结果。不具备任何盖棺定论的属性。实验全是个人见解及倾向。不存在拉踩。
而且因为我显卡不够的问题根本不敢跑多轮训练。无法实际测试同样的模型结构下,哪个Tokenizer的语义表达更好。

由GPT实现并执行生成的实验报告及附录如下:

github.com/kenith-z/lpt-llm help/GLM5.1%E5%8F%8ADS4%E7%9A%84Tokenizer%E5%9F%BA%E5%87%86%E5%AF%B9%E6%AF%94%E5%AE%9E%E9%AA%8C/GLM5.1%E5%8F%8ADS4Tokenizer%E5%9F%BA%E5%87%86%E5%AF%B9%E6%AF%94%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A.md main
# GLM5.1 及 DS4Tokenizer 基准对比实验报告

## 摘要

本实验比较 GLM5.1 tokenizer 与 DS4Tokenizer(本项目 `ds_tokenizer`)在同一批 1-11 号专升本教材语料上的分词规模、训练吞吐、显存占用与 LongRoPE2 候选因子评测表现。实验使用 416 条结构化 text JSONL 样本作为统一材料,并在同一张 `NVIDIA GeForce RTX 5060 Ti` 上执行 sequence packing 训练基准与 LongRoPE2 factor sweep smoke 评测。

结果显示,DS4Tokenizer 的总 token 数较 GLM5.1 降低 5.55%,超过 7680 token 的样本数量由 10 条降至 5 条。在 `batch_size=4, train_max_sequence_length=768` 的训练基准中,DS4Tokenizer 相对 GLM5.1 的 active tokens/s 提升约 9.3%-10.2%,峰值 allocated 显存降低约 1.34 GB。在 `train_max_sequence_length=7680` 的长窗口基准中,两种 tokenizer 在 `batch_size=4` 下均发生 OOM;在 `batch_size=1` 下均可运行,DS4Tokenizer 的 wall-clock 更短且峰值 allocated 显存更低。LongRoPE2 factor sweep 在 `text_pretrain` checkpoint 上已完成同阶段对比,DS4Tokenizer 对应 checkpoint 在 smoke 设置下获得更低的 PPL(128),但生成型 needle 与 retrieval 精确匹配率均为 0.0,说明该结果只能作为链路与相对基线参考,不能作为充分的长上下文能力结论。

## 1. 实验目的

本实验旨在回答以下问题:

1. 在同一语料上,GLM5.1 tokenizer 与 DS4Tokenizer 的 token 规模差异是否显著。
2. tokenizer 切换是否改变 sequence packing 训练基准中的吞吐与显存表现。
3. 在长窗口训练边界下,较小词表的 DS4Tokenizer 是否带来可观察的显存收益。
4. 在已有 GLM5.1 与 DS 同阶段 `text_pretrain` checkpoint 条件下,LongRoPE2 factor sweep 是否可以完成可比评测。

## 2. 实验材料与环境

### 2.1 数据材料
此文件已被截断。 显示原始文件

1 个帖子 - 1 位参与者

阅读完整话题

来源: linux.do查看原文