Echo
Nolan
Machine Learning Engineer
Links online at echonolan.net/resume/cv.html or via QR code
Professional Experience
- December 2024 - March 2025
-
AI Safety Research Engineer (3 month contract).
Redwood Research. Contributed to white box monitoring for AI
control through synthetic data generation and advanced LLM finetuning.
Engineered and optimized data generation pipelines for synthetic
unsafe-behavior datasets, identifying and resolving performance
bottlenecks that enabled more efficient generation of our ~11k
examples. Refined prompt engineering techniques to significantly
improve filtering accuracy. Finetuned LLMs to conditionally perform
unsafe behavior and evade probes trained to detect it.The dataset
improvements I delivered supported the team’s research on probe
generalization and robustness to adversarial examples as well as the
research of external teams. Python, PyTorch, Hugging Face Transformers
and Accelerate, and DeepSpeed.
- January 2020 - December 2024
-
Sabbatical. Following the successful launch of the
cryptocurrency I worked on at O(1) - Mina.
- December 2018 - January 2020
-
Protocol Engineer. O(1) Labs. Helped build a
new cryptocurrency. Worked primarily on security issues, performance
and peer to peer networking. Achievements include: designed and
implemented the trust system for DDoS mitigation. Rebuilt the
transaction pool for efficiency and resiliency. Made the ledger Merkle
synchronization process more efficient and secure. OCaml.
- July 2017 - November 2018
-
Software Engineer. Signal Vine Inc.. Worked
on the backend of a two-way text messaging platform in the education
technology space. Achievements include: Added support for new upstream
providers, allowing the company to serve clients in foreign countries
and saving the company ~33% on messaging and phone number costs.
Improved SQL query performance by 40x in some cases, making users
happy and enabling further growth. Haskell, Scala, PostgreSQL and
MySQL.
Open Source Projects
- May 2023 - Ongoing
-
txt2img-unsupervised.
Personal research project building a text-to-image model without
directly using any labeled image data. Relies entirely on CLIP for the
association between text and images. Results so far are promising. A
blog post about the project is here.
Developed the initial concept, gathered a 35M image dataset (blog post),
ported a PyTorch VQGAN implementation to JAX, built an efficient
preprocessing pipeline, trained baseline models, designed and
implemented experimental models, optimized hyperparameters, designed
and implemented a system for efficient sampling from the subset of a
discrete set of unit vectors that are contained within a spherical
cap. Built a little gallery SPA to showcase the dataset. Model is a
transformer based deep neural net. Code mostly in Python, using JAX
and Flax.
- January 2024 - February 2024
-
Infinidata. A
Python library for working with arbitrarily large datasets, created to
support the spherical cap sampling system for txt2img-unsupervised.
Written in Rust. Supports shuffling, arbitrary permutations, slices,
concatenation, and more.
- October 2016 - June 2017
-
Beescheduler. A single page web application to
schedule goals using the goal tracking service Beeminder’s API.
Personal project. Frontend using React, backend using Node.js and the
Serverless Framework. Unofficially sunsetted as of 2024.
- Various
-
A webapp allowing users to rank software, written to empirically
research the effects of programming language choices. An implementation
of the ADEL algorithm for finding minimal subsets of a given input
satisfying an arbitrary upwards-closed property. CLI script to forward
ports using the Private Internet Access VPN service. A mostly-complete
BitTorrent client, Whiteout.
Open Source Contributions
- June 2014 - October 2016
-
Idris. A
programming language with dependent types, implemented in Haskell. Many
contributions including improvements to the dynamic linker,
parser, build system, terminal support, continuous integration and
documentation. Wrote bug reports and reduced others, helped people on
mailing lists and Stack Overflow.
- March 2016 - June 2016
-
GHC
Libraries. The built-in libraries for the flagship
Haskell compiler. Fixed an especially hairy bug in the Windows
networking functionality. The build tool Stack would hang
intermittently when downloading dependencies. Traced it down to
http-conduit, then to base. Submitted a patch to GHC which
was merged May 19 2016. Submitted a workaround patch to the network
library. Wrote a workaround
patch to the network library. Wrote a blog post
describing the process.
- Various
-
Support for
using the Web3 Ethereum API in the browser, in Rust. Small changes
to Cabal, Stack, the Selenium Docker images, Haskell’s network
library, the NixOS packages, serverless-offline and
serverless-simulate. Other miscellaneous work.