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
- Benjamin.Etheredge@gmail.com
- Website
- https://benjamin.etheredge.ai
- 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:
- Machine Learning
- Keywords:
- Reinforcement Learning
- Keywords:
- Python Libraries
- Keywords:
- Software Development Tools
- Keywords:
- Miscellaneous
- Keywords:
Interests
- Computer Hardware
- Keywords:
- Gaming
- Keywords:
- Ping Pong
- Keywords: