最近在做LLM的prompt敏感性分析,需要批量跑不同模板的推理对比。我用PyTorch写了个循环,每个prompt都重新加载模型并生成,结果显存直接爆掉,日志显示CUDA out of memory。我知道可以复用模型实例,但问题是不同prompt需要不同长度的max_new_tokens,我试过把生成结果detach后清空cache,还是偶尔会崩。想请教下,是应该用torch.inference_mode()还是torch.no_grad()?另外有没有推荐的显存复用模式?我看网上说用vLLM能解决,但感觉对prompt实验来说有点重,想先确认是不是自己代码的问题。求大佬指点,谢谢!