Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,86 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: mit
|
| 3 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
---
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
from transformers import T5Tokenizer, T5ForConditionalGeneration
|
| 8 |
+
|
| 9 |
+
# Load the pre-trained model and tokenizer
|
| 10 |
+
model_name = "SynapseQAI/T5-base-WMT14v2"
|
| 11 |
+
tokenizer = T5Tokenizer.from_pretrained(model_name)
|
| 12 |
+
model = T5ForConditionalGeneration.from_pretrained(model_name)
|
| 13 |
+
|
| 14 |
+
# Function to translate using a mixed strategy: Beam Search + Top-P Sampling
|
| 15 |
+
def translate(sentence, num_beams=4, top_p=0.9):
|
| 16 |
+
# Prepare the input with the prompt for the model
|
| 17 |
+
input_text = f"correct phrasing and grammar:{sentence}"
|
| 18 |
+
input_ids = tokenizer(input_text, return_tensors="pt").input_ids
|
| 19 |
+
|
| 20 |
+
# Step 1: Beam search to generate top candidate outputs
|
| 21 |
+
beam_outputs = model.generate(
|
| 22 |
+
input_ids,
|
| 23 |
+
num_beams=num_beams, # Define number of beams for beam search
|
| 24 |
+
max_length=40,
|
| 25 |
+
early_stopping=True,
|
| 26 |
+
num_return_sequences=num_beams, # Return the top beams for Top-p sampling
|
| 27 |
+
do_sample=False # Beam search is deterministic
|
| 28 |
+
)
|
| 29 |
+
|
| 30 |
+
# Step 2: Apply Top-P sampling on the beam outputs to introduce variety
|
| 31 |
+
top_p_output = model.generate(
|
| 32 |
+
input_ids,
|
| 33 |
+
do_sample=True,
|
| 34 |
+
top_p=top_p, # Apply Top-p sampling
|
| 35 |
+
max_length=40,
|
| 36 |
+
early_stopping=True
|
| 37 |
+
)
|
| 38 |
+
|
| 39 |
+
# Decode the beam outputs and top-p sampled output
|
| 40 |
+
beam_translations = [tokenizer.decode(output, skip_special_tokens=True) for output in beam_outputs]
|
| 41 |
+
top_p_translation = tokenizer.decode(top_p_output[0], skip_special_tokens=True)
|
| 42 |
+
|
| 43 |
+
# Clean the translations to remove the prompt text
|
| 44 |
+
clean_top_p_translation = top_p_translation.split(":", 1)[-1].strip()
|
| 45 |
+
|
| 46 |
+
# Combine top translations (Beam search + Top-P sampling)
|
| 47 |
+
combined_translations = [translation.split(":", 1)[-1].strip() for translation in beam_translations]
|
| 48 |
+
|
| 49 |
+
# Return both top-p sampled translation and beam search candidates
|
| 50 |
+
return clean_top_p_translation, combined_translations
|
| 51 |
+
|
| 52 |
+
# French sentences from easy to advanced, including more difficult ones
|
| 53 |
+
sentences = [
|
| 54 |
+
"Les scientifiques travaillent dur pour trouver un remède.",
|
| 55 |
+
"La capitale de la France est Paris.",
|
| 56 |
+
"Je voudrais un café s'il vous plaît.",
|
| 57 |
+
"Il fait beau aujourd'hui.",
|
| 58 |
+
"J'aime lire des livres et regarder des films pendant mon temps libre.",
|
| 59 |
+
"Si j'avais su que tu venais, j'aurais préparé quelque chose de spécial pour le dîner.",
|
| 60 |
+
"Même si les avancées technologiques apportent de nombreux avantages, elles posent également des défis éthiques considérables qu'il nous faut relever.",
|
| 61 |
+
"La notion de vérité absolue reste controversée parmi les philosophes depuis l'Antiquité.",
|
| 62 |
+
"Dans une société hyperconnectée, la surabondance d'informations peut rendre difficile la distinction entre les faits et les opinions.",
|
| 63 |
+
"L'impact des changements climatiques sur la biodiversité est d'une ampleur difficile à concevoir.",
|
| 64 |
+
"Il est impératif que nous abordions les crises environnementales avec une approche systémique et collaborative.",
|
| 65 |
+
"Les révolutions industrielles successives ont façonné le monde moderne de manière irréversible.",
|
| 66 |
+
"La théorie des jeux est souvent utilisée pour modéliser des situations où les décisions de plusieurs individus s'influencent mutuellement.",
|
| 67 |
+
"La métamorphose de la chenille en papillon est un processus biologique fascinant et complexe.",
|
| 68 |
+
"Les découvertes en physique quantique ont radicalement transformé notre compréhension de l'univers à l'échelle microscopique.",
|
| 69 |
+
"L'analyse des textes anciens révèle souvent des perspectives historiques inexplorées.",
|
| 70 |
+
"Les neurosciences nous offrent une fenêtre sur le fonctionnement des processus cognitifs et émotionnels du cerveau.",
|
| 71 |
+
"L'interaction entre les cultures a enrichi l'histoire humaine, mais a aussi souvent conduit à des conflits violents.",
|
| 72 |
+
"La nature fractale de certaines structures naturelles remet en question nos notions classiques de géométrie.",
|
| 73 |
+
"Il est étonnant de voir comment la technologie de pointe a rendu possible des prouesses médicales autrefois inimaginables.",
|
| 74 |
+
"La complexité de l'économie mondiale réside dans l'interconnexion des marchés financiers, des politiques monétaires et des échanges internationaux.",
|
| 75 |
+
"L'évolution des espèces s'effectue sur des millions d'années, à travers un processus d'adaptation et de sélection naturelle.",
|
| 76 |
+
"Les concepts d'intelligence artificielle soulèvent des questions éthiques sur l'autonomie et la responsabilité des machines.",
|
| 77 |
+
"Le paradoxe du temps est un thème récurrent dans la science-fiction, souvent utilisé pour explorer des réalités alternatives.",
|
| 78 |
+
"Les travaux de recherche en biologie synthétique promettent de révolutionner la manière dont nous produisons des médicaments.",
|
| 79 |
+
"La théorie des cordes cherche à unifier les forces fondamentales de la nature dans une seule théorie cohérente.",
|
| 80 |
+
"L'éducation joue un rôle central dans la promotion du développement durable et l'atténuation des inégalités mondiales."
|
| 81 |
+
]
|
| 82 |
+
|
| 83 |
+
# Translate each sentence and print the top-p sampled translation + beam search candidates
|
| 84 |
+
for sentence in sentences:
|
| 85 |
+
top_p_translation, beam_translations = translate(sentence)
|
| 86 |
+
print(f"French: {sentence}\nTop-P Translation: {top_p_translation}\nBeam Search Candidates: {beam_translations}\n")
|