Getting an ML Research Internship

I wrote this post back in 2019 to share my experience with my peers and juniors at IIT Roorkee. This post might apply for students from under-priviledges countries like India where the university students do not get exposure to cutting-edge research easily.

I am reposting it here (verbatim) for anyone who might find it useful, and also to motivate myself to write more on my blog. So, this serves as the first post on this blog :D. I will try to update it with more recent information as and when I get time.

Original post: Medium Post

This post is about my search for a Research Internship in Machine Learning/Deep Learning as a pre-final year Materials Science student at Indian Institute of Technology Roorkee.

 This story is about how many places I got rejected from and finally landed up as a Research Intern at Preferred Networks, the company which made a world record by training Image-Net in 17 minutes.

  This post shall also serve as a guide on how to apply for foreign research internships. If you’re intersted in my Interview experience, skip to bottom of the post.

Disclaimer: I neither was nor am some hot shot in ML Research. The views presented are a glimpse of my own experience.

A turning point in my life came when I did my sophomore year internship in Data Science at a startup. After working for 2 months there and interacting with other people in the industry, one thing got very clear, that I was not going to work on the Data Analysis stuff and petty predictive modeling. It just didn’t click for me. I was more interested in computer vision and language modeling. I had tried a mundane job of 9 to 5, so I thought of giving research a try, though the lab timings would also around 9 to 5 still there would be freedom of work and a lot less work pressure. Hence, I made up my mind of doing a Ph.D. in ML and becoming a researcher.

Internships are a great way to learn and also to make a few extra bucks 😁. Now, I had seen a lot of my seniors go to various countries like France and the UK to work as an intern, so I also thought to give it a try. Getting a foreign internship is tough and a bit of luck also plays a part. To get a foreign internship, you must be a researcher, since a student can only be hired at Universities as a researcher whereas getting hired by a company for a Software Developer role is very very tough, at least, this is what I feel.

Now that you know that getting a foreign internship at a University is easier, let’s get down how to bag that opportunity. There are two ways of applying:

  • Directly e-mailing the Professor in your field of interest and asking him/her to hire you as an intern to work under their supervision for the upcoming summer holidays.
  • Applying through a research program of the University or in some cases the research program of a Country like Charpak for France, DAAD-Wise for Germany, etc.

Both the ways mentioned above are a tough nutshell to crack and thus, equally depressing.

Let’s say that you are applying through a research program(I’ll attach the link of various research programs one can apply to), then you must have a high CGPA of above 8.5 and you should also have a couple of projects(research) with a Professor listed in your CV. A research program like Globalink MITACS Program for Canadian Universities takes into consideration the research projects done earlier and also the amount of time spent on doing research, apart from your CGPA which should more than 7.5 to be eligible(not selection), to effectively map you with a Project and Professor of your choice. DAAD-Wise for Germany requires a CGPA of above 9.3 or sometimes even 9.5.

In my case, I don’t have a high CGPA, so 1 requirement straight away gone, and neither had I done any projects with a Professor. I had taken part only in a couple of Kaggle challenges and listed them as a self-motivated project in my CV(you can do so). Thus, sadly research program was not an option for me!

In case you’re considering emailing the Profs for an internship, you need to be very patient since you won’t even get a reply to the 80% of emails that you send. There is a very structured plan to follow. First, select the universities based on it’s CS ranking or subject-wise QS World rankings. After selecting the universities, select the Research Lab of your field of interest or a Professor of your interest, go to their personal websites and check their publications. If the Prof. has published in recent years, that means he is actively involved in research, so there may be some chances that (s)he may be looking for an intern(which sometimes, is displayed on their websites also). Now that you have selected the Prof, read one or two publications of his, so that you send a very targeted email and maybe even propose a new idea to him(which I did). The email should not be long and must express your motivation for sending the email. And don’t send emails to two professors of the same lab or university at once. The ideal time for mailing is from September to Mid-December early in the morning(in their country).

If the Prof. that you sent a mail doesn’t reply for a week, send a reminder, if then also no reply comes. Then you may consider mailing other Profs. If lucky you would get a positive reply, after sending around 50 to 100 different emails. And by positive reply, I mean the Professor is ready to accept you as an intern and is paying you a decent stipend to cover up your living expenses and travel costs(fully or partially). If you’re paying for everything just to work your ass off in a foreign land, then you’ve got yourself a Rich Dad. Congrats!

In my case, I followed the steps which I have already discussed above. Luckily I got replies to around 50% of the emails that I sent, some saying that they don’t have funds to fund my stay or that they would be on leave during my proposed internship duration or that they are going to retire in a couple of months or that I am not from Computer Science major 😒. I even had an interview canceled just 5 minutes before the scheduled skype interview only because I was not from Computer Science and had no CS courses in my transcripts. Amidst these rejections, I applied for the Preferred Networks Internship Program also. But after a couple of days, I got a positive reply from a Professor at Max Planck Institute Germany to work on computer vision related project in Materials Science. And my search for a foreign internship came to an end after sending around 300 emails.

Luckily, in the meantime, my CV got shortlisted for a video interview at Preferred Networks. This was unlike other Skype interviews, here the questions were pre-recorded in a video format, and I had to answer the questions by recording my own live video. I was asked 5 questions like What is the last research paper that you have read? What is the latest research project you worked upon? How would you explain AI to your Grandparents? I was given only 30 seconds to think and 60 seconds to answer the question. The interview didn’t go as good as expected. I felt that it got over as soon as it had started.

And after 2 weeks or so, I get an email that I have been shortlisted for a live skype interview with the researchers of the Company(PrefNet). For this 1 hour interview, they would send a research paper 24 hours before the scheduled interview time, and I was required to summarize the research paper, the idea, the contribution, the methodology of the work, the technique and the results, basically everything. The tough part of this interview was when the researchers asked me a question about what the advantage of a certain technique mentioned in the paper was. I fumbled while giving the answer and couldn’t speak much. Though I again gave a try at answering the question at the end of the interview after the coding round.

I forgot to mention the most funny part of the interview, that it all happened over the phone since the platform which Preferred Networks uses for interview purposes couldn’t detect my microphone of laptop xD. So I had to write my code on paper, and read the code to them. The coding question was simple and they only wanted to check my python 3 programming skills and time and space complexity concepts. A fun interview, indeed.

And then this happened.

Selection email

Remember, that your Major in college does not matter nor does it matter if you have a research background and have a high CGPA, though it’s an added advantage. What matters is your motivation towards your field of interest and the passion to work for it. It is this zeal, that will help you in achieving things in life, you desire the most!

I wrote this blog post since many people used to ask me how I got the internship. How I applied and all. So this may serve as a guide for you. And if any doubts pop up in your mind, feel free to drop me a message on Facebook or email.

Cheers and Good Luck!

Edit 1:

After I wrote this blog on medium, I got a lot of messages from students asking for help in getting internships. I am really happy that this blog has helped so many people.

Later, ARP club at IIT Roorkee shared a variant of this blog after my graduation. You can check it out here.

Watch Out! The official news body of IIT Roorkee has also shared my internship experience on their website.