dsfsi / masakhane-web

Masakhane Web is a translation web application for solely African Languages.
http://translate.masakhane.io
MIT License
35 stars 15 forks source link

Update endpoint #84

Open Kabongosalomon opened 1 year ago

Kabongosalomon commented 1 year ago

Description

I'm seeing this error when adding an additional model

image

It might be related to the time it takes to download the model.

lastrucci01 commented 1 year ago

@Zenthon @vukosim Ishe has finished the Sentence Alignment on the gov-za multilingual so he'll jump ahead of me and work on Masakhane. However, I do have an idea for masakhane on this bug so I just want to document it so Ishe might try it out.

We have the suspicion that the program runs out of memory when trying to add multiple models so perhaps we can try only dealing with one model at a time.

You can use python manage.py add_language to add language refs to the database and download them. Perhaps the /update endpoint should just be for downloading the models that have references in the database.

Note: when you python manage.py remove_language you should delete the directory storing the model for data coherence.

Once the models are downloaded, the client should list what models are available for translation. When the user picks a model - say eng-swa only that model should be loaded into memory. If the user picks another model - say eng-tiv, the old model should be overwritten and the new one placed into memory.

My only concern with this approach is that it takes a long time to load a model and that might affect UX.

idzingirai commented 1 year ago

@Kabongosalomon It seems that some of the language models config files are incorrect(their checkpoint files parameters are wrong or missing) hence why you can't add some language models such as the en-ln- model

I have tested however that you can add multiple languages at once. Example:

  1. en-sw-JW300 (Swahili)
  2. en-tiv- (Tiv)
  3. en-iso- (Isoko)

All 3 of those models were loaded at the same time without issues