
训练完后的模型如何给业务用呢?需要把模型的参数保存下来,给业务用,下次加载出来就可以了。同时前面定义的模型是输出最匹配的结果,但是每次输出结果都一样太死板,用过大模型的都知道,我们需要制定一个temperure参数,介于0到1之间,越接近0,结果越准确。越接近1,返回的结果越发散。因此我们可以根据实际业务需要调整这个参数,来适应不同的业务场景需求。我们的模型如何添加这个参数呢?本文介绍下具体的方法和实现。
训练完模型后,我们使用训练好的模型来进行一次文本推理
inference_device = torch.device("cpu")
model.to(inference_device)
model.eval()
tokenizer = tiktoken.get_encoding("gpt2")
token_ids = generate_text_simple(
model=model,
idx=text_to_token_ids("Every effort moves you", tokenizer).to(inference_device),
max_new_tokens=25,
context_size=GPT_CONFIG_124M["context_length"]
)
print("Output text:\n", token_ids_to_text(token_ids, tokenizer))输出如下
Output text:
Every effort moves you?"
"Yes--quite insensible to the irony. She wanted him vindicated--and by me!"我们的输出函数,目前每次都是选择唯一的评分最高的输出,这样的话,输出不够灵活,每次结论都一样,因此我们可以通过tempeture参数来控制随机输出评分最高的topk之一
本文分享自 golang算法架构leetcode技术php 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!