MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / _create_share_inputs

Function _create_share_inputs

tests/layers/test_speculative_sampler.py:108–149  ·  view source on GitHub ↗
(max_num_seqs, max_draft_token_num, max_model_len, vocab_size)

Source from the content-addressed store, hash-verified

106
107
108def _create_share_inputs(max_num_seqs, max_draft_token_num, max_model_len, vocab_size):
109 share_inputs = {}
110 share_inputs["seq_lens_this_time"] = paddle.full([max_num_seqs, 1], 2, dtype="int32")
111
112 cu_seqlens_q_output = [0] + paddle.cumsum(share_inputs["seq_lens_this_time"]).numpy().tolist()
113 share_inputs["cu_seqlens_q_output"] = paddle.to_tensor(cu_seqlens_q_output).cast("int32")
114 share_inputs["batch_id_per_token_output"] = paddle.arange(max_num_seqs, dtype="int32") * 2
115
116 share_inputs["accept_tokens"] = paddle.full(
117 shape=[max_num_seqs, max_draft_token_num + 1], fill_value=0, dtype="int64"
118 )
119 share_inputs["accept_num"] = paddle.full(shape=[max_num_seqs], fill_value=1, dtype="int32")
120 share_inputs["step_idx"] = paddle.full([max_num_seqs, 1], 1, dtype="int64")
121 share_inputs["stop_flags"] = paddle.full([max_num_seqs, 1], False, dtype="bool")
122 share_inputs["seq_lens_encoder"] = paddle.full([max_num_seqs, 1], 0, dtype="int32")
123 share_inputs["seq_lens_decoder"] = paddle.full([max_num_seqs, 1], 2, dtype="int32")
124 share_inputs["draft_tokens"] = paddle.full(
125 shape=[max_num_seqs, max_draft_token_num + 1], fill_value=0, dtype="int64"
126 )
127 share_inputs["max_dec_len"] = paddle.full([max_num_seqs, 1], max_model_len, dtype="int64")
128 share_inputs["is_block_step"] = paddle.full([max_num_seqs], False, dtype="bool")
129 share_inputs["actual_draft_token_num"] = paddle.full(
130 shape=[max_num_seqs], fill_value=max_draft_token_num, dtype="int32"
131 )
132
133 share_inputs["batch_token_num"] = paddle.where(
134 share_inputs["seq_lens_encoder"] != 0,
135 paddle.ones_like(share_inputs["seq_lens_encoder"]),
136 share_inputs["seq_lens_this_time"],
137 ).squeeze(1)
138 share_inputs["next_token_num"] = paddle.full(shape=[max_num_seqs], fill_value=0, dtype="int32")
139 share_inputs["cu_batch_token_offset"] = paddle.concat(
140 [paddle.to_tensor([0]), paddle.cumsum(share_inputs["accept_num"])]
141 ).astype("int32")
142 share_inputs["cu_next_token_offset"] = paddle.full(shape=[max_num_seqs + 1], fill_value=0, dtype="int32")
143 share_inputs["substep"] = 0
144 share_inputs["draft_logits"] = paddle.full(
145 [max_num_seqs * (max_draft_token_num + 1), vocab_size], -1, dtype="float32"
146 )
147 share_inputs["reasoning_status"] = paddle.zeros([max_num_seqs], dtype="int32")
148
149 return share_inputs
150
151
152def _create_padding_inputs():

Callers 4

test_speculative_samplerFunction · 0.85
test_mtp_samplerFunction · 0.85

Calls 1

numpyMethod · 0.80

Tested by

no test coverage detected