The Tools that have Transformed my ML Research Workflow

The set of tools that have been a game-changer in my research career.

elvis
DAIR.AI
4 min readApr 3, 2019

--

During my time conducting professional and state-of-the-art research related to natural language processing (NLP) and machine learning (ML), a few tools have stood out. I would love to share this list in case you are interested in streamlining and improving your own ML research workflow. Here are the tools that have helped me (in no particular order):

Dropbox Paper

Dropbox Paper has to be the number one tool in my list for many reasons. The main reason is the collaborative features. I started to use it approximately two years ago and it has been a game changer in improving my machine learning research workflow. It’s an excellent tool to set tasks and organize research notes in a collaborative setting. It also includes templates which allow you to store formatted documents that you can reuse, such as when you are writing literature reviews. This can significantly speed up your research workflow because a lot of tasks are redundant in nature.

I heavily use it for taking minutes, setting reminders, managing my calendar, blogging, and a whole range of other tasks. I use it more than Microsoft Word, that is how useful it has become in my research workflow. It also includes exporting features which allow you to convert your documents into widely-used formats such as PDF and markdown. The editing features and minimalist interface are meant to speed up note-taking. In addition, their developers are always releasing new features, even ones I have personally requested. I have even used it to streamline my paper reviews using the template feature:

templates

GitHub

Most people use GitHub to open source their projects — it’s actually built for that. However, I leverage GitHub to organize my research projects, papers, and code. It gives me the option to build private repositories which are ideal for releasing and organing research code. I have found the issue feature to be helpful for organizing and setting reminders and creating to-do lists. In addition, the issues can be further organized to better manage research projects. It’s an excellent, minimalistic tool to streamline your workflow.

issues
project management

Mendeley

During the years conducting research, one of the top challenges was collecting, annotating, storing, and organizing papers. This is something that a lot of researchers — experts and juniors — have struggled with. The reason is that everyone has preferences for how they like to arrange and annotate papers. I have attempted to use OneNote to organize my research papers but it hasn’t worked that well for me—the search feature needs work. I have also attempted to use Dropbox and Adobe Reader directly to annotate my papers — same result as before. I have also attempted to use EndNote since it’s offered for free by my university. It’s a great software to manage references, however, the annotation features need work.

Perhaps the best tool to organize papers and create searchable notes and annotations is Mendeley. That’s because Mendeley is built by a research institution and researchers, which is why it is expected to have features that cater to researchers. I have gone back and forth with Mendeley, but as I have gotten busier with research I have stuck with it and it’s working great for me. The search feature has been the decisive factor because I conduct interdisciplinary research which means that I need to establish connections via notes with papers that belong to different groups and categories.

OneNote

OneNote is perhaps one of those tools that require a lot of heavy work and time to actually be useful. It’s all about being creative and I appreciate that flexibility. I found it to be useful not only for taking notes but to create mind maps and to organize notes for fast retrieval. I don’t typically use the section panel for organizing my notes. You can write all your notes in one notebook since the space to take notes is apparently infinite. I treat notebooks like a wall, where I just copy-paste and reorganize notes with maximum flexibility. The section feature is only a distraction in my experience. The point is to use the options that allow you to take notes freely and which gives you maximum flexibility to reorganize. The search feature keeps improving!

Jupyter Notebooks and Plugins

This is a no-brainer! However, I would like to add that the strength of Jupyter notebooks is not only the interactive programming environment but also the comprehensive list of plugins that are available to help you streamline your research. Feel free to explore plugins that may be useful for you here. A few plugins that have helped me are spellchecker , split cells notebook , and variable inspector . For your case, a different list may be more useful, don’t be afraid to customize your environment, it’s an option for a reason.

What tools have helped you? Please share your personal experience below.

--

--