Skip to content

AI / ML Engineer

Open to AI/ML roles in Germany and the EU

Ayush Tiwari

Portrait of Ayush Tiwari under cherry blossoms

About

I spent 2+ years at Collins Aerospace on computer vision and data science: video-quality checks for aircraft cameras, activity recognition in the cabin, and a model that predicted network failures before they happened. That's where I learned the difference between a model that scores well in a notebook and one that holds up on a noisy camera feed.

Now I'm finishing an MSc in Artificial Intelligence at BTU, with a thesis on parameter-efficient fine-tuning of vision transformers for driver monitoring. Most of my own work goes into LLM systems and agentic AI: RAG pipelines with hybrid retrieval and agents that use tools. I spend just as much time on honest evals, observability, and training runs you can reproduce.

I grew up in India and live in Germany now. Off the clock it's the gym, a good book, a few rounds of Counter-Strike 2, or a train to a corner of Europe I haven't seen yet.

Projects

Personal projects with public code. Each repository has the full write-up, and the results below come from it.

CS2 RAG Assistant

Answers questions about Counter-Strike 2 weapons, economy, maps, and rules from a curated knowledge base. It cites the passages it used and declines when they don't cover the question.

What I built

  • Hybrid retrieval: bge-m3 dense search in Qdrant and BM25 run side by side, merged with Reciprocal Rank Fusion.
  • A bge-reranker-v2-m3 cross-encoder re-scores the fused candidates before generation.
  • Qwen2.5-3B-Instruct answers only from the top passages with [n] citations. It runs as a FastAPI service with a Streamlit chat UI, packaged with Docker Compose.

Result

On a 38-question RAGAS set, scored offline with a local 3B judge: context precision 0.93, context recall 0.82, answer relevancy 0.87, faithfulness 0.75. The small judge could not score every question (context precision covers 15 of 38, faithfulness 19 of 38).

  • Python
  • Qdrant
  • BM25
  • Cross-encoder reranking
  • FastAPI
  • Streamlit
  • RAGAS
The assistant's chat UI with a cited answer about the AWP and its source passages

Keylume

The Epomaker TK68 could only be controlled through the maker's own app, with a fixed set of effects. I worked out its USB protocol by watching what that app sends, documented it, and built a replacement that runs fully on the PC with no account, cloud, or telemetry.

What I built

  • A Rust workspace of six crates: wire protocols and layouts, HID transport with the firmware's timing rules, a generated library of about 1,400 designs, live effects, and a CLI.
  • One device worker owns the keyboard. It merges requests, paces writes to the measured timings (about 1.1 s after a settings write, 1.5 s to commit to flash), and recovers a stalled channel.
  • Tauri 2 desktop shell with a React and TypeScript UI. Live effects follow music (FFT on system audio), the screen's colour, or CPU load. Design packs are signed with Ed25519.

Result

Released v1.0.0 for Windows and Linux, verified on a real TK68. More than 250 Rust and UI tests run on every push against a firmware simulator, so no keyboard is needed for CI.

  • Rust
  • Tauri 2
  • React
  • TypeScript
  • hidapi
  • Ed25519
Keylume's home screen with an Epomaker TK68 drawn in the colours it is lit with

Parameter-Efficient Fine-Tuning of a Small Language Model (LoRA)

Adapts a small decoder-only language model (SmolLM2-360M) to AG News topic classification with the backbone frozen. I built it to prepare for the PEFT side of my thesis.

What I built

  • LoRA written by hand on the attention q and v projections, with B zero-initialised so training starts from the pretrained model.
  • A linear probe and full fine-tuning as baselines under the same protocol, plus placement and rank ablations.
  • Hydra configs, offline Weights & Biases logging, and 3.2 MB checkpoints that hold only the LoRA weights and the head.

Result

93.7% top-1 on the full AG News test set while training 0.23% of the weights. Full fine-tuning reached 93.6% and a linear probe 90.1% (20K training examples, single RTX 4060).

  • PyTorch
  • LoRA
  • Hugging Face
  • Hydra
  • Weights & Biases

Parameter-Efficient Fine-Tuning of a Vision Transformer (LoRA)

Adapts an ImageNet-pretrained ViT-B/16 to Oxford-IIIT Pets breed classification with the backbone frozen. I built it to prepare for my thesis, which compares LoRA with other parameter-efficient methods on vision transformers.

What I built

  • Implemented LoRA myself for the fused qkv attention layer in timm's ViT-B/16, adapting only q and v.
  • Compared it with full fine-tuning and a linear probe under the same protocol, then swept the rank and which projections get adapters.
  • Hydra configs for Pets and Flowers-102, mixed precision, and a predict script that loads a 1.2 MB LoRA checkpoint.

Result

