Transformers documentation

VoxtralRealtime

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была добавлена в Hugging Face Transformers 16.02.2026.

VoxtralRealtime

VoxtralRealtime — это потоковая модель преобразования речи в текст от Mistral AI, предназначенная для автоматического распознавания речи (ASR) в реальном времени. В отличие от офлайн-модели Voxtral, которая обрабатывает полные аудиофайлы, VoxtralRealtime спроектирована для инкрементальной транскрипции с низкой задержкой: она обрабатывает аудио по мере поступления фрагментов.

Модель объединяет аудиоконкодер с декодером языковой модели на базе Mistral, используя эмбеддинги временного условия и каузальные свёртки с кэшами отступов для обеспечения эффективного потокового вывода.

Использование

Офлайн-распознавание

Для транскрибации целых аудиофайлов используйте процессор и модель напрямую. Длина генерации определяется автоматически на основе длительности аудио.

from datasets import load_dataset

from transformers import AutoProcessor, VoxtralRealtimeForConditionalGeneration


repo_id = "mistralai/Voxtral-Mini-4B-Realtime-2602"

processor = AutoProcessor.from_pretrained(repo_id)
model = VoxtralRealtimeForConditionalGeneration.from_pretrained(repo_id, device_map="auto")

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
audio = ds[0]["audio"]["array"]

inputs = processor(audio, return_tensors="pt").to(model.device)
inputs = inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs)
decoded_outputs = processor.batch_decode(outputs, skip_special_tokens=True)

print(decoded_outputs[0])

Пакетная офлайн-транскрипция

Несколько аудиозаписей можно распознать за один проход:

from datasets import load_dataset

from transformers import AutoProcessor, VoxtralRealtimeForConditionalGeneration


repo_id = "mistralai/Voxtral-Mini-4B-Realtime-2602"

processor = AutoProcessor.from_pretrained(repo_id)
model = VoxtralRealtimeForConditionalGeneration.from_pretrained(repo_id, device_map="auto")

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
audio = [ds[i]["audio"]["array"] for i in range(2)]

inputs = processor(audio, return_tensors="pt").to(model.device)
inputs = inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs)
decoded_outputs = processor.batch_decode(outputs, skip_special_tokens=True)

for decoded_output in decoded_outputs:
    print(decoded_output)

Потоковая транскрипция

Это экспериментальная функция, и API может измениться.

Для транскрибации в реальном времени аудио разбивается на фрагменты в соответствии со следующим:

from threading import Thread

import numpy as np
import torch
from datasets import load_dataset

from transformers import (
    TextIteratorStreamer,
    VoxtralRealtimeForConditionalGeneration,
    VoxtralRealtimeProcessor,
)


model_id = "mistralai/Voxtral-Mini-4B-Realtime-2602"
processor = VoxtralRealtimeProcessor.from_pretrained(model_id)
model = VoxtralRealtimeForConditionalGeneration.from_pretrained(model_id, device_map=torch.accelerator.current_accelerator())

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
audio = ds[0]["audio"]["array"]
# Manually pad the audio to account for right padding tokens required by the model
xaudio = np.pad(audio, (0, processor.num_right_pad_tokens * processor.raw_audio_length_per_tok))

first_chunk_inputs = processor(
    audio[:processor.num_samples_first_audio_chunk],
    is_streaming=True,
    is_first_audio_chunk=True,
    return_tensors="pt"
)
first_chunk_inputs.to(model.device, dtype=model.dtype)

def input_features_generator():
    yield first_chunk_inputs.input_features

    mel_frame_idx = processor.num_mel_frames_first_audio_chunk
    hop_length = processor.feature_extractor.hop_length
    win_length = processor.feature_extractor.win_length

    start_idx = mel_frame_idx * hop_length - win_length // 2
    end_idx = start_idx + processor.num_samples_per_audio_chunk

    while (end_idx:=start_idx + processor.num_samples_per_audio_chunk) < audio.shape[0]:
        inputs = processor(
            audio[start_idx:end_idx],
            is_streaming=True,
            is_first_audio_chunk=False,
            return_tensors="pt"
        )
        inputs.to(model.device, dtype=model.dtype)
        yield inputs.input_features

        mel_frame_idx += processor.audio_length_per_tok
        start_idx = mel_frame_idx * hop_length - win_length // 2

