Transformers documentation

Parakeet

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تمت مساهمة هذا النموذج في Hugging Face Transformers في 2025-09-25.

SDPA

Parakeet

نظرة عامة

نماذج Parakeet، التي قدمتها NVIDIA NeMo، هي نماذج تجمع بين مُشفِّر Fast Conformer ومُفكِّك يعتمد على التصنيف الزمني الترابطي (CTC) أو مُحوِّل الشبكة العصبية التكرارية (RNNT) أو مُحوِّل الرموز والمدة (TDT) للتعرف التلقائي على الكلام.

بنية النموذج

  • Fast Conformer Encoder: معمارية Conformer قابلة للتوسع خطياً، تعالج ميزات mel-spectrogram وتقلل طول التسلسل من خلال أخذ عينات فرعية. هذه نسخة أكثر كفاءة من معالج Conformer Encoder الموجود في FastSpeech2Conformer (راجع ParakeetEncoder لمعرفة تفاصيل تنفيذ المعالج).
  • ParakeetForCTC: مُشفِّر Fast Conformer + مُفكِّك CTC
    • CTC Decoder: مفكّك بسيط وفعّال يتكوّن من:
      • إسقاط تلافيف أحادي البُعد من حجم المخفي للمُشفِّر إلى حجم المفردات (لأفضل توافق مع NeMo).
      • حساب خسارة CTC للتدريب.
      • فك تشفير CTC الجشع للاستدلال.
  • ParakeetForRNNT: مُشفِّر Fast Conformer + مُفكِّك RNN-T (RNN Transducer)
    • RNN-T Decoder: نقل عصبية قياسي:
      • يحافظ شبكة التنبؤ LSTM على السياق اللغوي عبر تنبؤات الرموز.
      • تجمع الشبكة المشتركة بين مخرجات المُشفِّر والمُفكِّك.
      • فك الترميز باستخدام محوّل التحويل الجشع للاستدلال: يُقدّم إصدار الفراغ إطار المُشفّر إلى الأمام بإطار واحد، بينما يبقى إصدار غير الفراغ على الإطار نفسه.
  • ParakeetForTDT: مُشفِّر Fast Conformer + مُفكِّك TDT (Token Duration Transducer)
    • TDT Decoder: يتنبأ بالرموز ومددها بشكل مشترك، مما يتيح فك ترميزًا فعالًا:
      • يحافظ شبكة التنبؤ LSTM على السياق اللغوي عبر تنبؤات الرموز.
      • تجمع الشبكة المشتركة بين مخرجات المُشفِّر والمُفكِّك.
      • يتنبأ رأس المدة بعدد الإطارات التي يجب تجاوزها، مما يتيح استنتاجاً سريعاً.

يمكن العثور على التنفيذ الأصلي في NVIDIA NeMo. يمكن العثور على نقاط التفتيش للنماذج تحت منظمة NVIDIA.

تمت مساهمة هذا النموذج من قِبل Nithin Rao Koluguri وEustache Le Bihan وEric Bezzam وMaksym Lypivskyi وHainan Xu.

الاستخدام

استخدام ParakeetForCTC

خط أنابيب
AutoModel
from transformers import pipeline


pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-ctc-1.1b")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)
# {'text': 'yesterday it was thirty five degrees in barcelona but today the temperature will go down to minus twenty degrees'}

استخدام ParakeetForRNNT

خط أنابيب
AutoModel
الطابع الزمني

ينقل Parakeet RNN-T النص دون تمييز بين الأحرف الكبيرة والصغيرة أو علامات الترقيم (على غرار CTC)، كما يمكن للنموذج أيضاً تحديد طوابع زمنية للرموز.

from transformers import pipeline

pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-rnnt-0.6b", revision="refs/pr/4")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)
# {'text': 'yesterday it was thirty five degrees in barcelona but today the temperature will go down to minus twenty degrees'}

استخدام ParakeetForTDT

خط أنابيب
AutoModel
الطابع الزمني

تتضمن نصوص Parakeet TDT تمييز الأحرف الكبيرة والصغيرة، كما يمكن للنموذج أيضاً تنفيذ طابعات زمنية للرموز.

from transformers import pipeline

pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-tdt-0.6b-v3")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)
# {'text': 'Yesterday it was 35 degrees in Barcelona, but today the temperature will go down to minus 20 degrees.'}

تسريع أداء النموذج

يدعم Parakeet تجميع المخطط الكامل مع التقاط المخطط (مخططات CUDA على وحدات معالجة NVIDIA الرسومية، والآلية المكافئة على المعجلات الأخرى)! تكون هذه التحسينات أكثر فعالية عندما تعرف الحد الأقصى لطول الصوت الذي تريد تحويله إلى نص. الفكرة الأساسية هي استخدام أشكال مدخلات ثابتة لتجنب إعادة التجميع. على سبيل المثال، إذا كنت تعرف أن صوتك سيكون أقل من 30 ثانية، يمكنك استخدام المعالج (processor) لحشو جميع المدخلات حتى 30 ثانية، مما يضمن ميزات مدخلات وأقنعة انتباه (attention masks) متسقة. راجع المثال أدناه!

