vllm-project vLLM xử lý penalty cho quá trình sinh token trong Penalty Handler, với điểm lỗi được xác định tại hàm get_token_bin_counts_and_mask trong vllm/model_executor/layers/utils.py. Issue kỹ thuật mô tả rằng các request sử dụng prompt_embeds không ghi các vị trí prompt tương ứng vào bộ đệm token ID trên CPU, dù các vị trí này được đánh dấu là không phải token ID. Khi tạo metadata sampling, đường xử lý penalty vẫn có thể sử dụng dữ liệu cũ còn lại trong bộ đệm và đưa chúng vào phép scatter mà không xét đến cờ is_token_ids. Với các penalty như repetition, presence hoặc frequency penalty và một số hình dạng batch, dữ liệu cũ hoặc nằm ngoài phạm vi có thể làm phát sinh lỗi CUDA device-side assert và khiến engine dừng; ngay cả khi không sập, penalty có thể được tính trên dữ liệu không đúng. Việc sửa được đề xuất chuyển các vị trí prompt_embeds thành giá trị token ID đệm không hợp lệ khi tạo metadata, nhưng bằng chứng hiện có chưa xác nhận bản sửa đã được phát hành trong một phiên bản vLLM chính thức.