streamer = TextIteratorStreamer(processor.tokenizer, skip_special_tokens=True, clean_up_tokenization_spaces=True)
generate_kwargs = {
    "input_ids": first_chunk_inputs.input_ids,
    "input_features": input_features_generator(),
    "num_delay_tokens": first_chunk_inputs.num_delay_tokens,
    "streamer": streamer,
}
thread = Thread(target=model.generate, kwargs=generate_kwargs)
thread.start()

# Iterate over the streamer to get text chunks as they are generated
print("Model output (streaming):", end=" ", flush=True)
for text_chunk in streamer:
    print(text_chunk, end="", flush=True)

Эта модель была предоставлена Eustache Le Bihan.

VoxtralRealtimeConfig

класс transformers.VoxtralRealtimeConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneprojector_hidden_act: str = 'gelu'audio_length_per_tok: int = 8default_num_delay_tokens: int = 6downsample_factor: int = 4tie_word_embeddings: bool = Trueuse_cache: bool = True )

Параметры

  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации аудио-бэкбона.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона.
  • projector_hidden_act (str, необязательный, по умолчанию gelu) — Функция активации, используемая мультимодальным проектором.
  • audio_length_per_tok (int, необязательный, по умолчанию 8) — Количество кадров аудио, соответствующих каждому токену текста.
  • default_num_delay_tokens (int, необязательный, по умолчанию 6) — Количество токенов задержки, используемых для потоковой передачи по умолчанию.
  • downsample_factor (int, необязательный, по умолчанию 4) — Коэффициент понижающей дискретизации, применяемый к аудиопризнакам перед проекцией.
  • tie_word_embeddings (bool, необязательный, по умолчанию True) — Определяет, следует ли связывать веса эмбеддингов согласно маппингу tied_weights_keys модели.
  • use_cache (bool, необязательный, по умолчанию True) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только если config.is_decoder=True или если модель является генеративной моделью только с декодером.

Это класс конфигурации для хранения настроек модели VoxtralRealtimeModel. Он используется для создания модели Voxtral Realtime в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации mistralai/Voxtral-Mini-4B-Realtime-2602

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

>>> from transformers import VoxtralRealtimeForConditionalGeneration, VoxtralRealtimeConfig

>>> # Initializing a VoxtralRealtime configuration
>>> configuration = VoxtralRealtimeConfig()

>>> # Initializing a model with random weights
>>> model = VoxtralRealtimeForConditionalGeneration(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

VoxtralRealtimeEncoderConfig

класс transformers.VoxtralRealtimeEncoderConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 131072hidden_size: int = 1280intermediate_size: int = 5120num_hidden_layers: int = 32num_attention_heads: int = 32activation_function: str = 'gelu'num_mel_bins: int = 128initializer_range: float = 0.02attention_dropout: float | int = 0.0hidden_act: str = 'silu'max_position_embeddings: int = 1500rms_norm_eps: float = 1e-05rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 750head_dim: int = 64use_cache: bool = True )

