2024-04-07 00:25:21 +08:00
|
|
|
|
# meaning dataset
|
|
|
|
|
|
|
|
|
|
meaning数据集是一个模仿自然语言,以及抽象表达的数据集。
|
|
|
|
|
|
|
|
|
|
## 概念
|
|
|
|
|
|
|
|
|
|
1. token表示最终体现的基本数据表达,类似单词。vocab_size表示代表token的数量。
|
|
|
|
|
2. meaning表示一种语义(符号),所有的meaning都由一个编号表达,编号越大表示语义越复杂
|
|
|
|
|
3. 所有的meaning都可以由更低标号表达
|
2024-04-10 00:34:47 +08:00
|
|
|
|
4. 从0到(vocab_size-1)的编号表示基本meaning,是不能被拆解的,也就是token
|
2024-04-07 00:25:21 +08:00
|
|
|
|
5. meaning通过一层层的向低编号的meaning进行组合替换,最终形成一个最底层是token的树形数据
|
|
|
|
|
6. level表示当前token相对于root meaning的距离
|
2024-07-31 22:04:01 +08:00
|
|
|
|
7. rank
|
|
|
|
|
8. rank_idx表示当前token在不同层的排序编号,每4位表示在一层里面的编号,低4位表示最低层级的rank_idx,高位无用的位用1填充
|
2025-06-25 20:13:48 +08:00
|
|
|
|
9. rank_all表示当前token所在的不同层的总的分支个数,每4位表示在一层里面的个数,低4位表示最低层级的rank_all,高位无用的位用1填充
|
2024-07-31 22:04:01 +08:00
|
|
|
|
10. tree用于存储每个meaning的拆解的数据,使用字典表达一个树形结构
|
|
|
|
|
11. get_seq_mask返回一个sequence每个token在对应level是不是对应的index,level=0:最底层,index=-1:最后一个,index=0:第一个
|
|
|
|
|
12. meaning_height 当前meaning的总高度
|
|
|
|
|
13. meaning_weight 当前meaning的总宽度
|
2025-02-21 15:33:37 +08:00
|
|
|
|
14. val_mask_level val_mask_idx: 表示用于训练的token的mask,val_mask_level=[0, 1, 2] val_mask_idx=[0, 0, -1]表示只有是第0层第0个,而且是第1层第0个,第2层最后一个的token,才参与训练
|
2025-08-07 17:36:43 +08:00
|
|
|
|
15. with_tree 表示每个meaning的拆分都以当前meaning编号结束,sequence会插入很多枝节点,而不仅仅是叶节点
|
|
|
|
|
16. ms_level 大于255表示这个token是tree(level 0用255表示),大于511表示这个token是stride(level 0用511表示),生成val mask的时候是False
|
2025-08-04 16:10:46 +08:00
|
|
|
|
17. ms_map 表示每个meaning拆解的sub meaning
|
|
|
|
|
18. index must < 15,level must < 8
|
2024-04-10 00:34:47 +08:00
|
|
|
|
|
2025-06-25 20:13:48 +08:00
|
|
|
|
## code
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
vocab = config.model_config.vocab_size
|
|
|
|
|
start 数据集的样本开始meaning
|
|
|
|
|
size 数据集的样本个数
|
|
|
|
|
```
|
2024-04-07 00:25:21 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
vocab_size = 256 meaning = 115200
|
|
|
|
|
|
|
|
|
|
115200
|
|
|
|
|
/ | \
|
|
|
|
|
10240 1100 12322
|
|
|
|
|
/ | \ / \ / | \
|
|
|
|
|
512 32 1201 245 233 3214 532 324
|
|
|
|
|
/ \ / \ / \ | / \
|
|
|
|
|
123 42 320 500 1231 23 324 93 176
|
|
|
|
|
/ \ / \ / \ / \
|
|
|
|
|
176 11 255 129 129 99 211 111
|
|
|
|
|
|
2025-06-25 20:13:48 +08:00
|
|
|
|
sequence = 123 42 32 176 11 255 129 245 233 129 99 23 211 111 93 176
|
|
|
|
|
level = 3 3 2 4 4 4 4 2 2 4 4 3 4 4 3 3
|
|
|
|
|
|
|
|
|
|
rank_idx = 0 1 1 0 1 16 17 16 17 0 1 2 0 1 32 33
|
|
|
|
|
idx at0 = 0 1 1 0 1 0 1 0 1 0 1 2 0 1 0 1
|
|
|
|
|
idx at1 = 0 0 0 0 0 1 1 1 1 0 0 0 0 0 2 2
|
2024-07-31 22:04:01 +08:00
|
|
|
|
|
2025-06-25 20:13:48 +08:00
|
|
|
|
rank_all =
|
2024-04-07 00:25:21 +08:00
|
|
|
|
|
2024-04-14 17:41:30 +08:00
|
|
|
|
```
|