Transformers documentation

CohereAsr

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

このモデルは2026年3月26日にHugging Face Transformersに貢献されました。

CohereAsr

概要

Cohere ASR は、Cohere が 2026 年 3 月 26 日にリリースした、2B パラメータの Conformer ベースのエンコーダ・デコーダ型音声認識モデルです。

このモデルは、Eustache Le Bihan によって提供されました。

使用方法

短尺形式の文字起こし

from transformers import AutoProcessor, CohereAsrForConditionalGeneration
from transformers.audio_utils import load_audio


revision = "refs/pr/6"
processor = AutoProcessor.from_pretrained("CohereLabs/cohere-transcribe-03-2026", revision=revision)
model = CohereAsrForConditionalGeneration.from_pretrained("CohereLabs/cohere-transcribe-03-2026", device_map="auto", revision=revision)

audio = load_audio(
    "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3",
    sampling_rate=16000,
)

inputs = processor(audio, sampling_rate=16000, return_tensors="pt", language="en").to(model.device)
inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=256)
text = processor.decode(outputs, skip_special_tokens=True)
print(text)

句読点の制御

punctuation=False を渡すと、句読点なしの小文字出力が得られます。

inputs_pnc = processor(audio, sampling_rate=16000, return_tensors="pt", language="en", punctuation=True).to(model.device)
inputs_nopnc = processor(audio, sampling_rate=16000, return_tensors="pt", language="en", punctuation=False).to(model.device)

長文の文字起こし

max_audio_clip_s より長い音声の場合、feature extractor は波形を自動的にチャンクに分割します。 プロセッサは、返された audio_chunk_index を使用して、各チャンクの文字起こしを再構築します。

audio_long = load_audio(
    "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/obama_first_45_secs.mp3",
    sampling_rate=16000,
)

inputs = processor(audio=audio_long, return_tensors="pt", language="en", sampling_rate=16000).to(model.device)
audio_chunk_index = inputs.get("audio_chunk_index")
inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=256)
text = processor.decode(outputs, skip_special_tokens=True, audio_chunk_index=audio_chunk_index, language="en")
print(text)

バッチ推論

複数のオーディオファイルを1回の呼び出しで処理できます。バッチに短尺と長尺のオーディオが混在している場合、プロセッサがチャンク分割と再結合を処理します。

audio_short = load_audio(
    "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3",
    sampling_rate=16000,
)
audio_long = load_audio(
    "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/obama_first_45_secs.mp3",
    sampling_rate=16000,
)

inputs = processor([audio_short, audio_long], sampling_rate=16000, return_tensors="pt", language="en").to(model.device)
audio_chunk_index = inputs.get("audio_chunk_index")
inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=256)
text = processor.decode(
    outputs, skip_special_tokens=True, audio_chunk_index=audio_chunk_index, language="en"
)
print(text)

非英語の文字起こし

サポートされている14言語のいずれかの言語コードを指定して、文字起こしを実行します。

audio_es = load_audio(
    "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/fleur_es_sample.wav",
    sampling_rate=16000,
)

inputs = processor(audio_es, sampling_rate=16000, return_tensors="pt", language="es", punctuation=True).to(model.device)
inputs.to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=256)
text = processor.decode(outputs, skip_special_tokens=True)
print(text)

CohereAsrConfig

class transformers.CohereAsrConfig

< >

( 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 = Trueencoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonevocab_size: int = 16384hidden_size: int = 1024num_hidden_layers: int = 8num_attention_heads: int = 8num_key_value_heads: int | None = Noneintermediate_size: int = 4096hidden_act: str = 'relu'max_position_embeddings: int = 1024pad_token_id: int | None = 2eos_token_id: int | None = 3bos_token_id: int | None = 4use_cache: bool = Trueinitializer_range: float = 0.02attention_dropout: float | int = 0.0attention_bias: bool = Truedecoder_start_token_id: int | None = Nonetie_word_embeddings: bool = Falsehead_dim: int | None = None )

