Skip to content

Commit bb92db2

Browse files
committed
seed
1 parent efd8250 commit bb92db2

6 files changed

Lines changed: 23 additions & 18 deletions

File tree

fastdeploy/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ def __init__(
116116
self.enable_redundant_experts = False
117117
self.redundant_experts_num = 0
118118
self.quantization = None
119+
self.seed = 0
119120
for key, value in args.items():
120121
if hasattr(self, key):
121122
setattr(self, key, value)

fastdeploy/engine/args_utils.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ class EngineArgs:
313313
Must be explicitly enabled via the `--enable-logprob` startup parameter to output logprob values.
314314
"""
315315

316-
seed : Optional[int] = None
316+
seed: Optional[int] = None
317317
"""
318318
Random seed to use for initialization. If not set, a random seed is used.
319319
"""
@@ -469,15 +469,12 @@ def add_cli_args(parser: FlexibleArgumentParser) -> FlexibleArgumentParser:
469469
default=EngineArgs.enable_logprob,
470470
help="Enable output of token-level log probabilities.",
471471
)
472-
model_group.add_argument("--enable-logprob",
473-
action="store_true",
474-
default=EngineArgs.enable_logprob,
475-
help="Enable output of token-level log probabilities."
476-
)
477-
model_group.add_argument("--seed",
478-
type=int,
479-
defualt=None,
480-
help="Random seed for initialization. If not specified, a random seed will be used.")
472+
model_group.add_argument(
473+
"--seed",
474+
type=int,
475+
default=None,
476+
help="Random seed for initialization. If not specified, a random seed will be used.",
477+
)
481478
# Parallel processing parameters group
482479
parallel_group = parser.add_argument_group("Parallel Configuration")
483480
parallel_group.add_argument(

fastdeploy/model_executor/layers/sample/meta_data.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,11 @@ class SamplingMetadata:
2727
"""
2828

2929
temperature: paddle.Tensor
30-
3130
pre_token_ids: paddle.Tensor
3231
eos_token_ids: paddle.Tensor
3332
frequency_penalties: paddle.Tensor
3433
presence_penalties: paddle.Tensor
3534
repetition_penalties: paddle.Tensor
36-
3735
min_dec_lens: paddle.Tensor
3836

3937
bad_words_token_ids: paddle.Tensor

fastdeploy/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
from pathlib import Path
3030
from typing import Literal, TypeVar, Union
3131

32+
import numpy as np
33+
import paddle
3234
import requests
3335
import yaml
3436
from aistudio_sdk.snapshot_download import snapshot_download as aistudio_download
@@ -291,6 +293,13 @@ def extract_tar(tar_path, output_dir):
291293
raise RuntimeError(f"Extraction failed: {e!s}")
292294

293295

296+
def set_random_seed(seed: int) -> None:
297+
if seed is not None:
298+
random.seed(seed)
299+
np.random.seed(seed)
300+
paddle.seed(seed)
301+
302+
294303
def download_model(url, output_dir, temp_tar):
295304
"""
296305
下载模型,并将其解压到指定目录。

fastdeploy/worker/gpu_model_runner.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,11 @@ def __init__(
7878
self.enable_mm = self.model_config.enable_mm
7979
self.rank = rank
8080
self.local_rank = local_rank
81-
self.generators={}
8281
self.device_id = device_id
8382
self.speculative_method = self.fd_config.speculative_config.method
8483
self.speculative_decoding = self.speculative_method is not None
8584
self.enable_logprob = fd_config.model_config.enable_logprob
8685

87-
self.gene
88-
8986
self.guided_backend = None
9087
if self.fd_config.parallel_config.guided_decoding_backend != "off":
9188
self.guided_backend = get_guided_backend(fd_config=self.fd_config)
@@ -130,8 +127,8 @@ def __init__(
130127
# Initialize share inputs
131128
self._init_share_inputs(self.parallel_config.max_num_seqs)
132129
self.infer_seed_increment = paddle.full(
133-
shape=[self.parallel_config.max_num_seqs, 1],
134-
dtype="int64")
130+
shape=[self.parallel_config.max_num_seqs, 1], fill_value=4, dtype="int64"
131+
)
135132
self.restore_chunked_prefill_request = dict()
136133

137134
# Initialize attention Backend
@@ -270,6 +267,7 @@ def insert_tasks_v1(self, req_dicts: List[Request]):
270267
self.share_inputs["first_token_ids"][idx : idx + 1] = self.share_inputs["input_ids"][idx : idx + 1, :1]
271268
self.share_inputs["ori_seq_lens_encoder"][idx : idx + 1] = length
272269

270+
print("seed", request.get("seed"))
273271
if request.get("seed") is not None:
274272
self.share_inputs["infer_seed"][idx : idx + 1] = request.get("seed")
275273

fastdeploy/worker/gpu_worker.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from fastdeploy.config import FDConfig
2727
from fastdeploy.engine.request import Request
2828
from fastdeploy.platforms import current_platform
29-
from fastdeploy.utils import get_logger
29+
from fastdeploy.utils import get_logger, set_random_seed
3030
from fastdeploy.worker.gpu_model_runner import GPUModelRunner
3131
from fastdeploy.worker.output import ModelRunnerOutput
3232
from fastdeploy.worker.worker_base import WorkerBase
@@ -69,6 +69,7 @@ def init_device(self):
6969
else:
7070
raise RuntimeError(f"Not support device type: {self.device_config.device}")
7171

72+
set_random_seed(self.fd_config.model_config.seed)
7273
# Construct model runner
7374
self.model_runner: GPUModelRunner = GPUModelRunner(
7475
fd_config=self.fd_config,
@@ -123,6 +124,7 @@ def determine_available_memory(self) -> int:
123124

124125
# 2. Profile run
125126
self.model_runner.profile_run()
127+
set_random_seed(self.fd_config.model_config.seed)
126128

127129
# 3. Statistical memory information
128130
paddle_reserved_mem_after_run = paddle.device.cuda.max_memory_reserved(local_rank)

0 commit comments

Comments
 (0)