--- license: apache-2.0 pipeline_tag: text2text-generation library_name: fasttext --- **只需要700MB就可以运行的模型** # 如何判断电脑是否可以运行 打开B主页,点进去一个视频;如果这个时候你的电脑没有爆炸,就可以运行。 # 介绍 使用了MiniMind2的模型参数: - Github项目链接在:Github Link - HuggingFace链接在 Hugging Face # 快速开始 安装依赖: ```bash pip install torch, transformer ``` 运行模型: ```bash python model_congnilite.py ``` # 常见问题介绍 在流式输出中,每输出一个token_id,就将它解码为字符并输出,会造成中文乱码现象,但是将token_id放到一个列表中一起解码就不会出现乱码 专业描述:**token边界不对齐导致的解码错误** - tokenizer采用的是子词(subword)分词(如BPE、SentencePiece等),一个汉字或词语可能被拆成多个token。 - 单独解码一个token_id时,tokenizer.decode()会把这个token当作一个完整的单元去还原为字符,但实际上它可能只是一个汉字的“片段”或“字节”,导致输出乱码或不可见字符。 - 只有把一组token_id(即一个完整的token序列)一起decode,tokenizer才能正确地拼接还原出原始的中文字符。 原本的代码: ```python new_token_str = tokenizer.decode(next_token_id.item(), skip_special_tokens=False) print(new_token_str, end='', flush=True) ``` 更改后: ```python prev_decoded = tokenizer.decode(token_list[:-1], skip_special_tokens=False) curr_decoded = tokenizer.decode(token_list, skip_special_tokens=False) print(curr_decoded[len(prev_decoded):], end='', flush=True) ```