Spaces:
Running
Running
File size: 2,106 Bytes
751936e a1b0cd0 f4973d4 751936e d10ecd7 751936e 814ee6b 751936e 2bd606a 751936e 2bd606a 751936e d10ecd7 814ee6b 751936e 814ee6b 9495a4f 814ee6b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
https://arxiv.org/abs/2308.16692 SpeechTokenizer
对于OpenAI的模型而言,英文的Token效率是中文的8-12倍,
之前三百字中文以上时Turbo 3.5 16k就会出现逻辑颠倒问题,提示词换成英文后该问题没有出现过。
## 词典构建
bert词典
gpt词典
gpt-neox词典
## encode
## decode
bert词典有个特殊字符 #
gpt-neox词典呢?
- _开头表示空格或句首
## 关于分词粒度
## ss
bert-chinese vocab_size: 21128
bert-en
clue
glm
chatglm
bloom
## 最小词典
mobilenet
## ss
## bert
```
[PAD]
...
[unused99]
[UNK]
[CLS]
[SEP]
[MASK]
<S>
<T>
!
...
big
##ut
ftp
carol
##vi
```
## @@
https://github.com/pytorch/fairseq/blob/master/tests/test_noising.py#L37
```
"he@@", "llo", "n@@", "ew", "y@@", "or@@", "k"
```
跟BERT类似,只不过BERT是词后缀,这里是词前缀。
这种应该是 https://github.com/rsennrich/subword-nmt
## GPT2
词典见:https://huggingface.co/gpt2/raw/main/vocab.json
```
['What', "'s", 'Ġup', 'Ġwith', 'Ġthe', 'Ġtoken', 'izer', '?']
```
跟BERT不同,BERT用特殊符号表示 “连接”,GPT2用特殊符号表示 “空格”。
详见 gpt2/README.md
- 功能符号: `<|endoftext|>` 表示换行。tab? 空格?
- 很多数字独立编码,几乎上千个。
- 类似的还有:moss
### Ġ是什么
It's a feature of byte-level BPE(an encoded space character).
Ġ 表示空格,有的版本用Ä代替Ġ。
```sh
What's up with the tokenizer?
# BPE后
['What', "'s", 'Ġup', 'Ġwith', 'Ġthe', 'Ġtoken', 'izer', '?']
# 经过vocab.json编码后
[ 2061, 338, 510, 351, 262, 11241, 7509, 30]
# 经过dict.txt编码后(fairseq特有)
[ 其他数字 ]
```
<>
疑问:up会加Ġ,为什么what不加Ġ,因为有个pre
- https://github.com/pytorch/fairseq/issues/1716
- https://github.com/huggingface/transformers/issues/1083
## 空格、tab、换行
## reversible and lossless
It's reversible and lossless, so you can convert tokens back into the original text
## diff
|