Research

We work on large language models, studying how to steer, adapt and control them, and on optimization, with learning-based and massively parallel methods for combinatorial problems.

Large Language Models

Prompting and in-context learning

LLMs are highly sensitive to how they are prompted, and good prompts are hard to find by hand. We construct prompts and in-context examples automatically, and study how far prompt sensitivity goes.

Unlearning and model control

Deploying LLMs safely requires removing specific knowledge without retraining, and checking that it is really gone. Beyond unlearning, we change model behaviour at inference time and make generated text traceable.

Reasoning

We study how neural models reason, both by looking inside them and by combining them with symbolic search.

Optimization

Neural combinatorial optimization

We develop neural methods for combinatorial problems that can spend more computation on harder instances.

Massively parallel solvers

Many machine learning problems contain large integer linear programs at their core. We build solvers that run massively in parallel on GPUs and can be trained end to end.

Earlier work

Earlier, we applied combinatorial optimization to computer vision: graph and shape matching, multi-object tracking and clustering.

All publications: Google Scholar · DBLP