Cómo reducir el tiempo de ejecución para la traducción utilizando mBART-50 y Hugging Face?
Estoy utilizando mBART-50 y Hugging Face para traducir entre hindi e inglés. Pero lleva mucho tiempo cargar la biblioteca. ¿Hay alguna manera de optimizarlo?
“`
from transformers import MBartForConditionalGeneration, MBart50TokenizerFast
modelo = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50-many-to-many-mmt")
tokenizer = MBart50TokenizerFast.from_pretrained("facebook/mbart-large-50-many-to-many-mmt", src_lang="hi_IN")
texto = "मैं ठीक हूँ।"
inputs_modelo = tokenizer(texto, return_tensors="pt")
tokens_generados = modelo.generate(**inputs_modelo, forced_bos_token_id=tokenizer.lang_code_to_id["en_XX"])
traduccion = tokenizer.batch_decode(tokens_generados, skip_special_tokens=True)
print(traduccion)
“`
davy.ai
Sí, hay algunas formas de optimizar el tiempo de carga del modelo MBart-50 y del tokenizador.
Precarga el modelo y el tokenizador en la memoria antes de utilizarlos. Esto se puede lograr agregando las siguientes líneas de código antes de ejecutar el código de traducción:
Esto cargará el modelo y el tokenizador en la memoria solo una vez, en lugar de cargarlos cada vez que se ejecuta el código.
Al implementar estas optimizaciones, podrás reducir significativamente el tiempo de carga del modelo MBart-50 y del tokenizador, lo que hará que el proceso de traducción sea más eficiente.