我有一个文本列表,我需要将每个文本发送到大型语言模型(llama 2 - 7 b)。然而,我正在获取CUDA内存错误。我在Google Colab上运行A100。这是我的尝试:
path = "meta-llama/Llama-2-7b-chat-hf"
tokenizer = LlamaTokenizer.from_pretrained(path)
model = LlamaForCausalLM.from_pretrained(path).to("cuda")
def interact_with_model(query, input_text=""):
if pd.isna(input_text): return ("NaN")
else:
prompt = query + input_text
inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False).to("cuda")
generate_ids = model.generate(**inputs)
output = tokenizer.batch_decode(outputs)[0]
return output
def process_data(query,batch):
responses = []
for i in range(len(batch)):
reponse = interact_with_model(query, batch[i])
responses.append(reponse)
return responses
query_1 = "Summarize the following text"
responses_1 = []
for i in range(0,len(inputs),50):
sub_inputs = inputs[i:i+50]
responses_1.append(process_data(query_1, batch=sub_inputs))
字符串
我试图发送文本到模型由50样品在每一次,但这也没有工作。问题在哪里?
1条答案
按热度按时间nr9pn0ug1#
您的GPU没有足够的内存来处理您正在使用的输入大小。请将批处理大小减少到1,将生成长度减少到1个令牌。检查内存使用情况,然后从那里增加以查看GPU的限制。