When I use the vllm to accelerate the inference of my LLM (chatGLM3-6b), There is a problem that the input tokens in vLLM are not passed to the logits_processor (only ouput tokens will), which seems to align with the logic of watermark detection as well, because during detection, we can only see the output content. However, In the example code of extended_watermark_processor.py, the input tokens are used as random seeds to generate the red and green lists at the beginning. My current solution is not to modify the output tokens if output length is less than context_width. I wonder if this approach has a significant impact on the results theoretically.
In the experiment, it is true that some watermarks can be detected without vLLM architecture, but cannot be detected after using vLLM. However, I am not sure whether it is caused by the processing logic I mentioned above.
When I use the vllm to accelerate the inference of my LLM (chatGLM3-6b), There is a problem that the input tokens in vLLM are not passed to the logits_processor (only ouput tokens will), which seems to align with the logic of watermark detection as well, because during detection, we can only see the output content. However, In the example code of extended_watermark_processor.py, the input tokens are used as random seeds to generate the red and green lists at the beginning. My current solution is not to modify the output tokens if output length is less than context_width. I wonder if this approach has a significant impact on the results theoretically.
In the experiment, it is true that some watermarks can be detected without vLLM architecture, but cannot be detected after using vLLM. However, I am not sure whether it is caused by the processing logic I mentioned above.