How To Do Machine Learning Research Without A PhD

Charles Weill
23 Jun 202105:58

Summary

TLDRThe video script discusses the roles and requirements in AI research labs like Google Brain, DeepMind, and OpenAI. It clarifies that while a PhD in machine learning is often expected for research scientists aiming for top-tier publications, it's not mandatory for software engineers who build infrastructure. Research engineers fall in between, contributing to research papers and requiring less specialized ML knowledge. The speaker encourages those interested in AI research to consider applying for roles even without a PhD, emphasizing on-the-job learning and familiarity with ML jargon.

Takeaways

  • šŸ§‘ā€šŸ’» There are three common roles in research labs: software engineer, research scientist, and research engineer, each with different requirements for machine learning knowledge.
  • šŸ”§ Software engineers primarily build infrastructure for research teams and typically require less machine learning knowledge, often not needing a PhD in ML.
  • šŸ’¼ Software engineers might specialize in low-level systems or distributed systems, focusing on performance and scalability across data centers.
  • šŸ“ˆ Research scientists are expected to publish in top-tier conferences and usually have a PhD, as their main output is research papers.
  • šŸ”¬ Research engineers sit between software engineers and researchers, contributing to research papers and often implementing novel techniques from academic papers.
  • šŸ¤ Research engineers may work closely with software engineers and researchers on ambitious projects, utilizing more resources to tackle complex problems.
  • šŸ“š Not all research labs have a research engineer role; for example, Google does not, while DeepMind and OpenAI do.
  • šŸŽ“ Having a PhD is not a prerequisite for all roles, and even software engineers can publish papers in top-tier venues.
  • šŸ“˜ The speaker advises against pursuing a PhD solely for the purpose of working in a research lab, suggesting there are many other options available.
  • šŸ“š It's recommended to take introductory courses in machine learning to familiarize oneself with the field and the specific research focus of the lab of interest.
  • šŸ’¼ For those interested in AI research, applying directly to labs as a software engineer or research engineer without a PhD is encouraged, as skills can be learned on the job.
  • šŸ” The transcript emphasizes that a PhD is not always necessary for cutting-edge work in machine learning and AI research labs.

Q & A

  • What are the common roles found in research labs like Google Brain, DeepMind, OpenAI, and Facebook AI Research?

    -The three common roles are software engineer, research scientist, and research engineer. Each role has different responsibilities and requirements for machine learning knowledge.

  • What is the primary responsibility of a software engineer in a research lab?

    -A software engineer is mainly responsible for building infrastructure for the research team, which could be specific to a single research experiment or used by multiple teams for various research papers.

  • Do software engineers in research labs need to have a deep understanding of machine learning?

    -Typically, the required knowledge of machine learning for software engineers is at the lower end, and they are less likely to solve complex machine learning problems during interviews.

  • Is a PhD in machine learning necessary for the role of a software engineer in a research lab?

    -No, a PhD in machine learning is not typically required for software engineers in research labs.

  • What are the expectations for a research scientist in terms of academic contributions?

    -A research scientist is expected to publish papers in top-tier conferences such as NeurIPS, ICML, ICLR, or other specialized venues related to their subfield.

  • How common is it for research scientists to have a PhD?

    -About 99% of research scientists have a PhD in their chosen field or a closely related field to machine learning.

  • What is the role of a research engineer in a research lab?

    -A research engineer sits between a software engineer and a researcher, helping with research papers, running experiments, and contributing to specific papers with novel techniques or ideas.

  • Do all companies have a research engineer role?

    -No, some companies like Google do not have a research engineer role, while others like DeepMind or OpenAI do.

  • Can software engineers also act as research scientists and publish papers?

    -Yes, many software engineers also engage in research activities and publish papers in top-tier venues.

  • What advice does the speaker give regarding pursuing a PhD solely to work in a research lab?

    -The speaker advises against spending five years pursuing a PhD with the sole purpose of working in a research lab, as there are many other options available.

  • What should someone interested in working in a research lab do to prepare?

    -The speaker recommends taking introductory courses in machine learning to familiarize oneself with the jargon and research topics of the lab they are interested in.

Outlines

00:00

šŸ”¬ Roles in AI Research Labs

