Review of free educational resources 2024
Review of free educational resources before 2024-2025 academic year
Comparison between (free) education resources of Amazon Web Services, Google Cloud Platform, and Microsoft Azure
My goal is to provide students with free educational resources for machine learning or deep learning courses. To achieve this, I have reviewed the free educational and virtualization resources provided by the three major cloud providers:
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
- Microsoft Azure and Microsoft Learn
Preface
In order to implement a machine learning or deep learning course, the following resources are required:
-
Programming environment:
- Jupyter notebooks, Python, and libraries such as TensorFlow, PyTorch, and scikit-learn.
- GPU-enabled
- The environment should be easy to set up and use. The most prominent example is Google Colab.
-
Educational materials, such as lectures, tutorials, and hands-on labs:
- Structured and pedagogically sound.
- Self-explanatory
- Up-to-date
- In different formats, such as text, video, and code.
- Theoretical, practical, or mixed content.
- Automatically graded assignments.
The challenge is double: to find a suitable programming environment and to find educational materials.
This post follows my efforts to provide the best experience for my students. It builds on my previous experience as Nvidia Academic Ambassador and a certified instructor.
Azure and Microsoft Learn
Education Resources
Microsoft Learn offers numerous free educational resources, such as TensorFlow fundamentals, PyTorch Fundamentals and Python.
Pros:
- Free for all users; no need to apply as a student or instructor.
- At least part of the material is pedagogically sound and structured
- Hands-on labs.
- Both Tensorflow and PyTorch.
Cons:
- From TensorFlow fundamentals, the following issues were found:
- Failed to find a free GPU kernel. The resulting training time is quite long, e.g. 1 minute for a single epoch of a simple model. Moreover, sometimes, an available kernel is non-existent.
- Outdated versions, such as TensorFlow 2.2.1 (the current version is 2.16)
- Inconsistencies within the learning path, like using class-based API in one module and sequential API in another. TensorFlow versions also vary between 2.2 and 2.6.
- From Understand data science for machine learning:
- Portions of the code are not working, for example here
- No direct support for students or instructors. Note, that community support is not always helpful (see example in bullet above).
- Trivial badge requirements; a user can pass the badge by clicking through the material without any understanding; rudimentary quizzes.
- Explanations are text-based (no videos).
- Promotes Visual Studio Code
Virtualization resources
Azure provides a free virtual machine (VM) resource, e.g. Azure Dev Tools for Teaching or Azure for Students.
Procs:
- Free $100 credit for students (confirmed working) with no credit card required.
- Can be renewed every year.
- Applied directly by students.
- Allows for GPU-enabled virtual machines.
- $200 credit for new users to use Azure services for 30 days. Note, this credit does not support GPU-enabled virtual machines, at least out of the box.
Note:
- “Interesting” features require a purchase of a Volume Licensing agreement.
Google Cloud Platform (GCP)
Education resources - Google Cloud Skills Boost credits
- Students can apply directly through Google Cloud for Students.
- Haven’t tried yet.
- Courses:
- Can be reviewed through Google Cloud Skills Boost.
- Only labs require special credits.
- Instructors have to apply on a per-course basis through Google Cloud Career Launchpad Program.
- Note, that the application process may take up to 2 weeks (10 business days).
- Up to 5,000 credits per faculty member (per year?).
Procs:
- Visually pleasant
- Experience with a “real” virtual machine environment.
- All the relevant code is freely available at Github repository. During the course, virtual machine resources are provided to run this code…
- Auto-graded assignments.
Cons:
- Outdated Tensorflow 2.6.5 (the current version is 2.16)
- Confusing warnings.
- Not self-explanatory enough, at least from my point of view.
- Slow CPU-based training with 1 minute or more for a single epoch of a model.
- Tensorflow only. As expected, no PyTorch.
Examples of some relevant courses for my teaching:
- Computer Vision Fundamentals with Google Cloud (8 hours, 40 credits, code)
- TensorFlow on Google Cloud (15 hours, 25 credits, code) that is a part of the Machine Learning Engineer Learning Path and cannot be learned on its own.
- Classify Images with TensorFlow on Google Cloud (7 15’, 26 credits, code)
- Setting up a Development Environment - Python (1 50’, 1 credit) - Linux VM with SSH connection. The same one on Coursera
Virtualization resources
Pros:
- $300 credit for new users valid for 90 days. Note, this credit does not support GPU-enabled virtual machines.
- $100 in Google Cloud credits per teaching staff and up to $50 in Cloud credits per student through Google Cloud for Faculty with no credit card required.
Amazon Web Services (AWS)
AWS Academy
- Dedicated to educational institutions.
- Provides free resources for educators and students.
- The registration process requires a Central Point of Contact (CPOC) from the institution. The CPOC appointment involves obligatory training and requires an institutional license agreement (non-trivial bureaucracy).
- Without CPOC, it is impossible to assess the resources. Even detailed syllabi are unavailable. Note, I am currently CPOC at my institution.
Procs:
- Videos-based explanations.
- PPT presentations are available for teaching in class.
Cons:
- Targets MLOps rather than ML theory, i.e. the focus is on the deployment of AWS-provided ML/DL models rather than the development of ML models.
- No auto-grading coding skills. Only multiple-choice questions.
- Courses are not self-explanatory. Active educator participation is expected.
AWS Educate
- Limited number of basic resources.
- Appears less useful for academic purposes (replaced by AWS Academy).
Virtualization resources
- All users can apply for AWS Free Tier, which includes 750 hours of EC2 instances per month for 12 months.
- Certified institutions with CPOC can apply for a Lab (training resource) $50 in AWS credits per student, 4 hours of EC2 instances per session.
Summary of academic resources comparison (cloud providers)
- Most of the resources aimed to promote the cloud provider’s services rather than to provide a high-quality educational experience.
- Most of the ML/DL training is oriented towards MLOps rather than theory and programming skills. For example, there is no requirement for TensorFlow/PyTorch for Google’s Professional Machine Learning Engineer certification or AWS’s Machine Learning Engineer certification.
The following table summarizes the main differences:
Topic | Azure | AWS | GCP |
---|---|---|---|
General Management | Individual | Institutional | Course Faculty |
Bureaucracy | No | Yes | Minimal |
Pre-review | ★★★ | ★ | ★★★ |
Self-explanatory | ★ | ★★ | ★★ |
Video material | Text-only | V | V |
Academic depth | ★★★ | ★ | ★★ |
ML Theory vs MLOps Practice | Both | MLOps | Both |
Tensorflow | V | X | V |
PyTorch | V | X | X |
Students management | X | Strict | Somewhat |
Note, AWS Academy resources are not assessable without CPOC.
Virtualization resources
- Theoretically, the free resources from each provider are sufficient for tens to hundreds of hours of GPU-enabled virtual machine with per hour billing. Practically, no free resources are available for GPU-enabled virtual machines.
- Setting up the Linux virtual machine with GPU and Python/Jupyter environment is non-trivial. Either selecting the right Docker image or installing the required libraries manually requires additional training and time.
Additional resources
General note
Please note that these resources may be significantly changed, removed or replaced with little to no advance notice!
IoT
- There is intensive cloud support for IoT, e.g. AWS IoT, Azure IoT and Google Cloud IoT (IBM Watson IoT - example of discontinued support) These resources are not covered in this post.
- There is some support for IoT, e.g. Azure example1 and example2.
- Examples of IoT cloud providers comparison (somewhat outdated).
- Nice MOOC course
Microcontrollers
- There is intensive DL framework support for microcontrollers, e.g., TensorFlow Lite for Microcontrollers by Google and Edge Impulse.
MOOCs
- MOOC sites, such as Coursera and edX, provide courses by Google, AWS, and Microsoft.
- For example, Coursera offers:
- The quality and free-ness of these courses are not covered in this post.
Additional interesting (free) MOOC resources:
- Kaggle Learn and Kaggle Guides
- Collection of short courses and full-length guides
- Deep Learning Institute (DLI) by Nvidia
- Academic ambassadors can provide free access to DLI courses.
- Machine learning in Python with scikit-learn
- Full-length course on ML with scikit-learn.
- University of Helsinki MOOC Center
- Free courses on different topics, including IoT, ML, and DL.
- Customized courses per teacher are available (programming courses only). Note, I am customizable course coordinator for our institution.
- Interesting free full-length courses are:
- Matlab Academy
- Free courses on different topics, including ML and DL (with academic license).
- deeplearning.ai
- Includes free lectures of full-length courses (paid assessments and certificates).
- Includes free short courses. Neat example:
- Microsoft VS Code for EDU
- Free courses on Python and Web development.
Enjoy Reading This Article?
Here are some more articles you might like to read next: