Nebiyou Hailemariam Projects

Open Source

I work on machine learning projects, natural language processing, and open-source contributions. I enjoy building tools and exploring different areas of AI, particularly, graph machine learning and deep learning.

The projects here include building autograd engines, contributing to recommender systems, and working on NLP research for low-resource languages.

If you find something interesting or want to collaborate, let me know!

NebTorch — Minimal Autograd Engine

NumPy
Autograd
Deep Learning
PyTorch

NebTorch is a minimal Autograd engine built from scratch using NumPy, inspired by PyTorch's automatic differentiation system. After completing and serving as a TA for 11-785: Introduction to Deep Learning at CMU taught by Prof. Bhiksha Raj, I was inspired to build my own Autograd engine from scratch. Building NebTorch has been very rewarding—I've solidified my understanding of Deep Learning and Automatic Differentiation, and gained appreciation for frameworks such as PyTorch and TensorFlow.

GitHub Repository

DeepResearch-LangGraph — Multi-Agent Research System

LangGraph
LangChain
Multi-Agent
Fan-in/out
Parallel Execution
Python

DeepResearch-LangGraph is a multi-agent research system built using LangGraph, designed to enable deep, autonomous research capabilities through multi-agent AI. The system leverages LangGraph's stateful architecture with PostgreSQL checkpoints to orchestrate complex research workflows, allowing multiple specialized agents to work together on research tasks, information gathering, and synthesis.

GitHub Repository

DeepSeek-Mini — DeepSeek Model Components Implementation

PyTorch
Mixture of Experts
Multi-head Latent Attention
RoPE
Deep Learning

DeepSeek-Mini is an implementation of DeepSeek's major novel components for learning and experimentation purposes. This repository includes implementations of Mixture of Experts (MOE) with shared expert networks, Multi-head Latent Attention (MLA) mechanism for optimized inference with KV-caching, and Rotary Positional Encoding (RoPE). Building these components from scratch has solidified my understanding of MLA kv-caching and MOE model architecture, which helps reduce inference latency in transformer models.

GitHub Repository

Gorse Recommender System — .NET Library Enhancement

C#
.NET
Recommender Systems
Open Source

Contributed to the Gorse recommender system, an open-source machine learning recommendation engine written in Go. Enhanced the .NET library for Gorse, improving the machine learning ecosystem and making the recommender system more accessible to .NET developers. This contribution demonstrates my commitment to open source development and my ability to work across different programming languages and frameworks.

GitHub Repository

XLM-R Based Extractive Amharic QA with AmaSQuAD

NLP
XLM-R
PyTorch
Hugging Face

Completed my thesis project at Carnegie Mellon University in multilingual question-answering research (NLP). Developed a novel framework for translating the SQuAD 2.0 dataset into Amharic, resulting in the creation of an open-source dataset called AmaSQuAD. Implemented a translation-based data generation framework valuable for extractive Question Answering (QA) systems, contributing to the advancement of NLP for low-resource languages. Leveraged XLM-R, a pre-trained language model, and fine-tuned it specifically for Amharic QA tasks, achieving 7% F1 improvements in baseline performance. The dataset is publicly available on Hugging Face.

arXiv Paper · Dataset

Machine Learning Based Rain Gauge Using Acoustic Data

CNN
PyTorch
Audio Processing
Regression

Addressed the challenges of conventional weather stations such as high setup costs, instrument fragility, and measurement errors by exploring alternative sound sources for making rainfall predictions. Used a Convolutional Neural Network (CNN) regression model using PyTorch and TensorFlow to estimate rainfall intensities from MFCCs extracted from acoustic recordings. Employed CNN model and achieved a Mean Absolute Percentage Error (MAPE) of 35.20% and a Mean Squared Error (MSE) of 0.66, outperforming a baseline SVR model with 152.55% MAPE and 1.73 MSE.

IEEE Paper