Transformers documentation

MuseGlimmerAssistant

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

Bu model, 2026-08-09 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

FlashAttention SDPA

MuseGlimmerAssistant

MuseGlimmerAssistant, MuseGlimmer için DFlash taslakçısıdır. Bağımsız bir dil modeli değildir. 5 kayan pencere katmanına sahiptir ve kendi gömme (embedding) katmanları yoktur. Ana modelin giriş ve çıkış gömmelerini kullanır ve bağlam olarak ana modelin gizli durumlarını target_layer_ids (varsayılan olarak 1, 13, 25, 37 ve 49. katmanlar) üzerinden okur.

Tek tek token taslağı çıkarmak yerine, taslakçı (drafter), bir difüzyon penceresi gibi, tek bir ileri geçişte block_size boyutundaki tüm maskeli token bloğunu gürültüden arındırır. Ana model, bloğu tek adımda doğrular. Meta, RTX 5090 üzerinde 3,1 kat daha hızlı, Apple M serisi çiplerinde ise 1,5-1,8 kat daha hızlı çözümleme (decoding) bildirmektedir.

Drafter'ı generate() fonksiyonuna assistant_model olarak iletin ve speculation_type="dflash" değerini ayarlayın. Drafter, ana modelle aynı dtype ve aynı cihazda yüklenmelidir.

from transformers import AutoProcessor, MuseGlimmerAssistantModel, MuseGlimmerForConditionalGeneration

processor = AutoProcessor.from_pretrained("meta-models/Muse-Glimmer-30B")
model = MuseGlimmerForConditionalGeneration.from_pretrained(
    "meta-models/Muse-Glimmer-30B",
    device_map="auto",
)
drafter = MuseGlimmerAssistantModel.from_pretrained(
    "meta-models/Muse-Glimmer-30B-assistant",
    device_map="auto",
)

messages = [
    {
        "role": "user",
        "content": [{"type": "text", "text": "Write a bash one-liner that counts lines of Python in a repo."}],
    },
]
inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)
input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(
    **inputs,
    assistant_model=drafter,
    speculation_type="dflash",
    max_new_tokens=256,
)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)

Notlar

MuseGlimmerAssistantConfig

sınıf transformers.MuseGlimmerAssistantConfig

< >

( 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 = Nonehidden_size: int = 6656intermediate_size: int = 19968num_hidden_layers: int = 5num_attention_heads: int = 32num_key_value_heads: int = 8head_dim: int = 128rms_norm_eps: float = 1e-05rope_parameters: dict | None = Nonemax_position_embeddings: int = 131072sliding_window: int = 2048layer_types: list[str] | None = Noneattention_dropout: float | int = 0hidden_act: str = 'silu'bos_token_id: int | None = 200000eos_token_id: int | None = 200001pad_token_id: int | None = 200018block_size: int = 16mask_token_id: int = 201818target_layer_ids: list[int] | None = None )

Parametreler

  • hidden_size (int, isteğe bağlı, varsayılan 6656) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 19968) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 5) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 32) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • num_key_value_heads (int, isteğe bağlı, varsayılan 8) — Bu, Grouped Query Attention uygulamasında kullanılacak key_value başlarının sayısıdır. num_key_value_heads=num_attention_heads ise model Multi Head Attention (MHA) kullanır, num_key_value_heads=1 ise model Multi Query Attention (MQA) kullanır, aksi halde GQA kullanılır. Çok başlı bir checkpoint'i GQA checkpoint'ine dönüştürürken, her grup key ve value başı, o gruptaki tüm orijinal başların ortalama havuzlanması (meanpooling) ile oluşturulmalıdır. Daha fazla ayrıntı için bu makaleye göz atın. Belirtilmezse, varsayılan olarak num_attention_heads kullanılır.
  • head_dim (int, isteğe bağlı, varsayılan 128) — Dikkat başlığı boyutu. None ise, varsayılan olarak hidden_size // num_attention_heads değerini alır.
  • rms_norm_eps (float, isteğe bağlı, varsayılan 1e-05) — rms normalizasyon katmanları tarafından kullanılan epsilon.
  • rope_parameters (dict, isteğe bağlı) — RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, rope_theta için bir değer ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 131072) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • sliding_window (int, isteğe bağlı, varsayılan 2048) — Kayan pencere dikkat penceresi boyutu. None ise kayan pencere uygulanmaz.
  • layer_types (list[str], isteğe bağlı) — Her katman indeksini ilgili katman türüyle açıkça eşleyen bir liste. Sağlanmazsa, config değerlerine göre otomatik olarak oluşturulur.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0) — Dikkat olasılıkları için dropout oranı.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • bos_token_id (int, isteğe bağlı, varsayılan 200000) — Sözlükte akış başlangıcı için kullanılan token kimliği.
  • eos_token_id (int, isteğe bağlı, varsayılan 200001) — Sözlükte akış sonu için kullanılan token kimliği.
  • pad_token_id (int, isteğe bağlı, varsayılan 200018) — Sözlükte dolgu için kullanılan token kimliği.
  • block_size (int, isteğe bağlı) — Gürültüden arındırılacak gürültü girişlerinin blok boyutu.
  • mask_token_id (int, isteğe bağlı) — Modelin gürültülü girdisi olarak kullanılan mask token kimlikleri.
  • target_layer_ids (list[int], isteğe bağlı) — Model için bağlam olarak birleştirilen gizli durumların sıfır tabanlı katman kimlikleri.

Bu, bir MuseGlimmerAssistantModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Muse Glimmer Assistant modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, meta-models/Muse-Glimmer-30B-assistant ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import MuseGlimmerAssistantConfig, MuseGlimmerAssistantModel

>>> # Initializing a Muse Glimmer Assistant config similar to `meta-models/Muse-Glimmer-30B-assistant`.
>>> configuration = MuseGlimmerAssistantConfig(text_config)

>>> # Initializing a model from the `meta-models/Muse-Glimmer-30B-assistant` configuration.
>>> model = MuseGlimmerAssistantModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

MuseGlimmerAssistantPreTrainedModel

sınıf transformers.MuseGlimmerAssistantPreTrainedModel

< >

( config: PreTrainedConfig*inputs**kwargs )

Parametreler

  • config (PreTrainedConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

MuseGlimmerAssistantModel

sınıf transformers.MuseGlimmerAssistantModel

< >

( config: MuseGlimmerAssistantConfig )

Parametreler

  • config (MuseGlimmerAssistantConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Üzerinde herhangi bir özel head olmadan ham hidden-states çıktısı veren çıplak Muse Glimmer Assistant Model.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( noise_embeds: Tensorcontext_hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.DFlashCache | None = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPast or tuple(torch.Tensor)

Parametreler

  • noise_embeds (torch.Tensor, şekli [batch_size, config.block_size, dim]) — Gürültüden arındırılacak son üretilmiş çapa token'ı ve maske token'ları için giriş gömme (embedding).
  • context_hidden_states (torch.Tensor, şekli [batch_size, number_of_previous_accepted_tokens, dim * len(config.target_layer_ids)]) — Hedef modelin seçilen katman kimliklerinden gelen bağlam gizli durumları, son boyutta birleştirilmiş olarak.
  • attention_mask (torch.Tensor, şekli [batch_size, number_of_previous_accepted_tokens + config.block_size]) — Standart attention_mask ile benzerdir; ancak uzunluğunun number_of_previous_accepted_tokens + config.block_size olduğunu not edin. Bunun nedeni, Attention'in önce context_hidden_states ile noise_embeds türevli gizli durumları birleştirmesi ve bu sayede cache.update() çağrısından önce bile k/v durumlarının q_states ile aynı uzunlukta olmamasıdır. Dolayısıyla dikkat maskesinin kv_seq_len boyutu, ek konumları da kapsayacak şekilde uzanmalıdır.
  • position_ids (torch.Tensor, şekli [batch_size, number_of_previous_accepted_tokens + config.block_size]) — Normal position_ids ile benzerdir, ancak number_of_previous_accepted_tokens + config.block_size uzunluğunda olduğunu unutmayın. Bunun nedeni, Attention'ın önce context_hidden_states ile noise_embeds'den türetilen gizli durumları birleştirmesidir; bu sayede k/v durumları, cache.update() çağrısından önce bile q_states ile aynı uzunlukta olmaz. Dolayısıyla position_ids ve türetilen position_embeddings, tüm ek konumları kapsaması gerekir.
  • past_key_values (~cache_utils.DFlashCache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).

Dönüş değeri

BaseModelOutputWithPast veya tuple(torch.Tensor)

Bir BaseModelOutputWithPast veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (MuseGlimmerAssistantConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

MuseGlimmerAssistantModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarak config.is_encoder_decoder=True ise cross-attention bloklarındaki anahtar ve değerler) içerir.

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Update on GitHub