How I Organized Machine Learning Trainings at NSU

My name is Sasha and I love machine learning as well as teaching people. I currently oversee educational programs at the Computer Science Center and lead the Bachelor's program in Data Analysis at SPbGU. Prior to this, I worked as an analyst at Yandex, and even earlier — as a scientist, focusing on mathematical modeling at the Institute of Computational Technologies of the Siberian Branch of the Russian Academy of Sciences.

In this post, I want to share what came out of the idea to launch machine learning trainings for students, graduates of Novosibirsk State University, and anyone interested.

How I Organized Machine Learning Trainings at NSU

I've long wanted to organize a special course to prepare for data analysis competitions on Kaggle and other platforms. It seemed like a great idea:

  • Students and interested individuals will put their theoretical knowledge into practice and gain experience solving problems in public competitions.
  • Students who rank in the top positions in such competitions positively impact NSU's appeal to prospective students, current students, and graduates. The same is true for trainings in competitive programming.
  • This special course perfectly complements and expands foundational knowledge: participants independently implement machine learning models, often forming teams that compete at the global level.
  • Other universities have already conducted such trainings, so I was hopeful for the success of the special course at NSU.

Start

In Akademgorodok, Novosibirsk, there is a fertile ground for such endeavors: students, graduates, and faculty of the Computer Science Center and strong technical faculties, such as FIT, MMF, FF, robust support from NSU administration, an active ODS community, experienced engineers and analysts from various IT companies. Around that time, we learned about a grant program from Botan Investments — the foundation supports teams that achieve good results in competitive ML.

We found a classroom at NSU for weekly meetings, created a chat in Telegram and launched together with students and graduates from the CS Center on October 1. Nineteen people attended the first session. Six became regular participants in the trainings. Over the academic year, a total of 31 people attended at least once.

Initial Results

I met with the guys, exchanged experiences, discussed competitions and an approximate plan for the future. We quickly realized that the struggle for places in data analysis competitions is a regular exhausting effort, akin to an unpaid full-time job, but it is very interesting and exciting 🙂 One of the participants, Kaggle-master Maxim, advised us to initially compete individually in contests, and only a few weeks later join teams, taking into account the public score. We did just that! During in-person training sessions, we discussed models, academic papers, and nuances of Python libraries, solving problems together.

The results of the fall semester were three silver medals in two Kaggle competitions: TGS Salt Identification and PLAsTiCC Astronomical Classification. And one third place in the CFT competition for typo correction with our first winnings (in the money, as experienced bowlers say).

Another very important indirect result of the special course was the launch and setup of the NSU VKI cluster. Its computational power significantly improved our competitive life: 40 CPUs, 755GB RAM, 8 NVIDIA Tesla V100 GPUs.

How I Organized Machine Learning Trainings at NSU

Before this, we survived as best we could: calculating on personal laptops and desktops, in Google Colab and Kaggle kernels. One team even had a custom script that automatically saved the model and restarted the calculations that stopped due to time limits.

In the spring semester, we continued to gather, exchange successful findings, and share our competition solutions. New interested participants started to join us. During the spring semester, we managed to achieve one gold medal, three silver medals, and nine bronze medals in eight Kaggle competitions: PetFinder, Santander, Gendered pronoun resolution, Whale Identification, Quora, Google Landmarks and others, bronze in Recco challenge, third place in the Changellenge>>Cup and first place (again in the money) in the machine learning competition at the programming championship from Yandex.

What training participants say

Mikhail Karchevsky
"I am very glad that such activities are taking place here in Siberia, as I believe that participating in competitions is the fastest way to master ML. The hardware for such competitions is quite expensive to buy independently, and here you can try out ideas for free."

Kirill Brodt
Before the advent of ML trainings, I didn't really participate in competitions apart from academic and Indian contests: I didn't see the point, since my job was in the field of ML, and I was already familiar with it. In the first semester, I attended as a listener. But starting from the second semester, as soon as computational resources became available, I thought, why not participate? And I got hooked. The tasks, data, and metrics were created and prepared for you; just leverage the power of ML and test state-of-the-art models and techniques. If it weren't for the trainings and, equally important, the computational resources, I wouldn’t have started participating anytime soon.

Andrey Shevelev
In-person ML trainings helped me find like-minded individuals with whom I was able to deepen my knowledge in machine learning and data analysis. It’s also a great option for those who don't have much free time for independent study and immersion in the competition topics, but still want to stay informed.

Join us

Competitions on Kaggle and other platforms sharpen practical skills and quickly translate into interesting jobs in the field of data science. People who have participated together in a difficult competition often become colleagues and continue to successfully solve work tasks. This has happened in our case: Mikhail Karchevskiy and a friend from his team transitioned to work in the same company on a recommendation system.

Over time, we plan to expand this activity with scientific publications and participation in conferences on machine learning. Join us as participants or experts in Novosibirsk — just write to me or Kirill. Organize similar trainings in your cities and universities.

Here’s a little cheat sheet to help you take the first steps:

  1. Think of a convenient place and time for regular sessions. Ideally — 1-2 times a week.
  2. Inform potentially interested participants about the first meeting. First and foremost, these are students from technical universities and ODS participants.
  3. Create a chat group for discussing current matters: Telegram, VK, WhatsApp, or any other messenger that most find convenient.
  4. Maintain a public schedule of classes, a list of competitions and participants, and keep track of the results.
  5. Find available computing resources or grants at nearby universities, research institutes, or companies.
  6. PROFIT!

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster