Hello

I'm Naums Mogers

a PhD student in AI

Download CV

I am a first year PhD student in the CDT Pervasive Parallelism at the University of Edinburgh. My PhD is supervised by Dr Christophe Dubach and co-supervised by Dr Michel Steuwer; I am a member of the Lift research group.

The goal of my project is to bring performance portability to deep neural networks (NN). The approach is three-fold: abstracting NN implementation from hardware by expressing NNs in a functional language Lift, encoding generic and NN-specific optimisations as rewrite rules and producing corresponding OpenCL kernels. This methodology removes the need for expensive manual tuning of NN implementations to target hardware, and allows compiling NNs for a wide range of OpenCL-supporting GPUs and CPUs. High performance is delivered using such optimisational methods as memory access coalescing, parallel mappings space exploration, faster memory types exploitation, neuron pruning, approximate computations using weight quantisation and convolutional kernel singular-value decomposition. For more information, see my research poster and project page.

Bio highlights

6

Internships

4

Awards

3

Scholarships

1

Publication

8

Courses tought

36000

Words written

Across three dissertations

Education

2017 – 2020

PhD in Optimising Compilation of Machine Learning Models for Heterogeneous Hardware

University of Edinburgh

2016 – 2017

Master of Science by Research in Pervasive Parallelism

University of Edinburgh

Dissertation title: ‘Computational Efficiency Optimisation Of Convolutional Neural Networks Using A Functional Data-Parallel Language‘.
2015 – 2016

Master of Science in Artificial Intelligence

University of Edinburgh

Dissertation title: ‘Expressing Artificial Neural Networks In A Functional Data-parallel Language For GPU Acceleration’. The curriculum included courses in Machine Learning, Computational Cognitive Science, Computational Cognitive Neuroscience, Sensorimotor Control in Robotics and Theories of Mind.
2011 – 2015

Bachelor of Engineering in Computer Science (with a year in industry)

University of York

Dissertation title: ‘Memory In Simulated Swarms’ (First-class honours). Project topics: neural networks, swarm intelligence and GPU-accelerated computing.
2005 – 2011

Programming Courses

Progmeistars Programming School

OOP, SQL, Algorithms, Calculation methods, Logo, Object Pascal, Delphi and C++.

Awards and achievements

Google Inside Look Participant

August 2017, Google London

Selected by Google for their exclusive Inside Look Program, offering top Technical students a fully sponsored two day program of tech talks, workshops, and other technical development content. Awarded to only 31 students out of thousands of applicants from Europe, Middle East and Africa.

Google PhD Summit Participant

December 2017, Google Munich

Selected by Google to join the Compiler and Programming Language Summit 2017, where I presented a poster on my research project. Participated in the Round Tables where Google engineers shared highlights of Google’s latest research in the area of programming language implementation and how this research is applied to compilers and language tooling at Google.

Best poster

March 2016, National Student Research Conference

My poster about the YCCSA summer research project “The Sensor Organism” won the contest for the best poster at the National Student Research Conference 2016.

Poster (PDF) Project blog

IBM and Swiss Re first prize and the hackathon finalist

September 2016, HackZurich

My team won in the IBM & Swiss Re challenge against 20 teams in the largest European hackathon HackZurich. Additionally, we became one of 25 finalists out of 152 teams in the main hackathon challenge. We developed a Machine Learning app for risk prediction using home IoT sensors and IBM analytic technologies.

YouTube Demo

Best Poster

October 2015, York Doctoral Symposium

This award was obtained on the 8th York Doctoral Symposium 2015 for the poster on the YCCSA summer research project “The Sensor Organism”.

Poster (PDF) Project blog

York Award

July 2015, the University of York

The York Award is a programme of personal and skills development offered by the University of York in partnership with leading public, private and voluntary sector organisations. The York Award certificate is awarded alongside the degree in recognition of achievement of a significant programme of activity and, in particular, the adoption of an analytical and reflective approach to learning and competence in a broad range of skills.

Work Experience

Aug 2018 — Oct 2018

Research intern

Microsoft Research Cambridge

I worked on the project BrainWave, extending the functional data-parallel Lift compiler to a specialized machine learning accelerator. This work included extensive changes to all parts of the compilation chain including type checking, memory management, rewriting and code generation.

2006 - 2018

Teaching Assistant

Engaged in teaching in weekend school and university courses. Co-wrote two four-day courses on artificial intelligence; prepared, maintained and marked courseworks and exams; conducted tutorials in software testing, microcontroller programming and statistics.

Sep 2016 – Jun 2017

News Annotator

Thomson Reuters

As a part of a research project in natural language processing at Thomson Reuters R&D department, I annotated news articles with semantic tokens that aid automatic learning for a machine learning system.

Jul 2015 – Sep 2015

Research Intern

