Source: Copied from Yong’s post
Writing this because it was originally very stressful to apply for research internships without resources online. I pretty much navigated in the dark by myself, and at times I doubted myself: is this a good use of my time? Many companies only work on close-sourced English-centric AI–––what if my internship work is not aligned with my research direction even if I got in? What if they didn’t allow me to publish?
Fortunately, I received multiple offers and chose to spend my upcoming summer interning at Meta AI FAIR team, doing multilingual research. I hope my post sheds some light on the AI research internship application process.
Overall statistics of my internship search from Sep’23 to Feb’24. I stopped interviewing and team-matching with a few companies after I’ve received offers that meet my criteria. Diagram created with Sankeymatic.
General Process and Timeline
In general, AI research internship process are as follows:
- submit applications: This usually means uploading your CV to the open positions. For some companies, you should not submit applications if you are getting referred for certain positions. You should check with the person who refer you if you need to apply by yourself.
- online assessment or take-home assignments: This typically includes machine learning (ML) or deep learning (DL) coding questions, or data-structure-and-algorithms (DS&A) coding questions. Some also asked multiple-choice questions about ML/DL knowledge.
- (multiple) technical interviews with engineers or researchers: This includes coding for DS&A (similar to those on Leetcode) or ML, asking questions about LLMs and deep learning, and presenting my research work.
- interviews with hiring manager: This typically involves talking about my research interests and/or asking common behavioral questions. In my opinion, this is more casual, and I get to know more about the team and projects I will be joining.
Typically, before the online assessments or interviews, there would be recruiters reaching out to me to inform me the type of the interviews and who I would be interviewing with. Different companies have different structure. For instance, interviews could go from 30 minutes up to 90 minutes. Some interviews were back-to-back, and some were spaced with one or more weeks in-between. Some companies had technical components in all their interviews, whereas some only had one.
For most companies, it took me 2 to 3 months to go from applying to receiving the internship offer decision. Usually the recruiter would reach out to schedule a call and inform me the offer details.
Statistics of coding question types in technical interviews. Taken from my experience interviewing with Google, Meta AI, Salesforce, Adobe, Pinterest, Cohere, Alibaba DAMO, Scale.ai, Bytedance, and Megagon Labs. One company asked both DS&A (data structure and algorithms) and ML (machine learning) coding questions.
Preparation
A. Data Structure and Algorithms (DS&A)
- I used Blind 75 and Neetcode 150 to brush up my DS&A skills.
- For certain companies, I would use the company tag to filter and practice specific DS&A questions on Leetcode.
B. Machine Learning (ML) / Deep Learning (DL)
- I reimplemented some basic ML algorithms referring to this repository.
- I didn’t revise much on knowledge questions, especially for DL, because I think my research uses them on a regular basis. Though, I did have a refresher on common ML concepts such as bias vs. variance, SVM, precision vs. recall, AUC curves, etc.
C. LLMs
- For positions that are related to GenAI, knowledge of LLMs are expected.
- I referred to multiple sources, such as original transformer (“Attention is all you need”) paper and this blog, to understand how attention works implementation-wise and equation-wise.
- I also relied on HuggingFace tutorials and documentation resources as a refresher for everything around LLMs, such as tokenizers, efficient training, etc.
D. Behavioral Interviews
- I used this guide to prepare for the behavioral interview questions.
- In my interview, I focused on my unique collaborative research experience at BigScience and Aya. My understanding is that companies are looking for interns who could fully own a project and communicate task items effectively.
E. Research Interview
- Usually it took around 20 minutes (or less) to present my work. Some companies even asked me to prepare beforehand to present a paper that I didn’t author.
- Most of the time, I didn’t have to prepare slides beforehand unless instructed so through email. A format that I used when I presented my work verbally is as follows:
- What is the general problem I am solving?
- How are people currently solving the problem, and what are the shortcomings of their approach?
- Describe my proposed solution in one sentence. (If possible, describe the motivation for such a solution.)
- Describe the significance of my work in one sentence.
- Then, go into details about my proposed solution, experimental setup, and the results.
- The key to verbal research presentation is to keep it brief and hold the interviewer’s attention. Use keywords and short sentences. Allow time for Q&A and the flexibility for the interviewer to stop you midway (so it becomes more of a discussion session).
Personal Thoughts
- Understand the cycle. Startups (such as Scale.ai) open their applications in early Fall, whereas larger tech companies (such as Google, Amazon, and Meta) open their applications much later. This is useful to know because oftentimes I thought that I was ghosted, and the scarcity mindset kicked in and stirred up more stress. In fact, for companies such as Google or Meta, the interviews only start to take place in December or even later.
- Referrals help. I’ve gotten four referrals, and all of them help me move past the resume screening stage. On the other hand, cold-emailing researchers have mixed results. I’ve sent emails to researchers whom I want to work with in more than 10 companies, but only one (outside the US) replied and interviewed me.
- Twitter (𝕏) hasn’t helped me as much as I thought. I was ghosted when I applied through Google Forms shared by researchers on 𝕏 or when I reached out through direct messaging. I suppose job application-wise, Twitter is just another LinkedIn. However, sending emails after reading their Tweets about open positions has resulted in one person kind enough to respond and refer me (although the reply success rate is very low). Nonetheless, one positive thing from 𝕏 is that I know that certain companies have opened their positions.
- Interviews have only focused on one or two recently published work. I originally thought the interviews will cover most of my past work, but all interviewers had only asked me to describe my most recent work. In some interviews, I even had the freedom to choose which work to present.
- Companies prioritze PhD students at the later stage of their education. I did not hear back from any applications in my first two years of study, and this year, I got multiple interviews and offers. My experience corroborates others’ experience that, unless your school have a direct collaboration with companies, research internships are usually offered to students at a later stage of their study. In fact, many applications specify the preferred PhD graduation date of interns–––they are looking for students in the third year or fourth year of their study.
- Many companies aren’t doing multilingual NLP work, but I think they value my GenAI safety and LLM training/adaptation experiences. I would say that fewer than 3 of my internship offers are about multilingual NLP, and yet it seems that the rest companies value my prior experience on low-resource language adaptaton of LLM (e.g., can be applied to coding languages) and jailbreaking safety guardrails (e.g., can help design better guardrails or responsible practices for LLMs.) Surpringly, even though I’ve done research work on evaluation on cross-lingual ability, my interviews did not mention anything related to evaluation even though evaluation of LLMs is hyped up these days. Perhaps they are more interested in a particular type of evaluation that is underdeveloped, such as for tool usage, coding, etc.
Concluding Thoughts
I am extremely thankful for people who have referred me to the internship positions and given me great tips and advice. I hope that my post helps those who are now actively looking for research internships. I also want to highlight that whether you get research internships or not is not reflective of your quality as a researcher —— in my opinion, some interviews did not capture that quality,1 and offers are highly dependent on team matching, headcounts, and many factors outside your control.
Footnotes
-
Funnily enough, there was one interviewer telling me that there’s no point for DS&A interview when GPT4 can probably solve it better than interviewees, but he still had to give it to me because of company’s policy. ↩