The speaker discusses the varying roles within AI research labs such as Google Brain, DeepMind, OpenAI, and Facebook AI Research, emphasizing that a PhD in machine learning is not always required. They outline three common positions: the software engineer, who primarily builds infrastructure and may not need a PhD; the research scientist, who is expected to publish in top-tier conferences and typically holds a PhD; and the research engineer, who bridges the gap between the two, assisting with research and possibly contributing to papers. The video aims to clarify the misconception that a PhD is mandatory for all roles in AI research and encourages those interested to apply directly for positions such as software or research engineer roles even without a PhD.

05:04

šŸ“š Preparing for AI Research Lab Roles

In this paragraph, the speaker advises viewers to take introductory machine learning courses to familiarize themselves with the field's terminology and to gain an overview of the type of research conducted by the labs they are interested in. They mention that while having a PhD is not a prerequisite for working in a research lab, understanding the basics of machine learning is beneficial. The speaker also cautions against pursuing a PhD solely for the purpose of working in a research lab, suggesting that there are other paths available. They conclude by inviting viewers to share their thoughts and questions in the comments section.

Mindmap

Keywords

šŸ’”Research Lab

A research lab is a dedicated space where scientists and researchers work on experiments and projects to advance knowledge in a specific field. In the context of the video, research labs like Google Brain, DeepMind, OpenAI, and Facebook AI Research are focused on cutting-edge machine learning and artificial intelligence research. The script discusses the different roles within these labs and the varying requirements for each.

šŸ’”PhD in Machine Learning

A PhD, or Doctor of Philosophy, in Machine Learning is the highest academic degree one can achieve in the field, signifying expertise and the ability to conduct original research. The video script addresses the common question of whether a PhD is necessary to work in a research lab, suggesting that while it may be preferred for some roles, it is not a strict requirement for all.

šŸ’”Software Engineer

A software engineer is a professional who designs, develops, and maintains software systems. In the video, this role is described as primarily building infrastructure for research teams, which may involve low-level programming or working with distributed systems. The script emphasizes that software engineers in research labs typically do not need a PhD in machine learning.

šŸ’”Infrastructure

Infrastructure refers to the underlying framework or set of tools that support a system or process. In the context of the video, it pertains to the systems built by software engineers to facilitate research experiments and projects in AI and machine learning. These could be specific to one paper or used across multiple teams.

šŸ’”Distributed Systems

Distributed systems are computer systems that consist of multiple machines working together to perform tasks. The script mentions that some software engineers specialize in building infrastructure for distributed systems, which can scale across a cluster of machines in data centers, supporting large-scale AI research.

šŸ’”Research Scientist

A research scientist is an individual who is expected to conduct original research and publish findings in academic journals or at conferences. The video script highlights that research scientists typically have a PhD and are the primary authors of research papers in top-tier conferences such as NeurIPS, ICML, and ICLR.

šŸ’”Publishing Papers

Publishing papers refers to the academic practice of sharing research findings in peer-reviewed journals or at conferences. The script discusses the expectation for research scientists to publish papers as a key part of their role in contributing to the field of machine learning.

šŸ’”Research Engineer

A research engineer is a hybrid role that combines elements of both research and engineering. The script describes this role as sitting between a software engineer and a researcher, helping with research papers, running experiments, and potentially contributing to the publication process. This role may or may not require a PhD, depending on the lab.

šŸ’”Cutting-Edge Research

Cutting-edge research refers to the most advanced and innovative work being done in a field. The video emphasizes the expectation for research scientists and engineers to be involved in such research, often leading to the publication of papers in prestigious venues.

šŸ’”Machine Learning Jargon

Jargon refers to the specialized terminology used within a particular field or profession. The script suggests that having familiarity with machine learning jargon is important for anyone interested in working in a research lab, as it helps in understanding and communicating about the research being conducted.

šŸ’”Reinforcement Learning

Reinforcement learning is a type of machine learning where an agent learns to make decisions by taking actions in an environment to maximize some notion of cumulative reward. The script uses OpenAI as an example of an organization that focuses on this type of research, indicating that knowledge of reinforcement learning would be beneficial for applicants.

Highlights

Working in top research labs like Google Brain, DeepMind, OpenAI, and Facebook AI Research does not always require a PhD in machine learning.

