Transformers documentation

MOSS-Transcribe-Diarize

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-10-14 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

MOSS-Transcribe-Diarize

Genel Bakış

MOSS-Transcribe-Diarize 0.9B, uzun süreli çok konuşmacılı transkripsiyon, konuşmacı ayrıştırma ve zaman damgaları için uçtan uca ses anlama modelidir. Whisper tarzı bir kodlayıcı, 4× çerçeve birleştirme adımı, çok modlu bir projektör ve bir Qwen3 dil modelini bir araya getirir.

Model kontrol noktası şu adreste kullanılabilir: itazap/MOSS-Transcribe-Diarize-HF

Öne çıkan yetenekler şunlardır:

  • Tek geçişte ortak transkripsiyon ve konuşmacı ayrımı, segmentler [start][S01]text[end] biçiminde formatlanır.
  • Uzun formatlı ses işlemcide, hatta daha önceki aşamada Whisper-pencere parçalama ile; model parçaları örnek başına yeniden birleştirir.
  • apply_transcription_request veya sohbet şablonu aracılığıyla İstemlenebilir transkripsiyon.
  • 50'den fazla dilde çok dilli destek.

Bu model, Hugging Face ekibinden Ita Zaporozhets tarafından katkıda bulunmuştur. Daha fazla ayrıntı için model kartına ve OpenMOSS deposuna bakın.

Kullanım

Aşağıdaki örneklerin çoğu, sohbet şablonunu sizin için oluşturan apply_transcription_request yardımcı işlevini kullanır. Eşdeğer apply_chat_template çağrısı için sohbet şablonuyla gelişmiş kullanım bölümüne bakın.

Temel transkripsiyon ve konuşmacı ayrıştırma

Her konuşmacı turu, [start][S0N]text[end] segmenti olarak çözümlenir. processor.decode, ham çözümlenmiş dizeyi, segmentleri sözlük listesi olarak (return_format="parsed") veya yalnızca birleştirilmiş transkripsiyonu (return_format="transcription_only") döndürebilir.

from transformers import AutoProcessor, AutoModelForCausalLM

model_id = "itazap/MOSS-Transcribe-Diarize-HF"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

audio_url = "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/podcast_sample.wav"
inputs = processor.apply_transcription_request(audio_url)
inputs = inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, do_sample=False, max_new_tokens=512)
generated_ids = outputs[:, inputs.input_ids.shape[1] :]

decoded = processor.decode(generated_ids, skip_special_tokens=True)
print("RAW OUTPUT:", decoded)

parsed = processor.decode(generated_ids, return_format="parsed")[0]
print("\nPARSED (list of dicts):")
for segment in parsed:
    print(segment)

transcription = processor.decode(generated_ids, return_format="transcription_only")
print("\nTRANSCRIPTION ONLY:", transcription[0])

"""
RAW OUTPUT: ["[0.48][S01] Hey everyone, welcome back to the show.[2.43][2.46][S01] Today, we're talking about the best way to learn a new skill.[5.22][5.43][S01] I'm here with Jordan to dig into it.[7.14][8.40][S02] Thanks for having me.[9.42][9.63][S02] My take is that consistency beats intensity every single time.[12.87][13.14][S01] That makes sense.[13.92][13.92][S01] Even 20 minutes a day adds up over a few months.[16.17][16.32][S02] Exactly, and writing down small wins keeps you motivated along the way.[19.62]"]

PARSED (list of dicts):
{'Start': 0.48, 'End': 2.43, 'Speaker': 1, 'Content': 'Hey everyone, welcome back to the show.'}
{'Start': 2.46, 'End': 5.22, 'Speaker': 1, 'Content': "Today, we're talking about the best way to learn a new skill."}
{'Start': 5.43, 'End': 7.14, 'Speaker': 1, 'Content': "I'm here with Jordan to dig into it."}
{'Start': 8.4, 'End': 9.42, 'Speaker': 2, 'Content': 'Thanks for having me.'}
{'Start': 9.63, 'End': 12.87, 'Speaker': 2, 'Content': 'My take is that consistency beats intensity every single time.'}
{'Start': 13.14, 'End': 13.92, 'Speaker': 1, 'Content': 'That makes sense.'}
{'Start': 13.92, 'End': 16.17, 'Speaker': 1, 'Content': 'Even 20 minutes a day adds up over a few months.'}
{'Start': 16.32, 'End': 19.62, 'Speaker': 2, 'Content': 'Exactly, and writing down small wins keeps you motivated along the way.'}

TRANSCRIPTION ONLY: Hey everyone, welcome back to the show. Today, we're talking about the best way to learn a new skill. I'm here with Jordan to dig into it. Thanks for having me. My take is that consistency beats intensity every single time. That makes sense. Even 20 minutes a day adds up over a few months. Exactly, and writing down small wins keeps you motivated along the way.
"""

Özel istem ve sıcak kelimeler

apply_transcription_request, transkripsiyonu belirli terimlere (ör. özel isimler veya alanına özgü sözcükler) yönlendirmek için keywords parametresini kabul eder; bu parametre, sohbet şablonunda 热词列表: (“hotword list”) olarak görüntülenir. Ek bağlam sağlamak için bununla birlikte özel bir prompt da geçirilebilir.

Aşağıda, “Yorùbá” kelimesini içeren bir ses kaydını, bu kelimeyi anahtar kelime olarak geçirmekle geçirmemek arasında karşılaştırarak transkribe ediyoruz.

from transformers import AutoProcessor, AutoModelForCausalLM

model_id = "itazap/MOSS-Transcribe-Diarize-HF"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

audio_url = "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/languages_sample.wav"

# Without keywords
inputs = processor.apply_transcription_request(audio_url)
inputs = inputs.to(model.device, dtype=model.dtype)
outputs = model.generate(**inputs, do_sample=False, max_new_tokens=128)
transcription = processor.decode(outputs[:, inputs.input_ids.shape[1] :], return_format="transcription_only")
print(f"WITHOUT keywords: {transcription[0]}")

# With keywords
inputs = processor.apply_transcription_request(audio_url, keywords=["Mandarin", "Yorùbá"])
inputs = inputs.to(model.device, dtype=model.dtype)
outputs = model.generate(**inputs, do_sample=False, max_new_tokens=128)
transcription = processor.decode(outputs[:, inputs.input_ids.shape[1] :], return_format="transcription_only")
print(f"WITH keywords   : {transcription[0]}")

"""
WITHOUT keywords: Let's talk about the most spoken languages in the world. Mandarin Chinese has the most native speakers, followed by Spanish, English, and Hindi. In West Africa, one of the most widely spoken languages is Yoruba, with over 50 million speakers.
WITH keywords   : Let's talk about the most spoken languages in the world. Mandarin Chinese has the most native speakers, followed by Spanish, English, and Hindi. In West Africa, one of the most widely spoken languages is Yorùbá, with over 50 million speakers.
"""

Sohbet şablonuyla gelişmiş kullanım

apply_transcription_request, yalnızca ses içeren bir kullanıcı turuna sahip bir sohbet şablonuna eşdeğerdir:

from transformers import AutoProcessor, AutoModelForCausalLM

model_id = "itazap/MOSS-Transcribe-Diarize-HF"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

audio_url = "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/intro_sample.wav"
conversation = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "url": audio_url},
        ],
    },
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
).to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, do_sample=False, max_new_tokens=128)
decoded = processor.decode(
    outputs[:, inputs.input_ids.shape[1] :],
    skip_special_tokens=True,
)
print(decoded)

Toplu çıkarım

Bir ses listesi ve isteğe bağlı olarak eşleşen bir istem ve/veya anahtar kelime listesi geçirerek, tek bir çağrıda bir partiyi transkribe edin. Bir örnekte bunu atlamak için bir girdiyi None olarak ayarlayın.

from transformers import AutoProcessor, AutoModelForCausalLM

model_id = "itazap/MOSS-Transcribe-Diarize-HF"
processor = AutoProcessor.from_pretrained(model_id)
# `from_pretrained` is used here for convenience, the model can also be built from a config directly.
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

audio = [
    "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/intro_sample.wav",
    "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/languages_sample.wav",
]
keywords = [None, ["Mandarin", "Yorùbá"]]

inputs = processor.apply_transcription_request(audio, keywords=keywords)
inputs = inputs.to(model.device, dtype=model.dtype)
outputs = model.generate(**inputs, do_sample=False, max_new_tokens=128)
transcription = processor.decode(outputs[:, inputs.input_ids.shape[1] :], return_format="transcription_only")
print(transcription)

