您的位置:首页 > 娱乐 > 八卦 > 广西建筑模板_贵阳小程序商城开发_免费数据查询网站_营销型网站制作建设

广西建筑模板_贵阳小程序商城开发_免费数据查询网站_营销型网站制作建设

2025/4/19 13:01:24 来源:https://blog.csdn.net/weixin_62891098/article/details/143431112  浏览:    关键词:广西建筑模板_贵阳小程序商城开发_免费数据查询网站_营销型网站制作建设
广西建筑模板_贵阳小程序商城开发_免费数据查询网站_营销型网站制作建设

强者自定义,弱者用默认,傻逼不看说明书

1.

2.在 model.generate()里填参数,默认为20个新token

generated_ids = model.generate(**model_inputs, max_new_tokens=50)

3. 默认情况下,除非在GenerationConfig文件中指定,否则generate会在每个迭代中选择最可能的token(贪婪解码)。对于您的任务,这可能是不理想的;像聊天机器人或写作文章这样的创造性任务受益于采样。另一方面,像音频转录或翻译这样的基于输入的任务受益于贪婪解码。通过将do_sample=True启用采样

4.LMs是仅解码器架构,意味着它们会持续迭代您的输入提示。如果您的输入长度不相同,则需要对它们进行填充。由于LLMs没有接受过从pad tokens继续训练,因此您的输入需要左填充。确保在生成时不要忘记传递注意力掩码!

tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1", padding_side="left")

5.apply_chat_template在tokenizer中

一些模型和任务期望某种输入提示格式才能正常工作。当未应用此格式时,您将获得悄然的性能下降:

messages = [
...     {
...         "role": "system",
...         "content": "You are a friendly chatbot who always responds in the style of a thug",
...     },
...     {"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
... ]
>>> model_inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to("cuda")

TextGenerationPipeline将负责处理所有的tokenized并调用apply_chat_template,一旦模型有了聊天模板,您只需要初始化pipeline并传递消息列表!

from transformers import pipelinepipe = pipeline("text-generation", "HuggingFaceH4/zephyr-7b-beta")
messages = [{"role": "system","content": "You are a friendly chatbot who always responds in the style of a pirate",},{"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
print(pipe(messages, max_new_tokens=256)['generated_text'][-1]

6.当你对模型配置满意时,可以使用 save_pretrained() 来保存配置。你的配置文件将以 JSON 文件的形式存储在指定的保存目录中:

>>> my_config.save_pretrained(save_directory="./your_model_save_path")

要重用配置文件,请使用 from_pretrained() 进行加载:

>>> my_config = DistilBertConfig.from_pretrained("./your_model_save_path/config.json")

 7.通过切换到不同的模型头,可以轻松地将此检查点重复用于其他任务。对于问答任务,你可以使用 DistilBertForQuestionAnswering 模型头。问答头(question answering head)与序列分类头类似,不同点在于它是隐藏状态输出之上的线性层。

8.PreTrainedTokenizer:分词器的Python实现

PreTrainedTokenizerFast:来自我们基于 Rust 的 🤗 Tokenizer 库的分词器。因为其使用了 Rust 实现,这种分词器类型的速度要快得多,尤其是在批量分词(batch tokenization)的时候。快速分词器还提供其他的方法,例如偏移映射(offset mapping),它将标记(token)映射到其原始单词或字符。

 9.torch.cuda.empty_cache()

10.编写自定义配置时需要记住的三个重要事项如下:

  • 必须继承自 PretrainedConfig
  • PretrainedConfig 的 __init__ 方法必须接受任何 kwargs,
  • 这些 kwargs 需要传递给超类的 __init__ 方法。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com