パラメータ

  • is_encoder_decoder (bool、任意、デフォルトはTrue) — モデルがエンコーダー/デコーダーとして使用されるかどうかを示します。
  • encoder_config (Union[dict, ~configuration_utils.PreTrainedConfig]、任意) — エンコーダーのバックボーンの設定オブジェクトまたは辞書です。
  • vocab_size (int、任意、デフォルトは 16384) — モデルの語彙サイズ。input_ids で表現できるトークンの種類数を定義します。
  • hidden_size (int、任意、デフォルトは 1024) — 隠れ表現の次元数。
  • num_hidden_layers (int、任意、デフォルトは 8) — Transformer デコーダーの隠れ層の数。
  • num_attention_heads (int、任意、デフォルトは 8) — Transformer デコーダーの各アテンション層におけるアテンションヘッドの数。
  • num_key_value_heads (int, 任意) — Grouped Query Attention を実装するために使用する key_value ヘッドの数です。 num_key_value_heads=num_attention_heads の場合、モデルは Multi Head Attention (MHA) を使用し、 num_key_value_heads=1 の場合は Multi Query Attention (MQA) を使用し、それ以外の場合は GQA が使用されます。 マルチヘッドのチェックポイントを GQA チェックポイントに変換する際は、各グループの key ヘッドと value ヘッドは、そのグループ内の元のすべてのヘッドを平均プーリングして構築する必要があります。詳細については、この論文を参照してください。指定されない場合、デフォルトで num_attention_heads が使用されます。
  • intermediate_size (int、任意、デフォルトは4096) — MLP 表現の次元数。
  • hidden_act (str、任意、デフォルトは relu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、 "relu"、"silu" など。
  • max_position_embeddings (int、任意、デフォルトは 1024) — このモデルが使用される可能性のある最大シーケンス長です。
  • pad_token_id (int、任意、デフォルトは 2) — 語彙内でパディングに使用されるトークン ID。
  • eos_token_id (int、任意、デフォルトは 3) — 語彙内でストリーム終了に使用されるトークン ID。
  • bos_token_id (int、任意、デフォルトは 4) — 語彙におけるストリーム開始に使用されるトークン ID。
  • use_cache (bool、任意、デフォルトは True) — モデルが最後のキー/バリューの注意を返すかどうか(すべてのモデルで利用されるわけではありません)。config.is_decoder=True の場合、またはモデルがデコーダー専用の生成モデルである場合にのみ関連します。
  • initializer_range (float、任意、デフォルトは 0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。
  • attention_dropout (Union[float, int]、任意、デフォルトは 0.0) — アテンション確率のドロップアウト率です。
  • attention_bias (bool、任意、デフォルトはTrue) — 自己注意機構において、クエリ、キー、バリュー、および出力の投影層にバイアスを使用するかどうかを指定します。
  • decoder_start_token_id (int、任意) — エンコーダー・デコーダーモデルがbosとは異なるトークンでデコーディングを開始する場合、そのトークンのIDです。
  • tie_word_embeddings (bool、任意、デフォルトは False) — モデルの tied_weights_keys マッピングに従って重み埋め込みを共有するかどうかを指定します。
  • head_dim (int、省略可) — アテンションヘッドの次元です。None の場合、hidden_size // num_attention_heads がデフォルトとして使用されます。

これはCohereAsrModelの設定を保存するための設定クラスです。指定された引数に基づいてCohere Asrモデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、CohereLabs/cohere-transcribe-03-2026と類似した設定が得られます。

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

>>> from transformers import CohereAsrForConditionalGeneration, CohereAsrConfig

>>> configuration = CohereAsrConfig()
>>> model = CohereAsrForConditionalGeneration(configuration)
>>> configuration = model.config

CohereAsrFeatureExtractor

クラス transformers.CohereAsrFeatureExtractor

< >

( feature_size = 128sampling_rate = 16000hop_length = 160n_fft = 512win_length = 400preemphasis = 0.97padding_value = 0.0dither = 1e-05max_audio_clip_s = 35.0overlap_chunk_second = 5.0min_energy_window_samples = 1600**kwargs )

パラメータ

  • feature_size (int, 任意、デフォルトは 128) — 抽出された特徴量の次元数。
  • sampling_rate (int、任意、デフォルトは 16000) — オーディオファイルをデジタル化するためのサンプリングレート(ヘルツ (Hz) 表記)。
  • hop_length (int, 任意、デフォルトは 160) — Mel 周波数係数を取得するために使用される STFT の、重複ウィンドウの長さ。
  • n_fft (int、任意、デフォルトは 512) — フーリエ変換のサイズ。
  • win_length (int, 任意、デフォルトは 400) — STFT 計算に使用するウィンドウ長です。
  • preemphasis (float、任意、デフォルトは 0.97) — プリエンファシスフィルターの係数です。0.0 はプリエンファシスフィルターを適用しないことを意味します。
  • padding_value (float、任意、デフォルトは 0.0) — オーディオをパディングするために使用される値です。無音に対応する値である必要があります。
  • dither (float、任意、デフォルトは 1e-05) — 特徴量抽出の前に加える決定論的ディザーノイズの量です。各サンプルは有効な波形長をシードとして使用するため、ディザーはバッチ構成に対して不変です。無効にするには 0.0 を設定してください。
  • max_audio_clip_s (float、任意、デフォルト値は 35.0) — 1 つのオーディオチャンクの最大長さ(秒)。max_audio_clip_s - overlap_chunk_second より長いオーディオは、エネルギーベースの境界で分割されます。
  • overlap_chunk_second (float、任意、デフォルト値は 5.0) — 長い音声の分割時に使用する境界探索ウィンドウのサイズ(秒)です。これはチャンク間の実際のオーバーラップではなく、チャンク境界からさかのぼって静かな分割点を探す範囲を定義します。
  • min_energy_window_samples (int、任意、デフォルト値は 1600)— オーディオチャンクを分割する際に最も静かな点を見つけるために使用されるスライディングウィンドウのサンプル数。

CohereAsr の特徴抽出器を構築します。

このフィーチャーエクストラクターは、主要なメソッドの大部分を含む SequenceFeatureExtractor を継承しています。これらのメソッドに関する詳細については、このスーパークラスを参照してください。

このクラスは、Short Time Fourier Transformのカスタムなnumpy実装を使用して、生の音声からメルフィルタバンク特徴量を抽出します。この実装は、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 配列、浮動小数点数の値のリスト、NumPy 配列のリスト、または浮動小数点数の値のリストのリストであることができます。モノラル音声(ステレオではなく、タイムステップごとに単一の浮動小数点数)である必要があります。
  • truncation (bool、任意、デフォルトは True) — 入力シーケンスが max_length を超える場合、max_length まで切り詰めるための切り詰め処理を有効にします。
  • pad_to_multiple_of (int, 省略可能, デフォルトは None) — 設定すると、シーケンスを指定された値の倍数にパディングします。

    これは、計算能力が>= 7.5(Volta)のNVIDIAハードウェアでTensor Coresの利用を有効にするために、また、シーケンス長が128の倍数であることで恩恵を受けるTPUにおいて、特に有用です。

  • return_attention_mask (bool, 省略可能) — attention mask を返すかどうか。デフォルトのままにすると、特定の feature_extractor のデフォルトに従って attention mask が返されます。

    アテンションマスクとは?

    CohereAsr モデルでは、バッチ推論を行う際に attention_mask を常に渡す必要があります。これにより、微妙なバグを回避できます。

  • return_tensors (str または TensorType, 省略可) — 設定すると、Python の整数のリストではなくテンソルを返します。指定可能な値は以下の通りです:
    • 'tf': TensorFlow の tf.constant オブジェクトを返します。
    • 'pt': PyTorchのtorch.Tensorオブジェクトを返します。
    • 'np': Numpy の np.ndarray オブジェクトを返します。
  • sampling_rate (int, 任意) — raw_speech 入力がサンプリングされたレートです。サイレントエラーを防ぎ、自動音声認識パイプラインを有効にするため、forward 呼び出し時に sampling_rate を渡すことを強く推奨します。
  • padding_value (float、任意、デフォルトは 0.0) — パディングの値やベクトルを埋めるために使用される値です。
  • do_normalize (bool、任意、デフォルトはFalse) — 入力を平均0・分散1に正規化するかどうかを指定します。正規化を行うことで、モデルの性能を大幅に向上させることができます。
  • device (str、任意、デフォルトは 'cpu') — _torch_extract_fbank_features メソッドにおいて、音声信号の log-mel スペクトログラムの計算に使用するデバイスを指定します。(例: “cpu”、“cuda”)
  • return_token_timestamps (bool, 省略可, デフォルトは None) — 非推奨です。代わりに return_attention_mask を使用してください。これによりフレーム数を推定できます。

    入力raw_speechのフレーム数を返すかどうかを指定します。 これらのnum_framesは、モデルが単語レベルのタイムスタンプを計算するために使用できます。

PyTorch が利用可能な場合は PyTorch を、利用できない場合はより低速な NumPy ベースの処理を用いて、1 つ以上のシーケンスを特徴量化し、モデルへの入力として準備するための主要なメソッドです。

CohereAsrProcessor

class transformers.CohereAsrProcessor

< >

( feature_extractortokenizer )

パラメータ

  • feature_extractor (CohereAsrFeatureExtractor) — フィーチャーエクストラクターは必須の入力です。
  • tokenizer (TokenizersBackend) — トークナイザーは必須の入力です。

CohereAsrProcessor を構築します。このクラスは、フィーチャーエクストラクターとトークナイザーを単一のプロセッサーにラップします。

CohereAsrProcessor は、CohereAsrFeatureExtractor と TokenizersBackend のすべての機能を提供します。詳細については、~CohereAsrFeatureExtractor および ~TokenizersBackend を参照してください。

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]language: strtext: str | list[str] | list[list[str]] | None = Nonepunctuation: bool = Truesampling_rate: int | None = None**kwargs: *<class 'transformers.models.cohere_asr.processing_cohere_asr.CohereAsrProcessorKwargs'> )