import torch
from datasets import Audio, load_dataset

from transformers import AutoModelForCTC, AutoProcessor


processor = AutoProcessor.from_pretrained("nvidia/parakeet-ctc-1.1b")
model = AutoModelForCTC.from_pretrained("nvidia/parakeet-ctc-1.1b", device_map="auto")

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:5]]

# Compile the generate method with fullgraph and graph capture
model.generate = torch.compile(model.generate, fullgraph=True, mode="reduce-overhead")

# let's define processor kwargs to pad to 30 seconds
processor_kwargs = {
    "padding": "max_length",
    "max_length": 30 * processor.feature_extractor.sampling_rate,
}

# Define a timing context using accelerator events
class TimerContext:
    def __init__(self, name="Execution"):
        self.name = name
        self.start_event = None
        self.end_event = None

    def __enter__(self):
        # Use accelerator events for more accurate device timing
        self.start_event = torch.Event(enable_timing=True)
        self.end_event = torch.Event(enable_timing=True)
        self.start_event.record()
        return self

    def __exit__(self, *args):
        self.end_event.record()
        torch.accelerator.synchronize()
        elapsed_time = self.start_event.elapsed_time(self.end_event) / 1000.0
        print(f"{self.name} time: {elapsed_time:.4f} seconds")


inputs = processor(speech_samples[0], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("First generation - compiling...")
# Generate with the compiled model
with TimerContext("First generation"):
    outputs = model.generate(**inputs)
print(processor.decode(outputs))

inputs = processor(speech_samples[1], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("Second generation - recording graphs...")
with TimerContext("Second generation"):
    outputs = model.generate(**inputs)
print(processor.decode(outputs))

inputs = processor(speech_samples[2], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("Third generation - fast !!!")
with TimerContext("Third generation"):
    outputs = model.generate(**inputs)
print(processor.decode(outputs))

inputs = processor(speech_samples[3], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("Fourth generation - still fast !!!")
with TimerContext("Fourth generation"):
    outputs = model.generate(**inputs)
print(processor.decode(outputs))

تدريب CTC

from datasets import Audio, load_dataset
from transformers import AutoModelForCTC, AutoProcessor

model_id = "nvidia/parakeet-ctc-1.1b"
NUM_SAMPLES = 5

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCTC.from_pretrained(model_id, device_map="auto")
model.train()

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]

# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)

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

تدريب RNN-T

يتطلب حساب خسارة RNN-T استخدام torchaudio (pip install torchaudio).

from datasets import Audio, load_dataset
import torch
from transformers import AutoModelForRNNT, AutoProcessor

model_id = "nvidia/parakeet-rnnt-0.6b"
revision = "refs/pr/4"
NUM_SAMPLES = 4

processor = AutoProcessor.from_pretrained(model_id, revision=revision)
model = AutoModelForRNNT.from_pretrained(model_id, revision=revision,  device_map="auto")
model.train()

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]

# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)

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

تدريب TDT

from datasets import Audio, load_dataset
import torch
from transformers import AutoModelForTDT, AutoProcessor

model_id = "nvidia/parakeet-tdt-0.6b-v3"
NUM_SAMPLES = 4

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, device_map="auto")
model.train()

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]

# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)

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

ParakeetTokenizer

فئة transformers.ParakeetTokenizer

< >

( *args**kwargs )

يرث جميع الأساليب من PreTrainedTokenizerFast. ينبغي على المستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الأساليب، باستثناء _decode الذي تم تجاوزُه لتكييفه مع فك ترميز CTC:

  1. تجميع الرموز المتتالية
  2. تصفية الرمز الفارغ

ParakeetFeatureExtractor

فئة transformers.ParakeetFeatureExtractor

< >

( feature_size = 80sampling_rate = 16000hop_length = 160n_fft = 512win_length = 400preemphasis = 0.97padding_value = 0.0**kwargs )

المعاملات

  • feature_size (int، اختياري، القيمة الافتراضية 80) — أبعاد الميزة للميزات المستخرجة.
  • sampling_rate (int, اختياري، القيمة الافتراضية 16000) — معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).
  • hop_length (int، اختياري، القيمة الافتراضية 160) — طول النوافذ المتداخلة المستخدمة في تحويل فورييه الزمني القصير (STFT) للحصول على معاملات ترددات ميل.
  • n_fft (int، اختياري، القيمة الافتراضية 512) — حجم تحويل فورييه.
  • win_length (int، اختياري، القيمة الافتراضية 400) — طول النافذة لحساب تحويل فورييه الزمني القصير (STFT).
  • preemphasis (float، اختياري، القيمة الافتراضية 0.97) — معامل مرشح التمهيد. القيمة 0.0 تعني عدم استخدام مرشح التمهيد.
  • padding_value (float، اختياري، القيمة الافتراضية 0.0) — قيمة الحشو المستخدمة لحشو الصوت. يجب أن تتوافق مع الصمت.

ينشئ مستخرج ميزات Parakeet.

يرث مستخرج الميزات هذا من SequenceFeatureExtractor الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

تستخرج هذه الفئة ميزات بنك مرشحات ميل من الكلام الخام باستخدام تنفيذ مخصص عبر numpy لتحويل Short Time Fourier Transform، والذي ينبغي أن يطابق ما يعادله في pytorch وهو torch.stft.

__call__

< >

( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]truncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_attention_mask: bool | None = Nonepadding: str | None = 'longest'max_length: int | None = Nonesampling_rate: int | None = Nonedo_normalize: bool | None = Nonedevice: str | None = 'cpu'return_token_timestamps: bool | None = None**kwargs )

المعاملات

  • raw_speech (np.ndarray، list[float]، list[np.ndarray]، list[list[float]]) — التسلسل أو الدفعة من التسلسلات التي سيتم ملؤها. يمكن أن يكون كل تسلسل مصفوفة numpy، أو قائمة من قيم float، أو قائمة من مصفوفات numpy، أو قائمة من قوائم قيم float. يجب أن يكون الصوت أحادي القناة وليس ستيريو، أي قيمة float واحدة لكل خطوة زمنية.
  • truncation (bool، اختياري، الافتراضي True) — يفعّل القصّ لقطع تسلسلات الإدخال الأطول من max_length إلى max_length.
  • pad_to_multiple_of (int, اختياري, الافتراضي هو None) — إذا تم ضبطه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة.

    يُعدّ هذا مفيدًا بشكل خاص لتفعيل استخدام نوى التينسور (Tensor Cores) على أجهزة NVIDIA التي تتمتع بقابلية معالجة >= 7.5 (Volta)، أو على وحدات TPU التي تستفيد من أن تكون أطوال التسلسلات مضاعفات للعدد 128.

  • return_attention_mask (bool, اختياري) — ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقًا للقيمة الافتراضية الخاصة بمعالج الميزات (feature_extractor) المعني.

    ما هي أقنعة الانتباه؟

    فيما يتعلق بنماذج Parakeet، يجب دائماً تمرير attention_mask عند الاستدلال الدُفعي (batched inference) لتجنب الأخطاء الدقيقة.

  • return_tensors (str أو TensorType, اختياري) — إذا تم تعيينه، فسيُعاد تينسورات بدلاً من قائمة من الأعداد الصحيحة في بايثون. القيم المقبولة هي:
    • 'tf': إرجاع كائنات tf.constant من TensorFlow.
    • 'pt': إرجاع كائنات torch.Tensor من PyTorch.
    • 'np': إرجاع كائنات np.ndarray من نوع Numpy.
  • sampling_rate (int, اختياري) — معدل أخذ العينات الذي تم به أخذ عينات مدخل raw_speech. يُوصى بشدة بتمرير sampling_rate عند استدعاء الأمامي لمنع الأخطاء الصامتة وتمكين خط أنابيب التعرف التلقائي على الكلام.
  • padding_value (float، اختياري، القيمة الافتراضية 0.0) — القيمة المستخدمة لملء قيم الحشو / متجهات الحشو.
  • do_normalize (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم تطبيع المدخلات إلى متوسط صفري وتباين وحدة. يمكن أن يساعد التطبيع في تحسين أداء النموذج بشكل كبير.
  • device (str، اختياري، القيمة الافتراضية 'cpu') — يحدد الجهاز المستخدم لحساب طيف اللوغ-ميل (log-mel spectrogram) لإشارات الصوت في طريقة _torch_extract_fbank_features. (على سبيل المثال، “cpu” أو “cuda”)
  • return_token_timestamps (bool, اختياري, الافتراضي هو None) — غير مستخدم. استخدم return_attention_mask بدلاً منه، حيث يمكن استنتاج عدد الإطارات منه.

    ما إذا كان يجب إرجاع عدد الإطارات (frames) لـ raw_speech المُدخل. يمكن استخدام هذه num_frames من قِبَل النموذج لحساب الطوابع الزمنية على مستوى الكلمة.

الطريقة الرئيسية لتحويل البيانات إلى ميزات (Featurization) وتجهيزها للنموذج، سواءً كانت تسلسلاً واحداً أو عدة تسلسلات. يستخدم التنفيذ مكتبة PyTorch لحساب STFT إذا كانت متاحة، وإلا فسيتم استخدام طريقة أبطأ تعتمد على NumPy.

ParakeetProcessor

فئة transformers.ParakeetProcessor

< >

( feature_extractortokenizerblank_token = '<blank>'decoder_type = None )

المعاملات

  • feature_extractor (feature_extractor_class) — مستخرج الميزات هو مدخل مطلوب.
  • tokenizer (tokenizer_class) — مُجزِّئ النص (tokenizer) هو مدخل إلزامي.
  • blank_token (str، اختياري، القيمة الافتراضية "<blank>") — رمز فارغ لفك ترميز المحوّل (transducer).
  • decoder_type (str, اختياري) — وضع فك الترميز/إصدار الطوابع الزمنية. القيم الممكنة:
    • "ctc": يتم دمج الرموز المتطابقة المتتالية في إصدار واحد.
    • "rnnt": تُحفظ الرموز المتكررة؛ حيث يحصل كل رمز على نطاق زمني بإطار واحد.
    • "tdt": يتم الاحتفاظ بالرموز المتكررة؛ حيث يعتمد نطاق كل رمز على مدته المتوقعة. وتُربط علامات الترقيم بالرمز الذي يسبقها.

    إذا كانت None (نقاط التفتيش الأقدم)، يتم استنتاج نوع المُفكِّك تلقائيًا من أجل التوافق مع الإصدارات السابقة.

ينشئ ParakeetProcessor الذي يجمع مستخرج الميزات ومجزئ الرموز في معالج واحد.

يوفر ParakeetProcessor جميع وظائف feature_extractor_class وtokenizer_class. راجع ~feature_extractor_class و~tokenizer_class لمزيد من المعلومات.

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]text: str | list[str] | list[list[str]] | None = Nonesampling_rate: int | None = None**kwargs: *<class 'transformers.models.parakeet.processing_parakeet.ParakeetProcessorKwargs'> )

