The github is this tinyMLx · GitHub place?
I have another question from the live session. I heard when this question was discussed that it would be nice if some of the TinyML material was translated and in addition it could be adapted and tested in other educational environments like those mentioned in the previous discussions (and subsequently experiences exchanged). I’m part of university team (working on new technologies in education) that would be eager to insert AI and more specifically TinyML in different school subject curricula. Could that be possible? Maybe in a form of formal or informal cooperation between lab teams for the diffusion of this technology? We are already very excited for the potentials this ML technology has and thank you for the opportunity so far!
Yes that is the right place. You can also specifically find a nice outline with links for all of the edX course material at: https://github.com/tinyMLx/courseware/tree/master/edX. We’re also going to continue to add links to other course materials as they become available and will also update the website TinyML4 Education projects with materials, workshops, and any other opportunities we find!
@vjreddi and I would love to help out and make that possible! That was our main motivation for releasing all of the material! So do let us know if we can help you think through things as you start to adapt the material for different audiences! And if you do make new materials please consider giving us a link to them so we can add them to our list of available TinyML courseware that others can adapt!
Alright folks! Here’s the video recording from the AMA on March 18th!
Future AMA focuses include: TinyML4STEM, TinyML4D, TinyML4Diversity and so forth.
Welcome your feedback thoughts and ideas!
Dear All,
During our first AMA, we didn’t have a chance to get back to all the questions. However, the team took the time to answer many of the questions offline. Please see our responses below.
We will be spinning up the 2nd AMA session next week, with some special topics of discussion. So we hope to see many of you there. Stay tuned!
TinyML AMA (Offline Q&A) from Mar 18th
Credits: @petewarden @LaurenceMoroney @cbanbury @brian_plancher @vjreddi
Q: How do you see the medical (meaning public health, medicine, nutrition, etc) in relation to the development of TinyAI devices?
A: @petewarden There’s been some great work around “looping” in diabetes, which I think is a good guide for where this area might go. The good news is that it’s possible to do useful projects with very limited resources, so I’m hoping that there will be a lot of teams in garages who are now able to make progress in a way that wouldn’t have been possible before.
Q. Can edx re open the courses?
A: @vjreddi edX does a great job of allowing us to take courses for free. While auditing the TinyML course is free, it costs $$ to support learners (cloud services etc.). The course audit is tied to your email. So while we cannot open the course(s), maybe using a different email may help you continue the courses until you are able to complete the course.
Q: In the course there was a mention of course #4. Was this a joke or is there more coming?
A: @vjreddi Course 4 is definitely coming. In Course 4, we will discuss the challenges and opportunities in scaling out from one TinyML Device to thousands of devices. We staged the courses out such that learners can complete Course 3, focus on developing their projects, etc. before diving into more advanced material. Course 4 will focus on “Managing TinyML,” which naturally comes next after Course 3: Deploying TinyML.
Q: Is there a chance that (some of) the new TF 3D operations will be available in Lite/Micro?
A: @petewarden We prioritize op support based on the model usage we see in the community, so if models using those ops become common they will have a good chance of being added.
Q: Is the material (as slides) available for download to be used in other programs?
A: @brian_plancher Yes! You can find all of our material on our github here: GitHub - tinyMLx/courseware. We are also posting links to other courses (as they are created) in our TinyML4STEM and TinyML4D project pages on our website.
Q: I have general questions concerning hardware and TensorFlow: If any participant wish to use Tegra and Jeston boards for embedded implementation instead of Arduino, so would any one from penalist would support for technical difficulties in future after completing the course, for example.
@vjreddi Embedded machines are a rapidly growing field, so it will be challenging for us to support the myriad of devices. But this is exactly why we created https://discuss.tinyml.seas.harvard.edu so that learners can post questions there. That way you can post your questions in the programming Q&A section. We are working with various other devices to support devices well beyond Arduino, so plz check the Discourse.
Q. Most of the time, pytorch platform is seen more user friendly than TensorFlow while designing, implementing and debugging the codes. So, how would you motivate to use TensorFlow and then TensorFlow Lite for TinyML.
@petewarden I think a core strength of TensorFlow is the number of places where you can deploy your models, and the ecosystem around them. As well as the typical model that you might run on your server or in your infrastructure, you can also expose them to the web via TF-Serving, run them on Android, iOS or Linux-based platforms like Raspberry Pi with TF-Lite, and of course let’s not forget being able to run on tiny systems with TF-Lite Micro. When it comes to friendliness I really believe in the Keras High Level API that gives you both a declarative and a functional way of creating neural networks, so you can quickly and easily write sequential ones, but if you need to go deeper with exotic models, like GANs, then the same coding skills apply. It’s also highly extensible for you to write your own optimizers, loss functions, and even layer types!
Q: I have a question about embedded system, can I work with them in a high temperature environment and then apply TML without problem?, for example, in a thermal deposition covering
A: @cbanbury There are microcontrollers that are intended to work in high temperature settings but they tend to have less compute capability (8 bit MCU or low SRAM). In theory, you can run TinyML models on anything that can do integer math but you will likely have tighter constraints on the size of the model. TensorFlow lite micro is likely also not supported out of the box for the MCUs but it’s certainly possible to port it or use a simpler inference engine. TLDR: Yes, but it will probably be harder to implement.
Q: Professionally pursuing a job in ML and Software in general. Coming from EE, does showing my GitHub is enough?
A: @LaurenceMoroney I think showing GitHub is a great help, but I don’t think it’s enough. I’d recommend a solid resume, a good GitHub that you have mostly created yourself and know extremely well, as well as other good artifacts showing your prowess such as videos, blog posts and more. Remember, you’re always in a better place if an interviewer is asking you about your code, as opposed to giving you abstract questions to test your ability. So make sure you know it well.
Q: How to show off TinyML in the Resume?
A: @LaurenceMoroney Write about your solutions in a blog post, store your code in GitHub, and make videos of your code in action – maybe your potential employers don’t have the hardware setup to replicate your work, but if they can see you demoing it on video, as well as being able to see your code, then it puts you ahead of the game. Remember, you’re always in a better place if an interviewer is asking you about your code, as opposed to giving you abstract questions to test your ability. So make sure you know it well.
Q: When can we expect Advanced TinyML
A: @vjreddi We are planning on launching it around July timeframe. The goal is that we allow learners to focus on Course 3, develop the skills – work on the projects – and then focus on learning new things that extend into “Managing TinyML.” We want to help you all by pacing the material.
Q: How could such devices periodically transmit data using very low power?
A: @vjreddi You can use BLE. Bluetooth low energy is a great option, especially on the Nano device from the TinyML kit. The BLE is meant to be shut off most of the time. In practice, you wake up the BLE device periodically to transmit data back and forth whenever the ML model finds something useful and interesting. You don’t want to keep the module on all the time. It will eat up the battery! You can also wake it up from time to time (few months).
Q: Do ya’ll have any plans to decrease the gender inequality seen here and in the tinyml space?
@vjreddi Thanks to your question we are going to have special AMA sessions focused on important topics such as this one. Specifically, for this topic, we will have an AMA session that is dedicated to TinyML4Diversity. People passionate about this topic are encouraged to join. Stay tuned for when we will kick off this activity; it will be one of our upcoming AMAs and we are trying to gather experts in the TinyML community to come and talk about improving gender equality. As I said in our AMA recording, we appreciate raising such touch questions – that’s how we all improve – so many thanks for asking us this Q!
Q: TinyML down five years? Certainly we are going to face many challenges particularly in areas such as hacking, intrusion, malfunction, interconnection issues etc.
A: @petewarden I’m hoping that we can learn from the history of IoT and make design decisions right now that help us mitigate a lot of the issues they’ve faced. For example, a lot of TinyML devices can be effective with no network connectivity at all, so if we can ensure they don’t have unnecessary connectivity then we have naturally “air-gapped” security from a lot of threats. Another approach I’ve been involved with is separating sensors from the application processor, so that the only way to access them is through an ML model, and privacy-invading recording isn’t possible.
Q: Where can we find all the links to these cool projects?
A: @cbanbury The advised projects are still in the works and will likely release with course 4. Until then you can check out https://arribada.org/ for more information about how TinyML can be applied to conservation projects.
@brian_plancher You can also see some examples of projects from students in the Harvard version of the course we offered in Fall 2020 at this link. Finally, you can find VJ’s instructions for the projects on the Discourse.
Q: Looking for pointers and material about Anomaly Detection - any advice?
A: @cbanbury There is a lot of information out there about using machine learning for anomaly detection, although it tends to focus on large ml models and long timescales. Most of the fundamental principles are the same however.
Digi-key has a nice youtube series on TinyML anomaly detection (Edge AI Anomaly Detection Part 1: Data Collection | Digi-Key Electronics - YouTube)
Here are some papers that target the anomaly detection usecase for TinyML: