transformers peft加载lora模型;TextStreamer流式输出,kv cache使用

1、transformers peft加载lora模型

https://github.com/hiyouga/LLaMA-Factory/blob/cae47379079ff811aa385c297481a27020a8da6b/scripts/loftq_init.py#L13

代码:

cpp 复制代码
from peft import AutoPeftModelForCausalLM, PeftModel
from transformers import AutoTokenizer,AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained("/ai/loong/Qwen1.5-7B-Chat")

model = AutoModelForCausalLM.from_pretrained("/ai/loong/Qwen1.5-7B-Chat", trust_remote_code=True, device_map="auto")

model = PeftModel.from_pretrained(model, "/ai/loong/output/checkpoint-300",offload_folder='./')


model.eval()
inputs = tokenizer("你是谁", return_tensors="pt")

outputs = model.generate(input_ids=inputs["input_ids"], max_new_tokens=500)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])

TextStreamer流式输出

参考:https://zhuanlan.zhihu.com/p/694576810

cpp 复制代码
from peft import AutoPeftModelForCausalLM, PeftModel
from transformers import AutoTokenizer,AutoModelForCausalLM,TextStreamer
import torch

tokenizer = AutoTokenizer.from_pretrained("/ai/loong/Qwen1.5-7B-Chat")

model = AutoModelForCausalLM.from_pretrained("/ai/loong/Qwen1.5-7B-Chat", trust_remote_code=True, device_map="auto")

model = PeftModel.from_pretrained(model, "/ai/loong/output/checkpoint-300",offload_folder='./')



inputs = tokenizer("听说你以前叫通义千问", return_tensors="pt")
streamer = TextStreamer(tokenizer)
 
# Despite returning the usual output, the streamer will also print the generated text to stdout.
model.generate(**inputs, streamer=streamer, max_new_tokens=20)

kv cache使用

use_cache=True

cpp 复制代码
model.eval()
inputs = tokenizer("你是谁", return_tensors="pt")

outputs = model.generate(input_ids=inputs["input_ids"], max_new_tokens=500,use_cache=True)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])
相关推荐
人工智能AI技术几秒前
【Agent从入门到实践】05 小结:理清Agent的核心定义与核心能力
人工智能
落雨盛夏2 分钟前
26深度学习|李哥1
人工智能·深度学习
共绩算力3 分钟前
世界模型正在掀起AI新浪潮
人工智能·microsoft·共绩算力
2501_9413220310 分钟前
【蚕桑业】【深度学习】基于VFNet的蚕虫智能检测与识别系统实现与应用
人工智能·深度学习
edisao27 分钟前
一。星舰到底改变了什么?
大数据·开发语言·人工智能·科技·php
昨夜见军贴061636 分钟前
AI审核的自我进化之路:IACheck AI审核如何通过自主学习持续提升检测报告审核能力
大数据·人工智能
junziruruo1 小时前
t-SNE可视化降维技术(以FMTrack频率感知与多专家融合文章中的内容为例)
人工智能·算法
藦卡机器人1 小时前
自动焊接机器人的核心技术要求与标准
人工智能·算法·机器人
小冷coding1 小时前
AI Agent 技术栈并探索其在业务创新中的应用
人工智能
喝凉白开都长肉的大胖子1 小时前
将gym更新到Gymnasium后需要修改哪些位置
人工智能·机器学习·强化学习’