Eğitim

Hedef transkripsiyonları, modelin zaman damgalı ve konuşmacı etiketli çıktı biçiminde, transcription ile apply_transcription_request fonksiyonuna iletin. Dönen labels, kaybı hesaplamak için kullanılır.

from transformers import AutoModelForCausalLM, AutoProcessor

model_id = "itazap/MOSS-Transcribe-Diarize-HF"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
model.train()

audio_url = "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/intro_sample.wav"
transcription = (
    "[0.00][S01] Welcome to this demonstration of automatic speech recognition and speaker diarization using an "
    "end-to-end transformer model.[7.47]"
)

inputs = processor.apply_transcription_request(audio_url, transcription=transcription)
inputs.to(model.device, dtype=model.dtype)

loss = model(**inputs).loss
print("Loss:", loss.item())
loss.backward()

Torch derleme

Model, daha hızlı çıkarım/eğitim için derlenebilir. device_map="auto", ileri geçişi accelerate kancalarıyla sarmalar ve bu da tekrarlı yeniden derlemeye neden olur; bu nedenle modeli doğrudan tek bir cihaza yükleyin.

B200 üzerinde, 4'lük bir batch boyutu için ~2,1x hızlanma gözlemledik.

import time

import torch

from transformers import AutoProcessor, AutoModelForCausalLM


model_id = "itazap/MOSS-Transcribe-Diarize-HF"

num_warmup = 5
num_runs = 20

# Load processor + model
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id).to("cuda")

# Prepare static inputs
audio_url = "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/intro_sample.wav"
inputs = processor.apply_transcription_request([audio_url] * 4).to(model.device, torch.bfloat16)

# Benchmark without compile
print("Warming up without compile...")
with torch.no_grad():
    for _ in range(num_warmup):
        _ = model(**inputs)

torch.accelerator.synchronize()

print("\nBenchmarking without torch.compile...")
torch.accelerator.synchronize()
start = time.time()
with torch.no_grad():
    for _ in range(num_runs):
        _ = model(**inputs)
torch.accelerator.synchronize()
no_compile_time = (time.time() - start) / num_runs
print(f"Average time without compile: {no_compile_time:.4f}s")

# Benchmark with compile
print("\nCompiling model...")
model = torch.compile(model)

print("Warming up with compile (includes graph capture)...")
with torch.no_grad():
    for _ in range(num_warmup):
        _ = model(**inputs)

torch.accelerator.synchronize()

print("\nBenchmarking with torch.compile...")
torch.accelerator.synchronize()
start = time.time()
with torch.no_grad():
    for _ in range(num_runs):
        _ = model(**inputs)
torch.accelerator.synchronize()
compile_time = (time.time() - start) / num_runs
print(f"Average time with compile: {compile_time:.4f}s")

speedup = no_compile_time / compile_time
print(f"\nSpeedup: {speedup:.2f}x")

Otomatik regresif transkripsiyonda, torch.compile, model.forward fonksiyonunu doğrudan derlemek yerine bir CompileConfig nesnesi sağlayarak generate içindeki token başına ileri geçişleri hızlandırır.

import torch
from transformers import AutoProcessor, AutoModelForCausalLM, CompileConfig

model_id = "itazap/MOSS-Transcribe-Diarize-HF"
num_warmup = 3

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id).to("cuda")

audio_url = "https://huggingface.co/datasets/itazap/audio_samples/resolve/main/intro_sample.wav"
inputs = processor.apply_transcription_request([audio_url] * 4).to(model.device, torch.bfloat16)

compile_config = CompileConfig()

# Warmup
for _ in range(num_warmup):
    _ = model.generate(**inputs, max_new_tokens=128, cache_implementation="static", compile_config=compile_config)

# Apply model
generated_ids = model.generate(
    **inputs, max_new_tokens=128, cache_implementation="static", compile_config=compile_config
)
transcription = processor.decode(generated_ids[:, inputs.input_ids.shape[1] :], return_format="transcription_only")
print(transcription)

MossTranscribeDiarizeConfig

sınıf transformers.MossTranscribeDiarizeConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_token_id: int = 151671projector_hidden_act: str = 'silu'projector_bias: bool = Trueaudio_merge_size: int = 4audio_chunk_size: int = 480000tie_word_embeddings: bool = True )

