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:

  1. 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.
  2. 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

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:

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

Microcontrollers

MOOCs


Additional interesting (free) MOOC resources: