重庆模板建站公司,福州seo服务商,旅游景区网站建设策划书,wordpress延迟加载背景#xff1a; 
我们在用chatGPT或者SD的时候#xff0c;发现如果使用英语写提示词得到的结果比我们使用中文得到的结果要好很多#xff0c;为什么呢#xff1f;这其中就有一个叫做tokenizer的东西在作怪。 
训练一个合适的tokenizer是训练大模型的基础#xff0c;我们既…背景 
我们在用chatGPT或者SD的时候发现如果使用英语写提示词得到的结果比我们使用中文得到的结果要好很多为什么呢这其中就有一个叫做tokenizer的东西在作怪。 
训练一个合适的tokenizer是训练大模型的基础我们既可以从头开始训练一个全新的tokenizer也可以利用旧的tokenizer训练出一个新的来今天就让我们看看如何来以旧换新。 
第一步数据准备 
不管是训练大模型还是训练tokenizer首先都需要我们准备数据集 
from datasets import load_dataset
#加载数据集
raw_datasets  load_dataset(code_search_net, python)#写一个迭代函数分配加载数据防止数据集太大导致内存溢出
def get_training_corpus():return (raw_datasets[train][i : i  1000][whole_func_string]for i in range(0, len(raw_datasets[train]), 1000))training_corpus  get_training_corpus() 
第二步训练 
#加载旧的tokenizer
old_tokenizer  AutoTokenizer.from_pretrained(gpt2)
#进行训练
tokenizer  old_tokenizer.train_new_from_iterator(training_corpus, 52000)第三步保存 
tokenizer.save_pretrained(code-search-net-tokenizer) 
第四步使用 
tokenizer  AutoTokenizer.from_pretrained(huggingface-course/code-search-net-tokenizer) 
总结 
1、利用AutoTokenizer.train_new_from_iterator()可以很轻松的使用我们自己的数据集来根据旧的tokenizer来训练出一个全新的tokenizer 
2、如果我们需要的语言中没有可用的大语言模型或者我们要预测的数据集与我们选择的大语言模型训练的数据集非常不同我们就需要使用适合我们的数据的tokenizer从头开始重新训练模型。