パラメータ

  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]) — 準備対象のオーディオまたはオーディオのバッチです。各オーディオは NumPy 配列または PyTorch テンソルである必要があります。 NumPy 配列/PyTorch テンソルの場合、各オーディオの形状は (C, T) である必要があります。ここで C はチャネル数、T はオーディオのサンプル長です。
  • language (str) — デコーダーのプロンプトを構築するために使用する言語コード(例: "en"、"es"、"fr")。プロセッサは完全なデコーダープロンプトを構築し、音声特徴量とともに decoder_input_ids を返します。
  • text (Union[str, list[str], list[list[str]]]、省略可) — エンコード対象のシーケンスまたはシーケンスのバッチです。各シーケンスは文字列、または文字列のリスト(事前トークン化済み文字列)であることができます。事前トークン化済みの入力を渡す場合は、バッチ入力との曖昧さを避けるために is_split_into_words=True を設定してください。
  • punctuation (bool、デフォルトは True) — デコーダーのプロンプトで句読点を有効にするかどうかを指定します。
  • sampling_rate (int, 任意) — 入力オーディオのサンプリングレート (Hz) です。これは、feature extractor が想定するサンプリングレート (デフォルトは 16000 Hz) と一致する必要があります。指定された場合、processor が想定するサンプリングレートと照合され、一致しない場合はエラーが発生します。指定されなかった場合、警告が表示され、デフォルトのサンプリングレートが使用されます。
  • return_tensors (str または TensorType, 省略可) — 設定すると、特定のフレームワークのテンソルを返します。使用可能な値は以下の通りです:
    • 'pt': PyTorchのtorch.Tensorオブジェクトを返します。
    • 'np': NumPyのnp.ndarrayオブジェクトを返します。
  • **kwargs (ProcessingKwargs、任意) — 各モダリティ(テキスト、画像、動画、音声)の追加処理オプション。モデル固有のパラメータは上記にリストされています。サポートされている引数の完全なリストについては、TypedDictクラスを参照してください。

