IBM Model 1 Machine Translation in Python

The IBM model 1 is the original gangster of statistical machine translation. It can learn a dictionary between two languages from a number of translated sentences without any real understanding of language and with a complete disregard for word order. Even though, we will see that is is able to get meaningful results even from small-ish training sets. While the usual way of explaining its working involves alignments, I find it much more intuitive to think about it as a variant of Von Mises Iteration.

Speeding up Python with Java

Remember kids, 8 billion devices run Java.

How to debug NaN Values in PyTorch Models during Training

It’s really slow.