Closed frog-game closed 1 year ago
Human:
或者Assistant:
前缀,直接提问即可好的感谢up主回答~ 我把温度系数和采样删除试试
另外你这个去除输入部分的代码不太对 len(inputs) + len(line)
把line算了两遍?
你直接把inputs从batch decode的结果里replace掉不行吗
outputs = [seq.replace(self.tokenizer.decode(input_ids[i], skip_special_tokens=True), "")
for i, seq in enumerate(rets)]
这个是因为返回把前面的的iput也加进去了,我临时做得切片输出 比如你输入来首李白的诗句,然后他就会把李白的诗句也在输出的最前面输出出来
我知道啊 因为这是decoder-only 我的意思是你去掉输入时候的切片为什么用rets[len(inputs) + len(line):]
而不是 rets[len(inputs):]
我知道啊 因为这是decoder-only 我的意思是你去掉输入时候的切片为什么用
rets[len(inputs) + len(line):]
而不是rets[len(inputs):]
我试试哈,懂up主的意思了~
我知道啊 因为这是decoder-only 我的意思是你去掉输入时候的切片为什么用
rets[len(inputs) + len(line):]
而不是rets[len(inputs):]
因为 那个line 也带了~
我知道啊 因为这是decoder-only 我的意思是你去掉输入时候的切片为什么用
rets[len(inputs) + len(line):]
而不是rets[len(inputs):]
就是 有两段不需要的长度字符输出,一个是inputs的内容,一个是line的内容
Reopen this if need further help.
import torch
import sys
from transformers import AutoTokenizer, AutoModelForCausalLM, LlamaForCausalLM
import os
from accelerate import infer_auto_device_map
model_path = "/root/vicuna-7b"
model = LlamaForCausalLM.from_pretrained(
model_path, device_map='auto', low_cpu_mem_usage=True)
tokenizer = AutoTokenizer.from_pretrained(model_path)
print('Human:')
line = input().strip()
while line:
batch = tokenizer(line, return_tensors="pt")
print('\n\nAssistant:' + tokenizer.decode(model.generate(batch["input_ids"].cuda(
), do_sample=True, top_k=50, max_length=100, top_p=0.95, temperature=1.0)[0]))
print("\n------------------------------------------------\nHuman:")
line = input().strip()
还是不理想
这是我写的调用脚本
这是我把原始7b模型权重转换以后的llama-7b-hf
这是我将llam-7b-hf和你的https://huggingface.co/chitanda/llama-panda-zh-7b-delta差异模型合并以后的vicuna
这是结果,输出不理想