Qwen2.5 Omni 7B GPTQ 4bit
Q
Qwen2.5 Omni 7B GPTQ 4bit
FunAGIによって開発
Qwen2.5-Omni-7Bモデルをベースとした4ビットGPTQ量子化バージョンで、多言語およびマルチモーダルタスクをサポートします。
ダウンロード数 3,957
リリース時間 : 3/27/2025
モデル概要
これは4ビットGPTQ量子化されたQwen2.5-Omni-7Bモデルで、テキスト、画像、動画処理をサポートし、多言語およびマルチモーダルタスクに適しています。
モデル特徴
4ビットGPTQ量子化
モデルは4ビット量子化されており、メモリ使用量と計算リソース要件を大幅に削減します。
マルチモーダルサポート
テキスト、画像、動画処理をサポートし、複雑なマルチモーダルタスクに適しています。
多言語サポート
英語、ドイツ語、フランス語など8言語をサポートします。
効率的な推論
flash_attention_2を使用して効率的な推論を実現し、処理速度を向上させます。
モデル能力
テキスト生成
画像分析
動画理解
多言語処理
マルチモーダル推論
使用事例
コンテンツ生成
動画コンテンツ分析
動画コンテンツを分析し、記述的なテキストを生成します。
動画コンテンツを正確に理解し、関連する記述を生成できます。
言語翻訳
多言語翻訳
テキストをある言語から別の言語に翻訳します。
複数の言語の正確な翻訳をサポートします。
🚀 Qwen2.5-Omni-7B 4-bit量子化モデル
このモデルは、GPTQModelを使用して4-bit量子化されたQwen2.5-Omni-7Bモデルです。多言語に対応し、様々なタスクでの利用が可能です。
✨ 主な機能
- 4-bit量子化によるメモリ使用量の削減
- 多言語(英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語)に対応
- 様々なタスクでの利用が可能
📦 インストール
Qwen公式のドキュメントに従って、以下のインストール手順を実行してください。
pip uninstall transformers
pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356
pip install accelerate
pip install qwen-omni-utils[decord]
GitHubリポジトリからGPTQModelをインストールします。
💻 使用例
基本的な使用法
import os
import json
import torch
import torch.nn.functional as F
import numpy as np
from PIL import Image
from typing import Any, Dict, List, Optional, Tuple, Union
from transformers import (
Qwen2_5OmniModel,
Qwen2_5OmniProcessor,
AutoModelForVision2Seq,
AutoProcessor,
AutoTokenizer
)
from transformers.utils.hub import cached_file
from transformers.generation.utils import GenerateOutput
from gptqmodel import GPTQModel, QuantizeConfig, BACKEND
from gptqmodel.models.base import BaseGPTQModel
from gptqmodel.models.auto import MODEL_MAP, SUPPORTED_MODELS
from gptqmodel.models._const import CPU
from datasets import load_dataset
from qwen_omni_utils import process_mm_info
class Qwen25OmniThiknerGPTQ(BaseGPTQModel):
loader = Qwen2_5OmniModel
base_modules = [
"thinker.model.embed_tokens",
"thinker.model.norm",
"token2wav",
"thinker.audio_tower",
"thinker.model.rotary_emb",
"thinker.visual",
"talker"
]
pre_lm_head_norm_module = "thinker.model.norm"
require_monkeypatch = False
layers_node = "thinker.model.layers"
layer_type = "Qwen2_5OmniDecoderLayer"
layer_modules = [
["self_attn.k_proj", "self_attn.v_proj", "self_attn.q_proj"],
["self_attn.o_proj"],
["mlp.up_proj", "mlp.gate_proj"],
["mlp.down_proj"],
]
def pre_quantize_generate_hook_start(self):
self.thinker.visual = move_to(self.thinker.visual, device=self.quantize_config.device)
self.thinker.audio_tower = move_to(self.thinker.audio_tower, device=self.quantize_config.device)
def pre_quantize_generate_hook_end(self):
self.thinker.visual = move_to(self.thinker.visual, device=CPU)
self.thinker.audio_tower = move_to(self.thinker.audio_tower, device=CPU)
def preprocess_dataset(self, sample: Dict) -> Dict:
return sample
MODEL_MAP["qwen2_5_omni"] = Qwen25OmniThiknerGPTQ
SUPPORTED_MODELS.append("qwen2_5_omni")
model_path = "/home/chentianqi/model/Qwen/Qwen2.5-Omni-7B-GPTQ-4bit"
from types import MethodType
@classmethod
def patched_from_config(cls, config, *args, **kwargs):
kwargs.pop("trust_remote_code", None)
model = cls._from_config(config, **kwargs)
spk_path = cached_file(
model_path,
"spk_dict.pt",
subfolder=kwargs.pop("subfolder", None),
cache_dir=kwargs.pop("cache_dir", None),
force_download=kwargs.pop("force_download", False),
proxies=kwargs.pop("proxies", None),
resume_download=kwargs.pop("resume_download", None),
local_files_only=kwargs.pop("local_files_only", False),
token=kwargs.pop("use_auth_token", None),
revision=kwargs.pop("revision", None),
)
if spk_path is None:
raise ValueError(f"Speaker dictionary not found at {spk_path}")
model.load_speakers(spk_path)
return model
Qwen2_5OmniModel.from_config = patched_from_config
# FP Model
# model = Qwen2_5OmniModel.from_pretrained(
# model_path,
# torch_dtype=torch.bfloat16,
# device_map="auto",
# attn_implementation="flash_attention_2",
# )
# GPTQ MODEL
model = GPTQModel.load(
model_path,
device_map="cuda",
torch_dtype=torch.float16,
attn_implementation="flash_attention_2"
)
高度な使用法
from qwen_omni_utils import process_mm_info
processor = Qwen2_5OmniProcessor.from_pretrained(model_path)
# @title inference function
def inference(video_path, prompt, sys_prompt):
messages = [
{"role": "system", "content": sys_prompt},
{"role": "user", "content": [
{"type": "text", "text": prompt},
{"type": "video", "video": video_path},
]
},
]
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
# image_inputs, video_inputs = process_vision_info([messages])
audios, images, videos = process_mm_info(messages, use_audio_in_video=False)
inputs = processor(text=text, audios=audios, images=images, videos=videos, return_tensors="pt", padding=True)
inputs = inputs.to(model.device).to(model.dtype)
output = model.generate(**inputs, use_audio_in_video=False, return_audio=False)
text = processor.batch_decode(output, skip_special_tokens=True, clean_up_tokenization_spaces=False)
return text
video_path = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2.5-Omni/screen.mp4"
prompt = "Please trranslate the abstract of paper into Chinese."
# display(Video(video_path, width=640, height=360))
## Use a local HuggingFace model to inference.
response = inference(video_path, prompt=prompt, sys_prompt="You are a helpful assistant.")
print(response[0])
📚 ドキュメント
モデルのサイズ
モデルサイズ | FP | 4-bit |
---|---|---|
22.39G | 12.71G |
量子化パラメータ
- bits: 4
- dynamic: null
- group_size: 128
- desc_act: true
- static_groups: false
- sym: false
- lm_head: false
- true_sequential: true
- quant_method: "gptq"
- checkpoint_format: "gptq"
- meta:
- quantizer: gptqmodel:1.1.0
- uri: https://github.com/modelcloud/gptqmodel
- damp_percent: 0.1
- damp_auto_increment: 0.0015
🔧 技術詳細
このモデルは、Qwen2.5-Omni-7Bモデルを4-bit量子化したものです。量子化にはGPTQModelを使用しています。量子化により、メモリ使用量を大幅に削減することができます。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
注意事項
⚠️ 重要提示
コードには、コメントアウトされたFPモデルの読み込みとGPTQモデルの読み込みの両方が含まれています。
Codebert Base
CodeBERTはプログラミング言語と自然言語向けの事前学習モデルで、RoBERTaアーキテクチャに基づいており、コード検索やコードからドキュメント生成などの機能をサポートします。
マルチモーダル融合
C
microsoft
1.6M
248
Llama 4 Scout 17B 16E Instruct
その他
Llama 4 ScoutはMetaが開発したマルチモーダルAIモデルで、混合専門家アーキテクチャを採用し、12言語のテキストと画像インタラクションをサポート、17Bの活性化パラメータと109Bの総パラメータを有します。
マルチモーダル融合
Transformers 複数言語対応

