fusion-embedding-1-2b-preview / configuration_fusion_embedding.py
abtonmoy's picture
AutoModel + trust_remote_code support (remote-code loading; existing loaders unchanged)
27e1dd7 verified
Raw
History Blame Contribute Delete
2.49 kB
"""HF remote-code configuration for the fusion-embedding family.
Lives on the model repos (EximiusLabs/fusion-embedding-1-2b-preview and
EximiusLabs/fusion-embedding-2-2b-preview) next to modeling_fusion_embedding.py so the
models load with plain transformers:
from transformers import AutoModel
model = AutoModel.from_pretrained(
"EximiusLabs/fusion-embedding-1-2b-preview", trust_remote_code=True)
The config carries the trained-connector dimensions plus the frozen-component repo
names; the frozen Qwen3-VL-Embedding base and Qwen2.5-Omni audio tower are NOT part of
this checkpoint — they are fetched from their own repositories at first use.
"""
from __future__ import annotations
from transformers import PretrainedConfig
class FusionEmbeddingConfig(PretrainedConfig):
model_type = "fusion-embedding-connector"
def __init__(
self,
d_audio: int = 3584,
d_llm: int = 2048,
n_query: int = 64,
d_resampler: int = 384,
resampler_depth: int = 6,
resampler_heads: int = 8,
resampler_ffn_mult: int = 4,
resampler_dropout: float = 0.0,
adapter_rank: int = 0,
adapter_act: str = "silu",
mrl_dims=(2048, 1536, 1024, 512, 256, 128, 64),
mrl_default: int = 1024,
audio_pad_id: int = 151654,
eos_id: int = 151645,
pad_id: int = 151643,
audio_pad_token: str = "<|audio_pad|>",
base_model: str = "Qwen/Qwen3-VL-Embedding-2B",
audio_model: str = "Qwen/Qwen2.5-Omni-7B",
max_text_tokens: int = 512,
n_decoder_layers: int = 28,
**kwargs,
):
self.d_audio = d_audio
self.d_llm = d_llm
self.n_query = n_query
self.d_resampler = d_resampler
self.resampler_depth = resampler_depth
self.resampler_heads = resampler_heads
self.resampler_ffn_mult = resampler_ffn_mult
self.resampler_dropout = resampler_dropout
self.adapter_rank = adapter_rank or 0
self.adapter_act = adapter_act or "silu"
self.mrl_dims = list(mrl_dims)
self.mrl_default = mrl_default
self.audio_pad_id = audio_pad_id
self.eos_id = eos_id
self.pad_id = pad_id
self.audio_pad_token = audio_pad_token
self.base_model = base_model
self.audio_model = audio_model
self.max_text_tokens = max_text_tokens
self.n_decoder_layers = n_decoder_layers
super().__init__(**kwargs)