Transformers documentation
Nemotron 3.5 Transcribe
Mô hình này đã được đóng góp cho Hugging Face Transformers vào ngày 2026-10-28.
Nemotron 3.5 Transcribe
Tổng quan
Nemotron 3.5 Transcribe là một mô hình ngôn ngữ âm thanh cho việc chuyển văn bản đa ngôn ngữ, chuyển văn bản có gán người nói, dịch giọng nói và trả lời câu hỏi về âm thanh. Bộ mã hóa nhận dạng giọng nói và mô hình Nemotron 3 Diarization đọc cùng một phổ âm; đầu ra của chúng được chiếu vào mô hình ngôn ngữ Nemotron-H. Một đầu ra dấu mốc thời gian từ bộ mã hóa cho ra thời gian ở cấp độ từ.
Cách sử dụng
Chuyển văn bản
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")
inputs = processor.apply_transcription_request(samples + "en-Alice_woman.wav").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256)
print(processor.decode(outputs[:, inputs.input_ids.shape[1] :], skip_special_tokens=True))Chuyển văn bản thành giọng nói theo lô
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")
audio = [samples + "en-Alice_woman.wav", samples + "diarization_example.mp3"]
speaker_attributed_prompt = (
"Transcribe this audio with punctuation and capitalization. Include all spoken words and verbal fillers. Write "
"numbers in their standard written form. Put speaker tags <spk:0> <spk:1> <spk:2> <spk:3> on the transcription."
)
prompt = [None, speaker_attributed_prompt]
inputs = processor.apply_transcription_request(audio, prompt=prompt).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024)
texts = processor.decode(outputs[:, inputs.input_ids.shape[1] :], skip_special_tokens=False)
print([text.replace(processor.tokenizer.pad_token, "") for text in texts])Chuyển văn bản có gán người nói
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")
prompt = (
"Transcribe this audio with punctuation and capitalization. Include all spoken words and verbal fillers. Write "
"numbers in their standard written form. Put speaker tags <spk:0> <spk:1> <spk:2> <spk:3> on the transcription."
)
conversation = [
{
"role": "user",
"content": [
{"type": "text", "text": prompt},
{"type": "audio", "path": samples + "diarization_example.mp3"},
],
}
]
inputs = processor.apply_chat_template(
conversation,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
enable_thinking=False,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024)
text = processor.decode(outputs[0, inputs.input_ids.shape[1] :], skip_special_tokens=False)
print(text)extract_speaker_dict() tách đầu ra thành một từ điển cho mỗi lượt nói của người nói:
for turn in processor.extract_speaker_dict(text):
print(turn){'Speaker': 0, 'Content': "To celebrate the release of Nematron three Dierization, we invited ... from NVIDIA."}
{'Speaker': 1, 'Content': "Hi everybody, thanks for having me. I'm Jane, a pocket voice from QTie."}
{'Speaker': 2, 'Content': "Nice to meet you Chris and Jane. I'm Serena, the Queen three Voice."}
...Dấu mốc thời gian từ
Yêu cầu torchaudio và scipy.
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")
prompt = (
"Transcribe this audio with punctuation and capitalization. Include all spoken words and verbal fillers. Write "
"numbers in their standard written form. Put speaker tags <spk:0> <spk:1> <spk:2> <spk:3> on the transcription."
)
inputs = processor.apply_transcription_request(samples + "diarization_example.mp3", prompt=prompt).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024, return_word_timestamp_logits=True)
texts = processor.decode(outputs.sequences[:, inputs.input_ids.shape[1] :], skip_special_tokens=False)
timestamps = processor.align_word_timestamps(
texts,
outputs.word_timestamp_logits,
inputs.input_features_mask,
outputs.speaker_logits,
)
print(timestamps[0]["chunks"][:3])Để căn chỉnh một bản ghi âm không được tạo ra:
input_features_mask = inputs.input_features_mask
audio_outputs = model.get_audio_features(inputs.input_features, input_features_mask)
word_timestamp_logits = model.get_word_timestamp_logits(audio_outputs.asr_last_hidden_state, input_features_mask)
timestamps = processor.align_word_timestamps(
["<spk:0> To celebrate the ..."],
word_timestamp_logits,
input_features_mask,
audio_outputs.speaker_logits,
)Nemotron3_5TranscribeConfig
lớp transformers.Nemotron3_5TranscribeConfig
< source >( 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 = 131072word_timestamp_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )
Tham số
- audio_config (
Union[dict, ~configuration_utils.PreTrainedConfig], tùy chọn) — Đối tượng cấu hình hoặc từ điển của audio backbone. - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], tùy chọn) — Đối tượng cấu hình hoặc từ điển của bộ khung văn bản. - audio_token_id (
int, tuỳ chọn, mặc định là 131072) — Chỉ số token âm thanh được dùng làm ký tự thay thế cho các embedding âm thanh. Checkpoint gốc thêm nó vào sau bảng từ vựng của mô hình ngôn ngữ, không có hàng embedding: nó được nhúng như token 0, sau đó được thay thế bằng âm thanh. - word_timestamp_config (
Union[dict, Nemotron3_5TranscribeWordTimestampConfig], tuỳ chọn) — Cấu hình của bộ mã hóa và đầu ra dấu mốc thời gian từ, dùng để dự đoán các mảnh tokenizer tương ứng từ trạng thái của bộ mã hóa nhận dạng giọng nói.
Đây là lớp cấu hình để lưu trữ cấu hình của một mô hình Nemotron3 5 TranscribeModel. Nó được sử dụng để khởi tạo một mô hình Nemotron3 5 Transcribe theo các đối số được chỉ định, xác định kiến trúc của mô hình. Việc khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.
Ví dụ:
>>> from transformers import Nemotron3_5TranscribeForConditionalGeneration, Nemotron3_5TranscribeConfig
>>> # Initializing a Nemotron3_5Transcribe configuration
>>> configuration = Nemotron3_5TranscribeConfig()
>>> # Initializing a model (with random weights) from the configuration
>>> model = Nemotron3_5TranscribeForConditionalGeneration(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configNemotron3_5TranscribeAsrAudioConfig
lớp transformers.Nemotron3_5TranscribeAsrAudioConfig
< source >( 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 = 1280intermediate_size: int = 5120num_hidden_layers: int = 32num_attention_heads: int = 10num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0num_mel_bins: int = 128subsampling_factor: int = 8 )
Tham số
- hidden_size (
int, tùy chọn, mặc định là1280) — Kích thước của các biểu diễn ẩn. - intermediate_size (
int, tùy chọn, mặc định là5120) — Kích thước của các biểu diễn MLP. - num_hidden_layers (
int, tùy chọn, mặc định là32) — Số lượng lớp ẩn trong bộ giải mã Transformer. - num_attention_heads (
int, tùy chọn, mặc định là10) — Số lượng đầu chú ý cho mỗi lớp chú ý trong bộ giải mã Transformer. - num_key_value_heads (
int, tùy chọn) — Đây là số lượng key_value heads cần được sử dụng để triển khai Grouped Query Attention. Nếunum_key_value_heads=num_attention_heads, mô hình sẽ sử dụng Multi Head Attention (MHA), nếunum_key_value_heads=1mô hình sẽ sử dụng Multi Query Attention (MQA), ngược lại sẽ sử dụng GQA. Khi chuyển đổi checkpoint multi-head sang checkpoint GQA, mỗi nhóm key và value head nên được xây dựng bằng cách meanpooling tất cả các head gốc trong nhóm đó. Để biết thêm chi tiết, hãy xem bài báo này. Nếu không được chỉ định, giá trị mặc định sẽ lànum_attention_heads. - hidden_act (
str, tùy chọn, mặc định làgelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ,"gelu","relu","silu", v.v. - max_position_embeddings (
int, tùy chọn, mặc định là5000) — Chiều dài chuỗi tối đa mà mô hình này có thể được sử dụng. - initializer_range (
float, tùy chọn, mặc định là0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số. - rope_parameters (
dict, tùy chọn) — Từ điển chứa các tham số cấu hình cho các embedding RoPE. Từ điển phải chứa một giá trị chorope_thetavà tùy chọn các tham số được sử dụng để mở rộng trong trường hợp bạn muốn sử dụng RoPE vớimax_position_embeddingsdài hơn. - attention_dropout (
Union[float, int], tùy chọn, mặc định là0.0) — Tỷ lệ dropout cho các xác suất chú ý. - num_mel_bins (
int, tùy chọn, mặc định là128) — Số lượng đặc trưng mel được sử dụng cho mỗi khung đầu vào. Cần khớp với giá trị được dùng trong lớpAutoFeatureExtractor. - subsampling_factor (
int, tùy chọn, mặc định là 8) — Số lượng khung spectrogram liên tiếp được xếp chồng vào một khung encoder.
Đây là lớp cấu hình để lưu trữ cấu hình của một mô hình Nemotron3 5 TranscribeModel. Nó được sử dụng để khởi tạo một mô hình Nemotron3 5 Transcribe theo các đối số được chỉ định, xác định kiến trúc của mô hình. Việc khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.
Ví dụ:
>>> from transformers import Nemotron3_5TranscribeAsrAudioModel, Nemotron3_5TranscribeAsrAudioConfig
>>> # Initializing a Nemotron3_5TranscribeAsrAudioModel configuration
>>> configuration = Nemotron3_5TranscribeAsrAudioConfig()
>>> # Initializing a model (with random weights) from the configuration
>>> model = Nemotron3_5TranscribeAsrAudioModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configNemotron3_5TranscribeAudioConfig
lớp transformers.Nemotron3_5TranscribeAudioConfig
< source >( 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 = Noneasr_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonediarization_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonespeaker_activity_threshold: float = 0.5 )
Tham số
- asr_config (
Union[dict, Nemotron3_5TranscribeAsrAudioConfig], tùy chọn) — Cấu hình của bộ mã hóa nhận dạng giọng nói. - diarization_config (
Union[dict, Nemotron3DiarizationConfig], tùy chọn) — Cấu hình của mô hình phân tách người nói, trong đó hoạt động của người nói được thêm vào đầu ra của bộ mã hóa nhận dạng giọng nói. - speaker_activity_threshold (
float, tùy chọn, mặc định là 0.5) — Một người nói được coi là đang hoạt động trong một khung encoder khi xác suất của họ cao hơn ngưỡng này.
Đây là lớp cấu hình để lưu trữ cấu hình của một mô hình Nemotron3 5 TranscribeModel. Nó được sử dụng để khởi tạo một mô hình Nemotron3 5 Transcribe theo các đối số được chỉ định, xác định kiến trúc của mô hình. Việc khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.
Ví dụ:
>>> from transformers import Nemotron3_5TranscribeAudioModel, Nemotron3_5TranscribeAudioConfig
>>> # Initializing a Nemotron3_5TranscribeAudioModel configuration
>>> configuration = Nemotron3_5TranscribeAudioConfig()
>>> # Initializing a model (with random weights) from the configuration
>>> model = Nemotron3_5TranscribeAudioModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configNemotron3_5TranscribeWordTimestampConfig
lớp transformers.Nemotron3_5TranscribeWordTimestampConfig
< source >( 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 = 1280intermediate_size: int = 640num_hidden_layers: int = 2num_attention_heads: int = 16num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0vocab_size: int = 23863blank_token_id: int = 23862residual_scale: float = 0.1upsampling_factor: int = 2 )
Tham số
- hidden_size (
int, tùy chọn, mặc định là1280) — Kích thước của các biểu diễn ẩn. - intermediate_size (
int, tùy chọn, mặc định là640) — Kích thước của các biểu diễn MLP. - num_hidden_layers (
int, tùy chọn, mặc định là2) — Số lượng lớp ẩn trong bộ giải mã Transformer. - num_attention_heads (
int, tùy chọn, mặc định là16) — Số lượng đầu attention cho mỗi lớp attention trong bộ giải mã Transformer. - num_key_value_heads (
int, tùy chọn) — Đây là số lượng key_value heads cần được sử dụng để triển khai Grouped Query Attention. Nếunum_key_value_heads=num_attention_heads, mô hình sẽ sử dụng Multi Head Attention (MHA), nếunum_key_value_heads=1mô hình sẽ sử dụng Multi Query Attention (MQA), ngược lại sẽ sử dụng GQA. Khi chuyển đổi checkpoint multi-head sang checkpoint GQA, mỗi nhóm key và value head nên được xây dựng bằng cách meanpooling tất cả các head gốc trong nhóm đó. Để biết thêm chi tiết, hãy xem bài báo này. Nếu không được chỉ định, giá trị mặc định sẽ lànum_attention_heads. - hidden_act (
str, tùy chọn, mặc định làgelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ,"gelu","relu","silu", v.v. - max_position_embeddings (
int, tùy chọn, mặc định là5000) — Chiều dài chuỗi tối đa mà mô hình này có thể được sử dụng. - initializer_range (
float, tùy chọn, mặc định là0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số. - rope_parameters (
dict, tùy chọn) — Từ điển chứa các tham số cấu hình cho các embedding RoPE. Từ điển phải chứa một giá trị chorope_thetavà tùy chọn các tham số được sử dụng để mở rộng trong trường hợp bạn muốn sử dụng RoPE vớimax_position_embeddingsdài hơn. - attention_dropout (
Union[float, int], tùy chọn, mặc định là0.0) — Tỷ lệ dropout cho các xác suất chú ý. - vocab_size (
int, tuỳ chọn, mặc định là 23863) — Số lượng lớp của đầu timestamp từ: các phần của bộ phân tích token căn chỉnh của nó, sau đó là ký tự trống. - blank_token_id (
int, tùy chọn, mặc định là 23862) — Chỉ số của lớp trống, sau các mảnh của bộ phân tích token căn chỉnh. - residual_scale (
float, tùy chọn, mặc định là 0.1) — Hệ số của đầu ra transformer được cộng vào trạng thái của bộ mã hóa nhận dạng giọng nói trước bộ phân loại. - upsampling_factor (
int, tuỳ chọn, mặc định là 2) — Số lượng khung đầu (head frames) trên mỗi khung encoder, được tạo ra bởi một phép tích chập chuyển vị (transposed convolution) trước transformer: giá trị 2 cho ra các khung 40 ms từ các khung encoder 80 ms.
Đây là lớp cấu hình để lưu trữ cấu hình của một mô hình Nemotron3 5 TranscribeModel. Nó được sử dụng để khởi tạo một mô hình Nemotron3 5 Transcribe theo các đối số được chỉ định, xác định kiến trúc của mô hình. Việc khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.
Ví dụ:
>>> from transformers import Nemotron3_5TranscribeConfig, Nemotron3_5TranscribeWordTimestampConfig
>>> # Initializing a Nemotron3_5TranscribeWordTimestamp configuration
>>> configuration = Nemotron3_5TranscribeWordTimestampConfig()
>>> # Using it as the word timestamp head of the model
>>> model_configuration = Nemotron3_5TranscribeConfig(word_timestamp_config=configuration)Nemotron3_5TranscribeProcessor
lớp transformers.Nemotron3_5TranscribeProcessor
< source >( feature_extractortokenizeralignment_tokenizerchat_template = Noneaudio_token = '<|audio|>'default_transcription_prompt = 'Audio transcription. Language: as spoken. Wording: verbatim, including fillers and repetitions. Formatting: punctuation and capitalization. Output: transcript only.'subsampling_factor = 8 )
Tham số
- feature_extractor (
feature_extractor_class) — Bộ trích xuất đặc trưng là một đầu vào bắt buộc. - tokenizer (
tokenizer_class) — Tokenizer là đầu vào bắt buộc. - alignment_tokenizer (
PreTrainedTokenizerFast) — Từ điển của đầu timestamp từ: 23.862 mảnh BPE SentencePiece, lớp 23.862 của đầu này là CTC blank. Chỉ được sử dụng bởi align_word_timestamps(), được lưu trong thư mục conalignment_tokenizer/. Thêm một khoảng trắng ở đầu để tái tạo các id SentencePiece gốc của bất kỳ văn bản nào, bao gồm cả văn bản bắt đầu bằng một thẻ:alignment_tokenizer.encode(" " + text, add_special_tokens=False). - chat_template (
str) — Một mẫu Jinja để chuyển đổi các danh sách tin nhắn trong một cuộc trò chuyện thành chuỗi có thể token hóa. - audio_token (
str, tùy chọn, mặc định là"<|audio|>") — Token đặc biệt được sử dụng để đại diện cho các đầu vào âm thanh trong chat template. - default_transcription_prompt (
str, tùy chọn) — Prompt mặc định được sử dụng bởi apply_transcription_request(). - subsampling_factor (
int, tùy chọn, mặc định là 8) — Số lượng khung spectrogram cho mỗi token âm thanh, tương ứng vớiNemotron3_5TranscribeAsrAudioConfig.subsampling_factor. Spectrogram sẽ được đệm (padding) đến một bội số của giá trị này.
Tạo một Nemotron3_5TranscribeProcessor bao gồm một bộ trích xuất đặc trưng, một bộ phân từ và một bộ phân từ căn chỉnh trong một bộ xử lý duy nhất.
Nemotron3_5TranscribeProcessor cung cấp đầy đủ các chức năng của feature_extractor_class, tokenizer_class và {alignment_tokenizer_class}. Xem ~feature_extractor_class, ~tokenizer_class và ~{alignment_tokenizer_class} để biết thêm thông tin.
__call__
< source >( 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.nemotron3_5_transcribe.processing_nemotron3_5_transcribe.Nemotron3_5TranscribeProcessorKwargs'> ) → BatchFeature
Tham số
- text (
Union[str, list[str]]) — Chuỗi hoặc lô các chuỗi cần được mã hóa. Mỗi chuỗi có thể là một chuỗi ký tự hoặc một danh sách các chuỗi ký tự (chuỗi đã được tách token trước). Nếu bạn truyền vào dữ liệu đầu vào đã được tách token trước, hãy đặtis_split_into_words=Trueđể tránh nhầm lẫn với các đầu vào dạng lô. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], optional) — Âm thanh hoặc lô âm thanh cần được chuẩn bị. Mỗi âm thanh có thể là một mảng NumPy hoặc tensor PyTorch. Trong trường hợp là mảng NumPy/tensor PyTorch, mỗi âm thanh nên có hình dạng (C, T), trong đó C là số kênh và T là độ dài mẫu của âm thanh. - output_labels (
bool, tùy chọn, mặc định=False) — Có trả về nhãn cho việc huấn luyện hay không. - return_tensors (
strhoặc TensorType, tùy chọn) — Nếu được đặt, sẽ trả về tensor của một framework cụ thể. Các giá trị chấp nhận được là:'pt': Trả về các đối tượngtorch.Tensorcủa PyTorch.'np': Trả về các đối tượngnp.ndarraycủa NumPy.
- **kwargs (ProcessingKwargs, optional) — Các tùy chọn xử lý bổ sung cho từng modality (text, images, videos, audio). Các tham số cụ thể của model được liệt kê ở trên; xem lớp TypedDict để biết danh sách đầy đủ các đối số được hỗ trợ.
Trả về
Một từ điển chứa văn bản đã được token hóa (input_ids, attention_mask) và
đặc trưng âm thanh (input_features, input_features_mask).
apply_transcription_request
< source >( 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 = None**kwargs: *<class 'transformers.models.nemotron3_5_transcribe.processing_nemotron3_5_transcribe.Nemotron3_5TranscribeProcessorKwargs'> ) → BatchFeature
Tham số
- audio (
str,list[str],np.ndarray,torch.Tensor,list[np.ndarray],list[torch.Tensor]) — Âm thanh cần chuyển thành văn bản. Chuỗi được hiểu là đường dẫn cục bộ hoặc URL và sẽ được tải tự động bởi trình nạp mẫu chat; mảng NumPy và tensor PyTorch được chuyển tiếp trực tiếp. - prompt (
strhoặclist[str], tùy chọn) — Prompt tùy chỉnh để đưa vào lượt của người dùng. Nếu là danh sách, độ dài phải khớp với batch. KhiNone, mỗi mẫu sẽ dùngdefault_transcription_prompt. - **kwargs —
Các đối số từ khóa bổ sung được chuyển tiếp đến
apply_chat_template() (ví dụ
text_kwargs,audio_kwargs, …). Chức năng suy luận bị vô hiệu hóa trừ khienable_thinking=Trueđược truyền vào (mẫu chat kích hoạt nó theo mặc định).
Trả về
Đầu ra của Processor sẵn sàng để truyền vào
Nemotron3_5TranscribeForConditionalGeneration.generate().
Chuẩn bị đầu vào cho nhận dạng giọng nói tự động mà không cần tự viết sẵn câu nhắc chuyển tự mặc định.
apply_chat_template
< source >( 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 )
Tương tự như phương thức apply_chat_template trên các tokenizer, phương thức này áp dụng một mẫu Jinja lên các cuộc trò chuyện đầu vào để biến chúng thành một chuỗi duy nhất có thể token hóa.
Đầu vào được kỳ vọng ở định dạng sau, trong đó nội dung của mỗi tin nhắn là một danh sách gồm văn bản và tùy chọn đầu vào hình ảnh hoặc video. Người dùng cũng có thể cung cấp một hình ảnh, video, URL hoặc đường dẫn cục bộ, sẽ được sử dụng để tạo pixel_values khi return_dict=True. Nếu không được cung cấp, người dùng sẽ chỉ nhận được văn bản đã định dạng, tùy chọn là văn bản đã được token hóa.
conversation = [ { “role”: “user”, “content”: [ {“type”: “image”, “url”: “https://www.ilankelman.org/stopsigns/australia.jpg”}, {“type”: “text”, “text”: “Please describe this image in detail.”}, ], }, ]
extract_speaker_dict
< source >( text: str | list[str] ) → list[dict] for a single text, list[list[dict]] for a batch
Tham số
- text (
strhoặclist[str]) — Một văn bản đơn hoặc một lô văn bản, được giải mã vớiskip_special_tokens=False: các thẻ người nói<spk:N>là các token đặc biệt. Mọi thứ từ token kết thúc văn bản trở đi sẽ bị loại bỏ.
Trả về
list[dict] cho một văn bản, list[list[dict]] cho một lô
một dict cho mỗi lượt nói của người nói, với chỉ mục
"Speaker" là N của thẻ <spk:N> và "Content" của nó. Một văn bản không có thẻ là một lượt duy nhất với
"Speaker": None, tương tự như văn bản trước thẻ đầu tiên, nếu có.
Tách một bản ghi âm có gán người nói thành các lượt nói của từng người, theo định dạng của VibeVoiceAsrProcessor.extract_speaker_dict() nhưng không có mốc thời gian, vì mô hình này không dự đoán chúng.
align_word_timestamps
< source >( transcriptions: str | list[str]word_timestamp_logits: torch.Tensorinput_features_mask: torch.Tensorspeaker_logits: torch.Tensor | None = Nonelanguage: str | list[str | None] | None = Nonespeaker_activity_threshold: float = 0.5max_word_duration: float = 1.0max_word_frames: int = 12 ) → dict or list[dict]
Tham số
- transcriptions (
strhoặclist[str]) — Văn bản được tạo ra của mỗi bản ghi âm, được giải mã vớiskip_special_tokens=Falseđể giữ lại các thẻ<spk:N>. - word_timestamp_logits (
torch.Tensorcó shape(batch_size, num_frames * upsampling_factor, vocab_size)) — Logits của head timestamp từ (word_timestamp_logitscủagenerate(..., return_word_timestamp_logits=True)hoặcmodel.get_word_timestamp_logits(...)), trong đó lớp cuối cùng là CTC blank. Số khung hình trên mỗi khung encoder, tức làupsampling_factorcủa head, được đọc từ shape của chúng. - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ của các khung phổ âm (spectrogram) hợp lệ của mỗi bản ghi âm, như được trả về bởi bộ xử lý: số lượng của chúng xác định thời lượng của bản ghi âm, do đó xác định bước thời gian của các khung của đầu (head). - speaker_logits (
torch.Tensorcó hình dạng(batch_size, num_frames * subsampling_factor, num_speakers), tùy chọn) — Logits của mô hình phân tách người nói (speaker_logitscủagenerate(..., return_word_timestamp_logits=True)hoặc củaget_audio_features). Nếu không có chúng, mỗi bản ghi sẽ được căn chỉnh như một người nói duy nhất và không trả về kết quả phân tách người nói. - language (
strhoặclist[str | None], tùy chọn) — Ngôn ngữ của các bản ghi, một ngôn ngữ cho tất cả hoặc một ngôn ngữ cho từng bản ghi, được phát hiện từ kịch bản khi làNone:"zh"và"ja"được căn chỉnh theo từng ký tự,"th"không được hỗ trợ. - speaker_activity_threshold (
float, tùy chọn, mặc định là 0.5) — Xác suất mà trên ngưỡng đó, một người nói trong phân tách người nói được coi là đang hoạt động. - max_word_duration (
float, tùy chọn, mặc định là 1.0) — Thời lượng tối đa của một từ được căn chỉnh, tính bằng giây. - max_word_frames (
int, tùy chọn, mặc định là 12) — Giá trị dịch chuyển và thời lượng tối đa của một từ được căn vào một phân đoạn phân tách người nói, tính bằng số khung encoder, mỗi khung tối đa 80 ms.
Trả về
dict hoặc list[dict]
cho bản ghi (hoặc cho từng bản ghi trong danh sách các bản chuyển văn bản), dưới dạng mốc thời gian từng từ của pipeline nhận dạng giọng nói, "chunks"
(mỗi từ có {"text", "timestamp", "speaker"}, timestamp = (start, end) tính bằng giây, sắp xếp theo thời gian;
speaker là N của thẻ từ, None trước thẻ đầu tiên và 0 trong bản chuyển văn bản không có thẻ),
"diarization" (các đoạn hoạt động {"speaker", "timestamp"} của mỗi người nói trong phân tách người nói),
"speaker_tag_to_diarization_speaker" (None cho thẻ không khớp) và "failed_speakers" (các thẻ
mà từ của chúng không thể căn chỉnh, vắng mặt trong "chunks").
Nhân mỗi từ trong bản ghi được tạo ra và gán cho một người nói: các từ của mỗi thẻ <spk:N> được căn chỉnh cưỡng bức (torchaudio.functional.forced_align) trên các khung của đầu mốc thời gian từ mà người nói phân tách khớp với thẻ đang hoạt động, sau đó được khớp với các đoạn phân tách của người nói đó. Bản port của MultiSpeakerSOTWordTimestampAligner của NeMo, với tìm kiếm chính xác ở những nơi mà nó xấp xỉ các bản ghi dài.
Ví dụ:
>>> inputs = processor.apply_transcription_request(audio, prompt=speaker_attributed_prompt).to(model.device)
>>> outputs = model.generate(**inputs, return_word_timestamp_logits=True, max_new_tokens=500)
>>> transcriptions = processor.decode(
... outputs.sequences[:, inputs.input_ids.shape[1] :], skip_special_tokens=False
... )
>>> timestamps = processor.align_word_timestamps(
... transcriptions, outputs.word_timestamp_logits, inputs.input_features_mask, outputs.speaker_logits
... )
>>> timestamps[0]["chunks"][0] # {'text': ..., 'timestamp': (..., ...), 'speaker': 0}Nemotron3_5TranscribeAsrAudioModel
lớp transformers.Nemotron3_5TranscribeAsrAudioModel
< source >( config: Nemotron3_5TranscribeAsrAudioConfig )
Tham số
- config (Nemotron3_5TranscribeAsrAudioConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình sẽ không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số của mô hình.
Bộ mã hóa nhận dạng giọng nói Nemotron 3.5 Transcribe: bộ mã hóa âm thanh Nemotron 3 Diarization với các truy vấn và khóa của mỗi đầu chú ý được chuẩn hóa, cùng với các nhúng vị trí quay trên một phần của mỗi đầu.
Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)
Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.
forward
< source >( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)
Tham số
- input_features (
torch.Tensorcó hình dạng(batch_size, sequence_length, feature_dim), tùy chọn) — Các tensor tương ứng với các đặc trưng âm thanh đầu vào. Các đặc trưng âm thanh có thể được lấy bằng cách sử dụngfeature_extractor_class. Xemfeature_extractor_class.__call__để biết chi tiết (processor_classsử dụngfeature_extractor_classđể xử lý âm thanh). - attention_mask (
torch.Tensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong[0, 1]:- 1 cho các token không bị che,
- 0 cho các token bị che.
- inputs_embeds (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size), tùy chọn) — Tùy chọn, thay vì truyềninput_ids, bạn có thể chọn truyền trực tiếp một biểu diễn nhúng. Điều này hữu ích nếu bạn muốn kiểm soát nhiều hơn cách chuyển đổi các chỉ sốinput_idsthành các vector liên quan so với ma trận tra cứu nhúng nội bộ của mô hình. - position_ids (
torch.Tensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng[0, config.n_positions - 1].
Trả về
BaseModelOutput hoặc tuple(torch.Tensor)
Một BaseModelOutput hoặc một tuple của
torch.Tensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các
thành phần khác nhau tùy thuộc vào cấu hình (Nemotron3_5TranscribeConfig) và đầu vào.
Phương thức forward của Nemotron3_5TranscribeAsrAudioModel ghi đè lên phương thức đặc biệt __call__.
Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.
last_hidden_state (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.hidden_states (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.Tensor(một cho đầu ra của embeddings, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng(batch_size, sequence_length, hidden_size).Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.
attentions (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Tuple củatorch.Tensor(một cho mỗi lớp) có hình dạng(batch_size, num_heads, sequence_length, sequence_length).Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.
Nemotron3_5TranscribeAudioModel
lớp transformers.Nemotron3_5TranscribeAudioModel
< source >( config: Nemotron3_5TranscribeAudioConfig )
Tham số
- config (Nemotron3_5TranscribeAudioConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình sẽ không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số của mô hình.
Mô hình Nemotron 3.5 Transcribe audio: một bộ mã hóa nhận dạng giọng nói và một mô hình phân tách người nói chạy song song trên cùng một phổ âm, và các hoạt động của người nói được thêm vào đầu ra của bộ mã hóa nhận dạng giọng nói.
Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)
Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.
forward
< source >( input_features: Tensorinput_features_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeAudioModelOutput or tuple(torch.Tensor)
Tham số
- input_features (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length, num_mel_bins)) — Biến đổi log mel spectrogram, được đệm (padding) đến bội số củaconfig.subsampling_factorkhung (frames). Giống như trong bản gốc, âm thanh dài hơnconfig.diarization_config.chunk_lengthkhung encoder sẽ được mã hóa theo từng khối (chunks) với ngữ cảnh. - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length), tùy chọn) — Mặt nạ của các khung spectrogram hợp lệ. Phần đệm phải nằm bên phải.
Trả về
Nemotron3_5TranscribeAudioModelOutput hoặc tuple(torch.Tensor)
Một Nemotron3_5TranscribeAudioModelOutput hoặc một tuple của
torch.Tensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các
thành phần khác nhau tùy thuộc vào cấu hình (Nemotron3_5TranscribeConfig) và đầu vào.
Phương thức forward của Nemotron3_5TranscribeAudioModel ghi đè lên phương thức đặc biệt __call__.
Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.
last_hidden_state (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.pooler_output (
torch.Tensorcó hình dạng(num_audio_tokens, text_config.hidden_size), tùy chọn) — Các embedding âm thanh đã được chiếu của các khung encoder hợp lệ trong mọi bản ghi, theo thứ tự batch: các embedding thay thế cho các token âm thanh của prompt. Được trả về bởiget_audio_features.hidden_states (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.Tensor(một cho đầu ra của embeddings, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng(batch_size, sequence_length, hidden_size).Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.
attentions (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Tuple củatorch.Tensor(một cho mỗi lớp) có hình dạng(batch_size, num_heads, sequence_length, sequence_length).Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.
asr_last_hidden_state (
torch.Tensorcó hình dạng(batch_size, num_frames, audio_config.hidden_size)) — Đầu ra của bộ mã hóa nhận dạng giọng nói, trước khi chuẩn hóa và các nhúng người nói: đầu vào của get_word_timestamp_logits().speaker_logits (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length, audio_config.num_speakers)) — Logits của mô hình phân tách người nói, mỗi khung tương ứng với một khung spectrogram.
Nemotron3_5TranscribeWordTimestampModel
lớp transformers.Nemotron3_5TranscribeWordTimestampModel
< source >( config: Nemotron3_5TranscribeWordTimestampConfig )
Tham số
- config (Nemotron3_5TranscribeWordTimestampConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình sẽ không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.
Transformer của đầu timestamp từ trong Nemotron 3.5 Transcribe. Lớp Nemotron3_5TranscribeForConditionalGeneration.word_timestamp_head phân loại đầu ra của nó.
Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)
Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.
forward
< source >( inputs_embeds: Tensorattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
Tham số
- inputs_embeds (
torch.Tensorcó hình dạng(batch_size, num_frames, hidden_size)) — Trạng thái của bộ mã hóa nhận dạng giọng nói, trước khi áp dụngasr_normcủa mô hình âm thanh và các vector nhúng người nói. - attention_mask (
torch.Tensorcó hình dạng(batch_size, num_frames), tùy chọn) — Mặt nạ của các khung encoder hợp lệ.
Phương thức forward của Nemotron3_5TranscribeWordTimestampModel ghi đè phương thức đặc biệt __call__.
Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.
Trả về num_frames * upsampling_factor khung hình.
Nemotron3_5TranscribeModel
lớp transformers.Nemotron3_5TranscribeModel
< source >( config: Nemotron3_5TranscribeConfig )
Tham số
- config (Nemotron3_5TranscribeConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình sẽ không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số của mô hình.
Mô hình Nemotron 3.5 Transcribe (mô hình mã hóa nhận dạng giọng nói và mô hình phân tách người nói chạy song song, bộ chiếu tuyến tính và mô hình ngôn ngữ Nemotron-H), không có đầu mô hình hóa ngôn ngữ.
Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)
Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.
forward
< source >( 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] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeModelOutputWithPast or tuple(torch.Tensor)
Tham số
- input_ids (
torch.LongTensorcó dạng(batch_size, sequence_length), tùy chọn) — Chỉ số của các token trong chuỗi đầu vào theo từ điển. Mặc định, padding sẽ bị bỏ qua.Các chỉ số có thể được lấy bằng cách sử dụng AutoTokenizer. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết.
- input_features (
torch.Tensorcó hình dạng(batch_size, sequence_length, feature_dim), tùy chọn) — Các tensor tương ứng với các đặc trưng âm thanh đầu vào. Các đặc trưng âm thanh có thể được lấy bằng cách sử dụngfeature_extractor_class. Xemfeature_extractor_class.__call__để biết chi tiết (processor_classsử dụngfeature_extractor_classđể xử lý âm thanh). - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ để tránh thực hiện chú ý trên các chỉ mục đặc trưng đệm. - attention_mask (
torch.Tensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong[0, 1]:- 1 cho các token không bị che,
- 0 cho các token bị che.
- position_ids (
torch.LongTensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng[0, config.n_positions - 1]. - past_key_values (
~cache_utils.Cache, tuỳ chọn) — Các hidden-state đã tính trước (key và value trong các khối self-attention và cross-attention) có thể được sử dụng để tăng tốc giải mã tuần tự. Điều này thường bao gồmpast_key_valuesđược trả về bởi mô hình ở một giai đoạn giải mã trước đó, khiuse_cache=Truehoặcconfig.use_cache=True.Chỉ cho phép Cache instance làm đầu vào, xem hướng dẫn kv cache của chúng tôi. Nếu không truyền
past_key_values, DynamicCache sẽ được khởi tạo theo mặc định.Mô hình sẽ xuất ra cùng định dạng cache được đưa vào làm đầu vào.
Nếu
past_key_valuesđược sử dụng, người dùng được kỳ vọng chỉ nhậpinput_idschưa được xử lý (những phần chưa có trạng thái key value quá khứ được cung cấp cho mô hình này) có hình dạng(batch_size, unprocessed_length)thay vì toàn bộinput_idscó hình dạng(batch_size, sequence_length). - inputs_embeds (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size), tùy chọn) — Tùy chọn, thay vì truyềninput_ids, bạn có thể chọn truyền trực tiếp một biểu diễn nhúng. Điều này hữu ích nếu bạn muốn kiểm soát nhiều hơn cách chuyển đổi các chỉ sốinput_idsthành các vector liên quan so với ma trận tra cứu nhúng nội bộ của mô hình. - use_cache (
bool, tùy chọn) — Nếu đặt thànhTrue, các trạng thái key value củapast_key_valuessẽ được trả về và có thể được sử dụng để tăng tốc quá trình giải mã (xempast_key_values).
Trả về
Nemotron3_5TranscribeModelOutputWithPast hoặc tuple(torch.Tensor)
Một Nemotron3_5TranscribeModelOutputWithPast hoặc một tuple của
torch.Tensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các
thành phần khác nhau tùy thuộc vào cấu hình (Nemotron3_5TranscribeConfig) và đầu vào.
Phương thức forward của Nemotron3_5TranscribeModel ghi đè lên phương thức đặc biệt __call__.
Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.
last_hidden_state (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.Nếu
past_key_valuesđược sử dụng, chỉ có hidden-state cuối cùng của các chuỗi có shape(batch_size, 1, hidden_size)được xuất ra.past_key_values (
Cache, tùy chọn, được trả về khiuse_cache=Trueđược truyền vào hoặc khiconfig.use_cache=True) — Đây là một instance của Cache. Để biết thêm chi tiết, hãy xem hướng dẫn về kv cache của chúng tôi.Chứa các hidden-states đã được tính trước (key và values trong các khối self-attention và tùy chọn nếu
config.is_encoder_decoder=Truetrong các khối cross-attention) có thể được sử dụng (xem đầu vàopast_key_values) để tăng tốc độ giải mã tuần tự.hidden_states (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.Tensor(một cho đầu ra của embeddings, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng(batch_size, sequence_length, hidden_size).Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.
attentions (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Tuple củatorch.Tensor(một cho mỗi lớp) có hình dạng(batch_size, num_heads, sequence_length, sequence_length).Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.
audio_hidden_states (
torch.Tensor, tùy chọn) — Trạng thái ẩn âm thanh đã được chiếu.
get_audio_features
< source >( input_features: Tensorinput_features_mask: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Tham số
- input_features (
torch.Tensor) — Các giá trị float của các đặc trưng mel được trích xuất từ dạng sóng âm thanh thô. - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ để tránh thực hiện chú ý trên các chỉ mục đặc trưng đã đệm.
Trả về
BaseModelOutputWithPooling hoặc tuple(torch.Tensor)
Một BaseModelOutputWithPooling hoặc một tuple của
torch.Tensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các
thành phần khác nhau tùy thuộc vào cấu hình (Nemotron3_5TranscribeConfig) và đầu vào.
Phương pháp này được sử dụng để lấy các embedding âm thanh từ các đặc trưng đầu vào (một phổ log mel), tức là suy luận bộ mã hóa âm thanh và bộ chiếu đa phương thức.
last_hidden_state (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.pooler_output (
torch.Tensorcó hình dạng(batch_size, hidden_size)) — Trạng thái ẩn của lớp cuối cùng của token đầu tiên trong chuỗi (token phân loại) sau khi được xử lý thêm qua các lớp được sử dụng cho tác vụ tiền huấn luyện bổ trợ. Ví dụ, đối với các mô hình thuộc họ BERT, giá trị này trả về token phân loại sau khi được xử lý qua một lớp tuyến tính và một hàm kích hoạt tanh. Trọng số của lớp tuyến tính được huấn luyện từ mục tiêu dự đoán câu tiếp theo (phân loại) trong quá trình tiền huấn luyện.hidden_states (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.Tensor(một cho đầu ra của embeddings, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng(batch_size, sequence_length, hidden_size).Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.
attentions (
tuple(torch.Tensor), tuỳ chọn, được trả về khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Tuple củatorch.Tensor(một cho mỗi lớp) có hình dạng(batch_size, num_heads, sequence_length, sequence_length).Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.
( asr_last_hidden_state: Tensorinput_features_mask: Tensor )
Tham số
- asr_last_hidden_state (
torch.Tensorcó hình dạng(batch_size, num_frames, audio_config.hidden_size)) — Đầu ra của bộ mã hóa nhận dạng giọng nói trước khi chuẩn hóa và các nhúng người nói, như được trả về bởi get_audio_features() choinput_features_mask. - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ của các khung spectrogram hợp lệ. Phần đệm phải nằm bên phải.
Chạy bộ mã hóa dấu thời gian từ trên các trạng thái của bộ mã hóa nhận dạng giọng nói, theo các khối của bộ mã hóa: các trạng thái mà lớp đầu dấu thời gian từ phân loại.
Nemotron3_5TranscribeForConditionalGeneration
lớp transformers.Nemotron3_5TranscribeForConditionalGeneration
< source >( config: Nemotron3_5TranscribeConfig )
Tham số
- config (Nemotron3_5TranscribeConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình sẽ không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số của mô hình.
Mô hình Nemotron 3.5 Transcribe (mô hình mã hóa nhận dạng giọng nói và mô hình phân tách người nói chạy song song, bộ chiếu tuyến tính và mô hình ngôn ngữ Nemotron-H) với đầu mô hình hóa ngôn ngữ.
Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)
Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.
forward
< source >( 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] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeCausalLMOutputWithPast or tuple(torch.Tensor)
Tham số
- input_ids (
torch.LongTensorcó dạng(batch_size, sequence_length), tùy chọn) — Chỉ số của các token trong chuỗi đầu vào theo từ điển. Mặc định, padding sẽ bị bỏ qua.Các chỉ số có thể được lấy bằng cách sử dụng AutoTokenizer. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết.
- input_features (
torch.Tensorcó hình dạng(batch_size, sequence_length, feature_dim), tùy chọn) — Các tensor tương ứng với các đặc trưng âm thanh đầu vào. Các đặc trưng âm thanh có thể được lấy bằng cách sử dụngfeature_extractor_class. Xemfeature_extractor_class.__call__để biết chi tiết (processor_classsử dụngfeature_extractor_classđể xử lý âm thanh). - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ để tránh thực hiện chú ý trên các chỉ mục đặc trưng đệm. - attention_mask (
torch.Tensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong[0, 1]:- 1 cho các token không bị che,
- 0 cho các token bị che.
- position_ids (
torch.LongTensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng[0, config.n_positions - 1]. - past_key_values (
~cache_utils.Cache, tuỳ chọn) — Các hidden-state đã tính trước (key và value trong các khối self-attention và cross-attention) có thể được sử dụng để tăng tốc giải mã tuần tự. Điều này thường bao gồmpast_key_valuesđược trả về bởi mô hình ở một giai đoạn giải mã trước đó, khiuse_cache=Truehoặcconfig.use_cache=True.Chỉ cho phép Cache instance làm đầu vào, xem hướng dẫn kv cache của chúng tôi. Nếu không truyền
past_key_values, DynamicCache sẽ được khởi tạo theo mặc định.Mô hình sẽ xuất ra cùng định dạng cache được đưa vào làm đầu vào.
Nếu
past_key_valuesđược sử dụng, người dùng được kỳ vọng chỉ nhậpinput_idschưa được xử lý (những phần chưa có trạng thái key value quá khứ được cung cấp cho mô hình này) có hình dạng(batch_size, unprocessed_length)thay vì toàn bộinput_idscó hình dạng(batch_size, sequence_length). - inputs_embeds (
torch.Tensorcó hình dạng(batch_size, sequence_length, hidden_size), tùy chọn) — Tùy chọn, thay vì truyềninput_ids, bạn có thể chọn truyền trực tiếp một biểu diễn nhúng. Điều này hữu ích nếu bạn muốn kiểm soát nhiều hơn cách chuyển đổi các chỉ sốinput_idsthành các vector liên quan so với ma trận tra cứu nhúng nội bộ của mô hình. - labels (
torch.LongTensorcó hình dạng(batch_size, sequence_length), tùy chọn) — Nhãn để tính toán tổn thất mô hình hóa ngôn ngữ có che (masked language modeling loss). - use_cache (
bool, tùy chọn) — Nếu đặt thànhTrue, các trạng thái key value củapast_key_valuessẽ được trả về và có thể được sử dụng để tăng tốc quá trình giải mã (xempast_key_values). - logits_to_keep (
Union[int, torch.Tensor], tùy chọn, mặc định là0) — Nếu làint, tính logits chologits_to_keeptoken cuối. Nếu là0, tính logits cho tất cảinput_ids(trường hợp đặc biệt). Chỉ cần logits của token cuối cho quá trình sinh, và việc chỉ tính cho token đó có thể tiết kiệm bộ nhớ, điều này trở nên khá đáng kể với các chuỗi dài hoặc kích thước từ vựng lớn. Nếu làtorch.Tensor, phải là 1 chiều tương ứng với các chỉ số cần giữ trong chiều độ dài chuỗi. Điều này hữu ích khi sử dụng định dạng tensor đóng gói (một chiều duy nhất cho batch và độ dài chuỗi).
Trả về
Nemotron3_5TranscribeCausalLMOutputWithPast hoặc tuple(torch.Tensor)
Một Nemotron3_5TranscribeCausalLMOutputWithPast hoặc một tuple của
torch.Tensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các
thành phần khác nhau tùy thuộc vào cấu hình (Nemotron3_5TranscribeConfig) và đầu vào.
Phương thức forward của Nemotron3_5TranscribeForConditionalGeneration ghi đè lên phương thức đặc biệt __call__.
Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.
loss (
torch.Tensorcó shape(1,), tùy chọn, được trả về khilabelsđược cung cấp) — Loss của language modeling (cho next-token prediction).logits (
torch.Tensorcó hình dạng(batch_size, sequence_length, config.vocab_size)) — Điểm dự đoán của đầu mô hình hóa ngôn ngữ.past_key_values (
Cache, tùy chọn, được trả về khiuse_cache=Trueđược truyền vào hoặc khiconfig.use_cache=True) — Đây là một instance của Cache.hidden_states (
tuple[torch.Tensor], tuỳ chọn, được trả về khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Tuple củatorch.Tensor(một cho đầu ra của embeddings, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng(batch_size, sequence_length, hidden_size).Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.
attentions (
tuple[torch.Tensor], tuỳ chọn, được trả về khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Tuple củatorch.Tensor(một cho mỗi lớp) có hình dạng(batch_size, num_heads, sequence_length, sequence_length).Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.
audio_hidden_states (
torch.Tensor, tùy chọn) — Trạng thái ẩn của bộ mã hóa âm thanh sau khi chiếu.
get_audio_features
< source >( input_featuresinput_features_mask**kwargs )
Tham số
- input_features (`
of shape(batch_size, sequence_length, feature_dim)) -- The tensors corresponding to the input audio features. Audio features can be obtained usingfeature_extractor_class. Seefeature_extractor_class.callfor details (processor_classusesfeature_extractor_class` for processing audios). - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ của các khung spectrogram hợp lệ. Phần đệm phải nằm bên phải.
get_word_timestamp_logits
< source >( asr_last_hidden_state: Tensorinput_features_mask: Tensor )
Tham số
- asr_last_hidden_state (
torch.Tensorcó hình dạng(batch_size, num_frames, audio_config.hidden_size)) — Đầu ra của bộ mã hóa nhận dạng giọng nói trước khi chuẩn hóa và các nhúng người nói, như được trả về bởi get_audio_features() choinput_features_mask. - input_features_mask (
torch.Tensorcó hình dạng(batch_size, feature_sequence_length)) — Mặt nạ của các khung spectrogram hợp lệ. Phần đệm phải nằm bên phải.
Logits của đầu timestamp từ trên các trạng thái encoder nhận dạng giọng nói, mà align_word_timestamps() chuyển đổi thành thời gian của từng từ.