Audio-Text-to-Text
Transformers
Safetensors
qwen2_5_omni
text-to-audio
audio
audio-question-answering
audio-classification
candidate-scoring
Instructions to use shlv/AudioJev with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use shlv/AudioJev with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("shlv/AudioJev") model = AutoModelForMultimodalLM.from_pretrained("shlv/AudioJev", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Release AudioJev RD-SKL lambda=0.5 seed=20261001
Browse filesFixed final general-stage checkpoint after 4096 training updates. Original FP32 weight shards, tokenizer/processor, model card, Qwen Research License, and tested candidate-probability example.
- LICENSE +53 -0
- Notice +14 -0
- README.md +104 -0
- added_tokens.json +24 -0
- chat_template.jinja +7 -0
- config.json +637 -0
- evaluation_results.json +37 -0
- generation_config.json +4 -0
- merges.txt +0 -0
- model-00001-of-00005.safetensors +3 -0
- model-00002-of-00005.safetensors +3 -0
- model-00003-of-00005.safetensors +3 -0
- model-00004-of-00005.safetensors +3 -0
- model-00005-of-00005.safetensors +3 -0
- model.safetensors.index.json +0 -0
- predict.py +136 -0
- preprocessor_config.json +31 -0
- release_manifest.json +117 -0
- requirements.txt +9 -0
- special_tokens_map.json +38 -0
- spk_dict.pt +3 -0
- tokenizer_config.json +223 -0
- training_recipe.json +61 -0
- video_preprocessor_config.json +55 -0
- vocab.json +0 -0
LICENSE
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Qwen RESEARCH LICENSE AGREEMENT
|
| 2 |
+
|
| 3 |
+
Qwen RESEARCH LICENSE AGREEMENT Release Date: September 19, 2024
|
| 4 |
+
|
| 5 |
+
By clicking to agree or by using or distributing any portion or element of the Qwen Materials, you will be deemed to have recognized and accepted the content of this Agreement, which is effective immediately.
|
| 6 |
+
|
| 7 |
+
1. Definitions
|
| 8 |
+
a. This Qwen RESEARCH LICENSE AGREEMENT (this "Agreement") shall mean the terms and conditions for use, reproduction, distribution and modification of the Materials as defined by this Agreement.
|
| 9 |
+
b. "We" (or "Us") shall mean Alibaba Cloud.
|
| 10 |
+
c. "You" (or "Your") shall mean a natural person or legal entity exercising the rights granted by this Agreement and/or using the Materials for any purpose and in any field of use.
|
| 11 |
+
d. "Third Parties" shall mean individuals or legal entities that are not under common control with us or you.
|
| 12 |
+
e. "Qwen" shall mean the large language models, and software and algorithms, consisting of trained model weights, parameters (including optimizer states), machine-learning model code, inference-enabling code, training-enabling code, fine-tuning enabling code and other elements of the foregoing distributed by us.
|
| 13 |
+
f. "Materials" shall mean, collectively, Alibaba Cloud's proprietary Qwen and Documentation (and any portion thereof) made available under this Agreement.
|
| 14 |
+
g. "Source" form shall mean the preferred form for making modifications, including but not limited to model source code, documentation source, and configuration files.
|
| 15 |
+
h. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
|
| 16 |
+
i. "Non-Commercial" shall mean for research or evaluation purposes only.
|
| 17 |
+
|
| 18 |
+
2. Grant of Rights
|
| 19 |
+
a. You are granted a non-exclusive, worldwide, non-transferable and royalty-free limited license under Alibaba Cloud's intellectual property or other rights owned by us embodied in the Materials to use, reproduce, distribute, copy, create derivative works of, and make modifications to the Materials FOR NON-COMMERCIAL PURPOSES ONLY.
|
| 20 |
+
b. If you are commercially using the Materials, you shall request a license from us.
|
| 21 |
+
|
| 22 |
+
3. Redistribution
|
| 23 |
+
You may distribute copies or make the Materials, or derivative works thereof, available as part of a product or service that contains any of them, with or without modifications, and in Source or Object form, provided that you meet the following conditions:
|
| 24 |
+
a. You shall give any other recipients of the Materials or derivative works a copy of this Agreement;
|
| 25 |
+
b. You shall cause any modified files to carry prominent notices stating that you changed the files;
|
| 26 |
+
c. You shall retain in all copies of the Materials that you distribute the following attribution notices within a "Notice" text file distributed as a part of such copies: "Qwen is licensed under the Qwen RESEARCH LICENSE AGREEMENT, Copyright (c) Alibaba Cloud. All Rights Reserved."; and
|
| 27 |
+
d. You may add your own copyright statement to your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of your modifications, or for any such derivative works as a whole, provided your use, reproduction, and distribution of the work otherwise complies with the terms and conditions of this Agreement.
|
| 28 |
+
|
| 29 |
+
4. Rules of use
|
| 30 |
+
a. The Materials may be subject to export controls or restrictions in China, the United States or other countries or regions. You shall comply with applicable laws and regulations in your use of the Materials.
|
| 31 |
+
b. If you use the Materials or any outputs or results therefrom to create, train, fine-tune, or improve an AI model that is distributed or made available, you shall prominently display “Built with Qwen” or “Improved using Qwen” in the related product documentation.
|
| 32 |
+
|
| 33 |
+
5. Intellectual Property
|
| 34 |
+
a. We retain ownership of all intellectual property rights in and to the Materials and derivatives made by or for us. Conditioned upon compliance with the terms and conditions of this Agreement, with respect to any derivative works and modifications of the Materials that are made by you, you are and will be the owner of such derivative works and modifications.
|
| 35 |
+
b. No trademark license is granted to use the trade names, trademarks, service marks, or product names of us, except as required to fulfill notice requirements under this Agreement or as required for reasonable and customary use in describing and redistributing the Materials.
|
| 36 |
+
c. If you commence a lawsuit or other proceedings (including a cross-claim or counterclaim in a lawsuit) against us or any entity alleging that the Materials or any output therefrom, or any part of the foregoing, infringe any intellectual property or other right owned or licensable by you, then all licenses granted to you under this Agreement shall terminate as of the date such lawsuit or other proceeding is commenced or brought.
|
| 37 |
+
6. Disclaimer of Warranty and Limitation of Liability
|
| 38 |
+
a. We are not obligated to support, update, provide training for, or develop any further version of the Qwen Materials or to grant any license thereto.
|
| 39 |
+
b. THE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. WE MAKE NO WARRANTY AND ASSUME NO RESPONSIBILITY FOR THE SAFETY OR STABILITY OF THE MATERIALS AND ANY OUTPUT THEREFROM.
|
| 40 |
+
c. IN NO EVENT SHALL WE BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE MATERIALS OR ANY OUTPUT OF IT, NO MATTER HOW IT’S CAUSED.
|
| 41 |
+
d. You will defend, indemnify and hold harmless us from and against any claim by any third party arising out of or related to your use or distribution of the Materials.
|
| 42 |
+
|
| 43 |
+
7. Survival and Termination.
|
| 44 |
+
a. The term of this Agreement shall commence upon your acceptance of this Agreement or access to the Materials and will continue in full force and effect until terminated in accordance with the terms and conditions herein.
|
| 45 |
+
b. We may terminate this Agreement if you breach any of the terms or conditions of this Agreement. Upon termination of this Agreement, you must delete and cease use of the Materials. Sections 6 and 8 shall survive the termination of this Agreement.
|
| 46 |
+
|
| 47 |
+
8. Governing Law and Jurisdiction.
|
| 48 |
+
a. This Agreement and any dispute arising out of or relating to it will be governed by the laws of China, without regard to conflict of law principles, and the UN Convention on Contracts for the International Sale of Goods does not apply to this Agreement.
|
| 49 |
+
b. The People's Courts in Hangzhou City shall have exclusive jurisdiction over any dispute arising out of this Agreement.
|
| 50 |
+
9. Other Terms and Conditions.
|
| 51 |
+
a. Any arrangements, understandings, or agreements regarding the Material not stated herein are separate from and independent of the terms and conditions of this Agreement. You shall request a separate license from us, if you use the Materials in ways not expressly agreed to in this Agreement.
|
| 52 |
+
b. We shall not be bound by any additional or different terms or conditions communicated by you unless expressly agreed.
|
| 53 |
+
|
Notice
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Qwen is licensed under the Qwen RESEARCH LICENSE AGREEMENT, Copyright (c) Alibaba Cloud. All Rights Reserved.
|
| 2 |
+
|
| 3 |
+
Built with Qwen.
|
| 4 |
+
|
| 5 |
+
AudioJev is a derivative of Qwen/Qwen2.5-Omni-3B. The saved Thinker weights were modified through three-stage fine-tuning of the audio and language decision path, using random-derangement paired candidate cross-entropy and aligned symmetric KL (lambda=0.5, seed=20261001, 4096 updates). The visual branch was excluded from training; the Talker is not included.
|
| 6 |
+
|
| 7 |
+
Modified weight files relative to the upstream pretrained model:
|
| 8 |
+
model-00001-of-00005.safetensors
|
| 9 |
+
model-00002-of-00005.safetensors
|
| 10 |
+
model-00003-of-00005.safetensors
|
| 11 |
+
model-00004-of-00005.safetensors
|
| 12 |
+
model-00005-of-00005.safetensors
|
| 13 |
+
|
| 14 |
+
These shards are byte-identical to the evaluated AudioJev checkpoint. The model/configuration and shard layout were saved by the training pipeline. The release corrects the optional total_parameters index metadata to the number of elements actually stored; tensor data and the weight map are unchanged. README.md, predict.py, requirements.txt, training_recipe.json, evaluation_results.json and release_manifest.json document this derivative.
|
README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: qwen-research
|
| 4 |
+
license_link: LICENSE
|
| 5 |
+
base_model: Qwen/Qwen2.5-Omni-3B
|
| 6 |
+
base_model_relation: finetune
|
| 7 |
+
library_name: transformers
|
| 8 |
+
pipeline_tag: audio-text-to-text
|
| 9 |
+
tags:
|
| 10 |
+
- audio
|
| 11 |
+
- audio-question-answering
|
| 12 |
+
- audio-classification
|
| 13 |
+
- candidate-scoring
|
| 14 |
+
- qwen2_5_omni
|
| 15 |
+
- safetensors
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
# AudioJev
|
| 19 |
+
|
| 20 |
+
**Direct audio decisions with order-calibrated candidate probabilities. Built with Qwen.**
|
| 21 |
+
|
| 22 |
+
AudioJev takes an audio waveform, a natural-language question, and a list of candidate descriptions. It returns a probability distribution over those candidates using the next-token logits of their position labels. This release contains the **random-derangement SKL (RD-SKL) model with lambda = 0.5 and training seed = 20261001**, fine-tuned from [Qwen2.5-Omni-3B](https://huggingface.co/Qwen/Qwen2.5-Omni-3B).
|
| 23 |
+
|
| 24 |
+
## Checkpoint
|
| 25 |
+
|
| 26 |
+
| Setting | Value |
|
| 27 |
+
|---|---|
|
| 28 |
+
| Model name | AudioJev |
|
| 29 |
+
| Base model | Qwen/Qwen2.5-Omni-3B |
|
| 30 |
+
| Training seed | 20261001 |
|
| 31 |
+
| SKL weight | 0.5 |
|
| 32 |
+
| Training schedule | Semantic: 1,024 updates; joint: 1,024; general: 2,048 |
|
| 33 |
+
| Total optimizer updates | 4,096 |
|
| 34 |
+
| Released checkpoint | Final general-stage step 2,048 |
|
| 35 |
+
| Checkpoint selection | Fixed final step |
|
| 36 |
+
| Training objective | Mean of two candidate cross-entropies + 0.5 × aligned mean symmetric KL |
|
| 37 |
+
| Weight format | Original FP32 Safetensors shards, approximately 18.8 GB |
|
| 38 |
+
| Recommended inference dtype | BF16 |
|
| 39 |
+
| Candidate labels | `0`–`9`, then `A`–`Z` (2–36 candidates) |
|
| 40 |
+
|
| 41 |
+
The audio encoder and language-model decision path were trained without a LoRA adapter. The visual branch was excluded from training; audio generation is disabled. This repository contains the complete saved Thinker checkpoint and its processor/tokenizer files. The weight shards are byte-identical to the evaluated checkpoint; hashes and release metadata are provided in `release_manifest.json`.
|
| 42 |
+
|
| 43 |
+
For each training example, RD-SKL supervises the original candidate order and a random derangement. The second distribution is aligned by candidate identity before applying symmetric KL. Inference uses one forward pass in the supplied candidate order.
|
| 44 |
+
|
| 45 |
+
## Quick start
|
| 46 |
+
|
| 47 |
+
Use Python 3.10 or later and a CUDA-enabled PyTorch installation. The example was prepared for Transformers 4.57.6.
|
| 48 |
+
|
| 49 |
+
```bash
|
| 50 |
+
hf download shlv/AudioJev --local-dir ./AudioJev
|
| 51 |
+
python -m pip install -r ./AudioJev/requirements.txt
|
| 52 |
+
python ./AudioJev/predict.py \
|
| 53 |
+
--model ./AudioJev \
|
| 54 |
+
--audio ./example.wav \
|
| 55 |
+
--question "Which sound is audible?" \
|
| 56 |
+
--options "A dog barking" "A car horn" "Rain falling"
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
For a private repository, authenticate with `hf auth login` first. Install the download client with `python -m pip install -U huggingface_hub` if `hf` is unavailable.
|
| 60 |
+
|
| 61 |
+
`predict.py` converts audio to mono 16 kHz, uses the training prompt and chat template, extracts the final-position logits, and applies softmax only over the supplied candidate-label tokens. It returns the selected candidate and every candidate probability. Candidate order is preserved. Inputs longer than the evaluated 4,096-token prompt limit are rejected rather than silently truncated.
|
| 62 |
+
|
| 63 |
+
The model and processor can also be loaded directly:
|
| 64 |
+
|
| 65 |
+
```python
|
| 66 |
+
import torch
|
| 67 |
+
from transformers import Qwen2_5OmniForConditionalGeneration, Qwen2_5OmniProcessor
|
| 68 |
+
|
| 69 |
+
model_id = "shlv/AudioJev"
|
| 70 |
+
processor = Qwen2_5OmniProcessor.from_pretrained(model_id, use_fast=False)
|
| 71 |
+
model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
|
| 72 |
+
model_id,
|
| 73 |
+
dtype=torch.bfloat16,
|
| 74 |
+
device_map="auto",
|
| 75 |
+
attn_implementation="sdpa",
|
| 76 |
+
enable_audio_output=False,
|
| 77 |
+
)
|
| 78 |
+
```
|
| 79 |
+
|
| 80 |
+
Use the candidate-logit readout in `predict.py` for AudioJev decisions. The repository's task tag describes the audio-and-text interface; generic text generation does not reproduce the evaluated probability readout.
|
| 81 |
+
|
| 82 |
+
## Evaluation
|
| 83 |
+
|
| 84 |
+
The following scores are for **this single checkpoint in the original candidate order**, not the mean over three training seeds.
|
| 85 |
+
|
| 86 |
+
| Benchmark | Questions | Accuracy |
|
| 87 |
+
|---|---:|---:|
|
| 88 |
+
| MMAU full (1,000 public + 9,000 officially scored hidden questions) | 10,000 | 69.41% |
|
| 89 |
+
| MMAR | 1,000 | 56.30% |
|
| 90 |
+
| MMSU evaluated short-audio subset | 3,931 | 62.45% |
|
| 91 |
+
|
| 92 |
+
`evaluation_results.json` records exact counts and values from the completed evaluation. The experiment's source audit found 119 hidden MMAU questions with audio-source overlap against general-stage fitting/development data; the official full score retains all questions. That score should be interpreted with this overlap in mind.
|
| 93 |
+
|
| 94 |
+
## Scope
|
| 95 |
+
|
| 96 |
+
AudioJev is a closed-set decision model: probabilities are normalized over the candidates supplied by the caller. Provide a suitable fallback explicitly if the application requires one. Order consistency is the training objective; it does not establish that a reported probability equals an empirical correctness rate, and changing candidate order can still change a prediction.
|
| 97 |
+
|
| 98 |
+
The released model is intended for audio-conditioned classification and question answering. Open-ended generation, vision performance, speech generation, and live turn-taking deployment have not been established by this release. Training audio and benchmark answer data are not included.
|
| 99 |
+
|
| 100 |
+
## License and attribution
|
| 101 |
+
|
| 102 |
+
This model is derived from Qwen2.5-Omni-3B and carries the **Qwen Research License Agreement**, supplied in [LICENSE](LICENSE). The upstream agreement grants use for research or evaluation and requires a separate license from Alibaba Cloud for commercial use. See [Notice](Notice) for attribution and a description of modified files.
|
| 103 |
+
|
| 104 |
+
**Built with Qwen.** The original pretrained weights were modified by AudioJev fine-tuning with RD-SKL, lambda 0.5, seed 20261001. This release does not grant rights beyond the applicable upstream terms.
|
added_tokens.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"</tool_call>": 151658,
|
| 3 |
+
"<tool_call>": 151657,
|
| 4 |
+
"<|AUDIO|>": 151646,
|
| 5 |
+
"<|IMAGE|>": 151655,
|
| 6 |
+
"<|VIDEO|>": 151656,
|
| 7 |
+
"<|audio_bos|>": 151647,
|
| 8 |
+
"<|audio_eos|>": 151648,
|
| 9 |
+
"<|box_end|>": 151649,
|
| 10 |
+
"<|endoftext|>": 151643,
|
| 11 |
+
"<|file_sep|>": 151664,
|
| 12 |
+
"<|fim_middle|>": 151660,
|
| 13 |
+
"<|fim_pad|>": 151662,
|
| 14 |
+
"<|fim_prefix|>": 151659,
|
| 15 |
+
"<|fim_suffix|>": 151661,
|
| 16 |
+
"<|im_end|>": 151645,
|
| 17 |
+
"<|im_start|>": 151644,
|
| 18 |
+
"<|quad_end|>": 151651,
|
| 19 |
+
"<|quad_start|>": 151650,
|
| 20 |
+
"<|repo_name|>": 151663,
|
| 21 |
+
"<|vision_bos|>": 151652,
|
| 22 |
+
"<|vision_eos|>": 151653,
|
| 23 |
+
"<|vision_pad|>": 151654
|
| 24 |
+
}
|
chat_template.jinja
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{% set audio_count = namespace(value=0) %}{% set image_count = namespace(value=0) %}{% set video_count = namespace(value=0) %}{% for message in messages %}{% if loop.first and message['role'] != 'system' %}<|im_start|>system
|
| 2 |
+
You are a helpful assistant.<|im_end|>
|
| 3 |
+
{% endif %}<|im_start|>{{ message['role'] }}
|
| 4 |
+
{% if message['content'] is string %}{{ message['content'] }}<|im_end|>
|
| 5 |
+
{% else %}{% for content in message['content'] %}{% if content['type'] == 'image' or 'image' in content or 'image_url' in content %}{% set image_count.value = image_count.value + 1 %}{% if add_vision_id %}Picture {{ image_count.value }}: {% endif %}<|vision_bos|><|IMAGE|><|vision_eos|>{% elif content['type'] == 'audio' or 'audio' in content or 'audio_url' in content %}{% set audio_count.value = audio_count.value + 1 %}{% if add_audio_id %}Audio {{ audio_count.value }}: {% endif %}<|audio_bos|><|AUDIO|><|audio_eos|>{% elif content['type'] == 'video' or 'video' in content %}{% set video_count.value = video_count.value + 1 %}{% if add_vision_id %}Video {{ video_count.value }}: {% endif %}<|vision_bos|><|VIDEO|><|vision_eos|>{% elif 'text' in content %}{{ content['text'] }}{% endif %}{% endfor %}<|im_end|>
|
| 6 |
+
{% endif %}{% endfor %}{% if add_generation_prompt %}<|im_start|>assistant
|
| 7 |
+
{% endif %}
|
config.json
ADDED
|
@@ -0,0 +1,637 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"Qwen2_5OmniForConditionalGeneration"
|
| 4 |
+
],
|
| 5 |
+
"dtype": "float32",
|
| 6 |
+
"enable_audio_output": false,
|
| 7 |
+
"enable_talker": true,
|
| 8 |
+
"model_type": "qwen2_5_omni",
|
| 9 |
+
"talker_config": {
|
| 10 |
+
"_attn_implementation_autoset": true,
|
| 11 |
+
"_name_or_path": "Qwen2.5-Omni-3B/talker",
|
| 12 |
+
"architectures": [
|
| 13 |
+
"Qwen2OmniTalkerForConditionalGeneration"
|
| 14 |
+
],
|
| 15 |
+
"attention_dropout": 0.0,
|
| 16 |
+
"audio_end_token_id": 151648,
|
| 17 |
+
"audio_start_token_id": 151647,
|
| 18 |
+
"audio_token_index": 151646,
|
| 19 |
+
"dtype": "float32",
|
| 20 |
+
"embedding_size": 2048,
|
| 21 |
+
"head_dim": 64,
|
| 22 |
+
"hidden_act": "silu",
|
| 23 |
+
"hidden_size": 896,
|
| 24 |
+
"image_token_index": 151655,
|
| 25 |
+
"init_std": 0.02,
|
| 26 |
+
"initializer_range": 0.02,
|
| 27 |
+
"intermediate_size": 4864,
|
| 28 |
+
"layer_types": [
|
| 29 |
+
"full_attention",
|
| 30 |
+
"full_attention",
|
| 31 |
+
"full_attention",
|
| 32 |
+
"full_attention",
|
| 33 |
+
"full_attention",
|
| 34 |
+
"full_attention",
|
| 35 |
+
"full_attention",
|
| 36 |
+
"full_attention",
|
| 37 |
+
"full_attention",
|
| 38 |
+
"full_attention",
|
| 39 |
+
"full_attention",
|
| 40 |
+
"full_attention",
|
| 41 |
+
"full_attention",
|
| 42 |
+
"full_attention",
|
| 43 |
+
"full_attention",
|
| 44 |
+
"full_attention",
|
| 45 |
+
"full_attention",
|
| 46 |
+
"full_attention",
|
| 47 |
+
"full_attention",
|
| 48 |
+
"full_attention",
|
| 49 |
+
"full_attention",
|
| 50 |
+
"full_attention",
|
| 51 |
+
"full_attention",
|
| 52 |
+
"full_attention"
|
| 53 |
+
],
|
| 54 |
+
"max_position_embeddings": 32768,
|
| 55 |
+
"max_window_layers": 28,
|
| 56 |
+
"model_type": "qwen2_5_omni_talker",
|
| 57 |
+
"num_attention_heads": 14,
|
| 58 |
+
"num_hidden_layers": 24,
|
| 59 |
+
"num_key_value_heads": 2,
|
| 60 |
+
"position_id_per_seconds": 25,
|
| 61 |
+
"rms_norm_eps": 1e-06,
|
| 62 |
+
"rope_scaling": {
|
| 63 |
+
"mrope_section": [
|
| 64 |
+
16,
|
| 65 |
+
16,
|
| 66 |
+
0
|
| 67 |
+
],
|
| 68 |
+
"rope_type": "default",
|
| 69 |
+
"type": "default"
|
| 70 |
+
},
|
| 71 |
+
"rope_theta": 1000000.0,
|
| 72 |
+
"seconds_per_chunk": 2,
|
| 73 |
+
"sliding_window": null,
|
| 74 |
+
"spatial_merge_size": 2,
|
| 75 |
+
"tts_codec_end_token_id": 8294,
|
| 76 |
+
"tts_codec_mask_token_id": 8296,
|
| 77 |
+
"tts_codec_pad_token_id": 8292,
|
| 78 |
+
"tts_codec_start_token_id": 8293,
|
| 79 |
+
"tts_text_end_token_id": 151861,
|
| 80 |
+
"tts_text_pad_token_id": 151859,
|
| 81 |
+
"tts_text_start_token_id": 151860,
|
| 82 |
+
"use_cache": true,
|
| 83 |
+
"use_sliding_window": false,
|
| 84 |
+
"video_token_index": 151656,
|
| 85 |
+
"vision_end_token_id": 151653,
|
| 86 |
+
"vision_start_token_id": 151652,
|
| 87 |
+
"vocab_size": 8448
|
| 88 |
+
},
|
| 89 |
+
"thinker_config": {
|
| 90 |
+
"_attn_implementation_autoset": true,
|
| 91 |
+
"_name_or_path": "Qwen2.5-Omni-3B/thinker",
|
| 92 |
+
"architectures": [
|
| 93 |
+
"Qwen2OmniNaViTThinkerForConditionalGeneration"
|
| 94 |
+
],
|
| 95 |
+
"audio_config": {
|
| 96 |
+
"_attn_implementation_autoset": true,
|
| 97 |
+
"_name_or_path": "",
|
| 98 |
+
"activation_dropout": 0.0,
|
| 99 |
+
"activation_function": "gelu",
|
| 100 |
+
"add_cross_attention": false,
|
| 101 |
+
"architectures": null,
|
| 102 |
+
"attention_dropout": 0.0,
|
| 103 |
+
"bad_words_ids": null,
|
| 104 |
+
"begin_suppress_tokens": null,
|
| 105 |
+
"bos_token_id": null,
|
| 106 |
+
"chunk_size_feed_forward": 0,
|
| 107 |
+
"cross_attention_hidden_size": null,
|
| 108 |
+
"d_model": 1280,
|
| 109 |
+
"decoder_start_token_id": null,
|
| 110 |
+
"diversity_penalty": 0.0,
|
| 111 |
+
"do_sample": false,
|
| 112 |
+
"dropout": 0.0,
|
| 113 |
+
"dtype": null,
|
| 114 |
+
"early_stopping": false,
|
| 115 |
+
"encoder_attention_heads": 20,
|
| 116 |
+
"encoder_ffn_dim": 5120,
|
| 117 |
+
"encoder_layerdrop": 0.0,
|
| 118 |
+
"encoder_layers": 32,
|
| 119 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 120 |
+
"eos_token_id": null,
|
| 121 |
+
"exponential_decay_length_penalty": null,
|
| 122 |
+
"finetuning_task": null,
|
| 123 |
+
"forced_bos_token_id": null,
|
| 124 |
+
"forced_eos_token_id": null,
|
| 125 |
+
"id2label": {
|
| 126 |
+
"0": "LABEL_0",
|
| 127 |
+
"1": "LABEL_1"
|
| 128 |
+
},
|
| 129 |
+
"init_std": 0.02,
|
| 130 |
+
"initializer_range": 0.02,
|
| 131 |
+
"is_decoder": false,
|
| 132 |
+
"is_encoder_decoder": false,
|
| 133 |
+
"label2id": {
|
| 134 |
+
"LABEL_0": 0,
|
| 135 |
+
"LABEL_1": 1
|
| 136 |
+
},
|
| 137 |
+
"length_penalty": 1.0,
|
| 138 |
+
"max_length": 20,
|
| 139 |
+
"max_source_positions": 1500,
|
| 140 |
+
"min_length": 0,
|
| 141 |
+
"model_type": "qwen2_5_omni_audio_encoder",
|
| 142 |
+
"n_window": 100,
|
| 143 |
+
"no_repeat_ngram_size": 0,
|
| 144 |
+
"num_beam_groups": 1,
|
| 145 |
+
"num_beams": 1,
|
| 146 |
+
"num_hidden_layers": 32,
|
| 147 |
+
"num_mel_bins": 128,
|
| 148 |
+
"num_return_sequences": 1,
|
| 149 |
+
"output_attentions": false,
|
| 150 |
+
"output_dim": 2048,
|
| 151 |
+
"output_hidden_states": false,
|
| 152 |
+
"output_scores": false,
|
| 153 |
+
"pad_token_id": null,
|
| 154 |
+
"prefix": null,
|
| 155 |
+
"problem_type": null,
|
| 156 |
+
"pruned_heads": {},
|
| 157 |
+
"remove_invalid_values": false,
|
| 158 |
+
"repetition_penalty": 1.0,
|
| 159 |
+
"return_dict": true,
|
| 160 |
+
"return_dict_in_generate": false,
|
| 161 |
+
"scale_embedding": false,
|
| 162 |
+
"sep_token_id": null,
|
| 163 |
+
"suppress_tokens": null,
|
| 164 |
+
"task_specific_params": null,
|
| 165 |
+
"temperature": 1.0,
|
| 166 |
+
"tf_legacy_loss": false,
|
| 167 |
+
"tie_encoder_decoder": false,
|
| 168 |
+
"tie_word_embeddings": true,
|
| 169 |
+
"tokenizer_class": null,
|
| 170 |
+
"top_k": 50,
|
| 171 |
+
"top_p": 1.0,
|
| 172 |
+
"torchscript": false,
|
| 173 |
+
"typical_p": 1.0,
|
| 174 |
+
"use_bfloat16": false
|
| 175 |
+
},
|
| 176 |
+
"audio_end_token_id": 151648,
|
| 177 |
+
"audio_start_token_id": 151647,
|
| 178 |
+
"audio_token_index": 151646,
|
| 179 |
+
"bos_token_id": 151644,
|
| 180 |
+
"dtype": "float32",
|
| 181 |
+
"eos_token_id": 151645,
|
| 182 |
+
"ignore_index": -100,
|
| 183 |
+
"image_token_index": 151655,
|
| 184 |
+
"init_std": 0.02,
|
| 185 |
+
"initializer_range": 0.02,
|
| 186 |
+
"model_type": "qwen2_5_omni_thinker",
|
| 187 |
+
"pad_token_id": 151643,
|
| 188 |
+
"position_id_per_seconds": 25,
|
| 189 |
+
"seconds_per_chunk": 2,
|
| 190 |
+
"text_config": {
|
| 191 |
+
"_name_or_path": "",
|
| 192 |
+
"add_cross_attention": false,
|
| 193 |
+
"architectures": null,
|
| 194 |
+
"attention_dropout": 0.0,
|
| 195 |
+
"bad_words_ids": null,
|
| 196 |
+
"begin_suppress_tokens": null,
|
| 197 |
+
"bos_token_id": null,
|
| 198 |
+
"chunk_size_feed_forward": 0,
|
| 199 |
+
"cross_attention_hidden_size": null,
|
| 200 |
+
"decoder_start_token_id": null,
|
| 201 |
+
"diversity_penalty": 0.0,
|
| 202 |
+
"do_sample": false,
|
| 203 |
+
"dtype": null,
|
| 204 |
+
"early_stopping": false,
|
| 205 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 206 |
+
"eos_token_id": null,
|
| 207 |
+
"exponential_decay_length_penalty": null,
|
| 208 |
+
"finetuning_task": null,
|
| 209 |
+
"forced_bos_token_id": null,
|
| 210 |
+
"forced_eos_token_id": null,
|
| 211 |
+
"hidden_act": "silu",
|
| 212 |
+
"hidden_size": 2048,
|
| 213 |
+
"id2label": {
|
| 214 |
+
"0": "LABEL_0",
|
| 215 |
+
"1": "LABEL_1"
|
| 216 |
+
},
|
| 217 |
+
"init_std": 0.02,
|
| 218 |
+
"initializer_range": 0.02,
|
| 219 |
+
"intermediate_size": 11008,
|
| 220 |
+
"is_decoder": false,
|
| 221 |
+
"is_encoder_decoder": false,
|
| 222 |
+
"label2id": {
|
| 223 |
+
"LABEL_0": 0,
|
| 224 |
+
"LABEL_1": 1
|
| 225 |
+
},
|
| 226 |
+
"layer_types": [
|
| 227 |
+
"full_attention",
|
| 228 |
+
"full_attention",
|
| 229 |
+
"full_attention",
|
| 230 |
+
"full_attention",
|
| 231 |
+
"full_attention",
|
| 232 |
+
"full_attention",
|
| 233 |
+
"full_attention",
|
| 234 |
+
"full_attention",
|
| 235 |
+
"full_attention",
|
| 236 |
+
"full_attention",
|
| 237 |
+
"full_attention",
|
| 238 |
+
"full_attention",
|
| 239 |
+
"full_attention",
|
| 240 |
+
"full_attention",
|
| 241 |
+
"full_attention",
|
| 242 |
+
"full_attention",
|
| 243 |
+
"full_attention",
|
| 244 |
+
"full_attention",
|
| 245 |
+
"full_attention",
|
| 246 |
+
"full_attention",
|
| 247 |
+
"full_attention",
|
| 248 |
+
"full_attention",
|
| 249 |
+
"full_attention",
|
| 250 |
+
"full_attention",
|
| 251 |
+
"full_attention",
|
| 252 |
+
"full_attention",
|
| 253 |
+
"full_attention",
|
| 254 |
+
"full_attention",
|
| 255 |
+
"full_attention",
|
| 256 |
+
"full_attention",
|
| 257 |
+
"full_attention",
|
| 258 |
+
"full_attention",
|
| 259 |
+
"full_attention",
|
| 260 |
+
"full_attention",
|
| 261 |
+
"full_attention",
|
| 262 |
+
"full_attention"
|
| 263 |
+
],
|
| 264 |
+
"length_penalty": 1.0,
|
| 265 |
+
"max_length": 20,
|
| 266 |
+
"max_position_embeddings": 32768,
|
| 267 |
+
"max_window_layers": 70,
|
| 268 |
+
"min_length": 0,
|
| 269 |
+
"model_type": "qwen2_5_omni_text",
|
| 270 |
+
"no_repeat_ngram_size": 0,
|
| 271 |
+
"num_attention_heads": 16,
|
| 272 |
+
"num_beam_groups": 1,
|
| 273 |
+
"num_beams": 1,
|
| 274 |
+
"num_hidden_layers": 36,
|
| 275 |
+
"num_key_value_heads": 2,
|
| 276 |
+
"num_return_sequences": 1,
|
| 277 |
+
"output_attentions": false,
|
| 278 |
+
"output_hidden_states": false,
|
| 279 |
+
"output_scores": false,
|
| 280 |
+
"pad_token_id": null,
|
| 281 |
+
"prefix": null,
|
| 282 |
+
"problem_type": null,
|
| 283 |
+
"pruned_heads": {},
|
| 284 |
+
"remove_invalid_values": false,
|
| 285 |
+
"repetition_penalty": 1.0,
|
| 286 |
+
"return_dict": true,
|
| 287 |
+
"return_dict_in_generate": false,
|
| 288 |
+
"rms_norm_eps": 1e-06,
|
| 289 |
+
"rope_scaling": {
|
| 290 |
+
"mrope_section": [
|
| 291 |
+
16,
|
| 292 |
+
24,
|
| 293 |
+
24
|
| 294 |
+
],
|
| 295 |
+
"rope_type": "default",
|
| 296 |
+
"type": "default"
|
| 297 |
+
},
|
| 298 |
+
"rope_theta": 1000000.0,
|
| 299 |
+
"sep_token_id": null,
|
| 300 |
+
"sliding_window": null,
|
| 301 |
+
"suppress_tokens": null,
|
| 302 |
+
"task_specific_params": null,
|
| 303 |
+
"temperature": 1.0,
|
| 304 |
+
"tf_legacy_loss": false,
|
| 305 |
+
"tie_encoder_decoder": false,
|
| 306 |
+
"tie_word_embeddings": false,
|
| 307 |
+
"tokenizer_class": null,
|
| 308 |
+
"top_k": 50,
|
| 309 |
+
"top_p": 1.0,
|
| 310 |
+
"torchscript": false,
|
| 311 |
+
"typical_p": 1.0,
|
| 312 |
+
"use_bfloat16": false,
|
| 313 |
+
"use_cache": true,
|
| 314 |
+
"use_sliding_window": false,
|
| 315 |
+
"vocab_size": 151936
|
| 316 |
+
},
|
| 317 |
+
"use_cache": false,
|
| 318 |
+
"user_token_id": 872,
|
| 319 |
+
"video_token_index": 151656,
|
| 320 |
+
"vision_config": {
|
| 321 |
+
"_attn_implementation_autoset": true,
|
| 322 |
+
"_name_or_path": "",
|
| 323 |
+
"add_cross_attention": false,
|
| 324 |
+
"architectures": null,
|
| 325 |
+
"bad_words_ids": null,
|
| 326 |
+
"begin_suppress_tokens": null,
|
| 327 |
+
"bos_token_id": null,
|
| 328 |
+
"chunk_size_feed_forward": 0,
|
| 329 |
+
"cross_attention_hidden_size": null,
|
| 330 |
+
"decoder_start_token_id": null,
|
| 331 |
+
"depth": 32,
|
| 332 |
+
"diversity_penalty": 0.0,
|
| 333 |
+
"do_sample": false,
|
| 334 |
+
"dtype": null,
|
| 335 |
+
"early_stopping": false,
|
| 336 |
+
"embed_dim": 1280,
|
| 337 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 338 |
+
"eos_token_id": null,
|
| 339 |
+
"exponential_decay_length_penalty": null,
|
| 340 |
+
"finetuning_task": null,
|
| 341 |
+
"forced_bos_token_id": null,
|
| 342 |
+
"forced_eos_token_id": null,
|
| 343 |
+
"fullatt_block_indexes": [
|
| 344 |
+
7,
|
| 345 |
+
15,
|
| 346 |
+
23,
|
| 347 |
+
31
|
| 348 |
+
],
|
| 349 |
+
"hidden_act": "silu",
|
| 350 |
+
"hidden_size": 1280,
|
| 351 |
+
"id2label": {
|
| 352 |
+
"0": "LABEL_0",
|
| 353 |
+
"1": "LABEL_1"
|
| 354 |
+
},
|
| 355 |
+
"in_channels": 3,
|
| 356 |
+
"in_chans": 3,
|
| 357 |
+
"init_std": 0.02,
|
| 358 |
+
"initializer_range": 0.02,
|
| 359 |
+
"intermediate_size": 3420,
|
| 360 |
+
"is_decoder": false,
|
| 361 |
+
"is_encoder_decoder": false,
|
| 362 |
+
"label2id": {
|
| 363 |
+
"LABEL_0": 0,
|
| 364 |
+
"LABEL_1": 1
|
| 365 |
+
},
|
| 366 |
+
"length_penalty": 1.0,
|
| 367 |
+
"max_length": 20,
|
| 368 |
+
"min_length": 0,
|
| 369 |
+
"model_type": "qwen2_5_omni_vision_encoder",
|
| 370 |
+
"no_repeat_ngram_size": 0,
|
| 371 |
+
"num_beam_groups": 1,
|
| 372 |
+
"num_beams": 1,
|
| 373 |
+
"num_heads": 16,
|
| 374 |
+
"num_return_sequences": 1,
|
| 375 |
+
"out_hidden_size": 2048,
|
| 376 |
+
"output_attentions": false,
|
| 377 |
+
"output_hidden_states": false,
|
| 378 |
+
"output_scores": false,
|
| 379 |
+
"pad_token_id": null,
|
| 380 |
+
"patch_size": 14,
|
| 381 |
+
"prefix": null,
|
| 382 |
+
"problem_type": null,
|
| 383 |
+
"pruned_heads": {},
|
| 384 |
+
"remove_invalid_values": false,
|
| 385 |
+
"repetition_penalty": 1.0,
|
| 386 |
+
"return_dict": true,
|
| 387 |
+
"return_dict_in_generate": false,
|
| 388 |
+
"sep_token_id": null,
|
| 389 |
+
"spatial_merge_size": 2,
|
| 390 |
+
"spatial_patch_size": 14,
|
| 391 |
+
"suppress_tokens": null,
|
| 392 |
+
"task_specific_params": null,
|
| 393 |
+
"temperature": 1.0,
|
| 394 |
+
"temporal_patch_size": 2,
|
| 395 |
+
"tf_legacy_loss": false,
|
| 396 |
+
"tie_encoder_decoder": false,
|
| 397 |
+
"tie_word_embeddings": true,
|
| 398 |
+
"tokenizer_class": null,
|
| 399 |
+
"tokens_per_second": 25,
|
| 400 |
+
"top_k": 50,
|
| 401 |
+
"top_p": 1.0,
|
| 402 |
+
"torchscript": false,
|
| 403 |
+
"typical_p": 1.0,
|
| 404 |
+
"use_bfloat16": false,
|
| 405 |
+
"window_size": 112
|
| 406 |
+
},
|
| 407 |
+
"vision_end_token_id": 151653,
|
| 408 |
+
"vision_start_token_id": 151652,
|
| 409 |
+
"vision_token_id": 151654
|
| 410 |
+
},
|
| 411 |
+
"token2wav_config": {
|
| 412 |
+
"_attn_implementation_autoset": true,
|
| 413 |
+
"bigvgan_config": {
|
| 414 |
+
"_attn_implementation_autoset": true,
|
| 415 |
+
"_name_or_path": "",
|
| 416 |
+
"add_cross_attention": false,
|
| 417 |
+
"architectures": null,
|
| 418 |
+
"bad_words_ids": null,
|
| 419 |
+
"begin_suppress_tokens": null,
|
| 420 |
+
"bos_token_id": null,
|
| 421 |
+
"chunk_size_feed_forward": 0,
|
| 422 |
+
"cross_attention_hidden_size": null,
|
| 423 |
+
"decoder_start_token_id": null,
|
| 424 |
+
"diversity_penalty": 0.0,
|
| 425 |
+
"do_sample": false,
|
| 426 |
+
"dtype": null,
|
| 427 |
+
"early_stopping": false,
|
| 428 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 429 |
+
"eos_token_id": null,
|
| 430 |
+
"exponential_decay_length_penalty": null,
|
| 431 |
+
"finetuning_task": null,
|
| 432 |
+
"forced_bos_token_id": null,
|
| 433 |
+
"forced_eos_token_id": null,
|
| 434 |
+
"id2label": {
|
| 435 |
+
"0": "LABEL_0",
|
| 436 |
+
"1": "LABEL_1"
|
| 437 |
+
},
|
| 438 |
+
"is_decoder": false,
|
| 439 |
+
"is_encoder_decoder": false,
|
| 440 |
+
"label2id": {
|
| 441 |
+
"LABEL_0": 0,
|
| 442 |
+
"LABEL_1": 1
|
| 443 |
+
},
|
| 444 |
+
"length_penalty": 1.0,
|
| 445 |
+
"max_length": 20,
|
| 446 |
+
"mel_dim": 80,
|
| 447 |
+
"min_length": 0,
|
| 448 |
+
"model_type": "qwen2_5_omni_bigvgan",
|
| 449 |
+
"no_repeat_ngram_size": 0,
|
| 450 |
+
"num_beam_groups": 1,
|
| 451 |
+
"num_beams": 1,
|
| 452 |
+
"num_return_sequences": 1,
|
| 453 |
+
"output_attentions": false,
|
| 454 |
+
"output_hidden_states": false,
|
| 455 |
+
"output_scores": false,
|
| 456 |
+
"pad_token_id": null,
|
| 457 |
+
"prefix": null,
|
| 458 |
+
"problem_type": null,
|
| 459 |
+
"pruned_heads": {},
|
| 460 |
+
"remove_invalid_values": false,
|
| 461 |
+
"repetition_penalty": 1.0,
|
| 462 |
+
"resblock_dilation_sizes": [
|
| 463 |
+
[
|
| 464 |
+
1,
|
| 465 |
+
3,
|
| 466 |
+
5
|
| 467 |
+
],
|
| 468 |
+
[
|
| 469 |
+
1,
|
| 470 |
+
3,
|
| 471 |
+
5
|
| 472 |
+
],
|
| 473 |
+
[
|
| 474 |
+
1,
|
| 475 |
+
3,
|
| 476 |
+
5
|
| 477 |
+
]
|
| 478 |
+
],
|
| 479 |
+
"resblock_kernel_sizes": [
|
| 480 |
+
3,
|
| 481 |
+
7,
|
| 482 |
+
11
|
| 483 |
+
],
|
| 484 |
+
"return_dict": true,
|
| 485 |
+
"return_dict_in_generate": false,
|
| 486 |
+
"sep_token_id": null,
|
| 487 |
+
"suppress_tokens": null,
|
| 488 |
+
"task_specific_params": null,
|
| 489 |
+
"temperature": 1.0,
|
| 490 |
+
"tf_legacy_loss": false,
|
| 491 |
+
"tie_encoder_decoder": false,
|
| 492 |
+
"tie_word_embeddings": true,
|
| 493 |
+
"tokenizer_class": null,
|
| 494 |
+
"top_k": 50,
|
| 495 |
+
"top_p": 1.0,
|
| 496 |
+
"torchscript": false,
|
| 497 |
+
"typical_p": 1.0,
|
| 498 |
+
"upsample_initial_channel": 1536,
|
| 499 |
+
"upsample_kernel_sizes": [
|
| 500 |
+
11,
|
| 501 |
+
7,
|
| 502 |
+
4,
|
| 503 |
+
4,
|
| 504 |
+
4,
|
| 505 |
+
4
|
| 506 |
+
],
|
| 507 |
+
"upsample_rates": [
|
| 508 |
+
5,
|
| 509 |
+
3,
|
| 510 |
+
2,
|
| 511 |
+
2,
|
| 512 |
+
2,
|
| 513 |
+
2
|
| 514 |
+
],
|
| 515 |
+
"use_bfloat16": false,
|
| 516 |
+
"use_bias_at_final": false
|
| 517 |
+
},
|
| 518 |
+
"dit_config": {
|
| 519 |
+
"_attn_implementation_autoset": true,
|
| 520 |
+
"_name_or_path": "",
|
| 521 |
+
"add_cross_attention": false,
|
| 522 |
+
"architectures": null,
|
| 523 |
+
"bad_words_ids": null,
|
| 524 |
+
"begin_suppress_tokens": null,
|
| 525 |
+
"block_size": 24,
|
| 526 |
+
"bos_token_id": null,
|
| 527 |
+
"chunk_size_feed_forward": 0,
|
| 528 |
+
"cross_attention_hidden_size": null,
|
| 529 |
+
"decoder_start_token_id": null,
|
| 530 |
+
"depth": 22,
|
| 531 |
+
"dim": 1024,
|
| 532 |
+
"diversity_penalty": 0.0,
|
| 533 |
+
"do_sample": false,
|
| 534 |
+
"dropout": 0.1,
|
| 535 |
+
"dtype": "float32",
|
| 536 |
+
"early_stopping": false,
|
| 537 |
+
"emb_dim": 512,
|
| 538 |
+
"enc_attention_channels": 64,
|
| 539 |
+
"enc_channels": [
|
| 540 |
+
256,
|
| 541 |
+
256,
|
| 542 |
+
256,
|
| 543 |
+
256,
|
| 544 |
+
768
|
| 545 |
+
],
|
| 546 |
+
"enc_dilations": [
|
| 547 |
+
1,
|
| 548 |
+
2,
|
| 549 |
+
3,
|
| 550 |
+
4,
|
| 551 |
+
1
|
| 552 |
+
],
|
| 553 |
+
"enc_dim": 128,
|
| 554 |
+
"enc_emb_dim": 192,
|
| 555 |
+
"enc_global_context": true,
|
| 556 |
+
"enc_kernel_sizes": [
|
| 557 |
+
5,
|
| 558 |
+
3,
|
| 559 |
+
3,
|
| 560 |
+
3,
|
| 561 |
+
1
|
| 562 |
+
],
|
| 563 |
+
"enc_lin_neurons": 192,
|
| 564 |
+
"enc_res2net_scale": 2,
|
| 565 |
+
"enc_se_channels": 64,
|
| 566 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 567 |
+
"eos_token_id": null,
|
| 568 |
+
"exponential_decay_length_penalty": null,
|
| 569 |
+
"ff_mult": 2,
|
| 570 |
+
"finetuning_task": null,
|
| 571 |
+
"forced_bos_token_id": null,
|
| 572 |
+
"forced_eos_token_id": null,
|
| 573 |
+
"head_dim": 64,
|
| 574 |
+
"heads": 16,
|
| 575 |
+
"hidden_size": 1024,
|
| 576 |
+
"id2label": {
|
| 577 |
+
"0": "LABEL_0",
|
| 578 |
+
"1": "LABEL_1"
|
| 579 |
+
},
|
| 580 |
+
"is_decoder": false,
|
| 581 |
+
"is_encoder_decoder": false,
|
| 582 |
+
"label2id": {
|
| 583 |
+
"LABEL_0": 0,
|
| 584 |
+
"LABEL_1": 1
|
| 585 |
+
},
|
| 586 |
+
"length_penalty": 1.0,
|
| 587 |
+
"look_ahead_layers": [
|
| 588 |
+
10
|
| 589 |
+
],
|
| 590 |
+
"look_backward_layers": [
|
| 591 |
+
0,
|
| 592 |
+
20
|
| 593 |
+
],
|
| 594 |
+
"max_length": 20,
|
| 595 |
+
"max_position_embeddings": 32768,
|
| 596 |
+
"mel_dim": 80,
|
| 597 |
+
"min_length": 0,
|
| 598 |
+
"model_type": "qwen2_5_omni_dit",
|
| 599 |
+
"no_repeat_ngram_size": 0,
|
| 600 |
+
"num_attention_heads": 16,
|
| 601 |
+
"num_beam_groups": 1,
|
| 602 |
+
"num_beams": 1,
|
| 603 |
+
"num_embeds": 8193,
|
| 604 |
+
"num_hidden_layers": 22,
|
| 605 |
+
"num_return_sequences": 1,
|
| 606 |
+
"output_attentions": false,
|
| 607 |
+
"output_hidden_states": false,
|
| 608 |
+
"output_scores": false,
|
| 609 |
+
"pad_token_id": null,
|
| 610 |
+
"prefix": null,
|
| 611 |
+
"problem_type": null,
|
| 612 |
+
"pruned_heads": {},
|
| 613 |
+
"remove_invalid_values": false,
|
| 614 |
+
"repeats": 2,
|
| 615 |
+
"repetition_penalty": 1.0,
|
| 616 |
+
"return_dict": true,
|
| 617 |
+
"return_dict_in_generate": false,
|
| 618 |
+
"rope_theta": 10000.0,
|
| 619 |
+
"sep_token_id": null,
|
| 620 |
+
"suppress_tokens": null,
|
| 621 |
+
"task_specific_params": null,
|
| 622 |
+
"temperature": 1.0,
|
| 623 |
+
"tf_legacy_loss": false,
|
| 624 |
+
"tie_encoder_decoder": false,
|
| 625 |
+
"tie_word_embeddings": true,
|
| 626 |
+
"tokenizer_class": null,
|
| 627 |
+
"top_k": 50,
|
| 628 |
+
"top_p": 1.0,
|
| 629 |
+
"torchscript": false,
|
| 630 |
+
"typical_p": 1.0,
|
| 631 |
+
"use_bfloat16": false
|
| 632 |
+
},
|
| 633 |
+
"dtype": "float32",
|
| 634 |
+
"model_type": "qwen2_5_omni_token2wav"
|
| 635 |
+
},
|
| 636 |
+
"transformers_version": "4.57.6"
|
| 637 |
+
}
|
evaluation_results.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"training_seed": 20261001,
|
| 3 |
+
"skl_weight": 0.5,
|
| 4 |
+
"candidate_order": "native",
|
| 5 |
+
"aggregation": "single checkpoint; not a seed average",
|
| 6 |
+
"metrics": {
|
| 7 |
+
"mmau_full": {
|
| 8 |
+
"questions": 10000,
|
| 9 |
+
"correct": 6941,
|
| 10 |
+
"accuracy": 0.6941
|
| 11 |
+
},
|
| 12 |
+
"mmau": {
|
| 13 |
+
"questions": 9000,
|
| 14 |
+
"correct": 6230,
|
| 15 |
+
"accuracy": 0.6922222222222222
|
| 16 |
+
},
|
| 17 |
+
"mmau_mini": {
|
| 18 |
+
"questions": 1000,
|
| 19 |
+
"correct": 711,
|
| 20 |
+
"accuracy": 0.711
|
| 21 |
+
},
|
| 22 |
+
"mmar": {
|
| 23 |
+
"questions": 1000,
|
| 24 |
+
"correct": 563,
|
| 25 |
+
"accuracy": 0.563
|
| 26 |
+
},
|
| 27 |
+
"mmsu": {
|
| 28 |
+
"questions": 3931,
|
| 29 |
+
"correct": 2455,
|
| 30 |
+
"accuracy": 0.6245230221317731
|
| 31 |
+
}
|
| 32 |
+
},
|
| 33 |
+
"mmau_scoring": "1000 public questions plus 9000 questions scored by the official service",
|
| 34 |
+
"mmsu_scope": "3931 questions in the evaluated short-audio subset",
|
| 35 |
+
"source_overlap_note": "The experiment reports 119 hidden MMAU questions whose audio sources overlap general-stage fitting/development data. Full scores retain them.",
|
| 36 |
+
"source_report_sha256": "dc53decb9db340a6b4b995b6ba475e23af09fcbe9e1cd091325fe1a6219ad5e3"
|
| 37 |
+
}
|
generation_config.json
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_from_model_config": true,
|
| 3 |
+
"transformers_version": "4.57.6"
|
| 4 |
+
}
|
merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
model-00001-of-00005.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:435a6fbfe7c120119b86076831c2c48542f5018c227d3cfc0856a210d351bf3b
|
| 3 |
+
size 3995066200
|
model-00002-of-00005.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3087437831e84d8430707b4a3be2dca239af4049b0f944f76f6062721b9c89c0
|
| 3 |
+
size 3926509296
|
model-00003-of-00005.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:35b3a36a2d092b19a0427c016c8d28cea4a4e0b5f3dcf59934b7d74eded521af
|
| 3 |
+
size 3917844848
|
model-00004-of-00005.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:dbf98c2f42746b10be25de4087fd65935415bacd1853c7a911ebac9e153cec3a
|
| 3 |
+
size 3917844920
|
model-00005-of-00005.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ebd56db24da75a8b4fc022f2f2e6dbc75a4e7995d8c140be2d69289ce9c07390
|
| 3 |
+
size 3056764904
|
model.safetensors.index.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
predict.py
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""AudioJev candidate probabilities from an audio file.
|
| 2 |
+
|
| 3 |
+
Built with Qwen. See LICENSE and Notice for the model's upstream terms.
|
| 4 |
+
"""
|
| 5 |
+
|
| 6 |
+
import argparse
|
| 7 |
+
import json
|
| 8 |
+
import math
|
| 9 |
+
|
| 10 |
+
import numpy as np
|
| 11 |
+
from scipy.signal import resample_poly
|
| 12 |
+
import soundfile as sf
|
| 13 |
+
import torch
|
| 14 |
+
from transformers import Qwen2_5OmniForConditionalGeneration, Qwen2_5OmniProcessor
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
LABELS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
| 18 |
+
SYSTEM_PROMPT = (
|
| 19 |
+
"You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, "
|
| 20 |
+
"capable of perceiving auditory and visual inputs, as well as generating text and speech."
|
| 21 |
+
)
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def render_question(question, options):
|
| 25 |
+
if not isinstance(question, str) or not question.strip():
|
| 26 |
+
raise ValueError("question must be nonempty")
|
| 27 |
+
if not 2 <= len(options) <= len(LABELS):
|
| 28 |
+
raise ValueError("provide between 2 and 36 candidate descriptions")
|
| 29 |
+
if any(not isinstance(option, str) or not option.strip() for option in options):
|
| 30 |
+
raise ValueError("candidate descriptions must be nonempty strings")
|
| 31 |
+
labels = list(LABELS[:len(options)])
|
| 32 |
+
lines = [
|
| 33 |
+
"You are a structured decision module.",
|
| 34 |
+
"Use the audio and the option descriptions as evidence.",
|
| 35 |
+
"Output exactly one listed answer label token and nothing else.",
|
| 36 |
+
"Do not output an explanation, punctuation, another word, or a label not listed below.",
|
| 37 |
+
"There is no implicit other/none option; choose among the listed options.",
|
| 38 |
+
question.strip(), "", "Options:",
|
| 39 |
+
]
|
| 40 |
+
lines.extend(f"{label}. {option}" for label, option in zip(labels, options))
|
| 41 |
+
lines.extend(["", f"Reply with exactly one option label ({', '.join(labels)}).", "Answer:"])
|
| 42 |
+
return "\n".join(lines), labels
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
def load_audio(path):
|
| 46 |
+
waveform, rate = sf.read(path, dtype="float32", always_2d=True)
|
| 47 |
+
waveform = waveform.mean(axis=1)
|
| 48 |
+
if rate != 16000:
|
| 49 |
+
divisor = math.gcd(rate, 16000)
|
| 50 |
+
waveform = resample_poly(waveform, 16000 // divisor, rate // divisor)
|
| 51 |
+
waveform = np.ascontiguousarray(waveform, dtype=np.float32)
|
| 52 |
+
if len(waveform) < 400 or not np.isfinite(waveform).all():
|
| 53 |
+
raise ValueError("audio must contain at least 25 ms of finite samples")
|
| 54 |
+
return waveform
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
def predict(model_id, audio_path, question, options, device="cuda:0"):
|
| 58 |
+
prompt, labels = render_question(question, options)
|
| 59 |
+
target = torch.device(device)
|
| 60 |
+
if target.type != "cuda" or not torch.cuda.is_available():
|
| 61 |
+
raise ValueError("this example requires a CUDA device")
|
| 62 |
+
if target.index is None:
|
| 63 |
+
raise ValueError("specify a CUDA index, for example cuda:0")
|
| 64 |
+
torch.set_num_threads(min(torch.get_num_threads(), 4))
|
| 65 |
+
torch.cuda.set_device(target)
|
| 66 |
+
processor = Qwen2_5OmniProcessor.from_pretrained(model_id, use_fast=False)
|
| 67 |
+
encoded = [processor.tokenizer.encode(label, add_special_tokens=False) for label in labels]
|
| 68 |
+
if any(len(tokens) != 1 for tokens in encoded):
|
| 69 |
+
raise ValueError("candidate labels must each be a single token")
|
| 70 |
+
token_ids = [tokens[0] for tokens in encoded]
|
| 71 |
+
if len(set(token_ids)) != len(token_ids):
|
| 72 |
+
raise ValueError("candidate token IDs must be distinct")
|
| 73 |
+
model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
|
| 74 |
+
model_id, dtype=torch.bfloat16, device_map={"": target.index},
|
| 75 |
+
attn_implementation="sdpa", use_safetensors=True,
|
| 76 |
+
enable_audio_output=False, low_cpu_mem_usage=True,
|
| 77 |
+
).eval()
|
| 78 |
+
model.requires_grad_(False)
|
| 79 |
+
conversation = [
|
| 80 |
+
{"role": "system", "content": [{"type": "text", "text": SYSTEM_PROMPT}]},
|
| 81 |
+
{"role": "user", "content": [
|
| 82 |
+
{"type": "audio", "audio": "audio.wav"},
|
| 83 |
+
{"type": "text", "text": prompt},
|
| 84 |
+
]},
|
| 85 |
+
]
|
| 86 |
+
text = processor.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True)
|
| 87 |
+
inputs = processor(
|
| 88 |
+
text=[text], audio=[load_audio(audio_path)], sampling_rate=16000,
|
| 89 |
+
return_tensors="pt", padding=True, use_audio_in_video=False,
|
| 90 |
+
)
|
| 91 |
+
if inputs["input_ids"].shape[1] > 4096:
|
| 92 |
+
raise ValueError("prompt exceeds the evaluated 4096-token limit; use a shorter audio/question")
|
| 93 |
+
frames = int(inputs["feature_attention_mask"].sum(-1).max())
|
| 94 |
+
inputs["input_features"] = inputs["input_features"][:, :, :frames]
|
| 95 |
+
inputs["feature_attention_mask"] = inputs["feature_attention_mask"][:, :frames]
|
| 96 |
+
inputs = {key: value.to(target) if torch.is_tensor(value) else value
|
| 97 |
+
for key, value in inputs.items()}
|
| 98 |
+
# Project only the final decision position, matching the evaluated readout.
|
| 99 |
+
hook = model.thinker.lm_head.register_forward_pre_hook(
|
| 100 |
+
lambda _module, args: (args[0][:, -1:, :],)
|
| 101 |
+
)
|
| 102 |
+
try:
|
| 103 |
+
with torch.inference_mode():
|
| 104 |
+
logits = model.thinker(**inputs, use_cache=False, return_dict=True).logits[0, -1].float()
|
| 105 |
+
probabilities = torch.softmax(logits[token_ids], dim=-1)
|
| 106 |
+
finally:
|
| 107 |
+
hook.remove()
|
| 108 |
+
if not bool(torch.isfinite(probabilities).all()):
|
| 109 |
+
raise RuntimeError("model returned nonfinite candidate probabilities")
|
| 110 |
+
values = probabilities.cpu().tolist()
|
| 111 |
+
selected = int(probabilities.argmax())
|
| 112 |
+
return {
|
| 113 |
+
"selected_index": selected,
|
| 114 |
+
"selected_option": options[selected],
|
| 115 |
+
"candidates": [
|
| 116 |
+
{"index": i, "label": label, "description": option, "probability": value}
|
| 117 |
+
for i, (label, option, value) in enumerate(zip(labels, options, values))
|
| 118 |
+
],
|
| 119 |
+
"normalization": "softmax over the supplied candidate-label logits",
|
| 120 |
+
}
|
| 121 |
+
|
| 122 |
+
|
| 123 |
+
def main():
|
| 124 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 125 |
+
parser.add_argument("--model", default="shlv/AudioJev")
|
| 126 |
+
parser.add_argument("--audio", required=True)
|
| 127 |
+
parser.add_argument("--question", required=True)
|
| 128 |
+
parser.add_argument("--options", nargs="+", required=True)
|
| 129 |
+
parser.add_argument("--device", default="cuda:0")
|
| 130 |
+
args = parser.parse_args()
|
| 131 |
+
print(json.dumps(predict(args.model, args.audio, args.question, args.options, args.device),
|
| 132 |
+
ensure_ascii=False, indent=2))
|
| 133 |
+
|
| 134 |
+
|
| 135 |
+
if __name__ == "__main__":
|
| 136 |
+
main()
|
preprocessor_config.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"chunk_length": 300,
|
| 3 |
+
"dither": 0.0,
|
| 4 |
+
"feature_extractor_type": "WhisperFeatureExtractor",
|
| 5 |
+
"feature_size": 128,
|
| 6 |
+
"hop_length": 160,
|
| 7 |
+
"image_mean": [
|
| 8 |
+
0.48145466,
|
| 9 |
+
0.4578275,
|
| 10 |
+
0.40821073
|
| 11 |
+
],
|
| 12 |
+
"image_processor_type": "Qwen2VLImageProcessor",
|
| 13 |
+
"image_std": [
|
| 14 |
+
0.26862954,
|
| 15 |
+
0.26130258,
|
| 16 |
+
0.27577711
|
| 17 |
+
],
|
| 18 |
+
"max_pixels": 12845056,
|
| 19 |
+
"merge_size": 2,
|
| 20 |
+
"min_pixels": 3136,
|
| 21 |
+
"n_fft": 400,
|
| 22 |
+
"n_samples": 4800000,
|
| 23 |
+
"nb_max_frames": 30000,
|
| 24 |
+
"padding_side": "right",
|
| 25 |
+
"padding_value": 0.0,
|
| 26 |
+
"patch_size": 14,
|
| 27 |
+
"processor_class": "Qwen2_5OmniProcessor",
|
| 28 |
+
"return_attention_mask": true,
|
| 29 |
+
"sampling_rate": 16000,
|
| 30 |
+
"temporal_patch_size": 2
|
| 31 |
+
}
|
release_manifest.json
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model_name": "AudioJev",
|
| 3 |
+
"repo_id": "shlv/AudioJev",
|
| 4 |
+
"created_utc": "2026-09-28T16:06:42.633063+00:00",
|
| 5 |
+
"training_seed": 20261001,
|
| 6 |
+
"skl_weight": 0.5,
|
| 7 |
+
"checkpoint": "general/checkpoint-2048",
|
| 8 |
+
"total_training_updates": 4096,
|
| 9 |
+
"weight_shards_unchanged": true,
|
| 10 |
+
"stored_tensor_parameters": 4703464448,
|
| 11 |
+
"stored_tensor_dtypes": {
|
| 12 |
+
"F32": 4703464448
|
| 13 |
+
},
|
| 14 |
+
"index_metadata_correction": {
|
| 15 |
+
"original_total_parameters": 1519790592,
|
| 16 |
+
"actual_total_parameters": 4703464448
|
| 17 |
+
},
|
| 18 |
+
"source_index_sha256": "7ab45af26aa38dd632422333408a6dfea16c180d9fc5d382cfd1a7999b58a502",
|
| 19 |
+
"files": {
|
| 20 |
+
"LICENSE": {
|
| 21 |
+
"size": 7387,
|
| 22 |
+
"sha256": "ae8ef9d3fb476f735d9b9abeaab73b7f778b121c77427cd918ec3da01eefbc44"
|
| 23 |
+
},
|
| 24 |
+
"Notice": {
|
| 25 |
+
"size": 1174,
|
| 26 |
+
"sha256": "023b103fed291ca203d6bb5c51dd552820ad7b6c4c2e2f991b5af8b6c0b3fb17"
|
| 27 |
+
},
|
| 28 |
+
"README.md": {
|
| 29 |
+
"size": 5742,
|
| 30 |
+
"sha256": "9704d1476c1ca8f04da07c44f03392795adee4467abd1eda6c6d79dc178b1bb2"
|
| 31 |
+
},
|
| 32 |
+
"added_tokens.json": {
|
| 33 |
+
"size": 579,
|
| 34 |
+
"sha256": "e81a2cc3bd867a1217019eed202d1d8a07e1063ece716f22060dda14f6cc07d8"
|
| 35 |
+
},
|
| 36 |
+
"chat_template.jinja": {
|
| 37 |
+
"size": 1281,
|
| 38 |
+
"sha256": "d027e14db2e64eb2c23597240d42ea747b4fd5efd6e6a7604a990949c610f79c"
|
| 39 |
+
},
|
| 40 |
+
"config.json": {
|
| 41 |
+
"size": 16911,
|
| 42 |
+
"sha256": "08755783271e6c0f425fa705bccb85ae6e0b2c3db4ce904b576fb385f6d7811f"
|
| 43 |
+
},
|
| 44 |
+
"evaluation_results.json": {
|
| 45 |
+
"size": 1090,
|
| 46 |
+
"sha256": "9ce7bd97ff76bfc0dd297e9ff75c5269528b501513ba4e44d2bd3684167301d6"
|
| 47 |
+
},
|
| 48 |
+
"generation_config.json": {
|
| 49 |
+
"size": 69,
|
| 50 |
+
"sha256": "3ee3cbe9acb55059b37a4e90bb843812eb86f70c5ebea404f137cd9c80127870"
|
| 51 |
+
},
|
| 52 |
+
"merges.txt": {
|
| 53 |
+
"size": 1671853,
|
| 54 |
+
"sha256": "8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5"
|
| 55 |
+
},
|
| 56 |
+
"model-00001-of-00005.safetensors": {
|
| 57 |
+
"size": 3995066200,
|
| 58 |
+
"sha256": "435a6fbfe7c120119b86076831c2c48542f5018c227d3cfc0856a210d351bf3b"
|
| 59 |
+
},
|
| 60 |
+
"model-00002-of-00005.safetensors": {
|
| 61 |
+
"size": 3926509296,
|
| 62 |
+
"sha256": "3087437831e84d8430707b4a3be2dca239af4049b0f944f76f6062721b9c89c0"
|
| 63 |
+
},
|
| 64 |
+
"model-00003-of-00005.safetensors": {
|
| 65 |
+
"size": 3917844848,
|
| 66 |
+
"sha256": "35b3a36a2d092b19a0427c016c8d28cea4a4e0b5f3dcf59934b7d74eded521af"
|
| 67 |
+
},
|
| 68 |
+
"model-00004-of-00005.safetensors": {
|
| 69 |
+
"size": 3917844920,
|
| 70 |
+
"sha256": "dbf98c2f42746b10be25de4087fd65935415bacd1853c7a911ebac9e153cec3a"
|
| 71 |
+
},
|
| 72 |
+
"model-00005-of-00005.safetensors": {
|
| 73 |
+
"size": 3056764904,
|
| 74 |
+
"sha256": "ebd56db24da75a8b4fc022f2f2e6dbc75a4e7995d8c140be2d69289ce9c07390"
|
| 75 |
+
},
|
| 76 |
+
"model.safetensors.index.json": {
|
| 77 |
+
"size": 127717,
|
| 78 |
+
"sha256": "6ac3736c9a2d653b21c98a41e82e963eae26008d362b9328cd1efe4427896fdb"
|
| 79 |
+
},
|
| 80 |
+
"predict.py": {
|
| 81 |
+
"size": 6102,
|
| 82 |
+
"sha256": "fabd9c0f5f3c4a1a96ba6d3c6db7562e17c6c41f3182a308bf4c08c0629054ec"
|
| 83 |
+
},
|
| 84 |
+
"preprocessor_config.json": {
|
| 85 |
+
"size": 667,
|
| 86 |
+
"sha256": "b47055ce61463ce143e9aab741d55c0aa520801a0a5d63be73c5b17cecb6bc69"
|
| 87 |
+
},
|
| 88 |
+
"requirements.txt": {
|
| 89 |
+
"size": 167,
|
| 90 |
+
"sha256": "8dcf9e4f6d9c1f05bfb4b04f2e028cf508277ac787f842ffda0572469c4ade95"
|
| 91 |
+
},
|
| 92 |
+
"special_tokens_map.json": {
|
| 93 |
+
"size": 833,
|
| 94 |
+
"sha256": "db7fd39f5dc9ee37998c3ed04e3a3386989182a550064d2a2a9af16822cf22f4"
|
| 95 |
+
},
|
| 96 |
+
"spk_dict.pt": {
|
| 97 |
+
"size": 259544,
|
| 98 |
+
"sha256": "6a05609b28f5d42b7b748f0f07592545c8f1f6885b9ae8fff64baf56e86b2a18"
|
| 99 |
+
},
|
| 100 |
+
"tokenizer_config.json": {
|
| 101 |
+
"size": 5181,
|
| 102 |
+
"sha256": "d2705fa47e1aecad75e3ac83ca42ec983d47bd48e9c740791ebf2c005922704b"
|
| 103 |
+
},
|
| 104 |
+
"training_recipe.json": {
|
| 105 |
+
"size": 2551,
|
| 106 |
+
"sha256": "9ea8795d0ff10e5c94042d9fd22a4305101abbddc53968cefd1267242e0d5d52"
|
| 107 |
+
},
|
| 108 |
+
"video_preprocessor_config.json": {
|
| 109 |
+
"size": 1229,
|
| 110 |
+
"sha256": "3e7254028ff085aa9e0322c2db0f2b86781fb186d1d690ad4e990eb01fd466c2"
|
| 111 |
+
},
|
| 112 |
+
"vocab.json": {
|
| 113 |
+
"size": 3383407,
|
| 114 |
+
"sha256": "87a257b04b17642a0688c98cd1df89c398bda4fee532d6f88b38a659ecb4ac8d"
|
| 115 |
+
}
|
| 116 |
+
}
|
| 117 |
+
}
|
requirements.txt
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
torch>=2.8,<2.9
|
| 2 |
+
transformers==4.57.6
|
| 3 |
+
accelerate>=1.10,<2
|
| 4 |
+
safetensors>=0.6,<1
|
| 5 |
+
numpy>=2,<3
|
| 6 |
+
scipy>=1.15,<2
|
| 7 |
+
soundfile>=0.13,<1
|
| 8 |
+
librosa>=0.11,<0.12
|
| 9 |
+
torchvision>=0.23,<0.24
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"additional_special_tokens": [
|
| 3 |
+
"<|im_start|>",
|
| 4 |
+
"<|im_end|>",
|
| 5 |
+
"<|AUDIO|>",
|
| 6 |
+
"<|audio_bos|>",
|
| 7 |
+
"<|audio_eos|>",
|
| 8 |
+
"<|box_end|>",
|
| 9 |
+
"<|quad_start|>",
|
| 10 |
+
"<|quad_end|>",
|
| 11 |
+
"<|vision_bos|>",
|
| 12 |
+
"<|vision_eos|>",
|
| 13 |
+
"<|vision_pad|>",
|
| 14 |
+
"<|IMAGE|>",
|
| 15 |
+
"<|VIDEO|>"
|
| 16 |
+
],
|
| 17 |
+
"audio_bos_token": "<|audio_bos|>",
|
| 18 |
+
"audio_eos_token": "<|audio_eos|>",
|
| 19 |
+
"audio_token": "<|AUDIO|>",
|
| 20 |
+
"eos_token": {
|
| 21 |
+
"content": "<|im_end|>",
|
| 22 |
+
"lstrip": false,
|
| 23 |
+
"normalized": false,
|
| 24 |
+
"rstrip": false,
|
| 25 |
+
"single_word": false
|
| 26 |
+
},
|
| 27 |
+
"image_token": "<|IMAGE|>",
|
| 28 |
+
"pad_token": {
|
| 29 |
+
"content": "<|endoftext|>",
|
| 30 |
+
"lstrip": false,
|
| 31 |
+
"normalized": false,
|
| 32 |
+
"rstrip": false,
|
| 33 |
+
"single_word": false
|
| 34 |
+
},
|
| 35 |
+
"video_token": "<|VIDEO|>",
|
| 36 |
+
"vision_bos_token": "<|vision_bos|>",
|
| 37 |
+
"vision_eos_token": "<|vision_eos|>"
|
| 38 |
+
}
|
spk_dict.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6a05609b28f5d42b7b748f0f07592545c8f1f6885b9ae8fff64baf56e86b2a18
|
| 3 |
+
size 259544
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"added_tokens_decoder": {
|
| 4 |
+
"151643": {
|
| 5 |
+
"content": "<|endoftext|>",
|
| 6 |
+
"lstrip": false,
|
| 7 |
+
"normalized": false,
|
| 8 |
+
"rstrip": false,
|
| 9 |
+
"single_word": false,
|
| 10 |
+
"special": true
|
| 11 |
+
},
|
| 12 |
+
"151644": {
|
| 13 |
+
"content": "<|im_start|>",
|
| 14 |
+
"lstrip": false,
|
| 15 |
+
"normalized": false,
|
| 16 |
+
"rstrip": false,
|
| 17 |
+
"single_word": false,
|
| 18 |
+
"special": true
|
| 19 |
+
},
|
| 20 |
+
"151645": {
|
| 21 |
+
"content": "<|im_end|>",
|
| 22 |
+
"lstrip": false,
|
| 23 |
+
"normalized": false,
|
| 24 |
+
"rstrip": false,
|
| 25 |
+
"single_word": false,
|
| 26 |
+
"special": true
|
| 27 |
+
},
|
| 28 |
+
"151646": {
|
| 29 |
+
"content": "<|AUDIO|>",
|
| 30 |
+
"lstrip": false,
|
| 31 |
+
"normalized": false,
|
| 32 |
+
"rstrip": false,
|
| 33 |
+
"single_word": false,
|
| 34 |
+
"special": true
|
| 35 |
+
},
|
| 36 |
+
"151647": {
|
| 37 |
+
"content": "<|audio_bos|>",
|
| 38 |
+
"lstrip": false,
|
| 39 |
+
"normalized": false,
|
| 40 |
+
"rstrip": false,
|
| 41 |
+
"single_word": false,
|
| 42 |
+
"special": true
|
| 43 |
+
},
|
| 44 |
+
"151648": {
|
| 45 |
+
"content": "<|audio_eos|>",
|
| 46 |
+
"lstrip": false,
|
| 47 |
+
"normalized": false,
|
| 48 |
+
"rstrip": false,
|
| 49 |
+
"single_word": false,
|
| 50 |
+
"special": true
|
| 51 |
+
},
|
| 52 |
+
"151649": {
|
| 53 |
+
"content": "<|box_end|>",
|
| 54 |
+
"lstrip": false,
|
| 55 |
+
"normalized": false,
|
| 56 |
+
"rstrip": false,
|
| 57 |
+
"single_word": false,
|
| 58 |
+
"special": true
|
| 59 |
+
},
|
| 60 |
+
"151650": {
|
| 61 |
+
"content": "<|quad_start|>",
|
| 62 |
+
"lstrip": false,
|
| 63 |
+
"normalized": false,
|
| 64 |
+
"rstrip": false,
|
| 65 |
+
"single_word": false,
|
| 66 |
+
"special": true
|
| 67 |
+
},
|
| 68 |
+
"151651": {
|
| 69 |
+
"content": "<|quad_end|>",
|
| 70 |
+
"lstrip": false,
|
| 71 |
+
"normalized": false,
|
| 72 |
+
"rstrip": false,
|
| 73 |
+
"single_word": false,
|
| 74 |
+
"special": true
|
| 75 |
+
},
|
| 76 |
+
"151652": {
|
| 77 |
+
"content": "<|vision_bos|>",
|
| 78 |
+
"lstrip": false,
|
| 79 |
+
"normalized": false,
|
| 80 |
+
"rstrip": false,
|
| 81 |
+
"single_word": false,
|
| 82 |
+
"special": true
|
| 83 |
+
},
|
| 84 |
+
"151653": {
|
| 85 |
+
"content": "<|vision_eos|>",
|
| 86 |
+
"lstrip": false,
|
| 87 |
+
"normalized": false,
|
| 88 |
+
"rstrip": false,
|
| 89 |
+
"single_word": false,
|
| 90 |
+
"special": true
|
| 91 |
+
},
|
| 92 |
+
"151654": {
|
| 93 |
+
"content": "<|vision_pad|>",
|
| 94 |
+
"lstrip": false,
|
| 95 |
+
"normalized": false,
|
| 96 |
+
"rstrip": false,
|
| 97 |
+
"single_word": false,
|
| 98 |
+
"special": true
|
| 99 |
+
},
|
| 100 |
+
"151655": {
|
| 101 |
+
"content": "<|IMAGE|>",
|
| 102 |
+
"lstrip": false,
|
| 103 |
+
"normalized": false,
|
| 104 |
+
"rstrip": false,
|
| 105 |
+
"single_word": false,
|
| 106 |
+
"special": true
|
| 107 |
+
},
|
| 108 |
+
"151656": {
|
| 109 |
+
"content": "<|VIDEO|>",
|
| 110 |
+
"lstrip": false,
|
| 111 |
+
"normalized": false,
|
| 112 |
+
"rstrip": false,
|
| 113 |
+
"single_word": false,
|
| 114 |
+
"special": true
|
| 115 |
+
},
|
| 116 |
+
"151657": {
|
| 117 |
+
"content": "<tool_call>",
|
| 118 |
+
"lstrip": false,
|
| 119 |
+
"normalized": false,
|
| 120 |
+
"rstrip": false,
|
| 121 |
+
"single_word": false,
|
| 122 |
+
"special": false
|
| 123 |
+
},
|
| 124 |
+
"151658": {
|
| 125 |
+
"content": "</tool_call>",
|
| 126 |
+
"lstrip": false,
|
| 127 |
+
"normalized": false,
|
| 128 |
+
"rstrip": false,
|
| 129 |
+
"single_word": false,
|
| 130 |
+
"special": false
|
| 131 |
+
},
|
| 132 |
+
"151659": {
|
| 133 |
+
"content": "<|fim_prefix|>",
|
| 134 |
+
"lstrip": false,
|
| 135 |
+
"normalized": false,
|
| 136 |
+
"rstrip": false,
|
| 137 |
+
"single_word": false,
|
| 138 |
+
"special": false
|
| 139 |
+
},
|
| 140 |
+
"151660": {
|
| 141 |
+
"content": "<|fim_middle|>",
|
| 142 |
+
"lstrip": false,
|
| 143 |
+
"normalized": false,
|
| 144 |
+
"rstrip": false,
|
| 145 |
+
"single_word": false,
|
| 146 |
+
"special": false
|
| 147 |
+
},
|
| 148 |
+
"151661": {
|
| 149 |
+
"content": "<|fim_suffix|>",
|
| 150 |
+
"lstrip": false,
|
| 151 |
+
"normalized": false,
|
| 152 |
+
"rstrip": false,
|
| 153 |
+
"single_word": false,
|
| 154 |
+
"special": false
|
| 155 |
+
},
|
| 156 |
+
"151662": {
|
| 157 |
+
"content": "<|fim_pad|>",
|
| 158 |
+
"lstrip": false,
|
| 159 |
+
"normalized": false,
|
| 160 |
+
"rstrip": false,
|
| 161 |
+
"single_word": false,
|
| 162 |
+
"special": false
|
| 163 |
+
},
|
| 164 |
+
"151663": {
|
| 165 |
+
"content": "<|repo_name|>",
|
| 166 |
+
"lstrip": false,
|
| 167 |
+
"normalized": false,
|
| 168 |
+
"rstrip": false,
|
| 169 |
+
"single_word": false,
|
| 170 |
+
"special": false
|
| 171 |
+
},
|
| 172 |
+
"151664": {
|
| 173 |
+
"content": "<|file_sep|>",
|
| 174 |
+
"lstrip": false,
|
| 175 |
+
"normalized": false,
|
| 176 |
+
"rstrip": false,
|
| 177 |
+
"single_word": false,
|
| 178 |
+
"special": false
|
| 179 |
+
}
|
| 180 |
+
},
|
| 181 |
+
"additional_special_tokens": [
|
| 182 |
+
"<|im_start|>",
|
| 183 |
+
"<|im_end|>",
|
| 184 |
+
"<|AUDIO|>",
|
| 185 |
+
"<|audio_bos|>",
|
| 186 |
+
"<|audio_eos|>",
|
| 187 |
+
"<|box_end|>",
|
| 188 |
+
"<|quad_start|>",
|
| 189 |
+
"<|quad_end|>",
|
| 190 |
+
"<|vision_bos|>",
|
| 191 |
+
"<|vision_eos|>",
|
| 192 |
+
"<|vision_pad|>",
|
| 193 |
+
"<|IMAGE|>",
|
| 194 |
+
"<|VIDEO|>"
|
| 195 |
+
],
|
| 196 |
+
"audio_bos_token": "<|audio_bos|>",
|
| 197 |
+
"audio_eos_token": "<|audio_eos|>",
|
| 198 |
+
"audio_token": "<|AUDIO|>",
|
| 199 |
+
"bos_token": null,
|
| 200 |
+
"clean_up_tokenization_spaces": false,
|
| 201 |
+
"eos_token": "<|im_end|>",
|
| 202 |
+
"errors": "replace",
|
| 203 |
+
"extra_special_tokens": {
|
| 204 |
+
"audio_bos_token": "<|audio_bos|>",
|
| 205 |
+
"audio_eos_token": "<|audio_eos|>",
|
| 206 |
+
"audio_token": "<|AUDIO|>",
|
| 207 |
+
"image_token": "<|IMAGE|>",
|
| 208 |
+
"video_token": "<|VIDEO|>",
|
| 209 |
+
"vision_bos_token": "<|vision_bos|>",
|
| 210 |
+
"vision_eos_token": "<|vision_eos|>"
|
| 211 |
+
},
|
| 212 |
+
"image_token": "<|IMAGE|>",
|
| 213 |
+
"model_max_length": 32768,
|
| 214 |
+
"pad_token": "<|endoftext|>",
|
| 215 |
+
"processor_class": "Qwen2_5OmniProcessor",
|
| 216 |
+
"split_special_tokens": false,
|
| 217 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
| 218 |
+
"unk_token": null,
|
| 219 |
+
"use_fast": false,
|
| 220 |
+
"video_token": "<|VIDEO|>",
|
| 221 |
+
"vision_bos_token": "<|vision_bos|>",
|
| 222 |
+
"vision_eos_token": "<|vision_eos|>"
|
| 223 |
+
}
|
training_recipe.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model_name": "AudioJev",
|
| 3 |
+
"base_model": "Qwen/Qwen2.5-Omni-3B",
|
| 4 |
+
"seed": 20261001,
|
| 5 |
+
"skl_weight": 0.5,
|
| 6 |
+
"method": "random_derangement_skl",
|
| 7 |
+
"loss": "paired_candidate_ce_plus_aligned_skl",
|
| 8 |
+
"pair_kind": "random",
|
| 9 |
+
"max_prompt_tokens": 4096,
|
| 10 |
+
"stages": [
|
| 11 |
+
{
|
| 12 |
+
"name": "semantic",
|
| 13 |
+
"learning_rate": 1e-06,
|
| 14 |
+
"warmup_steps": 32,
|
| 15 |
+
"eval_every": 256,
|
| 16 |
+
"examples": 4096,
|
| 17 |
+
"steps": 1024,
|
| 18 |
+
"development_examples": 256,
|
| 19 |
+
"ordered_train_sha256": "a9bd81622009a8b3ac0703eebdc9aeedd47c0c40e13403a3551fd83478210d50",
|
| 20 |
+
"source_train_sha256": "dcce30c0f53fd226f626ab9e55962671bbb5c82104f99de20e830c74c2fcdc74",
|
| 21 |
+
"development_sha256": "d6514e47cb62896de71c1418320106f32f997dc4e0ea68284b3784d861428368"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"name": "joint",
|
| 25 |
+
"learning_rate": 1e-06,
|
| 26 |
+
"warmup_steps": 32,
|
| 27 |
+
"eval_every": 256,
|
| 28 |
+
"examples": 4096,
|
| 29 |
+
"steps": 1024,
|
| 30 |
+
"development_examples": 320,
|
| 31 |
+
"ordered_train_sha256": "22d9fc5a9722b69363f1d614375d396af76e39e95c80ab8a0dec0af9bf949f9d",
|
| 32 |
+
"source_train_sha256": "7393eb4bb002ad2810d06c520f08e52eeca5feddb60becc1c58b9b826da06c19",
|
| 33 |
+
"development_sha256": "1af43e24f729f29be82b8229d341336a7a0a66549ffe0756dca0d7d172fe9172"
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"name": "general",
|
| 37 |
+
"learning_rate": 1e-06,
|
| 38 |
+
"warmup_steps": 32,
|
| 39 |
+
"eval_every": 512,
|
| 40 |
+
"examples": 8192,
|
| 41 |
+
"steps": 2048,
|
| 42 |
+
"development_examples": 576,
|
| 43 |
+
"ordered_train_sha256": "5c2ae98a4a57bef65f77a43c8329ec9d9015d4b7b10094485d73380dc90c2842",
|
| 44 |
+
"source_train_sha256": "c6803170e0a5cee9f978f22e562855ca2ca37240475b823bf1efa22e2b13247d",
|
| 45 |
+
"development_sha256": "5bb427425dc64822e35cda72b270b7bfd3bb3d2fb1405c6edaa5a610a6a43c45"
|
| 46 |
+
}
|
| 47 |
+
],
|
| 48 |
+
"completed_training_updates": 4096,
|
| 49 |
+
"final_stage": "general",
|
| 50 |
+
"final_stage_step": 2048,
|
| 51 |
+
"checkpoint_choice": "fixed_final_step",
|
| 52 |
+
"checkpoint_selection_uses_development": false,
|
| 53 |
+
"checkpoint_selection_uses_test": false,
|
| 54 |
+
"hyperparameter_note": "Lambda 0.5 was chosen after the weight-comparison experiments; the fixed-step statement describes checkpoint selection only.",
|
| 55 |
+
"weights_dtype": "float32",
|
| 56 |
+
"evaluated_compute_dtype": "bfloat16",
|
| 57 |
+
"candidate_labels": "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
| 58 |
+
"probability_readout": "softmax over supplied candidate-label logits at the final input position",
|
| 59 |
+
"evaluation_plan_sha256": "c00a67288c7f49b59891ce6bbcc69352f8f8895be0ea49f27627b207cee053b1",
|
| 60 |
+
"checkpoint_metadata_sha256": "81c2e6c0ac8d1a033f37c74e143ec1a704623891eb6ac5b83a41950f7677e094"
|
| 61 |
+
}
|
video_preprocessor_config.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"chunk_length": 300,
|
| 3 |
+
"crop_size": null,
|
| 4 |
+
"data_format": "channels_first",
|
| 5 |
+
"default_to_square": true,
|
| 6 |
+
"device": null,
|
| 7 |
+
"dither": 0.0,
|
| 8 |
+
"do_center_crop": null,
|
| 9 |
+
"do_convert_rgb": true,
|
| 10 |
+
"do_normalize": true,
|
| 11 |
+
"do_rescale": true,
|
| 12 |
+
"do_resize": true,
|
| 13 |
+
"do_sample_frames": false,
|
| 14 |
+
"feature_extractor_type": "WhisperFeatureExtractor",
|
| 15 |
+
"feature_size": 128,
|
| 16 |
+
"fps": null,
|
| 17 |
+
"hop_length": 160,
|
| 18 |
+
"image_mean": [
|
| 19 |
+
0.48145466,
|
| 20 |
+
0.4578275,
|
| 21 |
+
0.40821073
|
| 22 |
+
],
|
| 23 |
+
"image_std": [
|
| 24 |
+
0.26862954,
|
| 25 |
+
0.26130258,
|
| 26 |
+
0.27577711
|
| 27 |
+
],
|
| 28 |
+
"input_data_format": null,
|
| 29 |
+
"max_frames": 768,
|
| 30 |
+
"max_pixels": 12845056,
|
| 31 |
+
"merge_size": 2,
|
| 32 |
+
"min_frames": 4,
|
| 33 |
+
"min_pixels": 3136,
|
| 34 |
+
"n_fft": 400,
|
| 35 |
+
"n_samples": 4800000,
|
| 36 |
+
"nb_max_frames": 30000,
|
| 37 |
+
"num_frames": null,
|
| 38 |
+
"pad_size": null,
|
| 39 |
+
"padding_side": "right",
|
| 40 |
+
"padding_value": 0.0,
|
| 41 |
+
"patch_size": 14,
|
| 42 |
+
"processor_class": "Qwen2_5OmniProcessor",
|
| 43 |
+
"resample": 3,
|
| 44 |
+
"rescale_factor": 0.00392156862745098,
|
| 45 |
+
"return_attention_mask": true,
|
| 46 |
+
"return_metadata": false,
|
| 47 |
+
"sampling_rate": 16000,
|
| 48 |
+
"size": {
|
| 49 |
+
"longest_edge": 12845056,
|
| 50 |
+
"shortest_edge": 3136
|
| 51 |
+
},
|
| 52 |
+
"temporal_patch_size": 2,
|
| 53 |
+
"video_metadata": null,
|
| 54 |
+
"video_processor_type": "Qwen2VLVideoProcessor"
|
| 55 |
+
}
|
vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|