Parametreler

  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Ses omurgasının yapılandırma nesnesi veya sözlüğü.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Metin omurgasının yapılandırma nesnesi veya sözlüğü.
  • audio_token_id (int, isteğe bağlı, varsayılan 151671) — Girdi sesinin yer tutucusu olarak kullanılan ses belirteç dizini.
  • projector_hidden_act (str, isteğe bağlı, varsayılan silu) — Çok modlu projektör tarafından kullanılan aktivasyon fonksiyonu.
  • projector_bias (bool, isteğe bağlı, varsayılan True) — Çok modlu projeksiyonda sapma (bias) kullanılıp kullanılmayacağı.
  • audio_merge_size (int, isteğe bağlı, varsayılan 4) — Çok modlu projeksiyoncuya bağlanmadan önce ardışık olarak birleştirilen Whisper kodlayıcı çerçevelerinin sayısı.
  • audio_chunk_size (int, isteğe bağlı, varsayılan 480000) — padding_mask ile audio_chunk_mapping’i geri getirmek için kullanılan Whisper kodlayıcı pencere boyutu, ham ses örneklerinde.
  • tie_word_embeddings (bool, isteğe bağlı, varsayılan True) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.

Bu, bir MossTranscribeDiarizeModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Moss Transcribe Diarize modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, hf-audio/MOSS-Transcribe-Diarize-HF modelinin yapılandırmasına 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 MossTranscribeDiarizeForConditionalGeneration, MossTranscribeDiarizeConfig

>>> # Initializing a MossTranscribeDiarize configuration
>>> configuration = MossTranscribeDiarizeConfig()

>>> # Initializing a model from the configuration
>>> model = MossTranscribeDiarizeForConditionalGeneration(configuration)

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

MossTranscribeDiarizeAudioConfig

sınıf transformers.MossTranscribeDiarizeAudioConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_mel_bins: int = 80num_hidden_layers: int = 24num_attention_heads: int = 16intermediate_size: int = 4096activation_function: str = 'gelu'hidden_size: int = 1024dropout: float | int = 0.0attention_dropout: float | int = 0.0activation_dropout: float | int = 0.0initializer_range: float = 0.02max_source_positions: int = 1500 )

Parametreler

  • num_mel_bins (int, isteğe bağlı, varsayılan 80) — Giriş başına kullanılan mel özellik sayısı. AutoFeatureExtractor sınıfında kullanılan değerle eşleşmelidir.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 24) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • intermediate_size (int, isteğe bağlı, varsayılan 4096) — MLP temsillerinin boyutu.
  • activation_function (str, isteğe bağlı, varsayılan gelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tüm dropout katmanları için oran.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • activation_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • max_source_positions (int, isteğe bağlı, varsayılan 1500) — Bu modelin kullanılabileceği log-mel filtre bankası özelliklerinin maksimum dizi uzunluğu.

Bu, bir MossTranscribeDiarizeModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Moss Transcribe Diarize modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, hf-audio/MOSS-Transcribe-Diarize-HF modelinin yapılandırmasına 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 MossTranscribeDiarizeAudioConfig, MossTranscribeDiarizeAudioModel

>>> # Initializing a MossTranscribeDiarizeAudioConfig
>>> configuration = MossTranscribeDiarizeAudioConfig()

>>> # Initializing a MossTranscribeDiarizeAudioModel (with random weights)
>>> model = MossTranscribeDiarizeAudioModel(configuration)

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

MossTranscribeDiarizeAudioModel

sınıf transformers.MossTranscribeDiarizeAudioModel

< >

( config: MossTranscribeDiarizeAudioConfig )

Parametreler

  • config (MossTranscribeDiarizeAudioConfig) — 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.

Whisper kodlayıcısı olan MOSS-Transcribe-Diarize ses modeli.

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

< >

( input_featuresattention_mask = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, feature_size, sequence_length)) — Ham ses dalgasından çıkarılan log-mel özellikleri, her 30 saniyelik Whisper penceresi için bir satır. Bkz. call().
  • attention_mask (torch.Tensor, isteğe bağlı) — MossTranscribeDiarize, input_features için maskelemeyi desteklemez; bu argüman uyumluluk için korunmuştur ancak kullanılmaz.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

A BaseModelOutputWithPooling veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (MossTranscribeDiarizeConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

MossTranscribeDiarizeAudioModel 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.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.

  • 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.

MossTranscribeDiarizeFeatureExtractor

sınıf transformers.MossTranscribeDiarizeFeatureExtractor

< >

( feature_size = 80sampling_rate = 16000hop_length = 160chunk_length = 30n_fft = 400padding_value = 0.0dither = 0.0return_attention_mask = False**kwargs )

Bir MOSS-Transcribe-Diarize özellik çıkarıcısı oluşturur.

Bu, chunk_length saniyeden uzun sesleri log-mel özellikleri çıkarılmadan önce ardışık Whisper penceresi parçalarına bölen ve her örneğin orijinal ham ses uzunluğunu padding_mask üzerinden raporlayan bir WhisperFeatureExtractor'dur (input_features_mask, parça başına geçerli çerçeveleri işaretler).

__call__

< >

( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]truncation: bool = Truepad_to_multiple_of: int | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonesampling_rate: int | None = Nonedevice: str | None = 'cpu'**kwargs ) → BatchFeature

Parametreler

  • raw_speech (np.ndarray, list[float], list[np.ndarray], list[list[float]]) — İşlenecek dizi veya dizi partisi. Yalnızca mono kanal ses.
  • truncation (bool, isteğe bağlı, varsayılan True) — Her n_samples uzunluğundaki parçayı n_samples uzunluğuna kısaltmak için kırpma işlemini etkinleştirir.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, her parçanın ham sesini bu değerin katına yastıklar.
  • device (str, isteğe bağlı, varsayılan "cpu") — Log-mel spektrogramu hesaplamak için kullanılan cihaz.

Dönüş değeri

BatchFeature

input_features (log-mel özellikleri, parça başına bir satır), input_features_mask (parça başına geçerli çerçeve maskesi) ve padding_mask (geçerli ham örnek maskesi, girdi örneği başına bir satır) ile

Her ses örneğini ardışık n_samples uzunluğunda parçalara böler, parça başına log-mel özelliklerini çıkarır ve her örneğin orijinal ham ses uzunluğunu padding_mask üzerinden raporlar.

MossTranscribeDiarizeProcessor

sınıf transformers.MossTranscribeDiarizeProcessor

< >

( feature_extractor = Nonetokenizer = Nonechat_template: str | None = Noneaudio_token: str = '<|audio_pad|>'audio_bos_token: str = '<|audio_start|>'audio_eos_token: str = '<|audio_end|>'audio_tokens_per_second: float = 12.5audio_merge_size: int = 4time_marker_every_seconds: int = 2 )

Parametreler

  • feature_extractor (MossTranscribeDiarizeFeatureExtractor) — Özellik çıkarıcı zorunlu bir girdidir.
  • tokenizer (Qwen2Tokenizer) — Tokenizer zorunlu bir girdidir.
  • chat_template (str, isteğe bağlı) — Bir sohbet içindeki mesaj listelerini tokenize edilebilir bir dizeye dönüştürmek için kullanılan bir Jinja şablonu.
  • audio_token (str, isteğe bağlı, varsayılan "<|audio_pad|>") — Sohbet şablonunda ses girdilerini temsil etmek için kullanılan özel token.
  • audio_bos_token (str, isteğe bağlı, varsayılan "<|audio_start|>") — Sohbet şablonunda ses aralığının başlangıcını işaret eden özel token.
  • audio_eos_token (str, isteğe bağlı, varsayılan "<|audio_end|>") — Sohbet şablonunda ses aralığının sonunu işaret eden özel token.
  • audio_tokens_per_second (float, isteğe bağlı, varsayılan 12.5) — Giriş sesinin saniyesi başına beklenen ses yer tutucu token sayısı.
  • audio_merge_size (int, isteğe bağlı, varsayılan 4) — Ses token sayısını hesaplamada kullanılan Whisper çerçeve birleştirme çarpanı.
  • time_marker_every_seconds (int, isteğe bağlı, varsayılan 2) — Ses aralığına her N saniyede bir sayısal zaman işaretçisi jetonları ekler. Zaman işaretçilerini devre dışı bırakmak ve bunun yerine düz bir ses yer tutucu aralığı üretmek için 0 olarak ayarlayın.

Bir özellik çıkarıcıyı ve bir belirteçleyiciyi tek bir işlemciye saran bir MossTranscribeDiarizeProcessor oluşturur.

