Transformers documentation
Qwen3-Omni-MOE
Эта модель была опубликована в HF papers 22.09.2025 и добавлена в Hugging Face Transformers 21.09.2025.
Qwen3-Omni-MOE
Обзор
Модель Qwen3-Omni-MOE — это унифицированная мультимодальная модель, предложенная командой Qwen из Alibaba Group в Qwen3-Omni Technical Report.
Аннотация из технического отчёта приведена ниже:
*Мы представляем Qwen3-Omni — единую мультимодальную модель, которая впервые обеспечивает передовые результаты по работе с текстом, изображениями, аудио и видео без потери качества по сравнению с одно-модальными аналогами. Qwen3-Omni демонстрирует производительность, сопоставимую с одно-модальными моделями того же размера из серии Qwen, и особенно выделяется на задачах обработки аудио. На 36 аудио- и аудиовизуальных бенчмарках Qwen3-Omni показывает лучший результат среди открытых моделей (open-source SOTA) на 32 бенчмарках и общий лучший результат (overall SOTA) на 22, превосходя мощные закрытые модели, такие как Gemini-2.5-Pro, Seed-ASR и GPT-4o-Transcribe. Qwen3-Omni использует архитектуру Thinker-Talker MoE, которая объединяет восприятие и генерацию для текста, изображений, аудио и видео, обеспечивая плавный текстовый вывод и естественную речевую генерацию в реальном времени. Модель поддерживает текстовое взаимодействие на 119 языках, понимание речи на 19 языках и генерацию речи на 10 языках. Для снижения задержки первого пакета при потоковом синтезе Talker авто-регрессивно предсказывает дискретные речевые кодексы с использованием схемы с несколькими кодовыми книжками (multi-codebook scheme). Используя выразительную способность этих кодовых книжек, мы заменяем вычислительно затратную блочную диффузию на легковесную каузальную ConvNet, что позволяет начинать потоковую передачу с первого кадра кодека. В условиях холодного старта Qwen3-Omni достигает теоретической сквозной задержки первого пакета 234 мс. Для дальнейшего усиления мультимодального рассуждения мы вводим Thinking-модель, которая явно рассуждает над входными данными любого модального типа. Поскольку в исследовательском сообществе на данный момент отсутствует универсальная модель для создания аудио-описаний (captioning), мы дообучили Qwen3-Omni-30B-A3B, чтобы получить Qwen3-Omni-30B-A3B-Captioner, который генерирует подробные описания с низким уровнем галлюцинаций для произвольных аудиовходов. Qwen3-Omni-30B-A3B, Qwen3-Omni-30B-A3B-Thinking и Qwen3-Omni-30B-A3B-Captioner публично выпущены под лицензией Apache 2.0.
Примечания
- Используйте Qwen3OmniMoeForConditionalGeneration для генерации аудио- и текстового вывода. Чтобы генерировать только один тип вывода, используйте Qwen3OmniMoeThinkerForConditionalGeneration для текстового и Qwen3OmniMoeTalkerForConditionalGeneration для аудиовывода.
- Если при работе с видеовходом возникают ошибки нехватки памяти, уменьшите
processor.max_pixels. По умолчанию максимальное значение установлено на очень большое число, и изображения высокого разрешения не масштабируются, если их разрешение не превышаетprocessor.max_pixels. - У процессора есть собственный метод apply_chat_template() для преобразования сообщений чата во входные данные модели.
Пример использования
Qwen3-Omni можно найти на Huggingface Hub.
Вывод для одиночных медиа
Модель может принимать на вход текст, изображения, аудио и видео. Ниже приведён пример кода для инференса.
import soundfile as sf
from transformers import Qwen3OmniMoeForConditionalGeneration, Qwen3OmniMoeProcessor
model = Qwen3OmniMoeForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
device_map="auto"
)
processor = Qwen3OmniMoeProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
conversations = [
{
"role": "system",
"content": [
{"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
],
},
{
"role": "user",
"content": [
{"type": "video", "video": "/path/to/video.mp4"},
{"type": "text", "text": "What can't you hear and see in this video?"},
],
},
]
inputs = processor.apply_chat_template(
conversations,
load_audio_from_video=True,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
fps=1,
# kwargs to be passed to `Qwen3OmniMoeProcessor`
padding=True,
use_audio_in_video=True,
).to(model.device)
# Generation params for audio or text can be different and have to be prefixed with `thinker_` or `talker_`
text_ids, audio = model.generate(**inputs, use_audio_in_video=True, thinker_do_sample=False, talker_do_sample=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
sf.write(
"output.wav",
audio.reshape(-1).detach().cpu().numpy(),
samplerate=24000,
)
print(text)Генерация только текста
Чтобы генерировать только текстовый вывод и сэкономить вычисления, не загружая модель генерации аудио, можно использовать модель Qwen3OmniMoeThinkerForConditionalGeneration.
from transformers import Qwen3OmniMoeProcessor, Qwen3OmniMoeThinkerForConditionalGeneration
model = Qwen3OmniMoeThinkerForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
device_map="auto",
)
processor = Qwen3OmniMoeProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
conversations = [
{
"role": "system",
"content": [
{"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
],
},
{
"role": "user",
"content": [
{"type": "video", "video": "/path/to/video.mp4"},
{"type": "text", "text": "What can't you hear and see in this video?"},
],
},
]
inputs = processor.apply_chat_template(
conversations,
load_audio_from_video=True,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
fps=1,
# kwargs to be passed to `Qwen3OmniMoeProcessor`
padding=True,
use_audio_in_video=True,
).to(model.device)
text_ids = model.generate(**inputs, use_audio_in_video=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(text)Пакетный вывод для смешанных мультимедийных данных
Модель Qwen3OmniMoeThinkerForConditionalGeneration позволяет обрабатывать батчи входных данных, состоящие из смешанных образцов разных типов, таких как текст, изображения, аудио и видео. Ниже приведён пример.
import soundfile as sf
from transformers import Qwen3OmniMoeForConditionalGeneration, Qwen3OmniMoeProcessor
model = Qwen3OmniMoeForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
device_map="auto"
)
processor = Qwen3OmniMoeProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
# Conversation with video only
conversation1 = [
{
"role": "system",
"content": [
{"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
],
},
{
"role": "user",
"content": [
{"type": "video", "path": "/path/to/video.mp4"},
]
}
]
# Conversation with audio only
conversation2 = [
{
"role": "system",
"content": [
{"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
],
},
{
"role": "user",
"content": [
{"type": "audio", "path": "/path/to/audio.wav"},
]
}
]
# Conversation with pure text
conversation3 = [
{
"role": "system",
"content": [
{"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
],
},
{
"role": "user",
"content": [{"type": "text", "text": "who are you?"}],
}
]
# Conversation with mixed media
conversation4 = [
{
"role": "system",
"content": [
{"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
],
},
{
"role": "user",
"content": [
{"type": "image", "path": "/path/to/image.jpg"},
{"type": "video", "path": "/path/to/video.mp4"},
{"type": "audio", "path": "/path/to/audio.wav"},
{"type": "text", "text": "What are the elements can you see and hear in these media?"},
],
}
]
conversations = [conversation1, conversation2, conversation3, conversation4]
inputs = processor.apply_chat_template(
conversations,
load_audio_from_video=True,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
fps=1,
# kwargs to be passed to `Qwen3OmniMoeProcessor`
padding=True,
use_audio_in_video=True,
).to(model.thinker.device)
text_ids = model.generate(**inputs, use_audio_in_video=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(text)Генерация аудио пакетами
Qwen3OmniMoeForConditionalGeneration поддерживает генерацию аудиовыхода пачками. Например, ниже приведён пример пакетной генерации речи из текста. При обработке пачки, содержащей более одного примера, сгенерированный аудиопоток возвращается в виде списка, где каждому примеру соответствует своя волновая форма, уже обрезанная до своей длины, поэтому короткие примеры не дополняются лишним звуком. При вызове с одним примером возвращается один тензор.
import soundfile as sf
from transformers import AutoModelForTextToWaveform, AutoProcessor
import torch
model_id = "Qwen/Qwen3-Omni-30B-A3B-Instruct"
model = AutoModelForTextToWaveform.from_pretrained(model_id, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
sampling_rate = 24000 # output sampling rate
max_new_tokens = 128 # maximum number of tokens to generate
system_text = (
"You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of "
"perceiving auditory and visual inputs, as well as generating text and speech."
)
texts = [
"Hello, I'm Qwen. How can I help you today? Just let me know!",
"The weather is nice today.",
]
inputs = processor.apply_chat_template(
[
[
{"role": "system", "content": [{"type": "text", "text": system_text}]},
{
"role": "user",
"content": [
{
"type": "text",
"text": (
"Please read the following text aloud exactly as written, with no "
f"additional commentary:\n\n{text}"
),
}
],
},
]
for text in texts
],
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
processor_kwargs={"padding": True},
).to(model.device, dtype=model.dtype)
gen_kwargs = {
"talker_do_sample": True,
"speaker": "Ethan", # Ethan, Chelsie
"talker_max_new_tokens": max_new_tokens,
}
_, pred_waveform = model.generate(**inputs, **gen_kwargs)
for sample_id, audio in enumerate(pred_waveform):
sf.write(f"qwen3_omni_output_{sample_id}.wav", audio.detach().to(torch.float32).cpu().numpy(), sampling_rate)
print(f"Saved audio to qwen3_omni_output_{sample_id}.wav")Советы по использованию
Компромисс с разрешением изображения
Модель поддерживает широкий диапазон входных разрешений. По умолчанию используется нативное разрешение, однако более высокое разрешение может повысить качество работы модели за счёт увеличения вычислительных затрат. Пользователи могут задать минимальное и максимальное количество пикселей, чтобы подобрать оптимальную конфигурацию под свои задачи.
min_pixels = 128*28*28
max_pixels = 768*28*28
processor = AutoProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct", min_pixels=min_pixels, max_pixels=max_pixels)Запрос для вывода аудио
If users need audio output, the system prompt must be set as “You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech.”, otherwise the audio output may not work as expected.
{
"role": "system",
"content": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech.",
}Использовать аудиовыход или нет
Модель поддерживает как текстовый, так и аудиовыход. Если пользователям не нужен аудиовыход, они могут установить enable_audio_output в функции from_pretrained. Эта опция позволит сэкономить около ~2GB видеопамяти GPU, однако опция return_audio для функции generate будет доступна только со значением False.
model = Qwen3OmniMoeForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
device_map="auto",
enable_audio_output=False,
)Для обеспечения гибкого опыта работы мы рекомендуем пользователям устанавливать enable_audio_output в True при инициализации модели с помощью функции from_pretrained, а затем решать, возвращать ли аудио при вызове функции generate. Если return_audio установлено в False, модель будет возвращать только текстовые выходные данные, что позволяет получать текстовые ответы быстрее.
model = Qwen3OmniMoeForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
device_map="auto",
enable_audio_output=True,
)
...
text_ids = model.generate(**inputs, return_audio=False)Изменение типа голоса выходного аудио
Qwen3-Omni-MOE поддерживает возможность изменения голоса в выходном аудио. Пользователи могут использовать параметр speaker функции generate для указания типа голоса. Чекпоинт "Qwen/Qwen3-Omni-30B-A3B-Instruct" поддерживает два типа голоса: Chelsie и Ethan, где Chelsie — женский голос, а Ethan — мужской. По умолчанию, если speaker не указан, используется голос Chelsie.
text_ids, audio = model.generate(**inputs, speaker="Chelsie")text_ids, audio = model.generate(**inputs, speaker="Ethan")Flash-Attention 2 для ускорения генерации
Сначала убедитесь, что установлена последняя версия Flash Attention 2:
pip install -U flash-attn --no-build-isolation
Также у вас должно быть оборудование, совместимое с FlashAttention 2. Подробнее об этом можно прочитать в официальной документации репозитория flash attention. FlashAttention-2 можно использовать только тогда, когда модель загружена в формате torch.float16 или torch.bfloat16.
Чтобы загрузить и запустить модель с использованием FlashAttention-2, добавьте attn_implementation="flash_attention_2" при загрузке модели:
from transformers import Qwen3OmniMoeForConditionalGeneration
model = Qwen3OmniMoeForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
device_map="auto",
attn_implementation="flash_attention_2",
)Qwen3OmniMoeConfig
класс transformers.Qwen3OmniMoeConfig
< source >( 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 = Nonethinker_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetalker_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecode2wav_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneenable_audio_output: bool = Trueim_start_token_id: int = 151644im_end_token_id: int = 151645tts_pad_token_id: int = 151671tts_bos_token_id: int = 151672tts_eos_token_id: int = 151673system_token_id: int = 8948user_token_id: int = 872assistant_token_id: int = 77091initializer_range: float | None = None )
Параметры
- thinker_config (
dict, необязательный) — Конфигурация базовой подмодели thinker. - talker_config (
dict, необязательный) — Конфигурация базовой подмодели talker. - code2wav_config (
dict, необязательный) — Конфигурация базовой подмодели code2wav. - enable_audio_output (
bool, необязательный, по умолчаниюTrue) — Включает ли вывод аудио и загрузку модулей talker и code2wav. - im_start_token_id (
int, необязательный, по умолчанию 151644) — Идентификатор токена начала изображения - im_end_token_id (
int, необязательный, по умолчанию 151645) — Идентификатор токена, обозначающего конец изображения - tts_pad_token_id (
int, необязательный, по умолчанию 151671) — Идентификатор токена для заполнения (padding) в TTS - tts_bos_token_id (
int, необязательный, по умолчанию 151672) — Идентификатор токена начала последовательности в TTS - tts_eos_token_id (
int, необязательный, по умолчанию 151673) — Идентификатор токена конца последовательности в TTS для изображения - system_token_id (
int, необязательный, по умолчанию 8948) — Идентификатор токена для системного промпта - user_token_id (
int, необязательный, по умолчанию 872) — Идентификатор токена для пользовательского запроса - assistant_token_id (
int, необязательный, по умолчанию 77091) — Идентификатор токена для промпта ассистента - initializer_range (
float, необязательный) — Стандартное отклонение truncated_normal_initializer для инициализации всех матриц весов.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import (
... Qwen3OmniMoeThinkerConfig,
... Qwen3OmniMoeTalkerConfig,
... Qwen3OmniMoeCode2WavConfig,
... Qwen3OmniMoeForConditionalGeneration,
... Qwen3OmniMoeConfig,
... )
>>> # Initializing a Qwen3OmniMoe style configuration
>>> configuration = Qwen3OmniMoeConfig()
>>> # Initializing a model from the configuration
>>> model = Qwen3OmniMoeForConditionalGeneration(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configget_text_config
< source >( decoder = False )
Возвращает конфигурацию, предназначенную для использования с текстовым вводом-выводом. В большинстве моделей это сам исходный экземпляр конфигурации. В определённых составных моделях она находится под одним из допустимых имён.
Qwen3OmniMoeThinkerConfig
класс transformers.Qwen3OmniMoeThinkerConfig
< source >( 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 = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneposition_id_per_seconds: int = 25audio_start_token_id: int = 151647user_token_id: int = 872initializer_range: float = 0.02tie_word_embeddings: bool = Falseaudio_token_id: int = 151646image_token_id: int = 151655video_token_id: int = 151656 )
Параметры
- audio_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации аудио-бэкбона. - vision_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации визуального бэкбона. - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона. - position_id_per_seconds (
int, необязательный, по умолчанию 25) — Приращение идентификатора позиции за секунду. - audio_start_token_id (
int, необязательный, по умолчанию 151647) — Идентификатор токена начала аудио для кодирования аудиозапроса. - user_token_id (
int, необязательный, по умолчанию 872) — Идентификатор токена пользователя для кодирования токена пользователя. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - tie_word_embeddings (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли связывать веса эмбеддингов согласно маппингуtied_weights_keysмодели. - audio_token_id (
int, необязательный, по умолчанию151646) — Индекс аудио-токена, используемый как плейсхолдер для входного аудио. - image_token_id (
int, необязательный, по умолчанию151655) — Индекс токена изображения, используемый в качестве плейсхолдера для входных изображений. - video_token_id (
int, необязательный, по умолчанию151656) — Индекс токена видео, используемый как плейсхолдер для входных видео.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import Qwen3OmniMoeThinkerModel, Qwen3OmniMoeThinkerConfig
>>> # Initializing a default Qwen3OmniMoeThinkerConfig
>>> configuration = Qwen3OmniMoeThinkerConfig()
>>> # Initializing a model (with random weights) from the default configuration
>>> model = Qwen3OmniMoeThinkerModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configQwen3OmniMoeTalkerConfig
класс transformers.Qwen3OmniMoeTalkerConfig
< source >( 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 = Nonecode_predictor_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonenum_code_groups: int = 32thinker_hidden_size: int = 2048codec_eos_token_id: int = 4198accept_hidden_layer: int = 18codec_nothink_id: int = 4203codec_think_bos_id: int = 4204codec_think_eos_id: int = 4205codec_pad_id: int = 4196codec_bos_id: int = 4197audio_token_id: int = 151646image_token_id: int = 151655video_token_id: int = 151656vision_start_token_id: int = 151652position_id_per_seconds: int = 25audio_start_token_id: int = 151669speaker_id: dict | None = Noneinitializer_range: float = 0.02tie_word_embeddings: bool = False )
Параметры
- code_predictor_config (
dict, необязательный) — Словарь параметров конфигурации, используемых для инициализации Qwen3OmniMoeTalkerCodePredictorConfig. Если не указан, будут использованы значения по умолчанию. - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона. - num_code_groups (
int, необязательный, по умолчанию 32) — Количество групп кодовых книг, используемых в предсказанной последовательности акустических токенов, соответствующей представлению VQ с несколькими кодовыми книгами. - thinker_hidden_size (
int, необязательный, по умолчанию 2048) — Размер скрытого измерения модуля thinker, используемого для промежуточного рассуждения или латентного планирования перед генерацией аудио. - codec_eos_token_id (
int, необязательный, по умолчанию 4198) — ID токена, обозначающего конец речи в последовательности, сгенерированной кодеком. - accept_hidden_layer (
int, необязательный, по умолчанию 18) — Индекс скрытого слоя, выход которого используется для принятия или уточнения сгенерированных токенов в процессе think-and-speak. - codec_nothink_id (
int, необязательный, по умолчанию 4203) — Идентификатор токена, указывающий, что на этапе генерации не требуется шаг размышления. - codec_think_bos_id (
int, необязательный, по умолчанию 4204) — Идентификатор токена, отмечающий начало последовательности размышлений. - codec_think_eos_id (
int, необязательный, по умолчанию 4205) — Идентификатор токена, отмечающий конец последовательности размышлений. - codec_pad_id (
int, необязательный, по умолчанию 4196) — Идентификатор токена отступов, используемый во входных последовательностях кодека. - codec_bos_id (
int, необязательный, по умолчанию 4197) — ID токена начала речи в последовательностях кодека. - audio_token_id (
int, необязательный, по умолчанию151646) — Индекс аудио-токена, используемый как плейсхолдер для входного аудио. - image_token_id (
int, необязательный, по умолчанию151655) — Индекс токена изображения, используемый в качестве плейсхолдера для входных изображений. - video_token_id (
int, необязательный, по умолчанию151656) — Индекс токена видео, используемый как плейсхолдер для входных видео. - vision_start_token_id (
int, необязательный, по умолчанию151652) — Идентификатор токена, отмечающий начало визуального сегмента в мультимодальной входной последовательности. - position_id_per_seconds (
int, необязательный, по умолчанию 25) — Количество идентификаторов позиций, выделяемых на каждую секунду аудиоконтента; используется для временного выравнивания при генерации. - audio_start_token_id (
int, необязательный, по умолчанию 151669) — Идентификатор токена, указывающий на начало сегмента генерации аудио в выводе. - speaker_id (
dict, необязательный) — Словарь соответствия имён говорящих их идентификаторам. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - tie_word_embeddings (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли связывать веса эмбеддингов согласно маппингуtied_weights_keysмодели.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import Qwen3OmniMoeTalkerConfig, Qwen3OmniMoeTalker
>>> # Initialize a Qwen3OmniMoeTalkerConfig with default sub-configurations
>>> config = Qwen3OmniMoeTalkerConfig(
... num_code_groups=32,
... thinker_hidden_size=2048,
... )
>>> # Initialize the full Qwen3-Omni Talker model
>>> model = Qwen3OmniMoeTalker(config)
>>> # Access the model configuration
>>> config = model.config
>>> print(config.text_config) # Access text decoder configuration
>>> print(config.code_predictor_config) # Access code predictor configurationQwen3OmniMoeTextConfig
класс transformers.Qwen3OmniMoeTextConfig
< source >( 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 = 3584hidden_size: int = 2048intermediate_size: int = 18944num_hidden_layers: int = 28num_attention_heads: int = 28num_key_value_heads: int = 4hidden_act: str = 'silu'max_position_embeddings: int = 32768initializer_range: float = 0.02rms_norm_eps: float = 1e-06use_cache: bool = Truerope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falsesliding_window: int | None = Noneattention_dropout: float | int = 0.0decoder_sparse_step: int = 1moe_intermediate_size: int = 768num_experts_per_tok: int = 8num_experts: int = 128norm_topk_prob: bool = Trueoutput_router_logits: bool = Falserouter_aux_loss_coef: float = 0.001mlp_only_layers: list[int] | None = Nonepad_token_id: int | None = Nonebos_token_id: int | None = Noneeos_token_id: int | list[int] | None = None )
Параметры
- vocab_size (
int, необязательный, по умолчанию3584) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - hidden_size (
int, необязательный, по умолчанию2048) — Размерность скрытых представлений. - intermediate_size (
int, необязательный, по умолчанию18944) — Размерность представлений MLP. - num_hidden_layers (
int, необязательный, по умолчанию28) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию28) — Количество головок внимания в каждом слое внимания декодера Transformer. - num_key_value_heads (
int, необязательный, по умолчанию4) — Это количество ключевых и 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. - hidden_act (
str, необязательный, по умолчаниюsilu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - max_position_embeddings (
int, необязательный, по умолчанию32768) — Максимальная длина последовательности, с которой может использоваться эта модель. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - rms_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации rms. - use_cache (
bool, необязательный, по умолчаниюTrue) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только еслиconfig.is_decoder=Trueили если модель является генеративной моделью только с декодером. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение дляrope_thetaи, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длиннымиmax_position_embeddings. - attention_bias (
bool, необязательный, по умолчаниюFalse) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - sliding_window (
int, необязательный) — Размер окна скользящего внимания. ЕслиNone, скользящее окно не применяется. - attention_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - decoder_sparse_step (
int, необязательный, по умолчанию 1) — Частота применения слоя MoE. - moe_intermediate_size (
int, необязательный, по умолчанию768) — Промежуточный размер MLP маршрутизированных экспертов. - num_experts_per_tok (
int, необязательный, по умолчанию8) — Количество экспертов, к которым маршрутизируется каждый токен. Это значение top-k для маршрутизации по выбору токена. - num_experts (
int, необязательный, по умолчанию128) — Количество маршрутизируемых экспертов в слоях MoE. - norm_topk_prob (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли нормализовать веса маршрутизированных экспертов. - output_router_logits (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли модели возвращать логиты роутера. Включение этого параметра также позволит модели выводить вспомогательную потерю, включая потерю балансировки нагрузки и z-потерю роутера. - router_aux_loss_coef (
float, необязательный, по умолчанию0.001) — Коэффициент вспомогательной функции потерь для балансировки нагрузки. Используется для штрафования неравномерного маршрутизирования запросов к экспертам в MoE-моделях. - mlp_only_layers (
list[int], необязательный, по умолчанию[]) — Указывает, какие слои используют Qwen3OmniMoeTextMLP вместо Qwen3OmniMoeTextSparseMoeBlock Список содержит индексы слоёв, от 0 до num_layers-1, если всего num_layers слоёв Еслиmlp_only_layersпуст, для определения разреженности используетсяdecoder_sparse_step. - pad_token_id (
int, необязательный) — Идентификатор токена, используемого для выравнивания в словаре. - bos_token_id (
int, необязательный) — Идентификатор токена, используемого для обозначения начала потока в словаре. - eos_token_id (
Union[int, list[int]], необязательный) — Идентификатор токена, используемого для обозначения конца потока в словаре.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
>>> from transformers import Qwen3OmniMoeTextModel, Qwen3OmniMoeTextConfig
>>> # Initializing a Qwen3OmniMoeText style configuration
>>> configuration = Qwen3OmniMoeTextConfig()
>>> # Initializing a model from the Qwen3-15B-A2B" style configuration
>>> model = Qwen3OmniMoeTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configQwen3OmniMoeVisionEncoderConfig
класс transformers.Qwen3OmniMoeVisionEncoderConfig
< source >( 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 = Nonedepth: int = 27hidden_size: int = 1152hidden_act: str = 'gelu_pytorch_tanh'intermediate_size: int = 4304num_heads: int = 16in_channels: int = 3patch_size: int | list[int] | tuple[int, int] = 16spatial_merge_size: int = 2temporal_patch_size: int | list[int] | tuple[int, int] = 2out_hidden_size: int = 3584num_position_embeddings: int = 2304deepstack_visual_indexes: list[int] | tuple[int, ...] = (8, 16, 24)initializer_range: float = 0.02rope_parameters: dict | None = None )
Параметры
- depth (
int, необязательный, по умолчанию27) — Количество слоев Transformer в визуальном энкодере. - hidden_size (
int, необязательный, по умолчанию1152) — Размерность скрытых представлений. - hidden_act (
str, необязательный, по умолчаниюgelu_pytorch_tanh) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - intermediate_size (
int, необязательный, по умолчанию4304) — Размерность представлений MLP. - num_heads (
int, необязательный, по умолчанию16) — Количество головок внимания в каждом слое внимания декодера Transformer. - in_channels (
int, необязательный, по умолчанию3) — Количество входных каналов. - patch_size (
Union[int, list[int], tuple[int, int]], необязательный, по умолчанию16) — Размер (разрешение) каждого патча. - spatial_merge_size (
int, необязательный, по умолчанию2) — Размер пространственного окна слияния, используемого для уменьшения количества визуальных токенов путём объединения соседних патчей. - temporal_patch_size (
Union[int, list[int], tuple[int, int]], необязательный, по умолчанию2) — Размер временного патча, используемого в 3D-эмбеддинге патчей для видеовходов. - out_hidden_size (
int, необязательный, по умолчанию 3584) — Размер выходного скрытого слоя визуальной модели. - num_position_embeddings (
int, необязательный, по умолчанию 2304) — Максимальная длина последовательности, с которой может использоваться эта модель - deepstack_visual_indexes (
list[int], необязательный, по умолчанию[8, 16, 24]) — Индексы слоёв для deepstack-эмбеддингов. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - rope_parameters (
dict, необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. В словаре должно быть указано значение дляrope_thetaи, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длиннымиmax_position_embeddings.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Qwen3OmniMoeAudioEncoderConfig
класс transformers.Qwen3OmniMoeAudioEncoderConfig
< source >( 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 = Nonenum_mel_bins: int = 128encoder_layers: int = 32encoder_attention_heads: int = 20encoder_ffn_dim: int = 5120d_model: int = 1280dropout: float | int = 0.0attention_dropout: float | int = 0.0activation_function: str = 'gelu'activation_dropout: float | int = 0.0scale_embedding: bool = Falseinitializer_range: float = 0.02max_source_positions: int = 1500n_window: int = 50output_dim: int = 3584n_window_infer: int = 800conv_chunksize: int = 500downsample_hidden_size: int = 480 )
Параметры
- num_mel_bins (
int, необязательный, по умолчанию128) — Количество mel-признаков, используемых на входной кадр. Должно соответствовать значению, используемому в классеAutoFeatureExtractor. - encoder_layers (
int, необязательный, по умолчанию32) — Количество скрытых слоев в кодере Transformer. Если не задано, используется то же значение, что и уnum_layers. - encoder_attention_heads (
int, необязательный, по умолчанию20) — Количество головок внимания в каждом слое внимания в кодере Transformer. - encoder_ffn_dim (
int, необязательный, по умолчанию5120) — Размерность «промежуточного» (часто называемого feed-forward) слоя в энкодере. - d_model (
int, необязательный, по умолчанию1280) — Размер слоев кодировщика и пулера. - dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент для всех слоёв dropout. - attention_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - activation_function (
str, необязательный, по умолчаниюgelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - activation_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент dropout для активаций внутри полносвязного слоя. - scale_embedding (
bool, необязательный, по умолчаниюFalse) — Указывает, следует ли масштабировать эмбеддинги, деля их на sqrt(d_model). - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - max_source_positions (
int, необязательный, по умолчанию 1500) — Максимальная длина последовательности для входных данных - n_window (
int, необязательный, по умолчанию 50) — Количество окон - output_dim (
int, необязательный, по умолчанию 3584) — Размерность выходного вектора - n_window_infer (
int, необязательный, по умолчанию800) — Количество окон при выводе - conv_chunksize (
int, необязательный, по умолчанию500) — Размер блока для каждого входа в свёрточный слой - downsample_hidden_size (
int, необязательный, по умолчанию480) — Размер скрытого слоя в слое понижающего дискретизирования
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Qwen3OmniMoeTalkerTextConfig
класс transformers.Qwen3OmniMoeTalkerTextConfig
< source >( 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 = 3072hidden_size: int = 1024intermediate_size: int = 2048num_hidden_layers: int = 20num_attention_heads: int = 16num_key_value_heads: int = 2hidden_act: str = 'silu'max_position_embeddings: int = 32768initializer_range: float = 0.02rms_norm_eps: float = 1e-06use_cache: bool = Truetie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falsesliding_window: int | None = Noneattention_dropout: float | int = 0.0decoder_sparse_step: int = 1moe_intermediate_size: int = 384num_experts_per_tok: int = 8num_experts: int = 128norm_topk_prob: bool = Falseoutput_router_logits: bool = Falserouter_aux_loss_coef: float = 0.001mlp_only_layers: list[int] | None = Nonepad_token_id: int | None = Nonebos_token_id: int | None = Noneeos_token_id: int | list[int] | None = None )
Параметры
- vocab_size (
int, необязательный, по умолчанию3072) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - hidden_size (
int, необязательный, по умолчанию1024) — Размерность скрытых представлений. - intermediate_size (
int, необязательный, по умолчанию2048) — Размерность представлений MLP. - num_hidden_layers (
int, необязательный, по умолчанию20) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию16) — Количество головок внимания в каждом слое внимания декодера Transformer. - num_key_value_heads (
int, необязательный, по умолчанию2) — Это количество ключевых и 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. - hidden_act (
str, необязательный, по умолчаниюsilu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - max_position_embeddings (
int, необязательный, по умолчанию32768) — Максимальная длина последовательности, с которой может использоваться эта модель. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - rms_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации rms. - use_cache (
bool, необязательный, по умолчаниюTrue) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только еслиconfig.is_decoder=Trueили если модель является генеративной моделью только с декодером. - tie_word_embeddings (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли связывать веса эмбеддингов согласно маппингуtied_weights_keysмодели. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение дляrope_thetaи, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длиннымиmax_position_embeddings. - attention_bias (
bool, необязательный, по умолчаниюFalse) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - sliding_window (
int, необязательный) — Размер окна скользящего внимания. ЕслиNone, скользящее окно не применяется. - attention_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - decoder_sparse_step (
int, необязательный, по умолчанию 1) — Частота применения слоя MoE. - moe_intermediate_size (
int, необязательный, по умолчанию384) — Промежуточный размер MLP маршрутизированных экспертов. - num_experts_per_tok (
int, необязательный, по умолчанию8) — Количество экспертов, к которым маршрутизируется каждый токен. Это значение top-k для маршрутизации по выбору токена. - num_experts (
int, необязательный, по умолчанию128) — Количество маршрутизируемых экспертов в слоях MoE. - norm_topk_prob (
bool, необязательный, по умолчаниюFalse) — Нормализовать ли веса маршрутизированных экспертов. - output_router_logits (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли модели возвращать логиты роутера. Включение этого параметра также позволит модели выводить вспомогательную потерю, включая потерю балансировки нагрузки и z-потерю роутера. - router_aux_loss_coef (
float, необязательный, по умолчанию0.001) — Коэффициент вспомогательной функции потерь для балансировки нагрузки. Используется для штрафования неравномерного маршрутизирования запросов к экспертам в MoE-моделях. - mlp_only_layers (
list[int], необязательный, по умолчанию[]) — Указывает, в каких слоях используется Qwen3OmniMoeTalkerTextMLP вместо Qwen3OmniMoeTalkerTextSparseMoeBlock Список содержит индексы слоёв, от 0 до num_layers-1, если всего num_layers слоёв Еслиmlp_only_layersпуст, разреженность определяется с помощьюdecoder_sparse_step. - pad_token_id (
int, необязательный) — Идентификатор токена, используемого для выравнивания в словаре. - bos_token_id (
int, необязательный) — Идентификатор токена, используемого для обозначения начала потока в словаре. - eos_token_id (
Union[int, list[int]], необязательный) — Идентификатор токена, используемого для обозначения конца потока в словаре.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
>>> from transformers import Qwen3OmniMoeTalkerTextModel, Qwen3OmniMoeTalkerTextConfig
>>> # Initializing a Qwen3OmniMoeTalkerText style configuration
>>> configuration = Qwen3OmniMoeTalkerTextConfig()
>>> # Initializing a model from the Qwen3-15B-A2B" style configuration
>>> model = Qwen3OmniMoeTalkerTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configQwen3OmniMoeTalkerCodePredictorConfig
класс transformers.Qwen3OmniMoeTalkerCodePredictorConfig
< source >( 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 = 2048hidden_size: int = 1024intermediate_size: int = 3072num_hidden_layers: int = 5num_attention_heads: int = 16num_key_value_heads: int = 8head_dim: int = 128hidden_act: str = 'silu'max_position_embeddings: int = 32768initializer_range: float = 0.02rms_norm_eps: float = 1e-06use_cache: bool = Truetie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falsesliding_window: int | None = Nonemax_window_layers: int = 28layer_types: list[str] | None = Noneattention_dropout: float | int = 0.0pad_token_id: int | None = Nonebos_token_id: int | None = Noneeos_token_id: int | list[int] | None = Nonenum_code_groups: int = 32 )
Параметры
- vocab_size (
int, необязательный, по умолчанию2048) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - hidden_size (
int, необязательный, по умолчанию1024) — Размерность скрытых представлений. - intermediate_size (
int, необязательный, по умолчанию3072) — Размерность представлений MLP. - num_hidden_layers (
int, необязательный, по умолчанию5) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию16) — Количество головок внимания в каждом слое внимания декодера 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, необязательный, по умолчанию128) — Размерность головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads - hidden_act (
str, необязательный, по умолчаниюsilu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - max_position_embeddings (
int, необязательный, по умолчанию32768) — Максимальная длина последовательности, с которой может использоваться эта модель. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - rms_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации rms. - use_cache (
bool, необязательный, по умолчаниюTrue) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только еслиconfig.is_decoder=Trueили если модель является генеративной моделью только с декодером. - tie_word_embeddings (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли связывать веса эмбеддингов согласно маппингуtied_weights_keysмодели. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение дляrope_thetaи, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длиннымиmax_position_embeddings. - attention_bias (
bool, необязательный, по умолчаниюFalse) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - sliding_window (
int, необязательный) — Размер окна скользящего внимания. ЕслиNone, скользящее окно не применяется. - max_window_layers (
int, необязательный, по умолчанию28) — Количество слоев, использующих полное внимание. Первыеmax_window_layersслоев будут использовать полное внимание, а все последующие слои — SWA (Sliding Window Attention). - layer_types (
list[str], необязательный) — Список, в котором явно указывается тип слоя для каждого индекса слоя. Если не задан, будет автоматически сгенерирован на основе значений конфигурации. - attention_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - pad_token_id (
int, необязательный) — Идентификатор токена, используемого для выравнивания в словаре. - bos_token_id (
int, необязательный) — Идентификатор токена, используемого для обозначения начала потока в словаре. - eos_token_id (
Union[int, list[int]], необязательный) — Идентификатор токена, используемого для обозначения конца потока в словаре. - num_code_groups (
int, необязательный, по умолчанию 32) — Количество групп кодовых книг, используемых в предсказанной последовательности акустических токенов, соответствующей представлению VQ с несколькими кодовыми книгами.
Это класс конфигурации для хранения настроек модели Qwen3 Omni Moe. Он используется для создания модели Qwen3 Omni Moe в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации Qwen/Qwen3-Omni-30B-A3B-Instruct
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Qwen3OmniMoeForConditionalGeneration
Qwen3OmniMoeThinkerTextModel
класс transformers.Qwen3OmniMoeThinkerTextModel
< source >( config: Qwen3OmniMoeTextConfig )
Параметры
- config (Qwen3OmniMoeTextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Текстовая часть Qwen3OmniMoeThinker, не являющаяся чисто текстовой моделью, поскольку DeepStack интегрирует визуальные признаки в ранние скрытые состояния.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Nonevisual_pos_masks: typing.Optional[torch.Tensor] = Nonedeepstack_visual_embeds: list[torch.Tensor] | None = None**kwargs: *<class 'transformers.modeling_flash_attention_utils.FlashAttentionKwargs'> ) → MoeModelOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- 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). - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - use_cache (
bool, необязательный) — Если установлено вTrue, возвращаются состояния ключей и значенийpast_key_values, которые можно использовать для ускорения декодирования (см.past_key_values). - visual_pos_masks (
torch.Tensorформы(batch_size, seqlen), необязательный) — Маска визуальных позиций. - deepstack_visual_embeds (
list[torch.Tensor], необязательный) — Визуальные эмбеддинги deepstack. Форма: (num_layers, visual_seqlen, embed_dim). Особенность извлекается из различных слоев визуального энкодера и подается в скрытые состояния декодера. Описана в статье DeepStack(https://arxiv.org/abs/2406.04334).
Возвращает
MoeModelOutputWithPast или tuple(torch.Tensor)
MoeModelOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward модели Qwen3OmniMoeThinkerTextModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания и, при необходимости, если
config.is_encoder_decoder=True, в блоках кросс-внимания), которые можно использовать (см. входной параметрpast_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
router_logits (
tuple(torch.Tensor), необязательный, возвращается, если переданыoutput_router_probs=Trueиconfig.add_router_probs=Trueили еслиconfig.output_router_probs=True) — Кортежtorch.Tensor(по одному для каждого слоя) формы(batch_size, sequence_length, num_experts).Сырые логиты роутера (после softmax), вычисляемые роутерами MoE; эти значения используются для вычисления вспомогательной функции потерь в моделях Mixture of Experts.
Qwen3OmniMoeThinkerModel
класс transformers.Qwen3OmniMoeThinkerModel
< source >( config: Qwen3OmniMoeThinkerConfig )
Параметры
- config (Qwen3OmniMoeThinkerConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Qwen2.5OmniThinker, состоящая из аудио-бэкбона и языковой модели.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids = Noneinput_features = Nonepixel_values = Nonepixel_values_videos = Noneimage_grid_thw = Nonevideo_grid_thw = Noneattention_mask = Nonefeature_attention_mask = Noneaudio_feature_lengths = Noneposition_ids = Nonepast_key_values = Noneinputs_embeds = Noneuse_cache = Noneoutput_router_logits: bool | None = Noneuse_audio_in_video = Nonevideo_second_per_grid = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs ) → MoeModelOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (`
of shape(batch_size, sequence_length)`) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- input_features (`
of shape(batch_size, sequence_length, feature_dim)`) — Тензоры, соответствующие входным аудиопризнакам. Аудиопризнаки можно получить с помощью WhisperFeatureExtractor. Подробности см. в WhisperFeatureExtractor.call() (Qwen3OmniMoeProcessor использует WhisperFeatureExtractor для обработки аудио). - pixel_values (`
of shape(batch_size, num_channels, image_size, image_size)`) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Qwen2VLImageProcessor. Подробности см. в Qwen2VLImageProcessor.call() (Qwen3OmniMoeProcessor использует Qwen2VLImageProcessor для обработки изображений). - pixel_values_videos (`
of shape(batch_size, num_frames, num_channels, frame_size, frame_size)`) — Тензоры, соответствующие входному видео. Значения пикселей для видео можно получить с помощью Qwen2VLVideoProcessor. Подробности см. в Qwen2VLVideoProcessor.call() (Qwen3OmniMoeProcessor использует Qwen2VLVideoProcessor для обработки видео). - image_grid_thw (`
of shape(num_images, 3)`) — Временное, вертикальное и горизонтальное размеры формы признаков каждого изображения в LLM. - video_grid_thw (`
of shape(num_videos, 3)`) — Временное, вертикальное и горизонтальное разрешение формы признаков каждого видео в LLM. - attention_mask (`
of shape(batch_size, sequence_length)) -- Mask to avoid performing attention on padding token indices. Mask values selected in[0, 1]`:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- feature_attention_mask (
torch.Tensorформы(batch_size, feature_sequence_length), , необязательный) — Маска для исключения padding-индексов признаков из вычислений внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- audio_feature_lengths (
torch.LongTensorформы(num_audios), необязательный) — Длина формы признаков каждого аудио в LLM. - position_ids (`
of shape(batch_size, sequence_length) -- Indices of positions of each input sequence tokens in the position embeddings. Selected in the range[0, config.n_positions - 1`. - past_key_values (`
) -- Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention blocks) that can be used to speed up sequential decoding. This typically consists in thepast_key_valuesreturned by the model at a previous stage of decoding, whenuse_cache=Trueorconfig.use_cache=True`.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - inputs_embeds (`
of shape(batch_size, sequence_length, hidden_size)) -- Optionally, instead of passinginput_idsyou can choose to directly pass an embedded representation. This is useful if you want more control over how to convertinput_ids` indices into associated vectors than the model’s internal embedding lookup matrix. - use_cache (`
) -- If set toTrue,past_key_valueskey value states are returned and can be used to speed up decoding (seepast_key_values`). - output_router_logits (
bool, необязательный) — Указывает, следует ли возвращать логиты всех роутеров. Они полезны для вычисления потерь роутера и не должны возвращаться во время инференса. - use_audio_in_video (
bool, необязательный) — Использовать ли звуковую дорожку в видео; должно совпадать с параметром вprocess_audio_info. - video_second_per_grid (
torch.LongTensorформы(num_videos), необязательный) — Количество секунд на сетку для каждого видео, используется для временного отображения признаков. - mm_encoder_outputs (
dict[str, ~modeling_outputs.BaseModelOutputWithPooling], необязательный) — Словарь, где ключами являются поддерживаемые модальности, а значениями — закодированные результаты для соответствующей модальности. Каждый закодированный результат представляет собой кортеж вида (pooler_output, необязательный:last_hidden_states, необязательный:hidden_states, необязательный:attentions)pooler_outputформы(batch_size, sequence_length, hidden_size), необязательный) — последовательность мультимодальных признаков энкодера, объединённых с текстовыми эмбеддингами.
Возвращает
MoeModelOutputWithPast или tuple(torch.Tensor)
MoeModelOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward модели Qwen3OmniMoeThinkerModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания и, при необходимости, если
config.is_encoder_decoder=True, в блоках кросс-внимания), которые можно использовать (см. входной параметрpast_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
router_logits (
tuple(torch.Tensor), необязательный, возвращается, если переданыoutput_router_probs=Trueиconfig.add_router_probs=Trueили еслиconfig.output_router_probs=True) — Кортежtorch.Tensor(по одному для каждого слоя) формы(batch_size, sequence_length, num_experts).Сырые логиты роутера (после softmax), вычисляемые роутерами MoE; эти значения используются для вычисления вспомогательной функции потерь в моделях Mixture of Experts.
Qwen3OmniMoeThinkerForConditionalGeneration
класс transformers.Qwen3OmniMoeThinkerForConditionalGeneration
< source >( config: Qwen3OmniMoeThinkerConfig )
forward
< source >( input_ids = Noneinput_features = Nonepixel_values = Nonepixel_values_videos = Noneimage_grid_thw = Nonevideo_grid_thw = Noneattention_mask = Nonefeature_attention_mask = Noneaudio_feature_lengths = Noneposition_ids = Nonepast_key_values = Noneinputs_embeds = Nonelabels = Noneuse_cache = Noneoutput_router_logits: bool | None = Noneuse_audio_in_video = Nonevideo_second_per_grid = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs ) → MoeCausalLMOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (`
of shape(batch_size, sequence_length)`) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- input_features (`
of shape(batch_size, sequence_length, feature_dim)`) — Тензоры, соответствующие входным аудиопризнакам. Аудиопризнаки можно получить с помощью WhisperFeatureExtractor. Подробности см. в WhisperFeatureExtractor.call() (Qwen3OmniMoeProcessor использует WhisperFeatureExtractor для обработки аудио). - pixel_values (`
of shape(batch_size, num_channels, image_size, image_size)`) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Qwen2VLImageProcessor. Подробности см. в Qwen2VLImageProcessor.call() (Qwen3OmniMoeProcessor использует Qwen2VLImageProcessor для обработки изображений). - pixel_values_videos (`
of shape(batch_size, num_frames, num_channels, frame_size, frame_size)`) — Тензоры, соответствующие входному видео. Значения пикселей для видео можно получить с помощью Qwen2VLVideoProcessor. Подробности см. в Qwen2VLVideoProcessor.call() (Qwen3OmniMoeProcessor использует Qwen2VLVideoProcessor для обработки видео). - image_grid_thw (`
of shape(num_images, 3)`) — Временное, вертикальное и горизонтальное размеры формы признаков каждого изображения в LLM. - video_grid_thw (`
of shape(num_videos, 3)`) — Временное, вертикальное и горизонтальное разрешение формы признаков каждого видео в LLM. - attention_mask (`
of shape(batch_size, sequence_length)) -- Mask to avoid performing attention on padding token indices. Mask values selected in[0, 1]`:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- feature_attention_mask (
torch.Tensorформы(batch_size, feature_sequence_length), , необязательный) — Маска для исключения padding-индексов признаков из вычислений внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- audio_feature_lengths (
torch.LongTensorформы(num_audios), необязательный) — Длина формы признаков каждого аудио в LLM. - position_ids (`
of shape(batch_size, sequence_length) -- Indices of positions of each input sequence tokens in the position embeddings. Selected in the range[0, config.n_positions - 1`. - past_key_values (`
) -- Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention blocks) that can be used to speed up sequential decoding. This typically consists in thepast_key_valuesreturned by the model at a previous stage of decoding, whenuse_cache=Trueorconfig.use_cache=True`.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - inputs_embeds (`
of shape(batch_size, sequence_length, hidden_size)) -- Optionally, instead of passinginput_idsyou can choose to directly pass an embedded representation. This is useful if you want more control over how to convertinput_ids` indices into associated vectors than the model’s internal embedding lookup matrix. - labels (`
of shape(batch_size, sequence_length)) -- Labels for computing the masked language modeling loss. Indices should either be in[0, …, config.vocab_size]or -100 (seeinput_idsdocstring). Tokens with indices set to-100are ignored (masked), the loss is only computed for the tokens with labels in[0, …, config.vocab_size]`. - use_cache (`
) -- If set toTrue,past_key_valueskey value states are returned and can be used to speed up decoding (seepast_key_values`). - output_router_logits (
bool, необязательный) — Указывает, следует ли возвращать логиты всех роутеров. Они полезны для вычисления потерь роутера и не должны возвращаться во время инференса. - use_audio_in_video (
bool, необязательный) — Использовать ли звуковую дорожку в видео; должно совпадать с параметром вprocess_audio_info. - video_second_per_grid (
torch.LongTensorформы(num_videos), необязательный) — Количество секунд на сетку для каждого видео, используется для временного отображения признаков. - mm_encoder_outputs (
dict[str, ~modeling_outputs.BaseModelOutputWithPooling], необязательный) — Словарь, где ключами являются поддерживаемые модальности, а значениями — закодированные результаты для соответствующей модальности. Каждый закодированный результат представляет собой кортеж вида (pooler_output, необязательный:last_hidden_states, необязательный:hidden_states, необязательный:attentions)pooler_outputформы(batch_size, sequence_length, hidden_size), необязательный) — последовательность мультимодальных признаков энкодера, объединённых с текстовыми эмбеддингами.
Возвращает
MoeCausalLMOutputWithPast или tuple(torch.Tensor)
MoeCausalLMOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward класса Qwen3OmniMoeThinkerForConditionalGeneration переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
loss (
torch.Tensorформы(1,), необязательный, возвращается, если заданlabels) — Потери языковой модели (для предсказания следующего токена).logits (
torch.Tensorформы(batch_size, sequence_length, config.vocab_size)) — Оценки предсказаний языковой модели (оценки для каждого токена словаря до применения SoftMax).aux_loss (
torch.Tensor, необязательный, возвращается при передачеoutput_router_logits=Trueили приconfig.output_router_logits=True, если модель обучает свой роутер с потерей балансировки нагрузки) — вспомогательная потеря балансировки нагрузки для разреженных модулей. Модели, которые балансируют своих экспертов с помощью смещения роутера (DeepSeek-V3 и архитектуры, производные от него), возвращают здесьNone, но при этом всё равно возвращаютrouter_logits.router_logits (
tuple(torch.Tensor), необязательный, возвращается при передачеoutput_router_logits=Trueили когдаconfig.output_router_logits=True) — Кортежtorch.Tensor(по одному для каждого разреженного слоя) формы(batch_size * sequence_length, num_experts).Сырые логиты маршрутизатора, вычисленные маршрутизаторами MoE. Их можно использовать для вычисления потерь сбалансированности нагрузки или для анализа того, как токены распределяются между экспертами.
past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания), которые можно использовать (см. вход
past_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Пример:
>>> from transformers import Qwen3OmniMoeProcessor, Qwen3OmniMoeThinkerForConditionalGeneration
>>> thinker = Qwen3OmniMoeThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-Omni-7B")
>>> processor = Qwen3OmniMoeProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")
>>> conversations = [
>>> {'role': 'system', 'content': 'You are a helpful voice chat bot, and please respond to me in a casual conversation manner using random voice.'},
>>> {"role": "user", "content": [
>>> {"type": "image", "image": "https://www.ilankelman.org/stopsigns/australia.jpg"},
>>> {"type": "audio", "audio": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/audio/glass_breaking.mp3"},
>>> ]},
>>> ]
>>> inputs = processor.apply_chat_template(
conversations,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt"
)
>>> # Generate
>>> generation = thinker.generate(**inputs, max_new_tokens=2048)
>>> generate_ids = generation[:, inputs.input_ids.size(1):]
>>> response = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]get_audio_features
< source >( input_features: Tensorfeature_attention_mask: typing.Optional[torch.LongTensor] = Noneaudio_feature_lengths: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- input_features (
torch.Tensor) — Тензоры, соответствующие входным аудио. - feature_attention_mask (
torch.LongTensor, необязательный) — Маска для исключения применения внимания к позициям заполнителей в признаках. Значения маски выбираются из[0, 1]: - audio_feature_lengths (
torch.LongTensorформы(num_audios), необязательный) — Длина формы признаков каждого аудио в LLM.
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Пример:
>>> from PIL import Image
>>> from transformers import AutoProcessor, Qwen3OmniMoeThinkerForConditionalGeneration
>>> model = Qwen3OmniMoeThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
>>> messages = [
... {
... "role": "user", "content": [
... {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
... {"type": "text", "text": "Where is the cat standing?"},
... ]
... },
... ]
>>> inputs = processor.apply_chat_template(
... messages,
... tokenize=True,
... return_dict=True,
... return_tensors="pt",
... add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]get_image_features
< source >( pixel_values: Tensorimage_grid_thw: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithDeepstackFeatures or tuple(torch.Tensor)
Параметры
- pixel_values (
torch.Tensorформы(batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным изображениям. - image_grid_thw (
torch.LongTensorформы(num_images, 3), необязательный) — Временное, высотное и широтное размеры формы признаков каждого изображения в LLM.
Возвращает
BaseModelOutputWithDeepstackFeatures или tuple(torch.Tensor)
BaseModelOutputWithDeepstackFeatures или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
deepstack_features (
List[torch.Tensor], необязательный) — Список скрытых состояний (карт признаков) из слоёв deepstack.
Пример:
>>> from PIL import Image
>>> from transformers import AutoProcessor, Qwen3OmniMoeThinkerForConditionalGeneration
>>> model = Qwen3OmniMoeThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
>>> messages = [
... {
... "role": "user", "content": [
... {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
... {"type": "text", "text": "Where is the cat standing?"},
... ]
... },
... ]
>>> inputs = processor.apply_chat_template(
... messages,
... tokenize=True,
... return_dict=True,
... return_tensors="pt",
... add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]get_video_features
< source >( pixel_values_videos: Tensorvideo_grid_thw: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithDeepstackFeatures or tuple(torch.Tensor)
Параметры
- pixel_values_videos (
torch.Tensorформы(batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным видео. - video_grid_thw (
torch.LongTensorформы(num_videos, 3), необязательный) — Временное, вертикальное и горизонтальное размеры формы признаков каждого видео в LLM.
Возвращает
BaseModelOutputWithDeepstackFeatures или tuple(torch.Tensor)
BaseModelOutputWithDeepstackFeatures или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
deepstack_features (
List[torch.Tensor], необязательный) — Список скрытых состояний (карт признаков) из слоёв deepstack.
Пример:
>>> from PIL import Image
>>> from transformers import AutoProcessor, Qwen3OmniMoeThinkerForConditionalGeneration
>>> model = Qwen3OmniMoeThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen3-Omni-30B-A3B-Instruct")
>>> messages = [
... {
... "role": "user", "content": [
... {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
... {"type": "text", "text": "Where is the cat standing?"},
... ]
... },
... ]
>>> inputs = processor.apply_chat_template(
... messages,
... tokenize=True,
... return_dict=True,
... return_tensors="pt",
... add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]Qwen3OmniMoeTalkerForConditionalGeneration
класс transformers.Qwen3OmniMoeTalkerForConditionalGeneration
< source >( config: Qwen3OmniMoeTalkerConfig )
Параметры
- config (Qwen3OmniMoeTalkerConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Qwen3 Omni Moe для генерации токенов с условием на другие модальности (например, генерация текста из изображения и текста).
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids = Noneattention_mask = Noneuse_audio_in_video = Noneaudio_feature_lengths = Nonevideo_second_per_grid = Noneimage_grid_thw = Nonevideo_grid_thw = Noneposition_ids = Nonepast_key_values = Noneinputs_embeds = Nonelabels = Noneuse_cache = Noneoutput_router_logits = Noneresidual_codes = Nonetrailing_text_hidden = Nonetts_pad_embed = Nonegeneration_step = Nonetalker_input_ids = None**kwargs ) → MoeCausalLMOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (`
of shape(batch_size, sequence_length)`) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- attention_mask (`
of shape(batch_size, sequence_length)) -- Mask to avoid performing attention on padding token indices. Mask values selected in[0, 1]`:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- use_audio_in_video (
bool, необязательный) — Если установлено вTrue, используется звук из видео. - audio_feature_lengths (
torch.LongTensorформы(num_audios), необязательный) — Длина формы признаков каждого аудио в LLM. - video_second_per_grid (
torch.LongTensorформы(num_videos), необязательный) — Количество секунд на сетку для каждого видео, используется для временного отображения признаков. - image_grid_thw (`
of shape(num_images, 3)`) — Временное, вертикальное и горизонтальное размеры формы признаков каждого изображения в LLM. - video_grid_thw (`
of shape(num_videos, 3)`) — Временное, вертикальное и горизонтальное разрешение формы признаков каждого видео в LLM. - position_ids (`
of shape(batch_size, sequence_length) -- Indices of positions of each input sequence tokens in the position embeddings. Selected in the range[0, config.n_positions - 1`. - past_key_values (`
) -- Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention blocks) that can be used to speed up sequential decoding. This typically consists in thepast_key_valuesreturned by the model at a previous stage of decoding, whenuse_cache=Trueorconfig.use_cache=True`.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - inputs_embeds (`
of shape(batch_size, sequence_length, hidden_size)) -- Optionally, instead of passinginput_idsyou can choose to directly pass an embedded representation. This is useful if you want more control over how to convertinput_ids` indices into associated vectors than the model’s internal embedding lookup matrix. - labels (`
of shape(batch_size, sequence_length)) -- Labels for computing the masked language modeling loss. Indices should either be in[0, …, config.vocab_size]or -100 (seeinput_idsdocstring). Tokens with indices set to-100are ignored (masked), the loss is only computed for the tokens with labels in[0, …, config.vocab_size]`. - use_cache (`
) -- If set toTrue,past_key_valueskey value states are returned and can be used to speed up decoding (seepast_key_values`). - output_router_logits (“) — Указывает, следует ли возвращать логиты всех роутеров. Они полезны для вычисления потерь роутера и не должны возвращаться во время инференса.
- residual_codes (
torch.Tensor) — Предсказанные остаточные коды предыдущего шага. - trailing_text_hidden (
torch.Tensor) — Скрытые состояния текста от thinker после первого токена. - tts_pad_embed (
torch.Tensor) — Тензор эмбеддингов дляtts_pad_token_id. - generation_step (
int) — Шаг генерации после prefill, используется для синхронизации сtrailing_text_hidden. - talker_input_ids (
torch.Tensor) — Входные идентификаторы от thinker, используемые для вычисления 3d RoPE.
Возвращает
MoeCausalLMOutputWithPast или tuple(torch.Tensor)
MoeCausalLMOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward класса Qwen3OmniMoeTalkerForConditionalGeneration переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
loss (
torch.Tensorформы(1,), необязательный, возвращается, если заданlabels) — Потери языковой модели (для предсказания следующего токена).logits (
torch.Tensorформы(batch_size, sequence_length, config.vocab_size)) — Оценки предсказаний языковой модели (оценки для каждого токена словаря до применения SoftMax).aux_loss (
torch.Tensor, необязательный, возвращается при передачеoutput_router_logits=Trueили приconfig.output_router_logits=True, если модель обучает свой роутер с потерей балансировки нагрузки) — вспомогательная потеря балансировки нагрузки для разреженных модулей. Модели, которые балансируют своих экспертов с помощью смещения роутера (DeepSeek-V3 и архитектуры, производные от него), возвращают здесьNone, но при этом всё равно возвращаютrouter_logits.router_logits (
tuple(torch.Tensor), необязательный, возвращается при передачеoutput_router_logits=Trueили когдаconfig.output_router_logits=True) — Кортежtorch.Tensor(по одному для каждого разреженного слоя) формы(batch_size * sequence_length, num_experts).Сырые логиты маршрутизатора, вычисленные маршрутизаторами MoE. Их можно использовать для вычисления потерь сбалансированности нагрузки или для анализа того, как токены распределяются между экспертами.
past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания), которые можно использовать (см. вход
past_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Qwen3OmniMoePreTrainedModel
класс transformers.Qwen3OmniMoePreTrainedModel
< source >( config: PreTrainedConfig*inputs**kwargs )
Параметры
- config (PreTrainedConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
Qwen3OmniMoePreTrainedModelForConditionalGeneration
класс transformers.Qwen3OmniMoePreTrainedModelForConditionalGeneration
< source >( config: PreTrainedConfig*inputs**kwargs )
get_chunked_index
< source >( token_indices: Tensortokens_per_chunk: intremove_index: int ) → list[tuple[int, int]]
Параметры
- token_indices (
torch.Tensorформы(seq_len, )) — монотонно возрастающий список значений индексов токенов. - t_ntoken_per_chunk (
int) — Количество токенов в каждом чанке (используется как пороговое значение размера чанка). - remove_index (
int) — идентификатор индекса, который вычитается изtoken_indicesперед разбиением на блоки —
Возвращает
list[tuple[int, int]]
Список кортежей, каждый из которых представляет собой начальный (включительно) и конечный (не включительно) индексы фрагмента в token_indices.
Разбивает список индексов токенов на блоки на основе диапазонов значений токенов.
По списку индексов токенов возвращает список кортежей (start, end), представляющих срезы списка, в которых значения токенов попадают в последовательные диапазоны по t_ntoken_per_chunk токенов.
Например, если t_ntoken_per_chunk равно 1000, функция создаст фрагменты так, что:
- первый фрагмент содержит значения токенов < 1000,
- второй фрагмент содержит значения >= 1000 и < 2000, и так далее.
get_rope_index
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneimage_grid_thw: typing.Optional[torch.LongTensor] = Nonevideo_grid_thw: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneuse_audio_in_video: bool = Falseaudio_seqlens: typing.Optional[torch.LongTensor] = Nonesecond_per_grids: typing.Optional[torch.Tensor] = None )
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length)) — Индексы токенов входной последовательности в словаре. По умолчанию заполняющие токены (padding) игнорируются, если вы их предоставляете. - image_grid_thw (
torch.LongTensorформы(num_images, 3), необязательный) — Временное, высотное и широтное размеры формы признаков каждого изображения в LLM. - video_grid_thw (
torch.LongTensorформы(num_videos, 3), необязательный) — Временное, вертикальное и горизонтальное размеры формы признаков каждого видео в LLM. - attention_mask (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- use_audio_in_video (
bool, необязательный) — Если установлено вTrue, используется звук из видео. - audio_seqlens (
torch.LongTensorформы(num_audios), необязательный) — Длина формы признаков каждого аудио в LLM. - second_per_grids (
torch.LongTensorформы(num_videos), необязательный) — Временной интервал (в секундах) для каждой сетки вдоль временного измерения в 3D-идентификаторах позиций.
Вычислите 3D rope index на основе временного, вертикального и горизонтального размеров изображения и видео в LLM.
Пояснение: Каждая последовательность эмбеддингов содержит эмбеддинги изображения и эмбеддинги текста или только эмбеддинги текста.
Для последовательности чистого текста ротационное позиционное вложение не отличается от используемого в современных LLM. Примеры: input_ids: [T T T T T], где T обозначает текст. temporal position_ids: [0, 1, 2, 3, 4] height position_ids: [0, 1, 2, 3, 4] width position_ids: [0, 1, 2, 3, 4]
Для последовательности встраиваний изображения и текста мы вычисляем 3D-вращательное позиционное встраивание для визуальной части и 1D-вращательное позиционное встраивание для текстовой части. Примеры: Временна́я ось (Time): 3 патча, представляющие различные сегменты видео во времени. Высота: 2 патча, делящие каждый кадр по вертикали. Ширина: 2 патча, делящие каждый кадр по горизонтали. У нас также есть несколько важных параметров: fps (Frames Per Second): частота кадров видео, установленная в 1. Это означает, что обрабатывается один кадр в секунду. tokens_per_second: это ключевой параметр. Он определяет, сколько «шагов времени» или «временных токенов» концептуально упаковано в интервал в одну секунду видео. В данном случае у нас 25 токенов в секунду. Таким образом, каждая секунда видео будет представлена 25 отдельными временными точками. По сути, он определяет временное разрешение. temporal_patch_size: количество кадров, из которых состоит один временной патч. Здесь это 2 кадра. interval: размер шага для временных позиционных ID, рассчитывается как tokens_per_second temporal_patch_size / fps. В данном случае 25 2 / 1 = 50. Это означает, что для каждого временного патча разница во временных позиционных ID составит 50. input_ids: [V V V V V V V V V V V V T T T T T], где V — это визуальные токены. vision temporal position_ids: [0, 0, 0, 0, 50, 50, 50, 50, 100, 100, 100, 100] vision height position_ids: [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1] vision width position_ids: [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1] text temporal position_ids: [101, 102, 103, 104, 105] text height position_ids: [101, 102, 103, 104, 105] text width position_ids: [101, 102, 103, 104, 105] Здесь мы вычисляем начальные позиционные ID для текста как максимальные визуальные позиционные ID плюс 1.
Qwen3OmniMoeTalkerModel
класс transformers.Qwen3OmniMoeTalkerModel
< source >( config: Qwen3OmniMoeTalkerTextConfig )
Параметры
- config (Qwen3OmniMoeTalkerTextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
Текстовая часть Qwen3OmniMoe, а не чисто текстовая модель, поскольку DeepStack интегрирует визуальные признаки в ранние скрытые состояния.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Nonevisual_pos_masks: typing.Optional[torch.Tensor] = Nonedeepstack_visual_embeds: list[torch.Tensor] | None = None**kwargs: *<class 'transformers.modeling_flash_attention_utils.FlashAttentionKwargs'> ) → MoeModelOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- 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). - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - use_cache (
bool, необязательный) — Если установлено вTrue, возвращаются состояния ключей и значенийpast_key_values, которые можно использовать для ускорения декодирования (см.past_key_values). - visual_pos_masks (
torch.Tensorформы(batch_size, seqlen), необязательный) — Маска визуальных позиций. - deepstack_visual_embeds (
list[torch.Tensor], необязательный) — Визуальные эмбеддинги deepstack. Форма: (num_layers, visual_seqlen, embed_dim). Особенность извлекается из различных слоев визуального энкодера и подается в скрытые состояния декодера. Описана в статье DeepStack(https://arxiv.org/abs/2406.04334).
Возвращает
MoeModelOutputWithPast или tuple(torch.Tensor)
MoeModelOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward модели Qwen3OmniMoeTalkerModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания и, при необходимости, если
config.is_encoder_decoder=True, в блоках кросс-внимания), которые можно использовать (см. входной параметрpast_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
router_logits (
tuple(torch.Tensor), необязательный, возвращается, если переданыoutput_router_probs=Trueиconfig.add_router_probs=Trueили еслиconfig.output_router_probs=True) — Кортежtorch.Tensor(по одному для каждого слоя) формы(batch_size, sequence_length, num_experts).Сырые логиты роутера (после softmax), вычисляемые роутерами MoE; эти значения используются для вычисления вспомогательной функции потерь в моделях Mixture of Experts.
Qwen3OmniMoeThinkerTextPreTrainedModel
класс transformers.Qwen3OmniMoeThinkerTextPreTrainedModel
< source >( config: PreTrainedConfig*inputs**kwargs )
Параметры
- config (PreTrainedConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
Qwen3OmniMoeProcessor
класс transformers.Qwen3OmniMoeProcessor
< source >( image_processor = Nonevideo_processor = Nonefeature_extractor = Nonetokenizer = Nonechat_template = None )
Параметры
- image_processor (
Qwen2VLImageProcessor) — Обработчик изображений является обязательным входным параметром. - video_processor (
Qwen2VLVideoProcessor) — Обработчик видео является обязательным входным параметром. - feature_extractor (
WhisperFeatureExtractor) — Извлечение признаков является обязательным входом. - tokenizer (
Qwen2Tokenizer) — Токенизатор является обязательным входным параметром. - chat_template (
str) — Jinja-шаблон для преобразования списков сообщений в чате в строку, пригодную для токенизации.
Создаёт Qwen3OmniMoeProcessor, который объединяет процессор изображений, процессор видео, извлекатель признаков и токенизатор в единый процессор.
Qwen3OmniMoeProcessor предоставляет все возможности Qwen2VLImageProcessor, Qwen2VLVideoProcessor, WhisperFeatureExtractor и Qwen2Tokenizer. Подробнее см. в документации ~Qwen2VLImageProcessor, ~Qwen2VLVideoProcessor, ~WhisperFeatureExtractor и ~Qwen2Tokenizer.
__call__
< source >( text: str | list[str] | list[list[str]] = Noneimages: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.models.qwen3_omni_moe.processing_qwen3_omni_moe.Qwen3OmniMoeProcessorKwargs'> ) → ~feature_extraction_utils.BatchFeature
Параметры
- text (
Union[str, list[str], list[list[str]]], необязательный) — Последовательность или батч последовательностей для кодирования. Каждая последовательность может быть строкой или списком строк (предварительно токенизированная строка). Если вы передаёте предварительно токенизированный вход, установитеis_split_into_words=True, чтобы избежать неоднозначности с батчированными входами. - images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], необязательный) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - videos (
Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], необязательный) — Видео для предобработки. Ожидается одно видео или батч видео со значениями пикселей в диапазоне от 0 до 255. Если передаются видео со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], необязательный) — Аудио или пакет аудио, подлежащий подготовке. Каждое аудио может быть массивом NumPy или тензором PyTorch. В случае массива NumPy/тензора PyTorch каждое аудио должно иметь форму (C, T), где C — количество каналов, а T — длина выборки аудио. - min_pixels (
int, kwargs, optional) — Минимальное количество пикселей (высота × ширина) для кадров видео после изменения размера. Кадр, размер которого меньше этого порога, будет увеличен до минимально допустимого значения. - max_pixels (
int, kwargs, optional) — Максимальное количество пикселей (высота × ширина) для кадров видео после изменения размера. Кадр, превышающий этот порог, будет уменьшен до соответствия лимиту. - patch_size (
int, kwargs, optional) — Пространственный размер патча, используемый визуальным энкодером. Кадры видео делятся на патчи этого размера по обеим осям: высоте и ширине. - temporal_patch_size (
int, kwargs, optional) — Размер временного патча, используемого визуальным энкодером. Определяет, сколько последовательных кадров группируются в один временной патч. - merge_size (
int, kwargs, optional) — Размер слияния, используемый для объединения пространственных патчей. Несколько патчей объединяются вместе, чтобы сократить длину последовательности, сохраняя при этом пространственную информацию. - min_frames (
int, kwargs, optional) — Минимальное количество кадров, которое нужно извлечь из видео. Если в видео меньше кадров, они будут дополнены или продублированы, чтобы выполнить это требование. - max_frames (
int, kwargs, optional) — Максимальное количество кадров, извлекаемых из видео. Более длинные видео будут обрезаны или выборочно сэмплированы, чтобы уложиться в этот лимит. - use_audio_in_video (
bool, kwargs, необязательный, по умолчаниюFalse) — Устаревший аргумент — используйтеload_audio_from_video. - load_audio_from_video (
bool, kwargs, optional, по умолчаниюFalse) — Определяет, следует ли использовать аудиоданные при обработке видео. Если включено, аудио-токены чередуются с видео-токенами на основе временного выравнивания, формируя единое мультимодальное представление. - seconds_per_chunk (
float, kwargs, optional, по умолчанию2.0) — Длительность (в секундах) каждого фрагмента видео при разбиении длинных видео. Этот параметр управляет тем, как видео разделяется на временные сегменты для обработки. - position_id_per_seconds (
int, kwargs orfloat, optional, по умолчанию25) — Количество идентификаторов позиций, выделяемых на каждую секунду видео. Этот параметр управляет временным разрешением позиционных эмбеддингов и используется для выравнивания токенов видео с токенами аудио, когдаuse_audio_in_video=True. - return_tensors (
strили TensorType, необязательный) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:'pt': возвращает объектыtorch.TensorPyTorch.'np': возвращает объекты NumPynp.ndarray.
- **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
Возвращает
~feature_extraction_utils.BatchFeature
- data (
dict, необязательный) — Словарь списков/массивов/тензоров, возвращаемый методами call/pad (‘input_values’, ‘attention_mask’, и т. д.). - tensor_type (
Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy. - skip_tensor_conversion (
list[str]илиset[str], необязательный) — список или множество ключей, которые не следует преобразовывать в тензоры, даже если указанtensor_type.
Qwen3OmniMoeCode2Wav
Qwen3OmniMoeCode2WavDecoderBlock
класс transformers.Qwen3OmniMoeCode2WavDecoderBlock
< source >( config: Qwen3OmniMoeCode2WavConfiglayer_idx )
Qwen3OmniMoeCode2WavTransformerModel
класс transformers.Qwen3OmniMoeCode2WavTransformerModel
< source >( config: Qwen3OmniMoeCode2WavConfig )
Параметры
- config (
Qwen3OmniMoeCode2WavConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
Модель Qwen3 Omni Moe без дополнительных компонентов, выводящая необработанные скрытые состояния (raw hidden-states) без какого-либо специализированного слоя (head) сверху.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids = Noneattention_mask = Noneposition_ids = Nonepast_key_values = Noneinputs_embeds = Noneuse_cache = None**kwargs ) → BaseModelOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (`
of shape(batch_size, sequence_length)`) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- attention_mask (`
of shape(batch_size, sequence_length)) -- Mask to avoid performing attention on padding token indices. Mask values selected in[0, 1]`:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- position_ids (`
of shape(batch_size, sequence_length) -- Indices of positions of each input sequence tokens in the position embeddings. Selected in the range[0, config.n_positions - 1`. - past_key_values (`
) -- Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention blocks) that can be used to speed up sequential decoding. This typically consists in thepast_key_valuesreturned by the model at a previous stage of decoding, whenuse_cache=Trueorconfig.use_cache=True`.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - inputs_embeds (`
of shape(batch_size, sequence_length, hidden_size)) -- Optionally, instead of passinginput_idsyou can choose to directly pass an embedded representation. This is useful if you want more control over how to convertinput_ids` indices into associated vectors than the model’s internal embedding lookup matrix. - use_cache (`
) -- If set toTrue,past_key_valueskey value states are returned and can be used to speed up decoding (seepast_key_values`).
Возвращает
BaseModelOutputWithPast или tuple(torch.Tensor)
Объект BaseModelOutputWithPast или кортеж
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward модели Qwen3OmniMoeCode2WavTransformerModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.Если используется
past_key_values, выводится только последнее скрытое состояние последовательностей формы(batch_size, 1, hidden_size).past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания и, при необходимости, если
config.is_encoder_decoder=True, в блоках кросс-внимания), которые можно использовать (см. входной параметрpast_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Qwen3OmniMoeTalkerCodePredictorModel
класс transformers.Qwen3OmniMoeTalkerCodePredictorModel
< source >( config: Qwen3OmniMoeTalkerCodePredictorConfig )
Параметры
- config (Qwen3OmniMoeTalkerCodePredictorConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Qwen3 Omni Moe без дополнительных компонентов, выводящая необработанные скрытые состояния (raw hidden-states) без какого-либо специализированного слоя (head) сверху.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- 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). - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - use_cache (
bool, необязательный) — Если установлено вTrue, возвращаются состояния ключей и значенийpast_key_values, которые можно использовать для ускорения декодирования (см.past_key_values).
Возвращает
BaseModelOutputWithPast или tuple(torch.Tensor)
Объект BaseModelOutputWithPast или кортеж
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward модели Qwen3OmniMoeTalkerCodePredictorModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.Если используется
past_key_values, выводится только последнее скрытое состояние последовательностей формы(batch_size, 1, hidden_size).past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания и, при необходимости, если
config.is_encoder_decoder=True, в блоках кросс-внимания), которые можно использовать (см. входной параметрpast_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Qwen3OmniMoeTalkerCodePredictorModelForConditionalGeneration
класс transformers.Qwen3OmniMoeTalkerCodePredictorModelForConditionalGeneration
< source >( config: Qwen3OmniMoeTalkerCodePredictorConfig )
Параметры
- config (Qwen3OmniMoeTalkerCodePredictorConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Qwen3 Omni Moe для генерации токенов с условием на другие модальности (например, генерация текста из изображения и текста).
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids = Noneattention_mask = Noneposition_ids = Nonepast_key_values = Noneinputs_embeds = Nonelabels = Noneuse_cache = Nonegeneration_steps = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (`
of shape(batch_size, sequence_length)`) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- attention_mask (`
of shape(batch_size, sequence_length)) -- Mask to avoid performing attention on padding token indices. Mask values selected in[0, 1]`:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- position_ids (`
of shape(batch_size, sequence_length) -- Indices of positions of each input sequence tokens in the position embeddings. Selected in the range[0, config.n_positions - 1`. - past_key_values (`
) -- Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention blocks) that can be used to speed up sequential decoding. This typically consists in thepast_key_valuesreturned by the model at a previous stage of decoding, whenuse_cache=Trueorconfig.use_cache=True`.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - inputs_embeds (`
of shape(batch_size, sequence_length, hidden_size)) -- Optionally, instead of passinginput_idsyou can choose to directly pass an embedded representation. This is useful if you want more control over how to convertinput_ids` indices into associated vectors than the model’s internal embedding lookup matrix. - labels (`
of shape(batch_size, sequence_length)) -- Labels for computing the masked language modeling loss. Indices should either be in[0, …, config.vocab_size]or -100 (seeinput_idsdocstring). Tokens with indices set to-100are ignored (masked), the loss is only computed for the tokens with labels in[0, …, config.vocab_size]`. - use_cache (`
) -- If set toTrue,past_key_valueskey value states are returned and can be used to speed up decoding (seepast_key_values`). - generation_steps (
int) — шаг генерации кодового предсказателя, 0..num_code_groups-1
Возвращает
CausalLMOutputWithPast или tuple(torch.Tensor)
Объект CausalLMOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Qwen3OmniMoeConfig) и входных данных.
Метод forward модели Qwen3OmniMoeTalkerCodePredictorModelForConditionalGeneration переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
loss (
torch.Tensorформы(1,), необязательный, возвращается, если заданlabels) — Потери языковой модели (для предсказания следующего токена).logits (
torch.Tensorформы(batch_size, sequence_length, config.vocab_size)) — Оценки предсказаний языковой модели (оценки для каждого токена словаря до применения SoftMax).past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания), которые можно использовать (см. вход
past_key_values) для ускорения последовательного декодирования.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.