feat: Add Non-intrusive Tensor Dumping for Model Inference (#10566)

This commit is contained in:
Yuhong Guo
2025-10-31 12:04:48 +08:00
committed by GitHub
parent 34c286b811
commit ab95d35fcb
6 changed files with 272 additions and 15 deletions

View File

@@ -511,6 +511,9 @@ class ServerArgs:
# Debug tensor dumps
debug_tensor_dump_output_folder: Optional[str] = None
# -1 mean dump all layers.
debug_tensor_dump_layers: int = -1
# TODO(guoyuhong): clean the old dumper code.
debug_tensor_dump_input_file: Optional[str] = None
debug_tensor_dump_inject: bool = False
@@ -1784,7 +1787,13 @@ class ServerArgs:
)
def _handle_other_validations(self):
pass
# Handle model inference tensor dump.
if self.debug_tensor_dump_output_folder is not None:
logger.warning(
"Cuda graph and server warmup are disabled because of using tensor dump mode"
)
self.disable_cuda_graph = True
self.skip_server_warmup = True
@staticmethod
def add_cli_args(parser: argparse.ArgumentParser):
@@ -3375,6 +3384,12 @@ class ServerArgs:
default=ServerArgs.debug_tensor_dump_output_folder,
help="The output folder for dumping tensors.",
)
parser.add_argument(
"--debug-tensor-dump-layers",
type=int,
default=-1,
help="The layer number for dumping tensors.",
)
parser.add_argument(
"--debug-tensor-dump-input-file",
type=str,