York Centre for Complex Systems Analysis

As a holder of the Summer Research Scholarship, I worked on an interdisciplinary research project called “The Sensor Organism”. I designed a biologically inspired cellular model on a Wireless Sensor Network of Arduinos, capturing such biological properties as adaptivity, self-organization and fault-tolerance. Research topics covered include Artificial Epigenetic Regulatory Networks, Genetic Programming and Cell Signalling. Upon completion of the programme, I won two Best Poster awards for the project poster and was published in conference proceedings.

Feb 2014 – May 2014

Hardware Lab Demonstrator

University of York

During the prospective undergraduates’ interview days, I worked as a student guide and a hardware lab demonstrator, which required explaining technical terms in a simple and engaging manner, as well as representing my department in a positive way.

Jul 2013 – Jul 2014

Engineering Intern

Sophos

I worked in the Core Products department, where my responsibilities included antivirus engine development in C/C++/Python, manual and automated testing, code reviews, debugging, documentation maintenance and software release preparation. The team employed Agile Development extensively, involving a great deal of teamwork including pair programming and daily planning meetings.

Jul 2012 – Sep 2012

IT and Digital Summer Intern

EDF Energy

As a member of EDF R&D department, I worked on OCR software development in C++ and IT market research. I was also responsible for preparing interactive Virtual Reality attraction for EDF sponsor hub in London Olympics 2012 park, which included a lot of IT support.

Feb 2012 – Aug 2012

Web Designer Intern

Stockholm Environment Institute York

During this part-time internship, I worked with the client on specifying requirements for the new
website design and after a series of Adobe Photoshop mock-ups, I delivered a design project, which was approved by the client.

Jun 2009 – Dec 2014

System Administrator / Software Developer

M2 Ltd

Part-time during the academic year, full-time during summers except for 2012, I developed and maintained accounting software (first versions in PHP, later in Visual Basic) and provided extensive IT support such as maintaining and upgrading computers and advising on IT strategy. During the summer of 2014, I migrated and upgraded whole company's emails and file shares to the new providers (Rackspace Email, Google Drive).

Scholarships

CDT Pervasive Parallelism

2016 – 2020, University of Edinburgh

Four-year scholarship sponsored by the Engineering and Physical Sciences Research Council.

Summer Research Scholarship

2015, York Centre for Complex Systems Analysis

Biologically inspired electronics project focused on building a Wireless Sensor Network system based on a model of a multicellular organism. The programme included participation in conferences and workshops on research skills. In the course of the programme, I maintained a 5,000 words-long research blog.

Raspberry Pi project funding

2014, University of York

I responded to a competitive call for proposals and acquired funding to design and develop a Raspberry Pi-related project that helps promote technology in schools. The project included microcontroller programming in Python and Scratch, electric circuit design and use of actuators. I conducted a Raspberry Pi workshop for schoolteachers and participated in technology exhibition.

YouTube Demo

Publications

  • Mogers, Naums, Dimitris Lagos, and Martin Albrecht Trefzer. “The Sensor OrganismYork Doctoral Symposium. York, 2015.

Teaching

2008 – 2016

Tutor / Teaching Assistant

Machine Learning, Facultative School For Talented Children

I assisted in teaching during the academic year and worked as a counsellor in five yearly summer camps. I wrote two courses from scratch on Neural Networks and Decision Trees, which involved preparing lectures and interactive courseworks; the challenge was to explain university-level materials to 8-9-grade students.

2017

Tutor

Software Testing, University of Edinburgh

I tutored in a series of "Software Testing" course tutorials for third year UG students. The position required me to expand on the lecture material using practical examples, walk students through a set of exercises and answer questions.

2016 – 2018

Teaching Assistant / Marker

Algorithms, Data Structures And Learning, University of Edinburgh

For two years in a row, my responsibilities include preparing assessed coursework materials, developing an automarker, providing support to students and marking pen & paper and programming assignments.

2017

Workshop tutor

Raspberry Pi workshop, Microsoft Student Partners

Co-organised two Microsoft-funded Raspberry Pi workshops for undergraduate and postgraduate students in Engineering and Informatics. Over two six hour-long workshops we introduced students to Windows IoT core, the cross-platform Visual Studio Code and the IoT dashboard. Apart from helping out with the Windows IoT tutorial, my personal contribution was the Raspberry Pi's Linux tutorial, which included a half-hour lecture with demos and a tutorial on setting up and programming on Raspbian.

2017 – 2018

Teaching Assistant

Object-Oriented Programming, University of Edinburgh

The role includes preparing exam papers for assessing OOP in Java, developing an automarker and
providing feedback to students via a forum.

2017

Marker

Introductory Applied Machine Learning, University of Edinburgh

The responsibilities include marking two machine learning-related programming assignments, as well as a closed exam taken by 200+ students.