MossTranscribeDiarizeProcessor, MossTranscribeDiarizeFeatureExtractor ve Qwen2Tokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~MossTranscribeDiarizeFeatureExtractor ve ~Qwen2Tokenizer belgelerine bakın.

__call__

< >

( text: str | list[str]audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = Noneoutput_labels: bool | None = False**kwargs: *<class 'transformers.models.moss_transcribe_diarize.processing_moss_transcribe_diarize.MossTranscribeDiarizeProcessorKwargs'> ) → BatchFeature

Parametreler

  • text (Union[str, list[str]]) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek için is_split_into_words=True değerini ayarlayın.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], isteğe bağlı) — Hazırlanacak ses veya sesler partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.
  • output_labels (bool, isteğe bağlı, varsayılan=False) — Eğitim için etiketlerin döndürülüp döndürülmeyeceğini belirtir.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • **kwargs (ProcessingKwargs, isteğe bağlı) — Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

Dönüş değeri

BatchFeature

Tokenize edilmiş metin (input_ids, attention_mask) ve ses özelliklerini (input_values, padding_mask) içeren bir sözlük.

apply_chat_template

< >

( conversation: list[dict[str, str]] | list[list[dict[str, str]]]chat_template: str | None = Nonetools: list[dict] | None = Nonedocuments: list[dict[str, str]] | None = Noneadd_generation_prompt: bool = Falsecontinue_final_message: bool | str = Falsereturn_assistant_tokens_mask: bool = Falsetokenize: bool = Falsereturn_tensors: str | transformers.utils.generic.TensorType | None = 'auto'return_dict: bool = Falseload_audio_from_video: bool = Falseprocessor_kwargs: dict | None = None**kwargs )

Parametreler

  • conversation (Union[list[Dict, [str, str]], list[list[dict[str, str]]]]) — Biçimlendirilecek konuşma.
  • chat_template (Optional[str], isteğe bağlı) — Sohbeti biçimlendirmek için kullanılacak Jinja şablonu. Sağlanmazsa, tokenizer'ın sohbet şablonu kullanılır.

apply_chat_template yönteminde olduğu gibi, bu yöntem girdi konuşmalarına bir Jinja şablonu uygulayarak onları tek bir tokenize edilebilir dizeye dönüştürür.

Girdinin aşağıdaki formatta olması beklenir; burada her mesaj içeriği, metin ve isteğe bağlı olarak görüntü veya video girdilerinden oluşan bir listedir. Ayrıca, return_dict=True olduğunda pixel_values oluşturmak için kullanılacak bir görüntü, video, URL veya yerel yol da sağlanabilir. Sağlanmazsa, yalnızca biçimlendirilmiş metin, isteğe bağlı olarak tokenize edilmiş metin alınır.