Three common roles in research labs are software engineer, research scientist, and research engineer, each with varying ML knowledge requirements.

Software engineers primarily build infrastructure for research teams, which may be specific to one experiment or used across multiple teams.

Software engineers may specialize in low-level systems programming in C++ or work on distributed systems infrastructure for scalability across data centers.

Machine learning knowledge for software engineers is typically at the lower end, with less emphasis on ML problem-solving during interviews.

A PhD in machine learning is generally not required for software engineers in research labs.

Research scientists are expected to publish papers in top-tier conferences like NeurIPS, ICML, ICLR, and are typically required to have a PhD.

Research scientists collaborate with software engineers on ambitious projects and have access to more resources for tackling complex problems.

The research engineer role sits between the software engineer and researcher, assisting with experiments, infrastructure, and contributing to research papers.

Research engineers focus on novel techniques, implementing academic papers, and may propose research ideas for publication.

Not all research labs have research engineer roles; for example, Google does not, while DeepMind and OpenAI do.

Many software engineers act as research scientists, publishing papers in top-tier venues, indicating that a PhD is not a strict requirement for publishing research.

There is no need for a PhD to work in cutting-edge machine learning and AI research; consider applying as a software or research engineer without one.

Taking introductory machine learning courses is recommended to familiarize oneself with the jargon and research of the lab to which one is applying.

Pursuing a PhD solely to work in a research lab is not recommended, as there are many other options available for gaining experience and expertise.

The big takeaway is that a PhD is not always necessary for contributing to state-of-the-art research in machine learning and AI.

Transcripts

play00:00

A lot of people have asked me what it takesĀ  to work in a research lab like Google Brain,Ā Ā 

play00:04

DeepMind, OpenAI and Facebook AI Research. AndĀ  a very common question I get is, do I need aĀ Ā 

play00:11

PhD in machine learning to work on cutting edgeĀ  machine learning? I have news for you that isĀ Ā 

play00:17

maybe. So stay tuned and I'll tell youĀ  which roles require a PhD and which onesĀ Ā 

play00:21

don't. So let's get into it. There's three veryĀ  common roles that you find in research labs,Ā Ā 

play00:26

and they sort of exist on a spectrum of minimalĀ  requirement for machine learning knowledgeĀ Ā 

play00:33

to requiring very deep specialized ML knowledge.

play00:37

The first most common job role exists on thisĀ  end of the spectrum, and that's going to be theĀ Ā 

play00:40

software engineer. This software engineerĀ  is primarily concerned with building outĀ Ā 

play00:43

infrastructure for the rest of their researchĀ  team, and this infrastructure might be specificĀ Ā 

play00:49

to a one research experiment for a single paperĀ  or it might be some info that's used by multipleĀ Ā 

play00:55

teams or even ML info that's going to be used forĀ  multiple research papers. These software engineersĀ Ā 

play01:02

typically need to be very strong at either lowĀ  level systems if they're doing kind of low levelĀ Ā 

play01:08

programming and C++ or doing things onĀ  like TPUs or GPUs at the kernel level.

play01:15

Alternatively, you have software engineers whoĀ  are more specialized in distributed systems, andĀ Ā 

play01:21

they're going to be building out infrastructureĀ  that can scale across a cluster of machines thatĀ Ā 

play01:27

are available in data centers. Now, both of theseĀ  software engineering roles are sort of specializedĀ Ā 

play01:33

in those particular domains and it's by no meansĀ  easy work. But they're required knowledge ofĀ Ā 

play01:40

machine learning typically is going to beĀ  at the lower end, and they're less likelyĀ Ā 

play01:47

during an interview to be required to solve theĀ  kind of problems that other roles would require.

play01:54

Oh, and one more thing about the softwareĀ  engineer is they typically don't require a PhDĀ Ā 

play01:58

in machine learning, so that's one role inĀ  a research lab that doesn't require a PhD.Ā Ā 

play02:04

Now on the flip side, on the opposite of theĀ  spectrum, you have the research scientist,Ā Ā 

play02:09

the research scientist has an expectationĀ  typically of publishing papers into topĀ Ā 

play02:14

tier conferences like NeurIPS, ICML, ICLR, or ifĀ  they're specialized in some subfield like computerĀ Ā 