CohereAsrPreTrainedModel

クラス transformers.CohereAsrPreTrainedModel

< >

( config: PreTrainedConfig*inputs**kwargs )

パラメータ

  • config (PreTrainedConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

forward

( *args**kwargs )

ドット区切りパス(例: torch.float32)のモック値: 属性アクセスのチェーン、呼び出しはパススルーデコレータとして動作し、repr はドット区切りパスを返し、ベースクラスとして使用するとプレーンな type ベースに置き換えられます(PEP 560 の __mro_entries__)。これにより、実際のサブクラスは通常のメタクラスを保持し、inspect.signature はモックの __init__ ではなく、実際の __init__ を読み取ります。

CohereAsrModel

class transformers.CohereAsrModel

< >

( config: CohereAsrConfig )

パラメータ

  • config (CohereAsrConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

特定のヘッドを付加せずに生のhidden-statesを出力する、素のCohere Asr Modelです。

このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

forward

< >

( input_features: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.FloatTensor]] | None = Nonepast_key_values: transformers.cache_utils.EncoderDecoderCache | None = Nonedecoder_inputs_embeds: tuple[torch.FloatTensor] | None = Nonedecoder_position_ids: tuple[torch.LongTensor] | None = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Seq2SeqModelOutput or tuple(torch.FloatTensor)

パラメータ

  • input_features (torch.FloatTensor、shape (batch_size, audio_length)) — 生の音声波形の浮動小数点値。生の音声波形は、.flac または .wav 形式のオーディオファイルを list[float] 型、numpy.ndarray 型、または torch.Tensor 型の配列として読み込むことで取得できます。例えば、torchcodec ライブラリ(pip install torchcodec)や soundfile ライブラリ(pip install soundfile)を通じて取得できます。input_features として配列を準備するには、パディングと torch.FloatTensor 型への変換のために AutoFeatureExtractor を使用してください。
  • attention_mask (torch.LongTensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • decoder_input_ids (torch.LongTensor の形状 (batch_size, target_sequence_length), 、任意) — 語彙におけるデコーダー入力シーケンスのトークンインデックスです。

    インデックスはAutoTokenizerを使用して取得できます。詳細については、PreTrainedTokenizer.encode()およびPreTrainedTokenizer.call()を参照してください。

    デコーダー入力IDとは何ですか?

  • decoder_attention_mask (torch.LongTensor、shape (batch_size, target_sequence_length)、任意) — 特定のトークンインデックスに対するアテンションの計算を回避するためのマスクです。デフォルトでは因果マスクが使用され、モデルが未来を予測する際に過去の入力のみを参照できるようにします。
  • encoder_outputs (tuple[tuple[torch.FloatTensor]], 任意) — (last_hidden_state, 任意: hidden_states, 任意: attentions) のタプル last_hidden_state は形状 (batch_size, sequence_length, hidden_size)、任意) で、エンコーダーの最終層の出力における隠れ状態のシーケンスです。デコーダーのクロスアテンションで使用されます。
  • past_key_values (~cache_utils.EncoderDecoderCache, 省略可) — 逐次デコードを高速化するために使用できる、事前計算済みヒデンステート(セルフアテンションブロックおよびクロスアテンションブロックのキーとバリュー)。通常、これはデコードの以前の段階でモデルが返した past_key_values であり、 use_cache=True または config.use_cache=True.

    入力として許可されるのは Cache インスタンスのみです。kv cache ガイドを参照してください。 past_key_values が渡されない場合、デフォルトで DynamicCache が初期化されます。

    モデルは、入力として与えられたのと同じキャッシュ形式を出力します。

    past_key_values を使用する場合、すべての input_ids(形状 (batch_size, sequence_length))ではなく、このモデルに過去のキー・バリュー状態が与えられていない未処理の input_ids(形状 (batch_size, unprocessed_length))のみを入力することになります。

  • decoder_inputs_embeds (tuple[torch.FloatTensor] の形状 (batch_size, target_sequence_length, hidden_size), 、任意) — 、任意で、 decoder_input_ids の代わりに、埋め込み表現を直接渡すこともできます。 past_key_values を使用する場合、最後の decoder_inputs_embeds のみを入力すれば十分です( past_key_values). 、 decoder_input_ids のインデックスを関連するベクトルに変換する方法を、モデル内部の埋め込みルックアップ行列よりも細かく制御したい場合に便利です。

    decoder_input_ids と decoder_inputs_embeds の両方が設定されていない場合、decoder_inputs_embeds は inputs_embeds の値を採ります。

  • decoder_position_ids (torch.LongTensor、shape (batch_size, target_sequence_length)) — 位置埋め込みにおける、各入力シーケンスのトークンの位置のインデックスです。config.decoder_config.max_position_embeddings までの位置埋め込みを計算するために使用されます。
  • use_cache (bool、任意) — True に設定すると、past_key_values のキーバリュー状態が返され、デコーディングの高速化に利用できます(past_key_values を参照)。

戻り値

Seq2SeqModelOutput または tuple(torch.FloatTensor)

torch.FloatTensor のタプル、または Seq2SeqModelOutput(return_dict=False が渡された場合、または config.return_dict=False の場合)。設定(CohereAsrConfig)や入力に応じて、さまざまな要素で構成されます。

CohereAsrModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)) — モデルのデコーダーの最終層の出力における、隠れ状態のシーケンス。

    past_key_valuesが使用されている場合、出力されるのは、形状(batch_size, 1, hidden_size)のシーケンスの最後の隠れ状態のみです。

  • past_key_values (EncoderDecoderCache、任意、use_cache=True が渡された場合または config.use_cache=True の場合に返されます) — EncoderDecoderCache のインスタンスです。詳細については、kv cache ガイドを参照してください。

    自己注意ブロックおよび相互注意ブロック内のキーとバリューの事前計算済み隠れ状態(hidden-states)を保持しており、シーケンシャルデコーディングを高速化するために使用できます(past_key_values 入力参照)。

  • decoder_hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返される) — torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力用が 1 つ、各層の出力用が 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるデコーダーのHidden-states、および任意の初期埋め込み出力。

  • decoder_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    自己アテンションヘッドにおける加重平均を計算するために使用される、アテンションのsoftmax後のデコーダーのアテンション重み。

  • cross_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返される) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    クロスアテンション層のアテンション重みは、アテンションのsoftmax適用後に計算され、クロスアテンションヘッドにおける加重平均の計算に使用されます。

  • encoder_last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)、optional) — モデルのエンコーダーの最終層の出力における、隠れ状態のシーケンス。

  • encoder_hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返される) — torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるエンコーダーのHidden-states、および任意の初期埋め込み出力。

  • encoder_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返される) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmaxを適用した後のエンコーダーのアテンション重み。自己アテンションヘッドにおける加重平均の計算に使用されます。

