This is a strawperson proposal! I am looking for community feedback.
What do you all think about having a course project competition for Course 3 of the TinyML edX series?
What if we had a competition for the most creative and/or impactful course project, something that builds on top of the examples we have already given so that people don’t have to start. Folks are encouraged to create any project of their liking in the context of the sensors that they already have access to on the TinyML course kit.
The structure for the competition could be as follows:
Describe the problem you are trying to solve using TinyML
Capture a working demo of the project / prototype on YouTube
Give link to the GitHub repository under Apache 2.0 license so that others can work and contribute
First prize: $1,000
Second prize: $500
Third prize: $250
I don’t have a sponsor for this, but am happy to support this cause out of pocket to help foster learning and hands-on creativity. The best projects could also be featured on something like the TensorFlow blog, etc. I believe anything that helps people gain exposure in this budding field has the potential to impact careers.
Hi Vijay, a competition sounds like a fantastic opportunity to share ideas / projects and solve some hardware / code sticking points Though I bet it would be possible to get some industry sponsorship for prizes rather than having to dig into your own pocket (although that’s super kind, thank you!)
I would be interested in participating. Would be nice to have a practical application to apply what we’ve learned in the course. I don’t have any suggestions for the format at the moment but please consider giving us dads enough time to give it a shot.
I appreciate your willingness to use your own coin to sponsor the event. Very kind.
Interesting and challenging. The very idea is interesting (, encouraging and enthusing) but getting the kits in time is really challenging (, disappointing and discouraging).
Instead of leaving the competition open, shall we create a few categories such as Healthcare, Environment, Education, Assistive innovations etc. ?
We may also specify parameters for assessing, such as optimal use of hardware, efficient deployment of TinyML, and adaptability (ability to integrate and mass produce).
We may need to explore the possibilities of expediting kit deliveries with Arduino. I think it should be possible with the data of number of participants from different countries being available with us.
Thanks for your reply! Well in terms of structure, agreed the first thing one would need to do is the scope and also put together an organising committee. There’s so much great work going on in different areas I would suggest dividing the submissions into themes or catagories. I made a rather (by no means exhaustive) rambling list of things that occurred to me that organisers would need to think about, depending on scale and complexity:
• scope: objectives / goals of the competition / audience / themes, etc,
• timeline: duration and phases: before / during / after
• criteria for submissions and how and where + what platform
• clarity on rules / FAQs / IP / Ts & C’s / privacy / support
• promotion of diversity / inclusion / transparency / code of conduct
• appointing reviewers / judges and criteria
• promotion: community / social media / industry media/ events e.g. TinyML Summit / academia, etc,
• announcement of winners: how e.g. forum, website or live event?
Hi @vjreddi , this is a very good idea.
This will be further motivating to put our creativity at work.
Submission modality: ok with me, GitHub+youtube is similar to CS50’s, it has work well for me.
For judging the winners, what about a mixed group of volunteers from Academic and Business ‘worlds’?
without looking far, there may be volunteers from Harvard and Google already? And possibly more.
I like the prizes, as already well said by @Rain it may well be that some business entity would be interested to sponsor.
To the prizes though I would add an amount of ‘business exposure’ for the winners, possible even more valuable than the prizes themselves. Probably the business sector is also interested to check out who ranked higher on this competition. Win-win. On news outlets from the sector, or similar I would think.
Good point @JoydeepG that the dataset might be a problem. In Course 3, we do show going through the dataset collection process to help people be able to build their own dataset. That said, I agree it isn’t going to be ideal/perfect. I think what we are trying to shoot for here is the idea, we want to nurture the idea one might have.
Also, there is a chance we can repurpose the datasets we already talk about in the course, and have learners compete at the application level – what unique and interesting application can we enable?
That’s a great idea! Those are all terrific categories, or we can let people bin themselves into one category that they know best; I often believe that the community has a wealth of ideas that far extend our scope.
Are you suggesting these categories so that we can be fair, or because we can encourage ideas in different areas?
The only thing here is that if we make it too challenging, then younger folks and juniors might be discouraged from participating in the activity. I think this should be about creativity, and inspiring tinyML use cases, and less so about the performance and efficiency. Sure they can be discussed but we don’t make that a competitive metric, as once we know the problem to solve,… there will be many people who can help solve it efficiently.
Definitely working on this issue! We have managed to get Arduino to setup a distributor in India to expedite the shipping and ease of ordering. Here is one for starters:
I know it says out of stock at the moment, but please be patient. They are working on the inventory but it will be available. Not sure when though. With this start, there are more folks who are getting engaged with it. So hopefully there will be more distributors soon. Arduino has been great in helping support this effort.
First and foremost, thanks so much for this detailed list. This is great @moulipc!
The specific point above – are we sure we can handle a committee to review thee ideas?! I have no idea how many people will be interested, but if we have to review even 100, we’d be exhausted lol. It doesn’t seem like it would scale. What do you all think about opening it up to anyone, letting people vote was @moulipc is suggesting to decide the winner? And not really have a proposal review committee as I worry about our time.
Next to that, I love the suggestions and we should definitely adopt the suggestions.
Do we really need to worry about this? Folks are after all just going to submit their ideas online via GitHub under some license file and share a video. I think anything that is less headache for us will a long way.
Many thanks! Change starts with all of us coming together because we believe in something and getting things off the ground together. So much appreciate the support.
Thanks for the detailed list. You and @moulipc seem to have great ideas on how to organize this. I especially like your point about making sure that we promote “diversity / inclusion / transparency / code of conduct”
+1 on promoting ideas. The TinyML summit is a great place for sure, and I work closely with them so I am certain this will be well received.
Announcement of winners: Absolutely. IMHO, if what we do through these events is really open up doors for students, learners and creative minds, then that’d be a success. It isn’t about just winning or identifying a champion, it is about creating opportunities so that people can go onto doing amazing new things. Therefore, venues like TinyML summit would be awesome where people also get industry exposure.
We did launch the TinyML Research Symposium this year, along with the TinyML Summit. My hope is that over time we grow that into an official IEEE/ACM conference if there is sufficient interest in the topic.
Yea, that’s a good point. I agree that there is more to it than just prizes. I think having both won’t hurt, as there are always people who could use some monetary support. Your point about the businesses thing seems like it would work best with alignment with something like the TinyML summit or other big activities like this one:
That’s a great thought!. But dataset creation/cleaning could also be a separate competition. I mean for example, there are ‘N’, number of noble ideas and we just have ‘M’ number of dataset (M << N), so dataset creation and creation of a repository/pipeline will be a BIG task.
From the Project idea point of view,
We can get the ideas, categorise them as Easy, Medium , Hard problems
On top of that, identify, which datasets are available, and for which it needs to be created
For Project Ideas: We can start looking at the problems which a developing country is facing (Where low power device will work as a savior)
@vjreddi This is awesome, thank you for this stimulate event to the TinyML enthusiastic crowd. I would like to suggest something, Instead of the Arduino Nano 33 BLE kit, can’t we use cheap ESP32-S NodMCU module with readily available hardware sensors for this event? Because most of the expecting course 3 followers, still don’t have that Arduino kit due to the shipping cost problems and pandemic restriction. By the way, I personally hope to follow the course 3 and practicing what we learnt from it, with readily available cheap hardware devices.
Thank you so much best of luck for your grade expectation.
We should be explicit that one doesn’t have to use the Nano 33 BLE kit, there is really nothing to be gained from it other than it would be easy for newbies to start off. There will always be experts who can hack other platforms, but making sure even newbies can take part is important as one of our central missions has to be enabling people – esp. people who are learning to feel confident in sharing something. I hope that that’s a sentiment we all share.
Yea, this is a royal pain. I expect that we won’t do this competition until June or so… I know that sounds like a long time out but time flies when we are having fun like this sketching out ideas. So I am hoping that that won’t be a major issue. Moreover, we should definitely do these competitions from time to time, not just once. So maybe we have a first cohort, and after that we have a second cohort. And people can use whatever board they want!
One concern here is that TF Micro examples are not supported on all devices. I am hoping that we as a community can watch the lessons we put together on the Arduino platform and create similar open source videos/resources so that others can all benefit.
What do folks think of this? I’d love to get our team to do it, but it simply doesn’t scale given there are so many resources.
To keep this development effort congruent, we were also thinking of writing an online open source TinyML book in say Wiki format that everyone can contribute to… that way, the community can organically learn to support different platforms as they emerge.
Great suggestions @Anavij… only concern is with the one above. It is hard to scale. I don’t know how many project proposals we may get, but giving feedback to all of them might be really tough.
I do appreciate your idea of why it is important though.
But perhaps that can be a community driven thing? People post their project updates in the open, in the form of a google doc or something, and folks can look at the docs and give organic feedback? Or will that turn into a nightmare of a mess?