Some Argos Translate updates

I’ve been working on Argos Translate 2 in the v2 branch but I’m planning to stay on 1.X for at least a decent while. I’m pretty happy with the current version (1.7) and have been focusing more on model training than upgrades to the core Python library.

I’m considering releasing a version 1.8 with some minor upgrades and new features including:

  • Support for upgrading packages by checking if there’s a newer version of the same package and installing it if available
  • Deleting the .argosmodel package files in ~/.local/cache/argos-translate after they’ve been unzipped and installed

I’d appreciate any feedback on these ideas or other possible features!

1 Like

The cache cleanup would be really nice; as the number of models grows this can become significant.

Feature-wise I think one of the most important features is speed improvements, so ways to improve the throughput of translations and reduce CPU usage.

1 Like

I agree the cache cleanup should good.

That’s good to know that CPU usage is a bottleneck; you probably run the biggest LibreTranslate instance at CPU performance is probably best improved in CTranslate2 though. I think the best way to improve performance is to make sure CTranslate2 is optimized for your hardware. If your CPU supports the Intel MKL Library or oneDNN making sure they are being used could yield speed improvements.

I think CTranslate2 is able to utilize multiple cores in parallel well so upgrading to a better CPU should help performance. LibreTranslate can use multiple CPU cores for different requests while CTranslate2 is also using ~4 cores per request so we’re able to effectively make use of 32+ cores. Using a GPU should also help, although I’ve generally just used CPUs since CTranslate2 works very well on CPUs in my experience.

1 Like

Inference performance is the primary reason I’m currently keeping Argos Translate V1 in the master branch. I think in the future I want to move to multilingual models but for now single language pair models are smaller and faster.

1 Like

Oh, another good feature would be language detection. Currently we rely on polyglot, but having a dedicated set of functions would allow improvements in language detection.

1 Like