cerebras.modelzoo.data_preparation.data_preprocessing.utils.fim#
- cerebras.modelzoo.data_preparation.data_preprocessing.utils.fim(sample_array, sample_idx, tokenizer, fim_rate, spm_rate, suffix_tok_id, prefix_tok_id, middle_tok_id, fim_pad_tok_id, eos_tok_id, opt_bos_tok_id)[source]#
Takes in an array of input_ids, mask, and labels, and performs the FIM operation to re-arrange into PSM and SPM format with some probability
- Parameters
sample_array (np.array) – Stack of input_ids, mask, and labels after tokenization. Labels are off-by-one of input_ids
training (as in standard auto-regressive) –
i (int) – Index of sample from dataset, used for logging.
tokenizer (Tokenizer) – Tokenizer object
fim_rate (float) – Determines what percentage of contexts are FIM’ed
spm_rate (float) – Determines what percentage of FIM’ed contexts are in SPM format. 1 - spm_rate determines PSM
suffix_tok_id (int) – Id for special token denoting suffix section in a FIM’ed context
prefix_tok_id (int) – Id for special token denoting prefix section in a FIM’ed context
middle_tok_id (int) – Id for special token denoting middle section in a FIM’ed context
fim_pad_tok_id (int) – Id for padding
eos_tok_id (int) – Id for the end-of-seqence
opt_bos_tok_id (list) – Optionally a list containing the bos token id, otherwise will be empty list. Empty list will be a no-op in the concatenation. Bos-token will only exist if model’s tokenizer adds bos-token by default.
- Returns
Stack of input_ids, mask, and labels after FIM transformation. Mask and labels have been adjusted to still filter padding tokens and represent the following token, respectively.
- Return type
fim_outputs (np.array)