2016

Marker

Processing Formal And Natural Languages, University of Edinburgh

Developed an automarker, marked programming assignments, provided feedback on code quality.

Skills

C, OpenCL, Java, Python, Visual Basic
Caffe, MATLAB, Matplotlib, LaTeX
JavaScript, PHP, CSS, MySQL
Tensorflow
Scala
Raspberry Pi, Arduino
FPGAs, ARM Mbed
3D modelling (Blender), Photoshop, Illustrator

Volunteering

Cohort Representative

Since 2016, I am representing my cohort in the Centre for Doctoral Training (CDT) staff-student meetings.

PGR Student Representative

Since 2017, I am representing my programme (CDT) in the department-wide Staff-student liaison committee.

Projects

Millenium Falcon Model

Portfolio

Millenium Falcon Model

Portfolio

Completed a 1/72 model of Millenium Falcon consisting of 904 pieces. Gosh, what a pleasure that was!

More close-ups in Google Photos.

Research poster #2

Portfolio

Research poster #2

Portfolio

This is my poster for the 2017 CDT Pervasive Parallism Student Showcase event. The poster briefly explains my current research direction.

Research poster #1

Portfolio

Research poster #1

Portfolio

This is my poster for the 2016 EPSRC CDT PPar & CDT HiPEDS Industrial Engagement Event. The poster briefly explains my current research direction.

Auto-aiming catapult

Portfolio

Auto-aiming catapult

Portfolio

In 2016, I organized a workshop in a scientific summer school, where we built four auto-aiming catapults with a group of 16 years-old students.

The catapults are based on Arduino Uno, Tamiya Twin-Motor Gear Boxes and HC-SR04 ultrasonic sensor; the frame is made of plywood.

The goal of the workshop was to learn how to operate the wood workshop tools, and learn the mechanisms of motors, microcontrollers and ultrasonic sensors.

catapult_3d

Pololu 3pi robot

Portfolio

Pololu 3pi robot

Portfolio

The second year of the Bachelor’s course, University of York, 2013.

The group assessment was to program the Mbed microcontroller so that robot can follow a wall and avoid obstacles using IR proximity sensors, follow a line using bottom illuminance sensors and navigate on a floor using USB optical mouse tail.

Image source: www.hobbytronics.co.uk

A GPU-Accelerated stigmergic BCMM swarm

Portfolio

A GPU-Accelerated stigmergic BCMM swarm

Portfolio

This is my diploma project called “A GPU-Accelerated stigmergic BCMM swarm”. In short, it is a Python maze solver, that simulates a swarm on GPU using OpenCL. Swarm agents use neural networks to navigate in an unknown environment.

The project was developed using Python 3.4.2, OpenCL 1.2 (the code should be 1.0-compatible), PyOpenCL, Pygame, Numpy and FFmpeg. The platform is 64-bit Windows 7 and AMD Radeon HD 7870.

This work is distributed under MIT License: you are free to use and change it with appropriate references to the source.

Bachelor’s, the University of York, 2015.

Simulated Baxter robot

Portfolio

Simulated Baxter robot

Portfolio

This is a V-Rep 3D simulation of Baxter robot reaching targets and comfortable poses from different initial positions.

Produced as a part of a homework assignment for the Robot Learning & Sensorimotor Control course at the University of Edinburgh.

Master’s, the University of Edinburgh 2016.

Raspberry Pi project

Portfolio

Raspberry Pi project

Portfolio

I participated in the York Raspberry Jam & Maker Event at the National STEM Centre. Together with other CS students we presented our raspberry projects, which we delivered for the “Raspberry Pi in the classroom” event — the idea was to design projects which could be repeated in schools with children learning to use Scratch on the Pi.

The video above is a demo of my project called “Magnetic checkers” – the goal was to move metallic checker pieces around the field using an electromagnet. The machine ended up resembling a simple 3D printer: 3 stepper motors, one moving base in axis X, two moving the head (magnet) in Y and Z axes. Software allows user to control machine manually and give simple tasks for automatic control (i.e. “move piece from A2 to E7”).

Software: Scratch for high-level control, Python for sending high-frequency PWM signal to GPIO pins.

Hardware: Meccano structural parts, x3 NEMA 17 motors, x3 A4988 Pololu drivers, 12V 6W electromanget, Raspberry Pi, 3 PSUs.

York, 2014.

The Muse

Portfolio

The Muse

Portfolio

A 3D-printed model designed in Blender.

Pololu 3pi robot simulation

Portfolio

Pololu 3pi robot simulation

Portfolio

The individual part of the Pololu 3pi robot group assessment: it is a Matlab simulation, which interacts with robot’s C program by feeding it sensor readings in exchange for motor commands.

Bachelor’s course, the University of York, 2013.

Contacts

Contact form