Views
No views yet
facebook/seamless-m4t-v2-large, containing only T2TT (Text-to-Text Translation) components.Original Model: facebook/seamless-m4t-v2-largeOfficial Documentation: SeamlessM4T-v2 Documentation
text_encoder: Text encodertext_decoder: Text decodershared.weight: Shared word embeddingslang_embed: Language embeddings1from transformers import SeamlessM4Tv2Model, AutoProcessor
2
3# Load model
4model = SeamlessM4Tv2Model.from_pretrained("jaman21/seamless-m4t-v2-t2tt")
5processor = AutoProcessor.from_pretrained("jaman21/seamless-m4t-v2-t2tt")
6
7# Translate text
8text_inputs = processor(text="Hello, how are you?", src_lang="eng", return_tensors="pt")
9output_tokens = model.generate(**text_inputs, tgt_lang="fra", generate_speech=False)
10translated_text = processor.decode(output_tokens[0].tolist()[0], skip_special_tokens=True)
11print(translated_text) # "Bonjour, comment allez-vous?"1# Beam search for better quality (slower)
2text_inputs = processor(text="The quick brown fox jumps", src_lang="eng", return_tensors="pt")
3outputs = model.generate(
4 **text_inputs,
5 tgt_lang="jpn",
6 generate_speech=False,
7 num_beams=5, # Use beam search
8 max_new_tokens=256,
9 early_stopping=True
10)
11
12# Sampling for more diverse output
13outputs = model.generate(
14 **text_inputs,
15 tgt_lang="kor",
16 generate_speech=False,
17 do_sample=True, # Enable sampling
18 top_k=50,
19 top_p=0.95,
20 temperature=0.8 # 0.0-1.0: lower is more deterministic, higher is more random (affects translation quality)
21)1# Process multiple texts at once
2texts = [
3 "Hello, how are you?",
4 "What is your name?",
5 "Nice to meet you!"
6]
7
8text_inputs = processor(text=texts, src_lang="eng", return_tensors="pt", padding=True)
9output_tokens = model.generate(**text_inputs, tgt_lang="ita", generate_speech=False)
10
11# Decode all outputs
12translations = processor.batch_decode(output_tokens, skip_special_tokens=True)
13for orig, trans in zip(texts, translations):
14 print(f"{orig} -> {trans}")1text_inputs = processor(text="Translate this sentence", src_lang="eng", return_tensors="pt")
2
3# Higher quality but more computationally expensive
4high_quality_output = model.generate(
5 **text_inputs,
6 tgt_lang="rus",
7 generate_speech=False,
8 num_beams=5, # Beam search
9 max_new_tokens=512, # Allow longer output
10 length_penalty=1.0, # No length penalty
11 early_stopping=True,
12 use_cache=True # Accelerate generation
13)
14
15# Faster generation speed, acceptable quality
16fast_output = model.generate(
17 **text_inputs,
18 tgt_lang="rus",
19 generate_speech=False,
20 num_beams=1, # Greedy decoding for better translation quality (slower)
21 max_new_tokens=256,
22 use_cache=True
23)1import torch
2
3# Move model to GPU if available
4device = "cuda" if torch.cuda.is_available() else "cpu"
5model = model.to(device)
6
7# Process inputs on the same device
8text_inputs = processor(text="Hello", src_lang="eng", return_tensors="pt")
9text_inputs = {k: v.to(device) for k, v in text_inputs.items()}
10
11# Generate
12with torch.inference_mode(): # More efficient than torch.no_grad()
13 outputs = model.generate(**text_inputs, tgt_lang="cmn", generate_speech=False)