Transformers documentation

Qwen3-Omni-MOE

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

and get access to the augmented documentation experience

to get started

Эта модель была опубликована в HF papers 22.09.2025 и добавлена в Hugging Face Transformers 21.09.2025.

Qwen3-Omni-MOE

FlashAttention SDPA

Обзор

Модель 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

< >

( 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.config

get_text_config

< >

( decoder = False )

Параметры

  • decoder (Optional[bool], необязательный, по умолчанию False) — Если установлено значение True, выполняется поиск только имён конфигураций декодера.

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

Qwen3OmniMoeThinkerConfig

класс transformers.Qwen3OmniMoeThinkerConfig

< >

( 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.config

Qwen3OmniMoeTalkerConfig

класс transformers.Qwen3OmniMoeTalkerConfig

< >

( 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 configuration

Qwen3OmniMoeTextConfig

класс transformers.Qwen3OmniMoeTextConfig

< >

( 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.config

Qwen3OmniMoeVisionEncoderConfig

класс transformers.Qwen3OmniMoeVisionEncoderConfig

< >

( 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

< >

( 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

< >

( 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.config

Qwen3OmniMoeTalkerCodePredictorConfig

класс transformers.Qwen3OmniMoeTalkerCodePredictorConfig

< >

( 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

класс transformers.Qwen3OmniMoeForConditionalGeneration

< >

( config: Qwen3OmniMoeConfig )

Qwen3OmniMoeThinkerTextModel

класс transformers.Qwen3OmniMoeThinkerTextModel

< >

( config: Qwen3OmniMoeTextConfig )

Параметры

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

Текстовая часть Qwen3OmniMoeThinker, не являющаяся чисто текстовой моделью, поскольку DeepStack интегрирует визуальные признаки в ранние скрытые состояния.

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

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

forward

< >

( 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

< >

( config: Qwen3OmniMoeThinkerConfig )

Параметры

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

Модель Qwen2.5OmniThinker, состоящая из аудио-бэкбона и языковой модели.

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

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

forward

< >

( 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 the past_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 passing input_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 to True, 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

< >

( config: Qwen3OmniMoeThinkerConfig )

forward

< >

( 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 the past_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 passing input_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 to True, 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

< >

( 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

< >

( 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

< >

( 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

< >

( config: Qwen3OmniMoeTalkerConfig )

Параметры

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

Модель Qwen3 Omni Moe для генерации токенов с условием на другие модальности (например, генерация текста из изображения и текста).

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

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

forward

< >

( 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 the past_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 passing input_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 to True, 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

< >

( config: PreTrainedConfig*inputs**kwargs )

Параметры

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

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

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

Qwen3OmniMoePreTrainedModelForConditionalGeneration

класс transformers.Qwen3OmniMoePreTrainedModelForConditionalGeneration

< >

( config: PreTrainedConfig*inputs**kwargs )

get_chunked_index

< >

( 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

< >

( 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

< >

( config: Qwen3OmniMoeTalkerTextConfig )

Параметры

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

Текстовая часть Qwen3OmniMoe, а не чисто текстовая модель, поскольку DeepStack интегрирует визуальные признаки в ранние скрытые состояния.

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

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

forward

< >

( 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

< >

( config: PreTrainedConfig*inputs**kwargs )

Параметры

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

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

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

Qwen3OmniMoeProcessor

класс transformers.Qwen3OmniMoeProcessor

< >

( 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__

< >

( 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 or float, optional, по умолчанию 25) — Количество идентификаторов позиций, выделяемых на каждую секунду видео. Этот параметр управляет временным разрешением позиционных эмбеддингов и используется для выравнивания токенов видео с токенами аудио, когда use_audio_in_video=True.
  • return_tensors (str или TensorType, необязательный) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:
    • 'pt': возвращает объекты torch.Tensor PyTorch.
    • 'np': возвращает объекты NumPy np.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

класс transformers.Qwen3OmniMoeCode2Wav

< >

( config: Qwen3OmniMoeCode2WavConfig )

Qwen3OmniMoeCode2WavDecoderBlock

класс transformers.Qwen3OmniMoeCode2WavDecoderBlock

< >

( config: Qwen3OmniMoeCode2WavConfiglayer_idx )

Qwen3OmniMoeCode2WavTransformerModel

класс transformers.Qwen3OmniMoeCode2WavTransformerModel

< >

( config: Qwen3OmniMoeCode2WavConfig )

Параметры

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

Модель Qwen3 Omni Moe без дополнительных компонентов, выводящая необработанные скрытые состояния (raw hidden-states) без какого-либо специализированного слоя (head) сверху.

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

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

forward

< >

( 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 the past_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 passing input_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 to True, 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

< >

( config: Qwen3OmniMoeTalkerCodePredictorConfig )

Параметры

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

Модель Qwen3 Omni Moe без дополнительных компонентов, выводящая необработанные скрытые состояния (raw hidden-states) без какого-либо специализированного слоя (head) сверху.

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

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

forward

< >

( 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

< >

( config: Qwen3OmniMoeTalkerCodePredictorConfig )

Параметры

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

Модель Qwen3 Omni Moe для генерации токенов с условием на другие модальности (например, генерация текста из изображения и текста).

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

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

forward

< >

( 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 the past_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 passing input_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 to True, 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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

Update on GitHub