Page Not Found
Page not found. Your pixels are in another canvas.
A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.
Page not found. Your pixels are in another canvas.
About me
This is a page not in th emain menu
Published:
Day 5 is the final day of MTMA and we were prepping for our end-of-day demo. We largely had everything in place that we wanted, but are looking forwards to standardizing the build, packaging, and distribution of pymarian. I spent a lot of day fixing CI by making sure the right cmake flags were set and setting up python environments as appropriate. Meanwhile I learned that twine
cannot upload arbitrary .whl
files built for linux. We need to repair with auditwheel
which is no big deal. Our CI matrix will eventually need to be something like python_versions X {cpu,gpu} X cuda_versions
, but it will be worth it for consumers who no longer need to compile marian from source and can use it on all major platforms.
Published:
Now that the package is mostly solid, I spent the day benchmarking the code. I previously developed a small microbenchmark to test native vs. pybind speeds to ensure there are no major regressions, but I wanted to check against other existing libraries. Because we’re using Helsinki NLP’s OPUS MT models to test the Marian inference, we thought we would use the HuggingFace Transformer’s exported checkpoints of the same models. I’m not exactly sure how the checkpoints were made compatible (likely model surgery like how HF exports fairseq checkpoints), but it mostly doesn’t matter.
Published:
With the code looking better and the build system improved, day 3 is primarily spent working to prepare pymarian for packaging and automated builds as a first class citizen in Marian CI. I was unavailable for most of the day due to internship obligations and some wedding planning, so I don’t have much to report. Marcin seems to have gotten pymarian building on Windows with some minor cmake magic. Meanwhile Alex checked in some of the initial Huggingface-like API’s and Liling has been fighting with CI. That’s really it for today. :-)
Published:
After yesterday’s productive day of fighting with setuptools and cmake we were able to get a kind-of-awkward-to-use pymarian translator working. Our outstanding TODO’s were to test the speed (to ensure we aren’t incurring terrible latency by adding bindings) and to clean up some of the API’s.
Published:
This year I’m fortunate to be co-leading a Machine Translation Marathon in the Americas project with Marcin Junczys-Dowmunt. The project has modest goals: to add Python bindings to Marian NMT.
Published:
In the last post I explored subword tokenization, data prep, and the training loop for a transformer-based NMT model. While I had promised the next post would begin implementing decoding strategies, I wanted to explore efficiency gains to be had by digging into batch samplers. I’ll start by describing the problem we’re trying to solve.
Published:
In this post I explore the APIs of the wonderful new xFormers library while revisiting torchtext which has undergone a great deal of maturation since I last used it. This serves as an exploration and hopefully some motivation to develop tooling around the ideas explored here in hopes of developing a principled neural machine translation library that leverages optimized tooling under the hood. Let’s jump in.
Published:
Kantorovich’s inequality is an inequality used in convergence analysis of the method of steepest descent. Specifically, we concern ourselves with the optimization problem
Published in Proceedings of the 19th International Conference on Spoken Language Translation (IWSLT 2022), 2022
Recommended citation: Controlling Translation Formality Using Pre-trained Multilingual Language Models (Rippeth et al., IWSLT 2022) https://aclanthology.org/2022.iwslt-1.30/
Published in Proceedings of the Seventh Conference on Machine Translation (WMT), 2022
Recommended citation: Additive Interventions Yield Robust Multi-Domain Machine Translation Models (Rippeth & Post, WMT 2022) https://aclanthology.org/2022.wmt-1.14/
Internal course, The MITRE Corporation, MITRE Institute, 2017
An introductory professional course covering the Scala programming language.
Internal course, The MITRE Corporation, MITRE Institute, 2019
An intensive professional course covering the basics of domain-driven design, the reactive manifesto, and microservice design.