Benjamin D. Etheredge

Benjamin D. Etheredge

Machine Learning Engineer

I see myself as a Machine Learning Engineer with a passion for all things computing. I love working on random projects, building my own systems, hosting my own services, and learning new things. This resume page is a work in progress and is meant to serve as “Master Copy” of all my resume items. For a 1 page highlight resume, click the PDF button below.

Location
Huntsville, Alabama, United States
Email
Website
https://benjamin.etheredge.ai
LinkedIn
Benjamin-Etheredge
GitHub
Benjamin-Etheredge
Weights & Biases
benjamin-etheredge
Docker Hub
etheredgeb

Experience

present

Senior Software Engineer at Trideum Corporation

Huntsville, AL

Highlights

  • Implementing and integrating software systems developed by University teams.
  • Providing insight and guidance on AI/ML for various teams and projects.
  • Developing anomaly detection for networking tools.
  • Developing and deploying ML models for various projects.

Research Engineer at Auburn University / Davidson Technologies

Huntsville, AL

Highlights

  • Worked with domain experts to explore applicability of ML to various domains.
  • Researched, selected, and deployed relevant MLOps tools to fit team and customer needs.
  • Provided insight and guidance on AI/ML for various teams and projects.

AI/ML Software Engineer at Modern Technology Solutions, Inc.

Huntsville, AL

Highlights

  • Provided Army customer with information and updates on emerging AI/ML technologies
  • Researched applications and concerns of AI in the domain of airworthiness

Software Engineer I/II at Raytheon Technologies (Formally Raytheon)

Huntsville, AL

Highlights

  • Developed multiple new features for a battle command system using C++, test-driven development, and scrum
  • Served as the team's code base expert at the test range for the integration testing of the battle command system
  • Led independent research and development effort into applications of ML to specific compression application
  • Led effort to optimize a CUDA application resulting in a 6x speedup over previous version.

Software Developer at IPWatch

Florence, AL

Worked and managed various intellectual property based projects using Python, MySQL, HTML, CSS, JavaScript, and PHP

Volunteer

present

Organizer at HSV-AI

Helping organize and lead weekly, local AI/ML interest group.

Highlights

  • Frequently presenting topics and projects at meetups.
  • Helping organize competitions and events.
  • Mentoring high school and college teams in local coding competitions.

present

Mentor at UNA CS Alumni

Serving as a mentor for UNA CS students.

Highlights

  • Ran a interview prep workshop for UNA CS students (upcoming February 2022).

Local Organizer at Remote NeurIPS Meetup 2021

Partnered with NeurIPS to organize a remote meetup for NeurIPS 2021.

Highlights

  • Hosted a presentation from a Auburn University PhD student on his NeurIPS poster session.

Contributor at PyTorchLightning

Contributed Minor Fixes to PyTorch Lightning

Highlights

  • Contributed 2 characters to the development of PyTorch Lightning to fix epsilon greedy exploration in Deep-Q code.
  • Fixed typo in documentation of backbone unfreezing.

Mentor at 2019 HudsonAlpha's Tech Challenge

Served as a mentor on software for the HudsonAlpha’s Tech Challenge