94.9% top-1 on the Oxford-IIIT Pets test split while training 0.38% of the weights, against 93.9% for full fine-tuning and 93.5% for a linear probe (same protocol, single RTX 4060).

  • PyTorch
  • timm
  • LoRA
  • Vision Transformer
  • Hydra

More projects

Grounded RAG: Ask-My-Docs with Cited Answers

Ask-my-docs RAG that checks every citation against the retrieved chunks and refuses when nothing supports an answer. It uses dense retrieval for now and has a RAGAS evaluation script with quality thresholds, but no published scores yet.

  • Python
  • Chroma
  • bge-small
  • RAGAS
  • Docker

PDF Summary Tool

Streamlit app that extracts text from an uploaded PDF, summarizes it with DeepSeek R1 through OpenRouter, and lets you download the summary.

  • Streamlit
  • PyPDF2
  • OpenRouter
  • DeepSeek R1

Real-Time Object Detection on Edge Devices with YOLOv4-Tiny

Real-time object detection for low-power edge devices: CPU-only YOLOv4-Tiny inference with an edge-profile FPS benchmark and COCO accuracy, framed against a Raspberry Pi 4B.

  • Python
  • OpenCV DNN
  • YOLOv4-Tiny
  • Docker

Experience

Collins Aerospace

Bengaluru, India

  1. Associate Engineer (Data Science)

    Oct 2021 – Jul 2022

    • Built a web-based Aircraft Connection Management System to test network connectivity across protocols.
    • Engineered an ML pipeline (ensemble + time-series) that predicted network failures with 92% recall and reduced downtime by 60%.
    • Shipped a Power BI dashboard that tracked aircraft connection status in real time.
  2. Graduate Engineer (Computer Vision)Spot Award

    Aug 2020 – Oct 2021

    • Worked on an aircraft cabin-monitoring system that analyzed passenger behavior: image enhancement, passenger detection, object tracking, and pose-based motion analysis.
    • Trained CNN activity-recognition models with pose estimation to classify passenger behavior against known in-flight scenarios.
    • Delivered automated alerts to the crew display, with sensitivity tuned to the phase of flight.
    • Reduced cabin-crew monitoring workload by 40% through automated alerts and incident-reporting workflows.
  3. Avionics Intern (Computer Vision)

    Feb 2020 – Jul 2020

    • Built a full-reference video-quality analyzer to detect defects in manufactured aircraft cameras.
    • Scored test footage against a reference video on 9 metrics across 4 parameters: RMSE, sharpness (variance of Laplacian and FFT), noise (SNR/PSNR), and color accuracy (ΔE94/ΔLUV).
    • Pinpointed video artifacts to specific areas of the frame using 6 overlapping regions of interest, in both real-time and batch modes.
    • Matched the Imatest industry benchmark at 97% correlation.
    • Integrated the full check suite into a Jenkins CI/CD pipeline (Python, OpenCV, NumPy, scikit-image), which replaced manual quality checks.

VVDN Technologies

Gurgaon, India

  1. Project Intern

    Jun 2019 – Jul 2019

    • Built the data layer (relational schema + CRUD APIs) for an Android student-information system.
    • Optimized queries with indexes and cut execution time by about 20%.

Skills

Education

M.Sc. Artificial Intelligence

CGPA: 2.3 (German scale, 1.0 best)

Thesis: Parameter-Efficient Adaptation of Facial Expression Recognition Models for Driver Monitoring.

Relevant coursework

Image Processing and Computer Vision, Explainable Machine Learning, Learning in Real and Virtual Humans, Virtual Reality and Agents, Cognitive Systems: Behavior Control, Introduction to Computational Neuroscience, Data Warehouse Technologies.

Manipal Institute of Technology (MIT), MAHE · Manipal, India

Jul 2016 – Nov 2020

B.Tech Computer & Communication Engineering

CGPA: 8.09 / 10 (Indian scale, 10 best)Minor · Big Data

Thesis: Method of Computing the Video Quality Using Full Reference Algorithms.

Relevant coursework

Data Structures, Algorithm Analysis and Design, Object Oriented Programming, Operating Systems, Database Systems, Parallel Programming, Data Mining and Predictive Analysis, Machine Learning with Big Data, Graph Analytics for Big Data, Social Network Analytics, Computer Vision.

Degree certificate

Delhi Public School (DPS) · Lucknow, India

Intermediate — Class XII (CBSE)

Percentage: 93.6%

Apr 2014 – May 2015

High School — Class X (CBSE)

CGPA: 10.0 / 10

Apr 2012 – May 2013

Volunteering

Sarvajanik Shikshonnayan Sansthan (SSS) · Hardoi, India

May 2018 – Jun 2018

Volunteer Teacher

Taught English and Computers to underprivileged children and ran workshops on the value of education.

Have an AI/ML role in mind? Let's talk.

I'm looking for AI/ML engineering roles in Germany and across the EU. Send me an email or a message on LinkedIn.