المعاملات

  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]) — الصوت أو مجموعة الأصوات التي سيتم تجهيزها. يمكن أن يكون كل صوت مصفوفة NumPy أو متجه PyTorch. في حالة استخدام مصفوفة NumPy/متجه PyTorch، يجب أن يكون شكل كل صوت (C, T)، حيث C هو عدد القنوات، وT هو طول العينة للصوت.
  • text (Union[str, list[str], list[list[str]]]، اختياري) — التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصاً أو قائمة من النصوص (نص مُقسَّم مسبقاً إلى رموز). إذا مرّرت مدخلاً مُقسَّماً مسبقاً إلى رموز، فعيّن is_split_into_words=True لتجنّب الغموض مع المدخلات المُجمَّعة في دفعات.
  • sampling_rate (int, اختياري) — معدل أخذ العينات للصوت المُدخل بالهرتز. يجب أن يتطابق هذا المعدل مع معدل أخذ العينات المتوقع من قِبل مستخرج الميزات (الافتراضي هو 16000 هرتز). إذا تم تقديمه، فسيتم التحقق منه مقابل معدل أخذ العينات المتوقع من المعالج، وسيتم رفع خطأ إذا لم يتطابقا. أما إذا لم يتم تقديمه، فسيتم إصدار تحذير وسيُفترض معدل أخذ العينات الافتراضي.
  • return_tensors (str أو TensorType, اختياري) — إذا تم تعيينه، فسيُعاد تينسورات من إطار عمل محدد. القيم المقبولة هي:
    • 'pt': إرجاع كائنات torch.Tensor من PyTorch.
    • 'np': إرجاع كائنات np.ndarray من NumPy.
  • **kwargs (ProcessingKwargs، اختياري) — خيارات معالجة إضافية لكل نمط (نص، صور، مقاطع فيديو، صوت). تُدرج المعلمات الخاصة بالنموذج أعلاه؛ راجع فئة TypedDict للحصول على القائمة الكاملة للحجج المدعومة.

decode

< >

( *argsdurations = None**kwargs )

مرّر الحُجج إلى decode() ثم عالج الطوابع الزمنية بعد المعالجة (إذا تم توفيرها لـ TDT) كما هو الحال في مكتبة NeMo.

ParakeetEncoderConfig

فئة transformers.ParakeetEncoderConfig

< >

( 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 = 1024num_hidden_layers: int = 24num_attention_heads: int = 8intermediate_size: int = 4096hidden_act: str = 'silu'attention_bias: bool = Trueconvolution_bias: bool = Trueconv_kernel_size: int = 9subsampling_factor: int = 8subsampling_conv_channels: int = 256num_mel_bins: int = 80subsampling_conv_kernel_size: int = 3subsampling_conv_stride: int = 2dropout: float | int = 0.1dropout_positions: float | int = 0.0layerdrop: float | int = 0.1activation_dropout: float | int = 0.1attention_dropout: float | int = 0.1max_position_embeddings: int = 5000scale_input: bool = Trueinitializer_range: float = 0.02 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1024) — أبعاد التمثيلات المخفية.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 24) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 8) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • intermediate_size (int، اختياري، القيمة الافتراضية 4096) — أبعاد تمثيلات MLP.
  • hidden_act (str، اختياري، القيمة الافتراضية silu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • attention_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم استخدام انحياز في طبقات الإسقاط للاستعلام والمفتاح والقيمة والمخرجات أثناء الانتباه الذاتي.
  • convolution_bias (bool، اختياري، الافتراضي True) — ما إذا كان سيتم استخدام الانحياز في عمليات الالتفاف داخل وحدة الالتفاف الخاصة بـ conformer.
  • conv_kernel_size (int, اختياري، القيمة الافتراضية 9) — حجم النواة لطبقات الالتفاف في كتلة Conformer.
  • subsampling_factor (int، اختياري، القيمة الافتراضية 8) — المعامل الذي يتم بموجبه أخذ عينة فرعية من تسلسل الإدخال.
  • subsampling_conv_channels (int، اختياري، القيمة الافتراضية 256) — عدد القنوات في طبقات الالتفاف الفرعية.
  • num_mel_bins (int، اختياري، القيمة الافتراضية 80) — عدد ميزات mel.
  • subsampling_conv_kernel_size (int، اختياري، القيمة الافتراضية 3) — حجم النواة لطبقات الالتفاف الفرعية.
  • subsampling_conv_stride (int، اختياري، القيمة الافتراضية 2) — خطوة طبقات التمرير الفرعي.
  • dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — النسبة لجميع طبقات dropout.
  • dropout_positions (float, اختياري، القيمة الافتراضية 0.0) — نسبة dropout للمواقع في تسلسل الإدخال.
  • layerdrop (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — احتمالية LayerDrop. راجع [ورقة LayerDrop](انظر https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.
  • activation_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — نسبة dropout للتفعيلات داخل الطبقة المتصلة بالكامل.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — نسبة الإسقاط (dropout) لاحتمالات الانتباه.
  • max_position_embeddings (int، اختياري، القيمة الافتراضية 5000) — أقصى طول تسلسل قد يُستخدم معه هذا النموذج على الإطلاق.
  • scale_input (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم توسيع تمثيلات الإدخال.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

هذه فئة الإعدادات المخزنة لإعدادات ParakeetModel. تُستخدم لاستحداث نموذج Parakeet وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ nvidia/parakeet-ctc-1.1b

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import ParakeetEncoderModel, ParakeetEncoderConfig

>>> # Initializing a `ParakeetEncoder` configuration
>>> configuration = ParakeetEncoderConfig()

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

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

ParakeetCTCConfig

class transformers.ParakeetCTCConfig

< >

( 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 = Nonevocab_size: int = 1025ctc_loss_reduction: str = 'mean'ctc_zero_infinity: bool = Trueencoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int | None = 1024 )

المعاملات

  • vocab_size (int، اختياري، القيمة الافتراضية 1025) — حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة input_ids.
  • ctc_loss_reduction (str, اختياري، القيمة الافتراضية "mean") — يحدد طريقة الاختزال (reduction) المطبقة على مخرجات torch.nn.CTCLoss. لا ينطبق إلا عند تدريب نسخة من ParakeetForCTC.
  • ctc_zero_infinity (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تصفير الخسائر اللانهائية والتدرجات المرتبطة بها في torch.nn.CTCLoss. تحدث الخسائر اللانهائية بشكل رئيسي عندما تكون المدخلات قصيرة جداً بحيث لا يمكن محاذاة الأهداف. يكون هذا الخيار ذا صلة فقط عند تدريب مثيل من ParakeetForCTC.
  • encoder_config (Union[dict, ParakeetEncoderConfig]، اختياري) — كائن الإعدادات أو قاموس المُشفِّر.
  • pad_token_id (int، اختياري، القيمة الافتراضية 1024) — معرّف الرمز المستخدم للتعبئة في المفردات.

هذه فئة الإعدادات المخزنة لإعدادات نموذج ParakeetModel. تُستخدم لتوليد نموذج Parakeet وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ nvidia/parakeet-ctc-1.1b

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import ParakeetForCTC, ParakeetCTCConfig
>>> # Initializing a Parakeet configuration
>>> configuration = ParakeetCTCConfig()
>>> # Initializing a model from the configuration
>>> model = ParakeetForCTC(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

ParakeetRNNTConfig

فئة transformers.ParakeetRNNTConfig

< >

( 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 = 0id2label: 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 = Noneis_encoder_decoder: bool = Truevocab_size: int = 8193decoder_hidden_size: int = 640num_decoder_layers: int = 2hidden_act: str = 'relu'max_symbols_per_step: int = 10encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int = 2blank_token_id: int = 8192 )

المعاملات

  • is_encoder_decoder (bool، اختياري، القيمة الافتراضية True) — ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.
  • vocab_size (int، اختياري، القيمة الافتراضية 8193) — حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة input_ids.
  • decoder_hidden_size (int, اختياري، القيمة الافتراضية 640) — حجم المخفي لشبكة LSTM التنبؤية والشبكة المشتركة.
  • num_decoder_layers (int، اختياري، القيمة الافتراضية 2) — عدد طبقات LSTM في شبكة التنبؤ.
  • hidden_act (str، اختياري، القيمة الافتراضية relu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • max_symbols_per_step (int، اختياري، القيمة الافتراضية 10) — الحد الأقصى لعدد الرموز التي يجب إصدارها في كل خطوة زمنية للمُشفِّر أثناء فك الترميز الجشع.
  • encoder_config (Union[dict, ParakeetEncoderConfig]، اختياري) — كائن الإعدادات أو قاموس المُشفِّر.
  • pad_token_id (int، اختياري، القيمة الافتراضية 2) — معرّف الرمز المستخدم للتعبئة في المفردات.
  • blank_token_id (int، اختياري، القيمة الافتراضية 8192) — معرّف الرمز الفارغ. يختلف عن pad_token_id في حالة RNN-T.

هذه فئة الإعدادات المخزنة لإعدادات ParakeetModel. تُستخدم لاستحداث نموذج Parakeet وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ nvidia/parakeet-rnnt-0.6b

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import ParakeetForRNNT, ParakeetRNNTConfig

>>> # Initializing a Parakeet RNN-T configuration
>>> configuration = ParakeetRNNTConfig()

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

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

ParakeetTDTConfig

فئة transformers.ParakeetTDTConfig

< >

( 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 = 0id2label: 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 = Noneis_encoder_decoder: bool = Truevocab_size: int = 8193decoder_hidden_size: int = 640num_decoder_layers: int = 2hidden_act: str = 'relu'max_symbols_per_step: int = 10encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int = 2blank_token_id: int = 8192durations: list[int] | tuple[int, ...] = (0, 1, 2, 3, 4) )

المعاملات

  • is_encoder_decoder (bool، اختياري، القيمة الافتراضية True) — ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.
  • vocab_size (int، اختياري، القيمة الافتراضية 8193) — حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة input_ids.
  • decoder_hidden_size (int, اختياري، القيمة الافتراضية 640) — حجم المخفي لشبكة LSTM التنبؤية والشبكة المشتركة.
  • num_decoder_layers (int، اختياري، القيمة الافتراضية 2) — عدد طبقات LSTM في شبكة التنبؤ.
  • hidden_act (str، اختياري، القيمة الافتراضية relu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • max_symbols_per_step (int، اختياري، القيمة الافتراضية 10) — الحد الأقصى لعدد الرموز التي يجب إصدارها في كل خطوة زمنية للمُشفِّر أثناء فك الترميز الجشع.
  • encoder_config (Union[dict, ParakeetEncoderConfig]، اختياري) — كائن الإعدادات أو قاموس المُشفِّر.
  • pad_token_id (int، اختياري، القيمة الافتراضية 2) — معرّف الرمز المستخدم للتعبئة في المفردات.
  • blank_token_id (int، اختياري، القيمة الافتراضية 8192) — معرّف الرمز الفارغ. يختلف عن pad_token_id في حالة TDT.
  • durations (list[int]، اختياري، القيمة الافتراضية [0, 1, 2, 3, 4]) — قيم مدة الرموز التي يمكن التنبؤ بها. يمثل كل قيمة عدد الإطارات التي يغطيها الرمز أو إصدار الفراغ.

هذه فئة الإعدادات المخزنة لإعدادات نموذج ParakeetModel. تُستخدم لاستحداث نموذج Parakeet وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ nvidia/parakeet-tdt-0.6b-v3

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import ParakeetForTDT, ParakeetTDTConfig

>>> # Initializing a Parakeet TDT configuration
>>> configuration = ParakeetTDTConfig()

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

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

ParakeetEncoder

فئة transformers.ParakeetEncoder

< >

( config: ParakeetEncoderConfig )

المعاملات

  • config (ParakeetEncoderConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Parakeet Encoder، المبني على بنية Fast Conformer.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attention_mask: bool = True**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)

المعاملات

  • input_features (torch.Tensor من الشكل (batch_size, sequence_length, feature_dim)) — المصفوفات المقابلة لميزات الصوت المدخلة. يمكن الحصول على ميزات الصوت باستخدام feature_extractor_class. راجع feature_extractor_class.__call__ للتفاصيل (processor_class يستخدم feature_extractor_class لمعالجة ملفات الصوت).
  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

    ما هي أقنعة الانتباه؟

  • output_attention_mask (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع قناع الانتباه الناتج. لا يكون فعالاً إلا عند تقديم attention_mask.

يعيد

BaseModelOutput أو tuple(torch.Tensor)

torch.Tensor أو BaseModelOutput (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) يتكوّن من عناصر مختلفة اعتماداً على الإعداد (None) والمدخلات.

تتجاوز طريقة ParakeetEncoder الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من النموذج.

  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import AutoProcessor, ParakeetEncoder
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> encoder = ParakeetEncoder.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> encoder_outputs = encoder(**inputs)

>>> print(encoder_outputs.last_hidden_state.shape)

ParakeetForCTC

فئة transformers.ParakeetForCTC

< >

( config: ParakeetCTCConfig )

المعاملات

  • config (ParakeetCTCConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

Parakeet Encoder مع رأس تصنيف زمني متصل (CTC).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → CausalLMOutput or tuple(torch.Tensor)

المعاملات

  • input_features (torch.Tensor من الشكل (batch_size, sequence_length, feature_dim)) — المصفوفات المقابلة لميزات الصوت المدخلة. يمكن الحصول على ميزات الصوت باستخدام feature_extractor_class. راجع feature_extractor_class.__call__ للتفاصيل (processor_class يستخدم feature_extractor_class لمعالجة ملفات الصوت).
  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

    ما هي أقنعة الانتباه؟

  • labels (torch.Tensor من الشكل (batch_size, sequence_length)، اختياري) — التسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس إما ضمن [0, ..., config.vocab_size] أو -100 (انظر input_ids docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على -100 (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن [0, ..., config.vocab_size].

يعيد

CausalLMOutput أو tuple(torch.Tensor)

CausalLMOutput أو مجموعة مرتبة من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتماداً على الإعداد (None) والمدخلات.

تتجاوز طريقة ParakeetForCTC الخاصة بالتقديم الأمامي الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة نمذجة اللغة (لتوقع الرمز التالي).

  • logits (torch.Tensor من الشكل (batch_size, sequence_length, config.vocab_size)) — درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).

  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> outputs = model(**inputs)

>>> print(outputs.loss)

generate

< >

( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonereturn_dict_in_generate: bool = Falsecompile_config: transformers.generation.configuration_utils.CompileConfig | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

compile_config (CompileConfig, اختياري): إذا تم توفيره، فسيتم تطبيق torch.compile على استدعاءات الأمامية في حلقة فك الترميز.

مثال:

>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> predicted_ids = model.generate(**inputs)
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)

>>> print(transcription)

ParakeetForRNNT

فئة transformers.ParakeetForRNNT

< >

( config: ParakeetRNNTConfig )

المعاملات

  • config (ParakeetRNNTConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

Parakeet Encoder مع رأس RNN-T (RNN Transducer).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_cache: transformers.models.parakeet.generation_parakeet.ParakeetRNNTDecoderCache | None = Noneuse_decoder_cache: bool | None = Noneencoder_outputs: transformers.models.parakeet.modeling_parakeet.ParakeetEncoderModelOutput | tuple[torch.Tensor] | None = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ParakeetRNNTOutput or tuple(torch.Tensor)

المعاملات

  • input_features (torch.Tensor من الشكل (batch_size, sequence_length, feature_dim)، اختياري) — المصفوفات المقابلة لميزات الصوت المدخلة. يمكن الحصول على ميزات الصوت باستخدام feature_extractor_class. راجع feature_extractor_class.__call__ للتفاصيل (processor_class يستخدم feature_extractor_class لمعالجة الأصوات).
  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

    ما هي أقنعة الانتباه؟

  • decoder_input_ids (torch.LongTensor من الشكل (batch_size, 1)، اختياري) — معرّفات رموز الإدخال لفكّ الترميز للاستدلال خطوةً واحدة.
  • decoder_cache (ParakeetRNNTDecoderCache، اختياري) — ذاكرة مؤقتة (cache) لشبكة LSTM في المُفكِّك. عند توفيره وتهيئته، يُعاد استخدام decoder_output المخزَّن مؤقتًا (مثلًا أثناء تجاوز الفراغات) بدلًا من تشغيل المُفكِّك. عند توفير input_ids، يعمل المُفكِّك وتُحدَّث الذاكرة المؤقتة في مكانها.
  • use_decoder_cache (bool، اختياري) — ما إذا كان سيتم استخدام ذاكرة مؤقتة للوحّاد. عند تعيين True وكون decoder_cache هو None، يتم إنشاء ذاكرة مؤقتة جديدة تلقائيًا أثناء المرور الأمامي.
  • encoder_outputs (tuple(torch.Tensor)، اختياري) — مخرجات المُشفِّر المحسوبة مسبقًا (last_hidden_state، pooler_output، hidden_states، attentions، attention_mask). يمكن أن تكون مجموعة (tuple) أو ParakeetEncoderModelOutput.
  • labels (torch.Tensor من الشكل (batch_size, sequence_length)، اختياري) — التسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس إما ضمن [0, ..., config.vocab_size] أو -100 (انظر input_ids docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على -100 (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن [0, ..., config.vocab_size].

يعيد

ParakeetRNNTOutput أو tuple(torch.Tensor)

ParakeetRNNTOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتماداً على الإعدادات (None) والمدخلات.

تتجاوز طريقة ParakeetForRNNT الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • loss (torch.Tensor, اختياري) — خسارة RNN-T، تُعاد عند توفير labels.
  • logits (torch.Tensor) — قيم logits المشتركة للرموز. يكون الشكل (batch, T, U+1, vocab) للتدريب أو (batch, 1, 1, vocab) للاستدلال بخطوة واحدة.
  • decoder_cache (ParakeetRNNTDecoderCache، اختياري) — ذاكرة مؤقتة (Cache) لشبكة LSTM في المُفكِّك (Decoder) تحتوي على حالة المخفي (hidden state) وحالة الخلية (cell state) وآخر مخرَج.

مثال:

>>> from transformers import AutoProcessor, ParakeetForRNNT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-rnnt-0.6b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForRNNT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)

ParakeetForTDT

فئة transformers.ParakeetForTDT

< >

( config: ParakeetTDTConfig )

المعاملات

  • config (ParakeetTDTConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

Parakeet Encoder مع رأس TDT (Token Duration Transducer).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_cache: transformers.models.parakeet.generation_parakeet.ParakeetRNNTDecoderCache | None = Noneuse_decoder_cache: bool | None = Noneencoder_outputs: transformers.models.parakeet.modeling_parakeet.ParakeetEncoderModelOutput | tuple[torch.Tensor] | None = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ParakeetRNNTOutput or tuple(torch.Tensor)

المعاملات

  • input_features (torch.Tensor من الشكل (batch_size, sequence_length, feature_dim)، اختياري) — المصفوفات المقابلة لميزات الصوت المدخلة. يمكن الحصول على ميزات الصوت باستخدام feature_extractor_class. راجع feature_extractor_class.__call__ للتفاصيل (processor_class يستخدم feature_extractor_class لمعالجة الأصوات).
  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

    ما هي أقنعة الانتباه؟

  • decoder_input_ids (torch.LongTensor من الشكل (batch_size, 1)، اختياري) — معرّفات رموز الإدخال لفكّ الترميز للاستدلال خطوةً واحدة.
  • decoder_cache (ParakeetRNNTDecoderCache، اختياري) — ذاكرة مؤقتة (cache) لشبكة LSTM في المُفكِّك. عند توفيره وتهيئته، يُعاد استخدام decoder_output المخزَّن مؤقتًا (مثلًا أثناء تجاوز الفراغات) بدلًا من تشغيل المُفكِّك. عند توفير input_ids، يعمل المُفكِّك وتُحدَّث الذاكرة المؤقتة في مكانها.
  • use_decoder_cache (bool، اختياري) — ما إذا كان سيتم استخدام ذاكرة مؤقتة للوحّاد. عند تعيين True وكون decoder_cache هو None، يتم إنشاء ذاكرة مؤقتة جديدة تلقائيًا أثناء المرور الأمامي.
  • encoder_outputs (tuple(torch.Tensor)، اختياري) — مخرجات المُشفِّر المحسوبة مسبقًا (last_hidden_state، pooler_output، hidden_states، attentions، attention_mask). يمكن أن تكون مجموعة (tuple) أو ParakeetEncoderModelOutput.
  • labels (torch.Tensor من الشكل (batch_size, sequence_length)، اختياري) — التسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس إما ضمن [0, ..., config.vocab_size] أو -100 (انظر input_ids docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على -100 (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن [0, ..., config.vocab_size].

يعيد

ParakeetRNNTOutput أو tuple(torch.Tensor)

ParakeetRNNTOutput أو مجموعة مرتبة من torch.Tensor (عند تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتماداً على الإعدادات (None) والمدخلات.

تتجاوز طريقة ParakeetForTDT الخاصة بالتقديم الأمامي (forward) الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • loss (torch.Tensor, اختياري) — خسارة RNN-T، تُعاد عند توفير labels.
  • logits (torch.Tensor) — قيم logits المشتركة للرموز. يكون الشكل (batch, T, U+1, vocab) للتدريب أو (batch, 1, 1, vocab) للاستدلال بخطوة واحدة.
  • decoder_cache (ParakeetRNNTDecoderCache، اختياري) — ذاكرة مؤقتة (Cache) لشبكة LSTM في المُفكِّك (Decoder) تحتوي على حالة المخفي (hidden state) وحالة الخلية (cell state) وآخر مخرَج.

مثال:

>>> from transformers import AutoProcessor, ParakeetForTDT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-tdt-0.6b-v3"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForTDT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)
Update on GitHub