例:

>>> import torch
>>> from transformers import AutoFeatureExtractor, CohereAsrModel
>>> from datasets import load_dataset

>>> model = CohereAsrModel.from_pretrained("UsefulSensors/cohere_asr-tiny")
>>> feature_extractor = AutoFeatureExtractor.from_pretrained("UsefulSensors/cohere_asr-tiny")
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> inputs = feature_extractor(ds[0]["audio"]["array"], return_tensors="pt")
>>> input_features = inputs.input_features
>>> decoder_input_ids = torch.tensor([[1, 1]]) * model.config.decoder_start_token_id
>>> last_hidden_state = model(input_features, decoder_input_ids=decoder_input_ids).last_hidden_state
>>> list(last_hidden_state.shape)
[1, 2, 288]

CohereAsrForConditionalGeneration

クラス transformers.CohereAsrForConditionalGeneration

< >

( config: CohereAsrConfig )

パラメータ

  • config (CohereAsrConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

言語モデリングヘッドを備えたCohereAsrモデル。自動音声認識に使用できます。

このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

forward

< >

( input_features: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.FloatTensor]] | None = Nonepast_key_values: transformers.cache_utils.EncoderDecoderCache | None = Nonedecoder_inputs_embeds: tuple[torch.FloatTensor] | None = Nonedecoder_position_ids: tuple[torch.LongTensor] | None = Noneuse_cache: bool | None = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Seq2SeqLMOutput or tuple(torch.FloatTensor)