Highlights

    Mentor at 2021 HudsonAlpha's Tech Challenge

    Served as a mentor on software for the HudsonAlpha’s Tech Challenge.

    Highlights

    • Served as discord mentor to answer questions on software development and ML model usage.
    • Ran a live workshop for creating a simple ML model using scikit-learn.

    Local Organizer at Remote NeurIPS Meetup 2019

    Partnered with NeurIPS to organize a remote meetup for NeurIPS 2019

    Highlights

    • Partnered with local venue for a physical presence.

    Competitor at 2019 SpaceApps Challenge

    Led a small team in learning about data processing and building a simple application

    Highlights

      Presenter at Research Presentation at AIAA Next Gen Technical Symposium 2019

      Presented a 30 minute talk on the problems and issues that ML faces.

      Highlights

      • Got to practice my presentation skills.
      • Met more local people in the AI/ML field.

      Secretary/Treasurer at UNA ACM

      Assisted in the organization of various ACM meetings and events

      Highlights

        Competitor at 2016 International Collegiate Programming Competition (ICPC)

        Competed in the ICPC with 2 fellow students

        Highlights

          Mentor at Hour of Code

          Helped plan, organize, and run Hour of Code for the Florence, AL Area

          Highlights

          • Got to introduce coding to local kids

          Mentor at Google Summer of Code

          Helped plan, organize, and run Summer of Code for the Florence, AL Area

          Highlights

          • Got to introduce coding to local kids
          • Got to learn and teach about arduinos
          • Got a cool pair of sunglasses

          Competitor at 2014 International Collegiate Programming Competition (ICPC)

          Competed in the ICPC with 2 fellow students

          Highlights

          • Got humbled.
          • Forgot how the mod operation worked.
          • Hooked my fiance.

          Education

          Masters in Computer Science with focus in Machine Learning from Georgia Institute of Technology

          Courses

          • CS 6515: Intro to Graduate Algorithms
          • CS 6457: Video Game Design
          • CS 6601: Artificial Intelligence
          • CS 6603: AI, Ethics, and Society
          • CS 7638: Artificial Intelligence for Robotics
          • CS 7641: Machine Learning
          • CS 7642: Reinforcement Learning
          • CS 7643: Deep Learning
          • CSE 6220: Intro to High-Performance Computing
          • CSE 6242: Data and Visual Analytics

          Bachelor in Computer Science from University of North Alabama

          Projects

          present

          Homelab

          Building and maintaining a homelab for various projects and uses.

          Highlights

          • Custom built multiple computers for homelab use.
          • Using Unraid as JBOD storage, NFS file sharing, and service hosting.
          • Built and used a virtual windows instance as daily driver for personal use and gaming.
          • Using NGINX container for reverse-proxy for certain services with login protection.
          • Using LetsEncrypt for SSL certificate management of web accessible services.
          • Hosing VPN proxy container for any devices on network to be able to route traffic through VPN if desired.
          • Hosting Nextcloud container as personal cloud file sharing service.
          • Using CloudBerry container to automatically backup local data to Backblaze B2.
          • Hosting TeamSpeak 3 server for friends to use.
          • Hosting multiple Minecraft server containers for friends to use.
          • Hosting multiple Valhiem server containers for friends to use.
          • Hosting LanCache container for local caching of game downloads and other files.
          • Hosting PiHole for local DNS, DNS tracking, and DNS limiting.
          • Hosting local speed test container for testing local network speeds.
          • Hosting Vaultwarden service for exploring self-hosted credential management.
          • Hosting local docker registry container.
          • Hosting PyPi caching registry.

          Hateful Memes Classification Project

          Developed Hateful Memes classification project for CS 7643: Deep Learning that exceeded the first published baseline.

          Highlights

          • Worked with a team with diverse skills.
          • Developed an ensemble model leveraging pre-trained LSTMs, ResNets, ViTs, etc.
          • Developed automated training through git commits/pushes.
          • Lead team MLOps/DevOps/GitOps efforts.
          • Taught team to use centralized logging for training through Weights & Bias.
          • Taught team to build and use a reproducible training pipeline.
          • Taught team to track intermediate results for reproducibility.
          • Used my personal homelab for artifact tracking and main model training through GitOps.
          • Achieved an testing AUROC score of 0.7396 (initial baseline was 0.7141 but SOTA was 0.8450).
          • Humbled by how hard state-of-the-art custom implementations are to replicate.
          • Final results: https://wandb.ai/meme-team/super_model/runs/1jem9xig

          NeurIPS 2021 AWS DeepRacer AI Driving Olympics Challenge

          Placed 6th and 11th in NeurIPS 2021 AIcrowd hosted DeepRacer Challenge

          Highlights

          • Placed 6th in Round 1 (Sim).
          • Placed 11th in Round 2 (Real).
          • Lead HSV-AI (local AI interest group) team in AIcrowd challenge.
          • Taught other members of HSV-AI about RL.
          • Got to play with Sim2Real stuff.
          • Built agent with Stable Baselines 3.
          • Learned about using stereoscopic video.

          present

          Project Gloves

          Experimented with Siamese Networks and Various MLOps tools using the Oxford Pet Dataset.

          Highlights

          • Built pipeline for data retrieval, cleaning, processing, splitting, model training, and model evaluation.
          • Built containerized versions of all pipeline stages.
          • Built DVC pipeline for training.
          • Built MLFlow pipeline for training.
          • Added MLFlow logging for training.
          • Added MLFlow model versioning.

          Unnammed NLP Application

          Worked a NASA contract for a local small business to develop an NLP application.

          Highlights

          • Implemented a full-stack ML application for NLP.
          • Developed automated model training, evaluation, and deployment.
          • Developed containerized deployment pipeline.
          • Got to play around more with Pytorch.
          • Got to learn the Hugging Face library.

          present

          Pokemon Battler

          Built and trained a model to battle in singles Pokemon matches

          Highlights

          • Built basic RL agent and networks to operate on a gym-like Pokemon environment.
          • Helped extend third-party Pokemon battling gym interface.
          • Learned Stable baselines 3
          • Got first taste of multi-agent RL.
          • Learned how to hack in multi-agent RL to a gym environment.

          present

          Pokegen

          Built and trained a model for generated Pokemon (badly)

          Highlights

          • Built multiple variants of autoencoders for generative purposes.
          • Experimented with pre-built GANs.
          • Built first full project using PyTorch.
          • Tested out using Github Actions for a CI/CD pipeline with ML.
          • Leverage Iterative's DVC and CML to automatically train and post results on Github.
          • Learned how hard it is to overcome data limitations.
          • Leveraged multiple "tricks" to attempt to get GANs to work on limited data.

          MLP-Mixer Keras Implementation

          Published one of the first implementations of MLP-Mixer in Keras in a python package.

          Highlights

          • Learned about MLP-Mixer.
          • Learned about publishing a python package.

          Neural Search

          Built neural search engine for NASA documents for SpaceApps 2022 challenge

          Highlights

          • Built a working app to hackathon spec.
          • Learned SBERT and sentence-transformers library.
          • Learned about semantic search.

          TreMap

          Built Streamlit visualization app for plant pressings over the course of 36 hours

          Highlights

          • Built a working app to hackathon spec.
          • Got more comfortable with Streamlit.
          • Learned about pressings data and iNat dataset.
          • Repo: https://github.com/Etheredge-Works/tremap

          Crash Corpse Video Game

          Developed complete video game over entire semester for CS 6457: Video Game Design

          Highlights

          • Worked with a team of diverse skills.
          • Learned a lot about game development.
          • Developed a complete game.

          Air Vibrations

          Developed speech transcription system using Huggingface pipelines and Gradio.

          Highlights

          • Learned more about hugging face pipelines
          • Learned more about Gradio interfaces.

          COVID-19 Data Analysis and Visualization Across Counties and Politics

          Built data analysis project for visualizing the impact of COVID-19 across county lines and political learnings for CSE 6242: Data and Visual Analytics.

          Highlights

          • Built a containerized environment for team to develop in.
          • Built scripts for recreating all analysis and model training in a container environment for easy reproduction for team and TAs.

          Deep-Q for Atari

          Implemented variants of Deep-Q in Tensorflow/Keras that solve Atari games.

          Highlights

          • Built efficient memory buffer for storing experiences.
          • Built gray scale image preprocessing.
          • Built Double DQN.
          • Built Dueling DQN.

          Deep-Q for Lunar Lander

          Implemented basic Deep-Q in Tensorflow/Keras to solve basic Lunar Lander problem in OpenAI Gym for CS 7642: Reinforcement Learning.

          Highlights

          • Got first taste of Deep RL
          • Got first taste of the problems in Deep RL

          PCP Problem

          Exploring efficiently solving various post correspondence problems

          Highlights

          • Explored new (or at least new to me) C++ language features
          • Explored ways to organize C++ in more readable ways
          • Explored making C++ go faster.

          Awards

          Secret Security Clearance from U.S. Department of Defense

          Languages

          English
          Fluency: Native speaker

          Skills

          Programming Languages (ordered by proficiency)
          Keywords:
          • Python
          • C++
          • C
          • Java
          • C#
          • JavaScript
          • Perl
          Machine Learning
          Keywords:
          • Supervised Learning
          • Unsupervised Learning
          • SVM
          • Decision Trees
          • Forest Based Methods
          • Linear Regression
          • Logistic Regression
          • Representation Learning
          Reinforcement Learning
          Keywords:
          • Deep-Q Learning (DQN)
          • Deep-Q Variants
          • Proximal Policy Optimization (PPO)
          Python Libraries
          Keywords:
          • PyTorch
          • PyTorchLightning
          • Tensorflow
          • Keras
          • WandB
          • MLFlow
          • pandas
          • numpy
          • matplotlib
          • scipy
          • sklearn
          • scikit-learn
          • kedro
          • tensorflow-addons
          • tensorflow-datasets
          • jupyter
          • jupyterlab
          • hyperopt
          • OpenAI Gym
          • OpenAI Baselines
          • baselines3
          • streamlit
          • tensorboard
          • DVC
          • Optuna
          Software Development Tools
          Keywords:
          • Vim
          • tcsh/bash
          • Git
          • Docker
          • Docker Compose
          • VSCode
          • Jupyter
          • JupyterLab
          • PyCharm
          • Unix tools
          • Linux
          • GNU Make
          Miscellaneous
          Keywords:
          • CUDA
          • Assembly

          Interests

          Computer Hardware
          Keywords:
          • Homelab
          • Personal Rig
          Gaming
          Keywords:
          • PC Gaming
          • Console Gaming
          Ping Pong
          Keywords: