Project: Sidekick, a free ChatGPT app for macOS
Developed in Swift, Sidekick makes ChatGPT feel like it is built into macOS. The app stays idle in the background until invoked by a keyboard shortcut, then appears front and center when you need it. It is super fast and feels smoother and more convenient than using the ChatGPT web interface.
Blog post: Self-Supervised Learning of Image Representations With VICReg
Self-supervised learning is the tool of the trade in NLP but remains an open problem in computer vision. This post explores VICReg, a recent proposal for non-contrastive SSL in the vision domain. My implementation can be found here.
Project: searchthearXiv, a semantic search engine for ML papers
I built a semantic search engine enabling students and researchers to search more than 250,000 ML papers using natural language. The system is powered by an embedding model and a Pinecone vector index, and is updated weekly to include all of the latest papers. The code is open source.
Blog post: Transformer-XL, a Memory-Augmented Transformer
A deep-dive into the architecture of the Transformer-XL model and how its hidden state memory and relative positional encodings enable a wider context length and faster autoregressive inference. My implementation can be found here.
Blog post: Proportional Reward Sampling With GFlowNets
I covered a recently proposed method of sampling discrete objects, such as molecules or causal graphs in proportion to a given reward or energy function. My implementation can be found here.
Thesis: Learning Neural Causal Models With Adversarial Training
Causal reasoning is integral to human cognition. My thesis from the IT University of Copenhagen proposed a novel method of score-based causal discovery based on adversarial training.