Параметры

  • vocab_size (int, необязательный, по умолчанию 131072) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены в input_ids.
  • hidden_size (int, необязательный, по умолчанию 1280) — Размерность скрытых представлений.
  • intermediate_size (int, необязательный, по умолчанию 5120) — Размерность представлений MLP.
  • num_hidden_layers (int, необязательный, по умолчанию 32) — Количество скрытых слоев в декодере Transformer.
  • num_attention_heads (int, необязательный, по умолчанию 32) — Количество головок внимания в каждом слое внимания декодера Transformer.
  • activation_function (str, необязательный, по умолчанию gelu) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • num_mel_bins (int, необязательный, по умолчанию 128) — Количество mel-признаков, используемых на входной кадр. Должно соответствовать значению, используемому в классе AutoFeatureExtractor.
  • initializer_range (float, необязательный, по умолчанию 0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
  • attention_dropout (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • hidden_act (str, необязательный, по умолчанию silu) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • max_position_embeddings (int, необязательный, по умолчанию 1500) — Максимальная длина последовательности, с которой может использоваться эта модель.
  • rms_norm_eps (float, необязательный, по умолчанию 1e-05) — Значение epsilon, используемое слоями нормализации rms.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение для rope_theta и, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длинными max_position_embeddings.
  • sliding_window (int, необязательный, по умолчанию 750) — Размер окна скользящего внимания. Если None, скользящее окно не применяется.
  • head_dim (int, необязательный, по умолчанию 64) — Размерность головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads
  • use_cache (bool, необязательный, по умолчанию True) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только если config.is_decoder=True или если модель является генеративной моделью только с декодером.

Это класс конфигурации для хранения настроек модели VoxtralRealtimeModel. Он используется для создания модели Voxtral Realtime в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации mistralai/Voxtral-Mini-4B-Realtime-2602

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Пример:

>>> from transformers import VoxtralRealtimeEncoderConfig, VoxtralRealtimeEncoder

>>> # Initializing a VoxtralRealtimeEncoderConfig
>>> configuration = VoxtralRealtimeEncoderConfig()

>>> # Initializing a VoxtralRealtimeEncoder (with random weights)
>>> model = VoxtralRealtimeEncoder(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

VoxtralRealtimeTextConfig

класс transformers.VoxtralRealtimeTextConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 32000hidden_size: int = 4096intermediate_size: int = 14336num_hidden_layers: int = 32num_attention_heads: int = 32num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'silu'max_position_embeddings: int = 131072initializer_range: float = 0.02rms_norm_eps: float = 1e-06use_cache: bool = Truepad_token_id: int | None = Nonebos_token_id: int | None = 1eos_token_id: int | list[int] | None = 2rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int | None = 4096attention_dropout: float | int = 0.0 )

Параметры

  • vocab_size (int, необязательный, по умолчанию 32000) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены в input_ids.
  • hidden_size (int, необязательный, по умолчанию 4096) — Размерность скрытых представлений.
  • intermediate_size (int, необязательный, по умолчанию 14336) — Размерность представлений MLP.
  • num_hidden_layers (int, необязательный, по умолчанию 32) — Количество скрытых слоев в декодере Transformer.
  • num_attention_heads (int, необязательный, по умолчанию 32) — Количество головок внимания в каждом слое внимания декодера Transformer.
  • num_key_value_heads (int, необязательный, по умолчанию 8) — Это количество ключевых и value-голов, используемых для реализации Grouped Query Attention. Если num_key_value_heads=num_attention_heads, модель использует Multi Head Attention (MHA); если num_key_value_heads=1 — Multi Query Attention (MQA); в остальных случаях применяется GQA. При конвертации мультиголовного чекпоинта в GQA-чекпоинт каждая групповая ключевая и value-голова должна конструироваться путем усреднения (meanpooling) всех исходных голов в этой группе. Дополнительные подробности — в этой статье. Если значение не указано, по умолчанию используется num_attention_heads.
  • head_dim (int, необязательный) — Размер измерения головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads
  • hidden_act (str, необязательный, по умолчанию silu) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • max_position_embeddings (int, необязательный, по умолчанию 131072) — Максимальная длина последовательности, с которой может использоваться эта модель.
  • initializer_range (float, необязательный, по умолчанию 0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
  • rms_norm_eps (float, необязательный, по умолчанию 1e-06) — Значение epsilon, используемое слоями нормализации rms.
  • use_cache (bool, необязательный, по умолчанию True) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только если config.is_decoder=True или если модель является генеративной моделью только с декодером.
  • pad_token_id (int, необязательный) — Идентификатор токена, используемого для выравнивания в словаре.
  • bos_token_id (int, необязательный, по умолчанию 1) — Идентификатор токена, используемого для обозначения начала потока в словаре.
  • eos_token_id (Union[int, list[int]], необязательный, по умолчанию 2) — Идентификатор токена, используемого для обозначения конца потока в словаре.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение для rope_theta и, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длинными max_position_embeddings.
  • sliding_window (int, необязательный, по умолчанию 4096) — Размер окна скользящего внимания. Если None, скользящее окно не применяется.
  • attention_dropout (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.

Это класс конфигурации для хранения настроек модели VoxtralRealtimeModel. Он используется для создания модели Voxtral Realtime в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации mistralai/Voxtral-Mini-4B-Realtime-2602

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

VoxtralRealtimeFeatureExtractor

класс transformers.VoxtralRealtimeFeatureExtractor

< >

( feature_size = 128sampling_rate = 16000hop_length = 160n_fft = 400win_length = 400padding_value = 0.0global_log_mel_max = 1.5**kwargs )

Параметры

  • feature_size (int, необязательный, по умолчанию 128) — Размерность признаков извлечённых признаков.
  • sampling_rate (int, необязательный, по умолчанию 16000) — Частота дискретизации, с которой аудиофайлы должны быть оцифрованы, выраженная в герцах (Гц).
  • hop_length (int, необязательный, по умолчанию 160) — Длина перекрывающихся окон для БПФ, используемой для получения коэффициентов Мель-частот.
  • n_fft (int, необязательный, по умолчанию 512) — Размер преобразования Фурье.
  • win_length (int, необязательный, по умолчанию 400) — Длина окна для вычисления КБФ.
  • padding_value (float, необязательный, по умолчанию 0.0) — Значение, используемое для дополнения аудио. Должно соответствовать тишине.

Создаёт экстрактор признаков VOXTRAL_REALTIME.

Этот экстрактор признаков наследуется от SequenceFeatureExtractor, который содержит большинство основных методов. За дополнительной информацией о них следует обращаться к этому суперклассу.

Этот класс извлекает характеристики мел-фильтрового банка из сырых речевых данных с помощью собственной реализации Short Time Fourier Transform на numpy, которая должна совпадать с эквивалентом torch.stft в pytorch.

VoxtralRealtimeProcessor

класс transformers.VoxtralRealtimeProcessor

< >

( feature_extractortokenizer )

Параметры

  • feature_extractor (VoxtralRealtimeFeatureExtractor) — Извлечение признаков является обязательным входом.
  • tokenizer (MistralCommonBackend) — Токенизатор является обязательным входным параметром.

Создаёт VoxtralRealtimeProcessor, который объединяет экстрактор признаков и токенизатор в единый процессор.

VoxtralRealtimeProcessor предоставляет все возможности VoxtralRealtimeFeatureExtractor и MistralCommonBackend. Подробнее см. в ~VoxtralRealtimeFeatureExtractor и ~MistralCommonBackend.

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = Noneis_streaming: bool = Falseis_first_audio_chunk: bool | None = True**kwargs: *<class 'transformers.models.voxtral_realtime.processing_voxtral_realtime.VoxtralRealtimeProcessorKwargs'> ) → BatchFeature

Параметры

  • audio (AudioInput, необязательный) — Входной аудио или батч аудио в виде массивов NumPy или тензоров PyTorch.
  • is_streaming (bool, необязательный, по умолчанию False) — Обработка аудио в режиме потоковой передачи. Если True, аудио может передаваться частями, при этом is_first_audio_chunk используется для различения первой части и последующих.
  • is_first_audio_chunk (bool, необязательный, по умолчанию True) — Указывает, является ли текущий аудиоданные первым фрагментом в потоковой сессии. Если True, аудио кодируется в полный запрос на транскрипцию с токенизированным текстом. Если False, извлекаются только аудио-признаки (кодирование текста пропускается). Должно быть True, если is_streaming=False.

Возвращает

BatchFeature

Объект BatchFeature со следующими полями:

  • input_ids — список идентификаторов токенов, которые подаются в модель. Возвращается, когда is_first_audio_chunk=True.
  • attention_mask — список индексов, указывающих, на какие токены модель должна обращать внимание. Возвращается, когда is_first_audio_chunk=True.
  • input_features — признаки мел-спектрограммы, извлечённые из аудиовхода.
  • num_delay_tokens — количество токенов задержки, используемых для потоковой передачи.

Основной метод подготовки аудиовхода для модели Voxtral Realtime. Этот метод кодирует аудио в запрос на транскрипцию с помощью mistral_common, токенизирует полученный текст и извлекает характеристики мел-спектрограммы с помощью feature extractor. Поддерживает как стриминговый, так и нестриминговый режимы.

VoxtralRealtimeEncoder

класс transformers.VoxtralRealtimeEncoder

< >

( config: VoxtralRealtimeEncoderConfig )

Параметры

  • config (VoxtralRealtimeEncoderConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().

Кодер VoxtralRealtime, который является кодером Whisper.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

( input_features: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.voxtral_realtime.modeling_voxtral_realtime.VoxtralRealtimeConv1dPaddingCache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneuse_padding_cache: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Параметры

  • input_features (torch.Tensor формы (batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью VoxtralRealtimeFeatureExtractor. Подробности см. в VoxtralRealtimeFeatureExtractor.__call__() (VoxtralRealtimeProcessor использует VoxtralRealtimeFeatureExtractor для обработки аудио).
  • position_ids (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона [0, config.n_positions - 1].

    Что такое идентификаторы позиций?

  • past_key_values (~cache_utils.Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания и кросс-внимания), которые можно использовать для ускорения последовательного декодирования. Обычно это past_key_values , возвращённые моделью на предыдущем этапе декодирования, когда use_cache=True или config.use_cache=True.

    В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если past_key_values не переданы, по умолчанию будет инициализирован DynamicCache.

    Модель будет выводить тот же формат кэша, который был передан на вход.

    Если используются past_key_values, ожидается, что пользователь передаст только необработанные input_ids (те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы (batch_size, unprocessed_length), а не все input_ids формы (batch_size, sequence_length).

  • padding_cache (VoxtralRealtimeConv1dPaddingCache, optional) — Кэш для дополнения (padding) в свёрточных слоях, позволяющий сохранять состояние между потоковыми фрагментами.
  • inputs_embeds (torch.Tensor формы (batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачи input_ids можно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексы input_ids преобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели.
  • use_cache (bool, необязательный) — Если установлено в True, возвращаются состояния ключей и значений past_key_values, которые можно использовать для ускорения декодирования (см. past_key_values).
  • use_padding_cache (bool, необязательный) — Использовать ли кэш отступов.
  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

Возвращает

BaseModelOutputWithPooling или tuple(torch.Tensor)

Объект BaseModelOutputWithPooling или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (VoxtralRealtimeConfig) и входных данных.

Метод forward класса VoxtralRealtimeEncoder переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • pooler_output (torch.Tensor формы (batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

VoxtralRealtimeModel

класс transformers.VoxtralRealtimeModel

< >

( config: VoxtralRealtimeConfig )

Параметры

  • config (VoxtralRealtimeConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Модель VoxtralRealtime, состоящая из потокового энкодера в стиле Whisper, мультимодального проектора, языковой модели на базе Mistral и временного эмбеддинга, без головы для моделирования языка.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.voxtral_realtime.modeling_voxtral_realtime.VoxtralRealtimeConv1dPaddingCache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneencoder_inputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Nonenum_delay_tokens: typing.Union[int, torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → VoxtralRealtimeModelOutputWithPast or tuple(torch.Tensor)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.

    Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().

    Что такое входные идентификаторы?

  • input_features (torch.Tensor формы (batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью VoxtralRealtimeFeatureExtractor. Подробности см. в VoxtralRealtimeFeatureExtractor.__call__() (VoxtralRealtimeProcessor использует VoxtralRealtimeFeatureExtractor для обработки аудио).
  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • position_ids (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона [0, config.n_positions - 1].

    Что такое идентификаторы позиций?

  • past_key_values (~cache_utils.Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания и кросс-внимания), которые можно использовать для ускорения последовательного декодирования. Обычно это past_key_values , возвращённые моделью на предыдущем этапе декодирования, когда use_cache=True или config.use_cache=True.

    В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если past_key_values не переданы, по умолчанию будет инициализирован DynamicCache.

    Модель будет выводить тот же формат кэша, который был передан на вход.

    Если используются past_key_values, ожидается, что пользователь передаст только необработанные input_ids (те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы (batch_size, unprocessed_length), а не все input_ids формы (batch_size, sequence_length).

  • encoder_past_key_values (Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания) для кодировщика.
  • padding_cache (VoxtralRealtimeConv1dPaddingCache, optional) — Кэш для дополнения (padding) в свёрточных слоях, позволяющий сохранять состояние между потоковыми фрагментами.
  • inputs_embeds (torch.Tensor формы (batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачи input_ids можно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексы input_ids преобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели.
  • encoder_inputs_embeds (torch.Tensor, необязательный) — По желанию, вместо передачи input_features можно напрямую передать встроенное представление для энкодера.
  • use_cache (bool, необязательный) — Если установлено в True, возвращаются состояния ключей и значений past_key_values, которые можно использовать для ускорения декодирования (см. past_key_values).
  • num_delay_tokens (int или torch.Tensor, необязательный) — Количество задерживающих токенов, используемых при подготовке входных данных.

Возвращает

VoxtralRealtimeModelOutputWithPast или tuple(torch.Tensor)

VoxtralRealtimeModelOutputWithPast или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (VoxtralRealtimeConfig) и входных данных.

Метод forward модели VoxtralRealtimeModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • encoder_past_key_values (Cache, необязательный) — предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания) для аудио-кодера, которые можно использовать для ускорения последовательного декодирования.
  • padding_cache (VoxtralRealtimeConv1dPaddingCache, optional) — Кэш для отступов в свёрточных слоях, позволяющий сохранять состояние между потоковыми фрагментами.
  • audio_hidden_states (torch.Tensor, необязательный) — Спроецированные скрытые состояния аудио до их добавления к текстовым эмбеддингам.

VoxtralRealtimeForConditionalGeneration

класс transformers.VoxtralRealtimeForConditionalGeneration

< >

( config: VoxtralRealtimeConfig )

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.voxtral_realtime.modeling_voxtral_realtime.VoxtralRealtimeConv1dPaddingCache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneencoder_inputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0num_delay_tokens: typing.Union[int, torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → VoxtralRealtimeCausalLMOutputWithPast or tuple(torch.Tensor)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.

    Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().

    Что такое входные идентификаторы?

  • input_features (torch.Tensor формы (batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью VoxtralRealtimeFeatureExtractor. Подробности см. в VoxtralRealtimeFeatureExtractor.__call__() (VoxtralRealtimeProcessor использует VoxtralRealtimeFeatureExtractor для обработки аудио).
  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • position_ids (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона [0, config.n_positions - 1].

    Что такое идентификаторы позиций?

  • past_key_values (~cache_utils.Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания и кросс-внимания), которые можно использовать для ускорения последовательного декодирования. Обычно это past_key_values , возвращённые моделью на предыдущем этапе декодирования, когда use_cache=True или config.use_cache=True.

    В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если past_key_values не переданы, по умолчанию будет инициализирован DynamicCache.

    Модель будет выводить тот же формат кэша, который был передан на вход.

    Если используются past_key_values, ожидается, что пользователь передаст только необработанные input_ids (те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы (batch_size, unprocessed_length), а не все input_ids формы (batch_size, sequence_length).

  • encoder_past_key_values (Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания) для энкодера, которые можно использовать для ускорения последовательного декодирования.
  • padding_cache (VoxtralRealtimeConv1dPaddingCache, optional) — Кэш для дополнения (padding) в свёрточных слоях, позволяющий сохранять состояние между потоковыми фрагментами.
  • inputs_embeds (torch.Tensor формы (batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачи input_ids можно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексы input_ids преобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели.
  • encoder_inputs_embeds (torch.Tensor, необязательный) — По желанию, вместо передачи input_features можно напрямую передать встроенное представление для энкодера.
  • labels (torch.LongTensor формы (batch_size, sequence_length), необязательный) — Метки для вычисления потерь маскированного языкового моделирования. Индексы должны находиться в диапазоне [0, ..., config.vocab_size] или быть равны -100 (см. docstring input_ids). Токены с индексами, установленными в -100, игнорируются (маскируются); потери вычисляются только для токенов с метками в диапазоне [0, ..., config.vocab_size].
  • use_cache (bool, необязательный) — Если установлено в True, возвращаются состояния ключей и значений past_key_values, которые можно использовать для ускорения декодирования (см. past_key_values).
  • logits_to_keep (Union[int, torch.Tensor], необязательный, по умолчанию 0) — Если передано значение типа int, вычисляет logits для последних logits_to_keep токенов. Если указано 0, logits вычисляются для всех input_ids (особый случай). Для генерации нужны logits только последнего токена, и вычисление их только для этого токена позволяет сэкономить память, что становится весьма значимым для длинных последовательностей или большого размера словаря. Если передано значение типа torch.Tensor, оно должно быть одномерным и соответствовать индексам, которые нужно сохранить в измерении длины последовательности. Это полезно при использовании упакованного формата тензоров (один размер для batch и длины последовательности).
  • num_delay_tokens (int или torch.Tensor, необязательный) — Количество задерживающих токенов, используемых при подготовке входных данных; подробности см. в ~VoxtralRealtimeProcessor.

Возвращает

VoxtralRealtimeCausalLMOutputWithPast или tuple(torch.Tensor)

VoxtralRealtimeCausalLMOutputWithPast или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (VoxtralRealtimeConfig) и входных данных.

Метод forward класса VoxtralRealtimeForConditionalGeneration переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • encoder_past_key_values (Cache, необязательный) — предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания) для аудио-кодера, которые можно использовать для ускорения последовательного декодирования.
  • padding_cache (VoxtralRealtimeConv1dPaddingCache, optional) — Кэш для отступов в свёрточных слоях, позволяющий сохранять состояние между потоковыми фрагментами.

Пример:

>>> import torch
>>> from transformers import VoxtralRealtimeForConditionalGeneration, AutoProcessor
>>> from datasets import load_dataset

>>> repo_id = "mistralai/Voxtral-Mini-4B-Realtime-2602"

>>> processor = AutoProcessor.from_pretrained(repo_id)
>>> model = VoxtralRealtimeForConditionalGeneration.from_pretrained(repo_id, dtype=torch.bfloat16, device_map="auto")

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> audio = ds[0]["audio"]["array"]

>>> inputs = processor(audio, return_tensors="pt")
>>> inputs = inputs.to(model.device, dtype=model.dtype)

>>> outputs = model.generate(**inputs)
>>> processor.batch_decode(outputs, skip_special_tokens=True)

get_audio_features

< >

( *args**kwargs )

Update on GitHub