How to use the power of the community to learn faster
Community is the most powerful force behind online learning. It is the reason why MOOCs have a limited impact and tight-knit communities like fast.ai consistently produce unbelievable results.
Despite my current appreciation of the role of the community, it hasn’t always been like that. And by all means, I am not an expert on this subject. Therefore, I decided to reach out to community leaders, people whom I admire, and share their insights. They share great tips on how to make the most out of being part of online communities and describe their personal experiences.
Here is what they told me.
Community as a key to personal growth
Sebastian Raschka is the author of the renowned Python Machine Learning book. He is a machine learning and deep learning researcher and teaches at the University of Wisconsin. Here are his thoughts
How have you benefited from being part of machine learning communities?
As I mentioned on Twitter, the community has helped me a lot with my personal growth. I started blogging about ML around 2013. Feedback from the community (Twitter, Hacker News, Reddit ML) kept me motivated to write more, and more importantly, to learn to write better.
The feedback sometimes started interesting follow-up discussions, and readers sometimes pointed out mistakes that were useful for improving not only my writing but also my understanding of certain things. More often than not, readers shared cool follow-up material / hidden gems on the internet, which were super useful and informative — stuff I wouldn’t have stumbled upon otherwise.
Lastly, I think the opportunity to write a book (back in 2015) as well as my current job are probably thanks to the broader ML community that kept me motivated about and engaged in the topic of applied ML and DL research.
What tips would you give to someone considering joining an online community?
I recommend being patient. Being active in a community takes time. Check out some other people’s content shared in the community. If the topic interests you, try to give occasional productive and constructive feedback to others but don’t overdo it.
Could you briefly describe the communities that you are involved with?
I should mention that I am not part of a “particular” community. With “community,” I am broadly referring to people I met at conferences, on Twitter, etc. In other words, with “community,” I mean “like-minded people who share similar interests.”
Being an active community member is an important ingredient to learning about people and algorithms
Suzana Ilić is the founder of MLT, an award-winning nonprofit dedicated to democratizing machine learning through open education. She is a Computational Linguist and technical PO for causal relationship extraction from biomedical text at Causaly.
How have you benefited from being part of machine learning communities?
I started MLT in 2017 as a small ML study group to learn together and from each other. Since then, we have organized more than 250 study sessions, talks, and workshops. Like many others, I was fortunate to have learned from many brilliant people in the ML community, from theory and math to ML production systems and software engineering best practices. However, I was also active within the community. I brought in research and project ideas, led teams, and published our work, I was in charge of several deep learning open education and open source initiatives and we presented some of our work in Tokyo, Hong Kong, San Francisco, Vancouver, and Montreal.
Being active and out there is scary. I’m a Computational Linguist and probably the last person you’d expect to lead a machine learning community of 8,000 members. But at the same time, and this may sound a bit weird, I was so intrigued by machine learning that the desire to learn was always stronger than the fear of failing. Lastly, having served the community and supported more than 100 contributors, I have learned not only about machines but also a lot about humans and what it takes to create a respectful, strong, diverse community in AI.
What tips would you give to someone considering joining an online community?
Something that worked for me and many others at MLT is being active — for instance, volunteering as a TA, presenting or teaching, contributing to open source, building teams, and working on projects. Being active will allow you to deepen your knowledge, apply what you have learned, and build up your portfolio. Last but not least, you’ll improve your collaboration and communication skills.
Could you briefly describe the communities you are involved with?
Machine Learning Tokyo, Women Who Code Tokyo, Women Techmakers, WiMLDS
These communities provided me with access to instructive resources and events, project opportunities, support and mentorship, networking, professional growth opportunities, encouragement and inspiration, and a welcoming, safe place to learn and experiment.
Sharing your work online combined with hands-on learning can accelerate your career
Rohan Rao is a Quadruple Kaggle Grandmaster and a Data Scientist H2O.ai. He is also a 17-time Sudoku National Champion in India and won a silver medal at Asian championships. Below is what he told me.
How have you benefited from being part of machine learning communities?
ML communities are a great way to get acquainted with people who share similar interests in machine learning. They help in expanding your network.
I’ve grown professionally as well as personally by contributing to, participating in, and learning from the various activities of such communities. It helped bridge gaps in my projects and career, while also increasing my own visibility, leading to more opportunities.
Not surprisingly, all my career opportunities (across startups as well as larger firms) have come through community exposure and networks.
What tips would you give to someone considering joining an online community?
Participate. Actively.
Do as many things as possible among your interests to make the best out of communities. Be hands-on, learn and work simultaneously, and don’t shy away from anything.
Be open to ideas, approaches, and trying new things. Even the craziest of ideas is worth experimenting with.
No question is stupid and even the most successful people often ask for help. The communities are free, open, and extremely kind in responding and helping out. It’s always good to give back to the community as well, in whatever way possible. Don’t forget that.
Could you please briefly describe the communities you are involved with?
Kaggle: A goldmine of information, ideas, models, discussions and the heart of ML innovation.
AnalyticsVidhya: One of the best platforms for education, tutorials and training in ML.
CTDS: Podcasts like CTDS provide a lot of insights into how top professionals in the industry have become successful and what are some high level pros and cons to think about.
Twitter: Helps in getting up to date with the latest news about products, libraries, and professionals.
Local communities: Some of the local communities are good to interact with to understand the geographical landscape of the field.
No single community has it all. Being a part of at least 2–3 different communities helps cover a larger spectrum of information and sometimes massages your thoughts with different perspectives.
Community as a route to unparalleled achievements
Sarada Lee is a Visiting Scholar of the Data Institute, University of San Francisco, and a Conjoint Fellow of the School of Medicine and Public Health, University of Newcastle, Australia. She is an experienced corporate treasurer and the co-founder of the Perth Machine Learning Group.
How have you yourself benefited from being part of machine learning communities?
A lot! I was an accountant and worked for large corporations for decades. I was PROHIBITED from installing any software onto my work computer due to restricted admin rights. This new world of downloading open source software (and using the command line) was a strange thing for me. When I started learning ML in late 2016, it was an intimidating and frustrating experience to set up local and/or remote environments. The barrier to entry was very high. I was very thankful for those who answered my random questions in fast.ai forums (Radek included) and my local ML community (i.e., Perth Machine Learning Group). Without their support, I would have given up within a few days.
What tips would you give to someone considering joining an online community?
- Choose the platform wisely — pick one without a down-vote button :). I highly recommend joining the fast.ai community. The founders of fast.ai, Jeremy Howard and Rachel Thomas, set the right tone from day one. They want to make neural nets uncool again and support diversity.
- Understand the way you learn. Find a teacher(s) who suits you best. For example, I am a visual person. I need visual illustrations all the time. When I first came across the fast.ai part 1 video playlist, I jumped to Lesson 4, which showed a number 7 in a spreadsheet. Jeremy explained how convolutional neural networks work using Excel. I could understand the maths. So, my ML journey began. :-)
- Don’t be afraid to ask questions. I have to admit, it was a very scary experience. However, I was glad I did when someone’s response worked like magic. Therefore, I could progress further. If the answer is not clear to you, ask further questions to get to the bottom of it.
- I shared the lesson learnt from item 3), which could be code/steps, for my future reference. I don’t want to make the same mistake twice and I can also reinforce my learning/understanding. I won’t fully understand something until I can explain it to someone else. Hopefully, I could help someone who comes across the same problem in the future.
- Actively participate in the online community of your choice by way of upvoting/liking fellow students’ questions or attempting to answer questions. If you find it too intimidating to answer publicly, send your answers via personal messages. You will make someone’s day.
- Pick a project and complete it. A project can be:
- Participating in Kaggle competitions with a team (participating not necessarily to be a Kaggle master)
- Implementing ML papers
- Presenting an ML solution for a problem you care about
- Generating a piece of ML art; etc.
Could you briefly describe the communities you are involved with?
Regarding an international ML community, I am part of fast.ai. Like Radek, I will be a fast.ai student forever! I was lucky enough to have been part of the diversity fellowship and my ML journey was shared here. Being part of this ML community, I am riding on the grant’s shoulder. Below is my personal experience, and it still feels surreal.
For the local ML community, I co-founded the Perth Machine Learning Group in late 2016. The first few “meetings” were held in my living room. Now, we have almost 2.7K members. Not bad for a remote location with only a 1.5 million population in the metro area. I grew in ML knowledge and friendship with the core members. We encourage diversity (by running “women in machine learning” workshops and supporting SheCodes), have exhibited generative art in Fringe Festivals, and much more. It is more fun to learn and grow with like-minded people. :-)
Through the Perth Machine Learning Group, I became involved with helping Dr. Luke Garratt from Telethon Kids Institute on ML related projects. By following Jeremy on social media, I came across the Wicklow AI Medical Research Institute (WAMRI). Luckily, my team was accepted and I had the opportunity to work and learn from my “mini” ML hero, Andrew Shaw. (Note: “Mini” is a relative term because Jeremy is my ML hero.) Through this international collaboration, I was appointed to two honorable positions, namely, a Visiting Scholar of the University of San Francisco and a Conjoint (Research) Fellow from the University of Newcastle, Australia, the School of Medicine and Public Health. (Remarks: Due to the pandemic, things got delayed. Currently, we are working on publishing our findings.) I also received the Tech [+] 20 Award from Women in Technology Western Australia (WiTWA) in 2019.
During the pandemic, Jeremy, as an advocate of #Masks4All, offered to host my article, entitled “Saving the Mask”, on the fast.ai website. We tried to create awareness of wearing masks in order to protect each other. We shared a common goal toward public health. In the fast.ai forum, I also “met” some wonderful people who are knowledgeable and willing to help beginners.
Community participation as an art form with a strong emphasis on efficiency
Zach Mueller is a fast.ai Community Leader and an intern at Novetta. He helped countless people via the fast.ai forums. He is an undergraduate at the University of West Florida.
How have you yourself benefited from being part of machine learning communities?
Being active in machine learning communities not only has helped me become a better practitioner over time but has also led to job opportunities and a resume cushion, as well as helped me explore topics and ideas I never would have thought to explore before. I’ve personally had employers find me on the forums and look into my work both there and in GitHub. Your responses and engagement in the forums not only provide insight into your journey through machine learning (smaller, easier issues in the beginning, more complex ideas later on) but also show whether you simply ask or whether you give back as well. This, in turn, becomes a good judge of character, as employers can see how you respond to questions or how helpful those answers may be. I likely would not have found my current job (or internship this past summer) so quickly without my employer first finding me on those forums
What tips would you give to someone considering joining an online community?
Come with an open mind. Everyone in there has different backgrounds and different levels of experience. The most frustrating part I’ve found when trying to peruse the forums is when people don’t do their best to first look up a problem to see if there is a solution somewhere, and if not, they don’t post a full reproducer of their issue or do not provide enough information. I’m not immune to this, as I still accidentally do it some days. If you want someone to really engage with your post, do your best to give as much information as necessary to fully understand your issue or idea. Also, don’t get frustrated if no one responds to your post in < 24 hrs. There could be many reasons why: Did you include enough information for them to get the gist of the issue? Perhaps the person who can answer your question checks the forum only once a week. The answer isn’t to ping back in your own thread; instead, just wait it out and have a little more patience.
Could you please briefly describe the communities you are involved with?
I’ve always tried to be active in a group, one way or another. When I started in marine biology in Colorado, I joined a local reef-keeping forum and was very active at a young age with their meetings and community. Nowadays, the main group I reside in is the fast.ai forums, and one or two others. Time is a limiting factor in how much I can put into a community. I briefly mentioned this in 1, but having that other perspective from someone else working in the same field, or using the same library, can help you understand the realm that machine learning resides in. You could have joined for one reason and then found that, thanks to one or two community members, you’re on a path that you couldn’t have imagined starting out on. It can be motivating and inspiring and can help to fuel your drive for whatever passion you have around that community/topic. Common issues and frustrations are solved (most of the time) and the answers are freely available to you, saving hours upon hours of headache. Communities and the people within them are an invaluable resource, regardless of the field.
Community-taught ML engineer as a viable major to pursue
Sanyam Bhutani is an ML Engineer and AI Content Creator for H2OAI. He is also the Chai Time Data Science podcast host and a top 1% Kaggler.
How have you benefited from being part of machine learning communities?
I like to call myself a “Community-taught ML Engineer,” although I’m a bad example of an ML Engineer because I still have a long way to go. I credit whatever minute knowledge I possess to the different communities that I’ve been exposed to.
I started my ML Engineer by taking up a challenge. The challenge offered to me was that these are subjects limited to researchers and that, being a stubborn undergrad, I should steer clear of them. I’m sure these were suggested for the best, However, at the same time, my university peers and guides and local communities had little guidance to offer.
So, I switched to the internet and started signing up for every single slack community and forum out there.
In university, you get to meet many people your age. However, as diverse as the group might be, and I’m sure Radek would agree with me, diversity is still rare in tech degrees. The online communities exposed me to so many amazing people from all walks of life.
People in middle/late age, all equally excited about AI. Beyond sharing the passion, I also learned how to communicate and write messages, talk on calls, greet someone, and understand accents. Yes, these are very basic things, but being a college nerd, I had never learned any of this.
I got my first “contract” thanks to being active in a community. The numbers (which are still insane to me) that appear for the blog and podcast — all of this started thanks to my being active in communities and talking to people.
The author of this incredible book taught me to not be an arrogant college student and blame lectures for the fact that I don’t have the time to Kaggle/study or say that it’s too burdensome. Radek himself at some point mentioned that his commute time allowed him to make a few submissions, while the hours he spent putting the baby to sleep were when he’d read papers and forums. To someone without any responsibilities or any skills in managing time, such exposures were mind-opening.
What tips would you give to someone considering joining an online community?
I used to join to ask questions. I would suggest doing the opposite: Answer others’ questions!
Contribute as much as you can!
It’s counterintuitive, but often you learn so much more by answering questions and helping others! It helps clarify your own understanding and also helps carry the torch forward (pun intended).
I landed my first freelance job because I was answering questions for some kind person who later observed that I had some knowledge and offered me a chance to help him with the project.
Conversely, I learned many things because people were kind enough to answer my questions. No, this is not something we get paid for in money, but the amount of knowledge earned is immense.
I would also tell myself to give more talks, as many as I could. I’m a person who would freeze and lose words even on Zoom presentations. However, I’ve slowly gradient descended into fixing my language model :)
I think it’s an essential skill, being able to communicate technical ideas. A few years later, being in an “industry,” I can clearly see the value. You might be an amazing speaker already, but do it still. One of my closest friends, Himangee Kainthola, has taught me we’re all a Work in Progress. The learning, for me, has been amazing and really helpful and encouraged me to continue improving
Could you briefly describe the communities you are involved with?
The ones I’m most active in are: H2O.ai, fast.ai and Machine Learning Tokyo.
All of these are based on a few principles:
- Fostering an open culture
- Encouraging learning
- Sharing positivity toward newcomers.
These are very basic ideas. However, to anyone starting their journey, speaking from experience, if someone says two extra words of encouragement toward a newcomer’s efforts, they can help them go a long way.
I believe all of these communities also foster open learning, which has helped the members learn and grow together. Community-building is a positive-sum game and everyone gets to grow together.
For many of us, in 2020, the Zoom calls were the only way we kept learning AI.