L
meta-llama
817.62k
844
Unixcoder Base
Apache-2.0
UniXcoderは統一されたマルチモーダル事前学習モデルで、コードコメントや抽象構文木などのマルチモーダルデータを使用してコード表現を事前学習します。
マルチモーダル融合
Transformers 英語

U
microsoft
347.45k
51
TITAN
TITANは、病理学画像分析のための視覚的自己教師あり学習と視覚-言語アライメントによるマルチモーダル全スライド基礎モデルです。
マルチモーダル融合
Safetensors 英語
T
MahmoodLab
213.39k
37
Qwen2.5 Omni 7B
その他
Qwen2.5-Omniはエンドツーエンドのマルチモーダルモデルで、テキスト、画像、音声、ビデオなど様々なモダリティを認識し、ストリーミング方式でテキストや自然な音声レスポンスを生成できます。
マルチモーダル融合
Transformers 英語

Q
Qwen
206.20k
1,522
Minicpm O 2 6
MiniCPM-o 2.6はスマートフォンで動作するGPT-4oレベルのマルチモーダル大規模モデルで、視覚、音声、ライブストリーム処理をサポート
マルチモーダル融合
Transformers その他

M
openbmb
178.38k
1,117
Llama 4 Scout 17B 16E Instruct
その他
Llama 4 ScoutはMetaが開発した17Bパラメータ/16エキスパート混合のマルチモーダルAIモデルで、12言語と画像理解をサポートし、業界をリードする性能を有しています。
マルチモーダル融合
Transformers 複数言語対応

L
chutesai
173.52k
2
Qwen2.5 Omni 3B
その他
Qwen2.5-Omniはエンドツーエンドのマルチモーダルモデルで、テキスト、画像、音声、ビデオなど様々なモダリティ情報を認識し、ストリーミング方式でテキストと自然な音声応答を同期生成できます。
マルチモーダル融合
Transformers 英語

Q
Qwen
48.07k
219
One Align
MIT
Q-Alignはマルチタスク視覚評価モデルで、画像品質評価(IQA)、美的評価(IAA)、動画品質評価(VQA)に特化しており、ICML2024で発表されました。
マルチモーダル融合
Transformers

O
q-future
39.48k
25
Biomedvlp BioViL T
MIT
BioViL-Tは胸部X線画像と放射線レポートの分析に特化した視覚言語モデルで、時系列マルチモーダル事前学習により性能を向上させています。
マルチモーダル融合
Transformers 英語

B
microsoft
26.39k
35
おすすめAIモデル
Llama 3 Typhoon V1.5x 8b Instruct
タイ語専用に設計された80億パラメータの命令モデルで、GPT-3.5-turboに匹敵する性能を持ち、アプリケーションシナリオ、検索拡張生成、制限付き生成、推論タスクを最適化
大規模言語モデル
Transformers 複数言語対応

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-TinyはSODAデータセットでトレーニングされた超小型対話モデルで、エッジデバイス推論向けに設計されており、体積はCosmo-3Bモデルの約2%です。
対話システム
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
RoBERTaアーキテクチャに基づく中国語抽出型QAモデルで、与えられたテキストから回答を抽出するタスクに適しています。
質問応答システム 中国語
R
uer
2,694
98