play02:20

vision or speech, they're going to want to publishĀ  in those particular conferences and those venues.

play02:25

Because they're expected to publish papers and doĀ  research that is cutting edge, typically they'reĀ Ā 

play02:31

required to have a PhD. And I'd say about 99% ofĀ  research scientists have a PhD in their chosenĀ Ā 

play02:38

field or very close field to machine learningĀ  because their primary output is going to beĀ Ā 

play02:46

research papers. Many times you'll have a researchĀ  scientist working with software engineers and theyĀ Ā 

play02:52

will be building out some larger projects thatĀ  is more ambitious and requires a larger team,Ā Ā 

play02:59

but also they have the unfair advantage ofĀ  having more resources at their disposal toĀ Ā 

play03:05

solving maybe a much harder problem thanĀ  they could if they were just one person.

play03:10

And then there's a third role, which is going toĀ  be the research engineer. The research engineerĀ Ā 

play03:16

sort of sits in between the software engineerĀ  and the researcher. Their expectation is to helpĀ Ā 

play03:23

with research papers. They're typically runningĀ  experiments, helping out on the infrastructureĀ Ā 

play03:29

side, maybe applying it to a very specificĀ  problem contributing for a very specific paper.Ā Ā 

play03:35

And they will typically be focused on veryĀ  novel techniques or reading academic papersĀ Ā 

play03:44

that they downloaded off of archive, orĀ  that they saw at our research conference.

play03:49

And they'll take that information and try toĀ  implement some papers. And they might evenĀ Ā 

play03:53

be proposing ideas for avenues of research inĀ  their particular like in a paper that they'reĀ Ā 

play04:00

trying to publish with their research scientistĀ  peers. Now, some research labs don't actuallyĀ Ā 

play04:06

have research engineers. For example, at Google,Ā  there's no such thing as a research engineer role.Ā Ā 

play04:12

And whereas at companies like DeepMind or OpenAI,Ā Ā 

play04:17

that role exists and has a more clearlyĀ  defined skillset. Not everyone who has a PhDĀ Ā 

play04:23

is a research scientist. There are many softwareĀ  engineers who actually on their day to day jobĀ Ā 

play04:28

act as research scientists, and they areĀ  publishing papers in top tier venues.

play04:33

So you don't need to feel like because you'reĀ  not a research scientist, you can't publish.Ā Ā 

play04:38

So yeah, there you have it. That's a high levelĀ  overview of the different kinds of roles you haveĀ Ā 

play04:43

in state-of-the-art research labs, doingĀ  machine learning and artificial intelligenceĀ Ā 

play04:48

research. The big takeaway is that you don'tĀ  actually need a PhD to do a lot of this work.Ā Ā 

play04:53

In fact, if you're very interested in gettingĀ  into that kind of work, strongly considerĀ Ā 

play04:57

applying directly to one of those labs as maybeĀ  a software engineer or a research engineer ifĀ Ā 

play05:03

you don't have a PhD already, because you'll beĀ  able to learn many of those skills on the job.

play05:08

Now, I would highly recommend still taking someĀ  introductory courses in machine learning so thatĀ Ā 

play05:14

you're familiar with the jargon or at least haveĀ  an overview of the kind of research that the labĀ Ā 

play05:19

you're applying to does. For example, OpenAI doesĀ  a lot of reinforcement learning type research,Ā Ā 

play05:24

and you should probably be familiar with thatĀ  kind of a subject before you're applying. ButĀ Ā 

play05:30

don't feel like you need to have a PhD beforeĀ  you do that. I would not recommend spending fiveĀ Ā 

play05:36

years of your life pursuing a PhD with the soleĀ  purpose of wanting to work in a research lab.

play05:44

There are many other options available to you,Ā  and that can be the topic of the next video.Ā Ā 

play05:48

With that, I'd like to thank you for your timeĀ  and let me know below in the comments anythingĀ Ā 

Rate This
ā˜…
ā˜…
ā˜…
ā˜…
ā˜…

5.0 / 5 (0 votes)

Related Tags
AI ResearchMachine LearningGoogle BrainDeepMindOpenAIFacebook AISoftware EngineerResearch ScientistResearch EngineerPhD AlternativesCareer Advice