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

Function pre_process

fastdeploy/model_executor/pre_and_post_process.py:122–195  ·  view source on GitHub ↗

Preprocessing before embedding. Args: input_ids: seq_lens_this_time: speculative_decoding: draft_tokens: seq_lens_encoder: Return: ids_remove_padding: cum_offsets: batch_id_per_token: cu_seqlens_q: cu_seqlen

(
    token_num_cpu: int,
    input_ids: paddle.Tensor,
    seq_lens_this_time: paddle.Tensor,
    speculative_decoding: bool,
    draft_tokens: Optional[paddle.Tensor] = None,
    seq_lens_encoder: Optional[paddle.Tensor] = None,
    seq_lens_decoder: Optional[paddle.Tensor] = None,
)

Source from the content-addressed store, hash-verified

120
121
122def pre_process(
123 token_num_cpu: int,
124 input_ids: paddle.Tensor,
125 seq_lens_this_time: paddle.Tensor,
126 speculative_decoding: bool,
127 draft_tokens: Optional[paddle.Tensor] = None,
128 seq_lens_encoder: Optional[paddle.Tensor] = None,
129 seq_lens_decoder: Optional[paddle.Tensor] = None,
130):
131 """
132 Preprocessing before embedding.
133 Args:
134 input_ids:
135 seq_lens_this_time:
136 speculative_decoding:
137 draft_tokens:
138 seq_lens_encoder:
139 Return:
140 ids_remove_padding:
141 cum_offsets:
142 batch_id_per_token:
143 cu_seqlens_q:
144 cu_seqlens_k:
145 """
146 specific_platform = current_platform.is_cuda() or current_platform.is_maca() or current_platform.is_iluvatar()
147 if specific_platform and not speculative_decoding:
148 # Note(ZKK): This case's code is very simple!
149 ids_remove_padding, batch_id_per_token, cu_seqlens_q, cu_seqlens_k = get_padding_offset(
150 input_ids, seq_lens_this_time, None, None, token_num_cpu
151 )
152 return (
153 ids_remove_padding,
154 batch_id_per_token,
155 cu_seqlens_q,
156 cu_seqlens_k,
157 None,
158 None,
159 )
160 # Remove padding
161 if speculative_decoding:
162 (
163 ids_remove_padding,
164 batch_id_per_token,
165 cu_seqlens_q,
166 cu_seqlens_k,
167 ) = get_padding_offset(input_ids, seq_lens_this_time, draft_tokens, seq_lens_encoder, token_num_cpu)
168
169 # compute each batch's output token num
170 seq_lens_output = speculate_get_seq_lens_output(
171 seq_lens_this_time,
172 seq_lens_encoder,
173 seq_lens_decoder,
174 )
175 if isinstance(seq_lens_output, list):
176 seq_lens_output = seq_lens_output[0]
177 output_token_num = paddle.sum(seq_lens_output)
178
179 useless_input_ids = input_ids

Callers 4

_propose_cudaMethod · 0.90
_prepare_inputsMethod · 0.90
_prepare_inputsMethod · 0.90
_prepare_inputsMethod · 0.90

Calls 4

get_padding_offsetFunction · 0.50
is_cudaMethod · 0.45
is_macaMethod · 0.45
is_iluvatarMethod · 0.45

Tested by

no test coverage detected