conversation = [ { “role”: “user”, “content”: [ {“type”: “image”, “url”: “https://www.ilankelman.org/stopsigns/australia.jpg”}, {“type”: “text”, “text”: “Please describe this image in detail.”}, ], }, ]

apply_transcription_request

< >

( audio: typing.Union[str, list[str], numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]prompt: str | list[str] | None = Nonekeywords: str | list[str] | list[list[str]] | None = Nonetranscription: str | list[str] | None = Nonetokenize: bool = True**kwargs: *<class 'transformers.models.moss_transcribe_diarize.processing_moss_transcribe_diarize.MossTranscribeDiarizeProcessorKwargs'> )

Parametreler

  • audio (str, list[str], np.ndarray, torch.Tensor, list[np.ndarray], list[torch.Tensor]) — Transkribe edilecek ses. Dizgiler yerel yollar veya URL'ler olarak yorumlanır ve sohbet şablonu yükleyicisi tarafından otomatik olarak yüklenir; NumPy dizileri ve PyTorch tensörleri doğrudan iletilir.
  • prompt (str veya list[str], isteğe bağlı) — Kullanıcı turuna dahil edilecek özel istem(ler). Bir liste, partinin uzunluğuyla aynı uzunlukta olmalıdır. None olduğunda, sohbet şablonu varsayılan zaman damgalı konuşmacı ayırt etme istemini sağlar.
  • keywords (str, list[str] veya list[list[str]], isteğe bağlı) — Transkripsiyonu doğru yazıma yönlendirmek için kullanılan hotword/domain terimleri (ör. özel isimler). Bir string veya düz string listesi, batch içinde paylaşılan anahtar kelimeleri belirtir; iç içe listeler ise her ses örneği için ayrı anahtar kelimeler sağlar.
  • transcription (str veya list[str], isteğe bağlı) — Eğitim için hedef transkript(ler), her ses için bir adet, modelin çıktı biçiminde (ör. "[0.00][S01] Hello world.[1.20]"). Verildiğinde, her transkript asistan turu olarak yazılır ve labels döndürülür (bkz. call() içindeki output_labels).
  • tokenize (bool, isteğe bağlı, varsayılan True) — İfadelerin (prompts) tokenize edilip edilmeyeceğini ve sesin işlenip işlenmeyeceğini belirler. False ise ses yüklenmez ve ifadeler, genişletilmemiş ses yer tutucuları (placeholders) içeren dizgeler olarak döndürülür. Bunları sesle birlikte işlemciye (processor) iletirseniz, processor(text=prompts, audio=audio), tokenize=True ile aynı çıktıları verir.
  • **kwargs — apply_chat_template() işlevine iletilecek ek anahtar kelime argümanları. İşleyici anahtar kelime argümanları (örneğin text_kwargs, audio_kwargs, …) processor_kwargs={...} olarak geçirilmelidir.

transcription verildiğinde eğitim için ya da çıkarım için, sohbet şablonunu elle yazmadan transkripsiyon/diyarizasyon için girdileri hazırlar.

MossTranscribeDiarizeModel

sınıf transformers.MossTranscribeDiarizeModel

< >

( config: MossTranscribeDiarizeConfig )

Parametreler

  • config (MossTranscribeDiarizeConfig) — 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.

MOSS-Transcribe-Diarize modeli: Whisper encoder, 4x zaman birleştirme, çok modlu projector ve Qwen3 dil modeli.

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

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonepadding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → MossTranscribeDiarizeModelOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri MossTranscribeDiarizeFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için MossTranscribeDiarizeFeatureExtractor.call() bölümüne bakın (MossTranscribeDiarizeProcessor, sesleri işlemek için MossTranscribeDiarizeFeatureExtractor kullanır).
  • input_features_mask (torch.Tensor, şekli (num_chunks, feature_sequence_length), isteğe bağlı) — input_features içindeki her parçalanmış log-mel özellik satırı için bir satır içeren, geçerli (dolgu olmayan) özellik indekslerini işaretleyen maske. Her parçanın geçerli kodlayıcı çıktı uzunluğunu hesaplamak için kullanılır.
  • attention_mask (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapılmaması için kullanılan maske. Dil modeline olduğu gibi iletilir.
  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — input_ids yerine geçirilen, önceden hesaplanmış gömme değerleri. input_features de verildiğinde, ses yer tutucu konumlarının inputs_embeds içinde bulunabilmesi ve ses gömme değerleriyle doldurulabilmesi için input_ids hâlâ gereklidir.
  • padding_mask (torch.Tensor, şekli (batch_size, max_audio_length), isteğe bağlı) — Her ses örneğinin geçerli ham ses uzunluğunu işaretleyen maske. audio_chunk_mapping değerini geri getirmek için config.audio_chunk_size ile birlikte kullanılır.

Dönüş değeri

MossTranscribeDiarizeModelOutputWithPast veya tuple(torch.Tensor)

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

MossTranscribeDiarizeModel 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.

  • audio_hidden_states (torch.Tensor, isteğe bağlı) — Projeksiyonlanmış ses gizli durumları.

get_audio_features

< >

( input_features: Tensorinput_features_mask: Tensorpadding_mask: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim)) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri MossTranscribeDiarizeFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için MossTranscribeDiarizeFeatureExtractor.call() bölümüne bakınız (MossTranscribeDiarizeProcessor, sesleri işlemek için MossTranscribeDiarizeFeatureExtractor kullanır).
  • input_features_mask (torch.Tensor, şekli (num_chunks, feature_sequence_length)) — input_features içindeki her parçalanmış log-mel özellik satırı için bir satır içeren, geçerli (dolgulu olmayan) özellik indekslerini işaretleyen maske. Her parçanın geçerli kodlayıcı çıktı uzunluğunu hesaplamak için kullanılır.
  • padding_mask (torch.Tensor, şekli (batch_size, max_audio_length)) — Her ses örneğinin geçerli ham ses uzunluğunu işaretleyen maske, örneğe satır başına. config.audio_chunk_size ile birlikte audio_chunk_mapping değerini geri getirmek için kullanılır.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

A BaseModelOutputWithPooling veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (MossTranscribeDiarizeConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

MOSS ses gömme değerlerini log-mel özelliklerinden çıkarın ve örnek başına çok parçalı sesleri yeniden birleştirin.

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

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.

  • 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.

MossTranscribeDiarizeForConditionalGeneration

sınıf transformers.MossTranscribeDiarizeForConditionalGeneration

< >

( config: MossTranscribeDiarizeConfig )

Parametreler

  • config (MossTranscribeDiarizeConfig) — 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.

Transkripsiyon ve konuşmacı ayrımı ile koşullu üretim için MOSS-Transcribe-Diarize modeli.

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

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0padding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → MossTranscribeDiarizeCausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri MossTranscribeDiarizeFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için MossTranscribeDiarizeFeatureExtractor.call() bölümüne bakın (MossTranscribeDiarizeProcessor, sesleri işlemek için MossTranscribeDiarizeFeatureExtractor kullanır).
  • input_features_mask (torch.Tensor, şekli (num_chunks, feature_sequence_length), isteğe bağlı) — input_features içindeki her parçalanmış log-mel özellik satırı için bir satır içeren, geçerli (dolgu olmayan) özellik indekslerini işaretleyen maske. Her parçanın geçerli kodlayıcı çıktı uzunluğunu hesaplamak için kullanılır.
  • attention_mask (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapılmaması için kullanılan maske. Dil modeline olduğu gibi iletilir.
  • past_key_values (~cache_utils.Cache, 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 değerinin, çö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.

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — input_ids yerine geçirilen, önceden hesaplanmış gömme değerleri. input_features de verildiğinde, ses yer tutucu konumlarının inputs_embeds içinde bulunabilmesi ve ses gömme değerleriyle doldurulabilmesi için input_ids hâlâ gereklidir.
  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler.
  • logits_to_keep (Union[int, torch.Tensor], isteğe bağlı, varsayılan 0) — int ise, son logits_to_keep token için logits hesaplanır. 0 ise, tüm input_ids için logits hesaplanır (özel durum). Üretim için yalnızca son token logits'leri gereklidir ve bunların yalnızca o token için hesaplanması bellek tasarrufu sağlar; bu, uzun diziler veya büyük sözlük boyutu için oldukça önemli hale gelir. torch.Tensor ise, dizi uzunluğu boyutundaki korunacak indekslere karşılık gelen 1B olmalıdır. Bu, paketlenmiş tensor biçimini (batch ve dizi uzunluğu için tek boyut) kullanırken faydalıdır.
  • padding_mask (torch.Tensor, şekli (batch_size, max_audio_length), isteğe bağlı) — Her ses örneğinin geçerli ham ses uzunluğunu işaretleyen maske. audio_chunk_mapping değerini geri getirmek için config.audio_chunk_size ile birlikte kullanılır.

Dönüş değeri

MossTranscribeDiarizeCausalLMOutputWithPast veya tuple(torch.Tensor)

MossTranscribeDiarizeCausalLMOutputWithPast veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (MossTranscribeDiarizeConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

MossTranscribeDiarizeForConditionalGeneration 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.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları.

  • 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.

  • 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 (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir 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.

  • audio_hidden_states (torch.Tensor, isteğe bağlı) — Projeksiyon sonrası ses kodlayıcısının gizli durumları.

Örnek:

>>> from transformers import MossTranscribeDiarizeForConditionalGeneration, AutoProcessor

>>> model_id = "hf-audio/MOSS-Transcribe-Diarize-HF"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = MossTranscribeDiarizeForConditionalGeneration.from_pretrained(model_id, device_map="auto")
>>> inputs = processor.apply_transcription_request("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
>>> inputs = inputs.to(model.device, dtype=model.dtype)
>>> outputs = model.generate(**inputs, do_sample=False, max_new_tokens=500)
>>> processor.batch_decode(outputs[:, inputs.input_ids.shape[1] :], skip_special_tokens=True)

get_audio_features

< >

( input_featuresinput_features_mask**kwargs )

Update on GitHub