On October 26–28, we were three AI enthusiasts, Jorid Ødegård, Michael Løiten, Mohammed Sourouri from CGI’s Advanced Analytics division who travelled to Trondheim to arrange a joint- hackathon with Cogito NTNU.
Founded early in 2018, Cogito NTNU is a special interest organization for students that are passionate about AI. We were thus excited to get to know the students, learn more about Cogito NTNU and discuss interesting aspects of AI.
The hackathon started on Friday afternoon. As much as 19 students had signed up, eager to participate in the challenge and demonstrate their AI skills. We had prepared three fictional, but demanding problems that resemble projects we undertake at CGI.
The students were split into five teams and each team chose one challenge to work on for the entire weekend. The challenges were as follows:
1. Deep learning based Optical Character Recognition (OCR)
2. Norwegian speech-to-text transcriber
3. Action recognition in basketball videos
In the first challenge, the students were asked to create a deep learning-based OCR system that could automatically perform image to text conversion from grocery receipts. A custom, Norwegian dataset was provided to the student.
The purpose of the second challenge was to create a solution that can transcribe Norwegian speech (from audio files) to text. Extra bonus was given if the solution could demonstrate additional functionality. The students were asked to use any open-sourced dataset that they could find on the Internet.
Finally, for the last challenge, the students were asked to recognize actions in basketball videos. The students were thus provided with the NCAA basketball dataset, which contains 14548 annotated clips. Each annotated clip can contain various actions. An action is defined as shot, pass, tackle i.e., actions that are a fundamental part of the game. The students were free to determine the number of actions to recognize. Moreover, extra bonus would be given if the students could achieve a higher accuracy than 33% on the test set.
Regardless of the task chosen, the various teams were encouraged to use a consultant mindset to create a solution rather than just creating a piece of software.
Addressing the Compute Power Challenge
With great machine learning algorithms come great need of computational power, and so we needed to ensure that this would not be a stopper for our students’ solutions. We thus reached to our cloud partner Google, which decided to generously to sponsor the event. Google provided each student with sufficient credits to run a single high-end GPU cloud instance via the company’s Google Cloud Compute Engine continuously for three days.
One outstanding challenge that had to be addressed before the start of the event was the creation of 19 cloud instances. Luckily, the techies at Cogito NTNU created a script that automated this process using Google Cloud Shell. The code is open-sourced on Github and can be found here (https://github.com/CogitoNTNU/gce-setup). We are grateful for Google kind contribution, as it worked flawlessly.
What is your Weapon of Choice?
There are a lot of good deep learning frameworks to choose from when working with machine learning. We were therefore curious to learn about the students’ choice. There were some differences between the groups regarding their experience with machine learning frameworks, and we saw several different approaches. The most popular framework turned out to be Keras, which most of the students had at least some experience with from school. However, after being persuaded by our great PyTorch protagonist (Mohammed), one group actually chose to use the PyTorch. A bold move, given that the different team members had never tried it before. Kudos! They managed to understand it and implement it quite quickly, supporting Mohammed’s statement that PyTorch is super easy to use and proving the skills and quick-learning ability of the students.
How to make big bucks on Bitcoin mining
At Saturday afternoon, after 24 hours of intense work, we figured the students deserved a break and a nice dinner. A bus picked us up at Gløshaugen (the university campus) to take us to a charming restaurant and microbrewery called Øx (means axe in Norwegian). Here we enjoyed pizza and pasta of all shapes and types and of course some liquids on the side. As the dining crowd was a highly overfit of machine learning enthusiasts, the conversations became very interesting.
Our favorite story was a students’ startup idea who claimed that he had discovered a way to make big bucks on Bitcoin mining. Unfortunately, we cannot go into any further details here, partially not to reveal his idea but partially because we are convinced that it is illegal. For some of the students however, the dinner did not last for too long as they rushed back to Gløshaugen to put down even more hours. Our very own Michael soon followed them, as he was convinced that they were having an awesome machine learning afterparty without us.
Sunday at noon, after a weekend of intense programming, day and night, the finale of the hackathon arrived. It was time for the students to present the results of their hard work. We had decided to not only consider their technical solution, but also evaluate their consultant skills. Therefore, some of the criteria we considered when scoring the students, were their ability to explain and defend what they had produce, and to convince us about their approach.
We were very excited to see what the students had achieved, and we were not disappointed. Even though the exercises were very challenging, all the groups had managed to get quite far. Most of the presentations were good too, and the groups that had not got any showable results, managed to explain what they would have done next, if there were more time.
Among all the talented groups it was hard to pick a winner. Our choice landed on one of the groups that had worked on the OCR problem. Their admirably hard work had paid off, and this was the only group that had a working solution.
During their presentation they gave a live demo of their model, which managed to identify (some of) the words on a receipt.
Of course, we had brought some sweet prizes for the winning groups. The members of the winning team got to choose between a Google Home or a Raspberry Pi Tool kit, the second place got whichever the first place did not pick, and the third place got a gift card at Komplett.no. As a special prize the members of the winning team will also be offered a summer internship for next summer should we find a highly relevant role.
Looking back, we are very happy with the hackathon. We are very impressed with all the students, and we hope to see some of them again as colleagues at CGI sometime in the future!