根据您提供的信息,我发现问题可能出在输入文本的格式上。在使用llm时,需要确保输入文本的格式与模型训练时使用的格式一致。具体来说,您需要将输入文本中的换行符(
)替换为特殊标记(如<|end_of_text|>),并在每个段落的开头添加开始标记(如<|start_header_id|>)。这样,llm才能正确解析输入文本并生成相应的输出。
以下是一个修改后的示例:
<|begin_of_text|><|start_header_id|>system<|end_header_id|>
You are a helpful assistant<|eot_id|><|start_header_id|>user<|end_header_id|>
hello, who are you?<|eot_id|><|start_header_id|>assistant<|end_header_id|>
",
请尝试使用这种格式输入您的文本,看看是否能得到正确的输出。如果问题仍然存在,请检查您的代码以确保没有其他错误。
6条答案
按热度按时间8i9zcol21#
你能确认添加
-b 1
后结果是否相同吗?uqdfh47h2#
你能确认添加
-b 1
后结果是否相同吗?我尝试添加这个参数,但由于"prompt处理的逻辑批处理大小(必须大于等于32才能使用BLAS)",无法输出结果。
vfhzx4xs3#
关于
-ub 1
的情况如何?y53ybaqx4#
可能与#8593有关,用于采样的种子问题。
bvhaajcl5#
-ub 1
好的,我已经尝试过了,两次尝试的输出结果都是一样的。然而,对于相同的提示,当n_ubatch=1和n_ubatch=512时,输出结果却不同。但我无法找出问题可能出在哪里。
k97glaaz6#
可能与#8593有关,用于采样的种子问题
恐怕情况并非如此,因为我已经在common.h中将种子设置为1。