def METHOD_NAME(self, sentences, **kwargs) -> np.ndarray:
    """ Returns a list of embeddings for the given sentences.
    Args:
        sentences (`List[str]`): List of sentences to encode
        batch_size (`int`): Batch size for the encoding
    Returns:
        `List[np.ndarray]` or `List[tensor]`: List of embeddings for the given sentences
    """
    dataset: Dataset = Dataset.from_dict({'input_texts': sentences})
    dataset.set_transform(partial(_transform_func, self.tokenizer))
    data_collator = DataCollatorWithPadding(self.tokenizer, pad_to_multiple_of=8)
    data_loader = DataLoader(
        dataset,
        batch_size=128 * self.gpu_count,
        shuffle=False,
        drop_last=False,
        num_workers=2,
        collate_fn=data_collator,
        pin_memory=True)
    encoded_embeds = []
    for batch_dict in tqdm.tqdm(data_loader, desc='encoding', mininterval=10, disable=len(sentences) < 128):
        batch_dict = move_to_cuda(batch_dict)
        with torch.cuda.amp.autocast():
            outputs: BaseModelOutput = self.encoder(**batch_dict)
            embeds = pool(outputs.last_hidden_state, batch_dict['attention_mask'], args.pool_type)
            if args.l2_normalize:
                embeds = F.normalize(embeds, p=2, dim=-1)
            encoded_embeds.append(embeds.cpu().numpy())
    return np.concatenate(encoded_embeds, axis=0)