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 several technical improvements. 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,
and enhanced model training processes for both detection probes and
fine tuned language models that simulate problematic behaviors. 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. My work on the finetuned models led to
successfully implementing conditional unsafe behavior and evading
detection probes in those models. 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.