2.1 KiB
2.1 KiB
meaning dataset
meaning数据集是一个模仿自然语言,以及抽象表达的数据集。
概念
- token表示最终体现的基本数据表达,类似单词。vocab_size表示代表token的数量。
- meaning表示一种语义(符号),所有的meaning都由一个编号表达,编号越大表示语义越复杂
- 所有的meaning都可以由更低标号表达
- 从0到(vocab_size-1)的编号表示基本meaning,是不能被拆解的,也就是token
- meaning通过一层层的向低编号的meaning进行组合替换,最终形成一个最底层是token的树形数据
- level表示当前token相对于root meaning的距离
- rank_idx表示当前token在不同层的排序编号,每4位表示在一层里面的编号,低4位表示最低层级的rank_idx,高位无用的位用1填充
- rank_all表示当前token在不同层的分子个数,每4位表示在一层里面的编号,低4位表示最低层级的rank_all,高位无用的位用1填充
- tree用于存储每个meaning的拆解的数据,使用字典表达一个树形结构
- get_seq_mask返回一个sequence每个token在对应level是不是对应的index,level=0:最底层,index=-1:最后一个,index=0:第一个
- meaning_height 当前meaning的总高度
- meaning_weight 当前meaning的总宽度
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
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
idx at 0 = 0 1 1 0 1 0 1 0 1 0 1 2 0 1 0 1
idx at 1 = 0 0 0 0 0 1 1 1 1 0 0 0 0 0 2 2
idx 0 1 1 0 1 16 17 16 17 0 1 2 0 1 32 33