math-zhu commited on
Commit
4b88a4e
·
verified ·
1 Parent(s): fa3338f

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +48 -37
README.md CHANGED
@@ -1,38 +1,49 @@
1
- # 介绍
2
- 使用了MiniMind2的模型参数,
3
- - Github项目链接在:<a href="https://github.com/jingyaogong/minimind">Github Link</a>
4
- - HuggingFace链接在 <a href="https://huggingface.co/jingyaogong/MiniMind2">Hugging Face</a>
5
- # 快速开始
6
- 安装依赖:
7
- ```bash
8
- pip install torch, transformer
9
- ```
10
-
11
- 运行模型:
12
- ```bash
13
- python model_congnilite.py
14
- ```
15
-
16
-
17
- # 常见问题介绍
18
- 在流式输出中,每输出一个token_id,就将它解码为字符并输出,会造成中文乱码现象,但是将token_id放到一个列表中一起解码就不会出现乱码
19
-
20
- 专业描述:**token边界不对齐导致的解码错误**
21
-
22
- - tokenizer采用的是子词(subword)分词(如BPE、SentencePiece等),一个汉字或词语可能被拆成多个token。
23
- - 单独解码一个token_id时,tokenizer.decode()会把这个token当作一个完整的单元去还原为字符,但实际上它可能只是一个汉字的“片段”或“字节”,导致输出乱码或不可见字符。
24
- - 只有把一组token_id(即一个完整的token序列)一起decode,tokenizer才能正确地拼接还原出原始的中文字符。
25
-
26
-
27
- 原本的代码:
28
- ```python
29
- new_token_str = tokenizer.decode(next_token_id.item(), skip_special_tokens=False)
30
- print(new_token_str, end='', flush=True)
31
- ```
32
-
33
- 更改后:
34
- ```python
35
- prev_decoded = tokenizer.decode(token_list[:-1], skip_special_tokens=False)
36
- curr_decoded = tokenizer.decode(token_list, skip_special_tokens=False)
37
- print(curr_decoded[len(prev_decoded):], end='', flush=True)
 
 
 
 
 
 
 
 
 
 
 
38
  ```
 
1
+ ---
2
+ license: apache-2.0
3
+ pipeline_tag: text2text-generation
4
+ library_name: fasttext
5
+ ---
6
+
7
+ **只需要700MB就可以运行的模型**
8
+
9
+ # 如何判断电脑是否可以运行
10
+ 打开B主页,点进去一个视频;如果这个时候你的电脑没有爆炸,就可以运行。
11
+
12
+ # 介绍
13
+ 使用了MiniMind2的模型参数:
14
+ - Github项目链接在:<a href="https://github.com/jingyaogong/minimind">Github Link</a>
15
+ - HuggingFace链接在 <a href="https://huggingface.co/jingyaogong/MiniMind2">Hugging Face</a>
16
+ # 快速开始
17
+ 安装依赖:
18
+ ```bash
19
+ pip install torch, transformer
20
+ ```
21
+
22
+ 运行模型:
23
+ ```bash
24
+ python model_congnilite.py
25
+ ```
26
+
27
+
28
+ # 常见问题介绍
29
+ 在流式输出中,每输出一个token_id,就将它解码为字符并输出,会造成中文乱码现象,但是将token_id放到一个列表中一起解码就不会出现乱码
30
+
31
+ 专业描述:**token边界不对齐导致的解码错误**
32
+
33
+ - tokenizer采用的是子词(subword)分词(如BPE、SentencePiece等),一个汉字或词语可能被拆成多个token。
34
+ - 单独解码一个token_id时,tokenizer.decode()会把这个token当作一个完整的单元去还原为字符,但实际上它可能只是一个汉字的“片段”或“字节”,导致输出乱码或不可见字符。
35
+ - 只有把一组token_id(即一个完整的token序列)一起decode,tokenizer才能正确地拼接还原出原始的中文字符。
36
+
37
+
38
+ 原本的代码:
39
+ ```python
40
+ new_token_str = tokenizer.decode(next_token_id.item(), skip_special_tokens=False)
41
+ print(new_token_str, end='', flush=True)
42
+ ```
43
+
44
+ 更改后:
45
+ ```python
46
+ prev_decoded = tokenizer.decode(token_list[:-1], skip_special_tokens=False)
47
+ curr_decoded = tokenizer.decode(token_list, skip_special_tokens=False)
48
+ print(curr_decoded[len(prev_decoded):], end='', flush=True)
49
  ```