Stephan Kostov

I'm an engineer building a robust foundation in Machine Learning.



Skills
ML Architectures and Training
The main aim of my studies has been to to build a robust foundation of knowledge of ML models, from the maths behind them to their implementation and training in PyTorch. This has been an ever-evolving process, starting starting from statistic and probabilistic foundations in my MSc towards self-studied courses/papers on Deep Learning specifics.
ML Application Building
With my combination of Software Engineering principles and Machine Learning foundations I have developed a number of ML applications. Most noteably, an end-to-end cooking recipe generation project using data of foods' molecular compositions, as well as my main project as a Software Engineer at Sky: the development of an assistant Slack chatbot application which served as a core automation fascilitation for the DevOps support department.
Data Engineering
Through building real-world ML applications I have come to appreciate the importance of Data Engineering. The bulk work of my Recipe Generator project was building the dataset behind it, which involved creating a fuzzy matching library to link 3 datasets together, and the distributed data processing & feature engineering that came along with this. On top of that I have had a taste of building ETL pipelines through a practice project pulling data from BigQuery using Apache Beam.
Production Deployments
From my 1.5 years DevOps Engineering experience at Sky I gained an extensive overview of how software services are deployed by being responsible for the infrastructure around it. Specifically here I was working closely with our on-premise servers integrated with Kubernetes, creating automated deployment pipelines, and managing infrastructure tools around these such as Apache Kafka, ElasticSearch, Prometheus, and Grafana.
Data Visualisation
I have various skills in communicating ideas through data visualisation by various experiences. Most noteably practiced through my MSc in Data Analytics (R and matplotlib), as well as during my work as a DevOps engineer creating real-time server metric dashboards in Grafana.

ML Projects
Molecular Compound Cooking Recipe Generator
A fun end-to-end ML application to put my full skillset to the test.

Highlights

  • Design of multi-model pipeline to solve the generation problem.
  • Multiple transformer architecture implementations in PyTorch including custom vectorisors, loss functions, pooling layers, and samplers.
  • Creation of dataset fuzzy matching framework to join datasets by stirng names including evaluation tests.
  • Data Engineering to wrangle three messy datasets in Pandas, involving creating distributed parallelised pipelines with Dask, and Feature Engineering.

See Demo

Podcast Transcriber
A practical ML application to help with my notetaking. Here I was able to get hands-on experience with developing apps using open-source models.
Predicting Astrophysical Properties of Stars
My first taste of predictive modelling through my MSc thesis. This involved selecting features, and training traditional statistical regression as well as Machine Learning models.
London Bike Hire ETL
A quick Data Engineering project creating an ETL pipeline to gather data and process data from Google BigQuery.
Optimising Spaceflight Trajectories
My first hands on experience with programming in my Mechanical Engineeirng batchelor's final year dissertation topic. Here I chose to study optimisation algorithms (including gradient descent) to solve the task of finding optimal trajectory hyperparameters for spaceflight missions (using MATLAB).

Experience
2024 -
Now with a robust foundation of knowledge both Software Engineering and Machine Learning I am wholeheartedly committed towards joining a team.
2023-2024
I have been fortunate to have the opportunity to take a sobatical leave from work, to travel, and since settling down to learn all that I can about ML.
2021-2023
As a consultant I began to work as a DevOps Engineer at Sky. I was involved in a wide range of projects around the company's software deployment infrastructure. On top of this, I also led a project of the development of an assistant Slack chatbot application in Javascript, to serve as a core automation platform for the DevOps support department.
2021-2021
Continuing my delve into the IT world, I undertook a full-stack web development training course with FDM to become a Software Development Consultant.
2019-2020
To persue my interests in Data and IT, I underwent an MSc in Data Analytics at the University of Glasgow where I learned the foundations of Statistics, Probability, and Computer Science.
2019-2019
An exciting international internship exchange where I worked with a aeronautical engineering research team at Hong Kong Polytechnic University to computationally model their physical wind-tunnel research experiments.
2015-2019
My undergraduate degree was an BEng in Mechanical Engineering at the University of Strathclyde where I developed my core foundation of problem solving skills. It was here that I was found my inclination to computation and programming, mainly through my final year dissertation in Optimising Space Flight Trajectories (using MATLAB).

Reading List
My introduction to implementing and training state of the art (at the time) Machine Learning models architectures through the creation of a generalised Python training library, designed by a master ML tinkerer Jeremy Howard.
A ground-up approach to implenting Machine Learning models from their core with the objective of training a Diffusion Image Generation model. This was done through gradually building up to PyTorch modules starting from nothing but the Python standard library, and adding them only once they had been implemented with the foundations prior.
An in-depth explanation of the core of data aggregation, and visualisation in Pandas by the founder himself.
A modern overview of building Machine Learning systems from Data Engineering to Model selection, training, and deployment.
A refresher of the maths behind ML in order to better follow most recent research.