パラメータ

  • input_features (torch.FloatTensor、shape (batch_size, audio_length)) — 生の音声波形の浮動小数点値。生の音声波形は、.flac または .wav 形式のオーディオファイルを list[float] 型、numpy.ndarray 型、または torch.Tensor 型の配列として読み込むことで取得できます。例えば、torchcodec ライブラリ(pip install torchcodec)や soundfile ライブラリ(pip install soundfile)を通じて取得できます。input_features として配列を準備するには、パディングと torch.FloatTensor 型への変換のために AutoFeatureExtractor を使用してください。
  • attention_mask (torch.LongTensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • decoder_input_ids (torch.LongTensor の形状 (batch_size, target_sequence_length), 、任意) — 語彙におけるデコーダー入力シーケンスのトークンインデックスです。

    インデックスはAutoTokenizerを使用して取得できます。詳細については、PreTrainedTokenizer.encode()およびPreTrainedTokenizer.call()を参照してください。

    デコーダー入力IDとは何ですか?

  • decoder_attention_mask (torch.LongTensor、shape (batch_size, target_sequence_length)、任意) — 特定のトークンインデックスに対するアテンションの計算を回避するためのマスクです。デフォルトでは因果マスクが使用され、モデルが未来を予測する際に過去の入力のみを参照できるようにします。
  • encoder_outputs (tuple[tuple[torch.FloatTensor]], 任意) — (last_hidden_state, 任意: hidden_states, 任意: attentions) のタプル last_hidden_state は形状 (batch_size, sequence_length, hidden_size)、任意) で、エンコーダーの最終層の出力における隠れ状態のシーケンスです。デコーダーのクロスアテンションで使用されます。
  • past_key_values (~cache_utils.EncoderDecoderCache, 省略可) — 逐次デコードを高速化するために使用できる、事前計算済みヒデンステート(セルフアテンションブロックおよびクロスアテンションブロックのキーとバリュー)。通常、これはデコードの以前の段階でモデルが返した past_key_values であり、 use_cache=True または config.use_cache=True.

    入力として許可されるのは Cache インスタンスのみです。kv cache ガイドを参照してください。 past_key_values が渡されない場合、デフォルトで DynamicCache が初期化されます。

    モデルは、入力として与えられたのと同じキャッシュ形式を出力します。

    past_key_values を使用する場合、すべての input_ids(形状 (batch_size, sequence_length))ではなく、このモデルに過去のキー・バリュー状態が与えられていない未処理の input_ids(形状 (batch_size, unprocessed_length))のみを入力することになります。

  • decoder_inputs_embeds (tuple[torch.FloatTensor] の形状 (batch_size, target_sequence_length, hidden_size), 、任意) — 、任意で、 decoder_input_ids の代わりに、埋め込み表現を直接渡すこともできます。 past_key_values を使用する場合、最後の decoder_inputs_embeds のみを入力すれば十分です( past_key_values). 、 decoder_input_ids のインデックスを関連するベクトルに変換する方法を、モデル内部の埋め込みルックアップ行列よりも細かく制御したい場合に便利です。

    decoder_input_ids と decoder_inputs_embeds の両方が設定されていない場合、decoder_inputs_embeds は inputs_embeds の値を採ります。

  • decoder_position_ids (torch.LongTensor、shape (batch_size, target_sequence_length)) — 位置埋め込みにおける、各入力シーケンスのトークンの位置のインデックスです。config.decoder_config.max_position_embeddings までの位置埋め込みを計算するために使用されます。
  • use_cache (bool、任意) — True に設定すると、past_key_values のキーバリュー状態が返され、デコーディングの高速化に利用できます(past_key_values を参照)。
  • labels (torch.LongTensor、shape (batch_size, sequence_length)、任意) — マスク言語モデリング損失を計算するためのラベルです。インデックスは [0, ..., config.vocab_size] の範囲内であるか、-100 である必要があります(input_ids の docstring を参照)。インデックスが -100 に設定されたトークンは無視(マスク)され、損失は [0, ..., config.vocab_size] の範囲内のラベルを持つトークンに対してのみ計算されます。

戻り値

Seq2SeqLMOutput または tuple(torch.FloatTensor)

torch.FloatTensor のタプル、または Seq2SeqLMOutput(return_dict=False が渡された場合、または config.return_dict=False の場合)。設定(CohereAsrConfig)や入力に応じて、さまざまな要素で構成されます。

CohereAsrForConditionalGenerationのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

  • loss (torch.FloatTensor、shape (1,)、optional、labels が指定された場合に返されます)— 言語モデリングの損失。

  • logits (torch.FloatTensor、shape (batch_size, sequence_length, config.vocab_size)) — 言語モデリングヘッドの予測スコア(SoftMax 適用前の各語彙トークンのスコア)。

  • past_key_values (EncoderDecoderCache、任意、use_cache=True が渡された場合または config.use_cache=True の場合に返されます) — EncoderDecoderCache のインスタンスです。詳細については、kv cache ガイドを参照してください。

    自己注意ブロックおよび相互注意ブロック内のキーとバリューの事前計算済み隠れ状態(hidden-states)を保持しており、シーケンシャルデコーディングを高速化するために使用できます(past_key_values 入力参照)。

  • decoder_hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返される) — torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力用が 1 つ、各層の出力用が 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力および初期埋め込み出力における、デコーダーの隠れ状態。

  • decoder_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    自己アテンションヘッドにおける加重平均を計算するために使用される、アテンションのsoftmax後のデコーダーのアテンション重み。

  • cross_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返される) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    クロスアテンション層のアテンション重みは、アテンションのsoftmax適用後に計算され、クロスアテンションヘッドにおける加重平均の計算に使用されます。

  • encoder_last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)、optional) — モデルのエンコーダーの最終層の出力における、隠れ状態のシーケンス。

  • encoder_hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返される) — torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力および初期埋め込み出力におけるエンコーダーの隠れ状態。

  • encoder_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返される) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmaxを適用した後のエンコーダーのアテンション重み。自己アテンションヘッドにおける加重平均の計算に使用されます。

例:

>>> import torch
>>> from transformers import AutoProcessor, CohereAsrForConditionalGeneration
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("UsefulSensors/cohere_asr-tiny")
>>> model = CohereAsrForConditionalGeneration.from_pretrained("UsefulSensors/cohere_asr-tiny")

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")

>>> inputs = processor(ds[0]["audio"]["array"], return_tensors="pt")
>>> input_features = inputs.input_features

>>> generated_ids = model.generate(input_features, max_new_tokens=100)

>>> transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
>>> transcription
'Mr. Quilter is the apostle of the middle classes, and we are glad to welcome his gospel.'
Update on GitHub