Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 27.9 KB

README.md

File metadata and controls

62 lines (43 loc) · 27.9 KB

Deep Learning Indaba Practicals 2024

This year we offer all of our practicals in both English and French! Scroll down to find the French versions of the practicals, under the English versions for each day.

Cette année, nous proposons tous nos travaux pratiques en anglais et en français ! Faites défiler la page vers le bas pour trouver les versions françaises des travaux pratiques, sous les versions anglaises de chaque jour.

Day 1 (foundations 1) – English

Topic 💥 Description 📘
Introduction to ML [using JAX] Open In Colab

In this tutorial, we will learn about some of the high-level concepts behind machine learning (ML) and the basics of JAX, a numerical computing library that we will use for our practicals. Finally, we will learn about the fundamentals of supervised learning, from linear regression, all the way to neural networks, learning the fundamentals of optimisation along the way.
Introduction to Probabilistic Thinking and Programming

Part 1 Open In Colab

Part 2 Open In Colab

Probabilistic thinking and working with probability distributions are very powerful tools for any machine learning practitioner. This practical introduces a powerful approach to solving real-world problems called probabilistic programming, and builds a helpful foundation for reasoning about probabilistic models and events.
Graph Neural Networks Open In Colab

Extended Version Open In Colab

In this tutorial, we will be learning about Graph Neural Networks (GNNs), a topic which has exploded in popularity in both research and industry. We will start with a refresher on graph theory, then dive into how GNNs work from a high level. Next we will cover some popular GNN implementations and see how they work in practice.

Jour 1 (connaissances 1) – Français

Sujet 💥 Description 📘
Introduction au Machine Learning [en utilisant JAX] Open In Colab

Dans ce tutoriel, nous allons découvrir certains des concepts de haut niveau derrière l'apprentissage automatique (ANGLAIS machine learning, ML) et les bases de JAX, une bibliothèque de calcul numérique que nous utiliserons pour nos travaux pratiques. Enfin, nous aborderons les fondamentaux de l'apprentissage supervisé (ANGLAIS supervised learning), de la régression linéaire (linear regression) jusqu'aux réseaux de neurones (ANGLAIS neural networks), en apprenant les principes de l'optimisation en cours de route.
Introduction à la pensée et à la programmation probabilistes

Part 1 Open In Colab

Part 2 Open In Colab

La pensée probabiliste et l'utilisation de distributions de probabilité sont des outils très puissants pour tout praticien du machine learning.Ce guide pratique introduit une approche puissante pour résoudre des problèmes du monde réel appelée programmation probabiliste, et construit une base solide pour raisonner sur les modèles et les événements probabilistes.
Réseaux de neurones en graphes Open In Colab

Version étendue Open In Colab

Ce tutoriel porte sur les réseaux de neurones en graphes (Graph Neural Networks en anglais, ou tout simplement GNNs), un sujet qui a explosé en popularité tant dans la recherche que dans l'industrie. Nous commencerons par une révision de la théorie des graphes, puis nous plongerons dans le fonctionnement des GNNs à un niveau général. Ensuite, nous couvrirons quelques implémentations populaires de GNNs et verrons comment elles fonctionnent en pratique.

Day 2 (foundations 2) – English

Topic 💥 Description 📘
Responsible AI Open In Colab

This notebook provides a hands-on exploration of responsible AI through two parts: analyzing ProPublica's analysis of the COMPAS risk assessment tool and examining biases using the Fairlearn toolkit. The first part focuses on ProPublica's investigation of COMPAS, and specifically on how its recidivism scores vary by race and sex. This involves data import, preprocessing, exploratory analysis, and logistic regression modeling to reproduce and interpret ProPublica's findings. The second part transitions to detecting and mitigating biases using Fairlearn, a library designed to assess and improve fairness in machine learning models. By engaging with both theoretical and practical aspects of responsible AI, this notebook aims to enhance understanding of bias in AI systems and the tools available to address it.
LLMs for Everyone Open In Colab

"LLMs for Everyone" is your gateway to the fascinating world of Large Language Models (LLMs)! In this practical, we shall dive into the core principles of transformers, the cutting-edge technology behind models like GPT, and explore how these impressive AI systems create such realistic and engaging text. You’ll also get hands-on experience training your very own Language Model!
Diffusion Models: Building your own Stable Diffusion Open In Colab

Denoising Diffusion Models are a variant of generative modelling that serve as the backbone in recent advances in image synthesis - including Dall-E, Stable Diffusion, and Midjourney. These models utilise an iterative denoising process during generation to produce high-quality samples. In this practical, we will explore the fundamentals of diffusion models, the intuition behind them, and how they work in practice. By the end of the practical, we will have covered all the steps required to train one of these models from scratch!
From Zero to 2048: Building RL environment with JAX

Beginner Level Open In Colab

Intermediate Level Open In Colab

In this practical, we will explore building a JAX environment for the game "2048". In Reinforcement Learning (RL), the roles of an Agent and an Environment are crucial, as the environment is essential for testing and training RL algorithms. On the other side, JAX has become a key tool for advancing RL algorithm implementation, enabling more efficient architectures and the creation of distributed systems that can be trained in minutes on local GPU machines. However, to achieve this efficiency, the environment needs to be "jaxified". The importance of adapting environments for JAX is highlighted by the growing focus on jax-environments repositories like Jumanji, Gymnax, and JaxMARL.

Jour 2 (connaissances 2) – Français

Sujet 💥 Description 📘
IA Responsable Open In Colab

Ce bloc-notes propose une exploration pratique de l'IA responsable en deux parties : analyser l'analyse de ProPublica de l'outil d'évaluation des risques COMPAS et examiner les biais à l'aide de la boîte à outils Fairlearn. La première partie se concentre sur l'enquête de ProPublica sur COMPAS, en particulier sur la manière dont ses scores de récidive varient selon la race et le sexe. Cela implique l'importation de données, le prétraitement, l'analyse exploratoire et la modélisation par régression logistique pour reproduire et interpréter les résultats de ProPublica. La deuxième partie passe à la détection et à l'atténuation des biais à l'aide de Fairlearn, une bibliothèque conçue pour évaluer et améliorer l'équité des modèles de Machine Learning. En abordant les aspects à la fois théoriques et pratiques de l'IA responsable, ce bloc-notes vise à améliorer la compréhension des biais dans les systèmes d'IA et des outils disponibles pour y remédier.
Les LLM pour tous Open In Colab

"Les LLM pour tous" est votre porte d'entrée dans le monde fascinant des grands modèles linguistiques (LLM) ! Dans ce cours pratique, nous allons plonger dans les principes fondamentaux des transformateurs, la technologie de pointe derrière des modèles comme GPT, et explorer comment ces impressionnants systèmes d'IA créent un texte aussi réaliste et engageant. Vous bénéficierez également d'une expérience pratique de la formation de votre propre modèle linguistique!
Diffusion Models : Construire votre propre Stable Diffusion Open In Colab

Les modèles de diffusion à débruitage (Denoising Diffusion Models) sont une variante de la modélisation générative qui constitue l'épine dorsale des progrès récents en matière de synthèse d'images - notamment Dall-E, Stable Diffusion et Midjourney. Ces modèles utilisent un processus de débruitage itératif pendant la génération afin de produire des échantillons de haute qualité. Dans ce TP, nous explorerons les principes fondamentaux des modèles de diffusion, l'intuition qui les sous-tend et leur fonctionnement en pratique. À la fin du TP, nous aurons couvert toutes les étapes nécessaires à l'apprentissage d'un de ces modèles à partir de zéro !
De zéro à 2048 : Construire un environnement RL avec JAX

Begginer Level Open In Colab

Intermediate Level Open In Colab

Dans cette pratique, nous allons explorer la construction d'un environnement JAX pour le jeu « 2048 ». Dans l'apprentissage par renforcement (RL), les rôles d'un agent et d'un environnement sont cruciaux, car l'environnement est essentiel pour tester et entraîner les algorithmes RL. D'autre part, JAX est devenu un outil clé pour faire progresser la mise en œuvre des algorithmes d'apprentissage par renforcement, permettant des architectures plus efficaces et la création de systèmes distribués qui peuvent être entraînés en quelques minutes sur des machines GPU locales. Cependant, pour atteindre cette efficacité, l'environnement doit être « jaxifié ». L'importance de l'adaptation des environnements pour JAX est soulignée par l'intérêt croissant pour les dépôts (repositories) d'environnements jax tels que Jumanji, Gymnax, et JaxMARL.

Day 3 (applications) – English

Topic 💥 Description 📘
AI for Biology Open In Colab

In this practical, we will learn about some of the major application areas of AI in the biosciences, go over the role of DNA and how DNA language models are trained, extract and explore DNA embeddings using a pre-trained state-of-the-art DNA language model, and dive into a hands-on problem on modelling DNA sequences and their properties.
Fine-tuning and resource-efficient LLMs for NLP Open In Colab

Low-resource NLP (Natural Language Processing) refers to the study and development of NLP models and systems for languages, tasks, or domains that have limited data and resources available. These can include languages with fewer digital text corpora, limited computational tools, or less-developed linguistic research. In this practical, we will explore data scarcity and compute resource limitations in low-resource NLP, and introduce some ways to address these challenges with parameter-efficient finetuning of LLMs.
From Centralised to Decentralised Training: An Intro to Federated Learning Open In Colab

Federated Learning (FL) is a growing research area with a number of existing applications and numerous reseach papers presented at conferences, journals and workshops each year. While this is great for research and industry experts who have a thriving FL community, the rapid innovations in FL implicitly create a barrier of entry for those wanting to understand FL from a first principles perspective. Despite FL being a relatively simple concept at its core, it can be implemented in numerous ways and includes a great deal of domain-specific jargon that can leave newcomers feeling overwhelmed or alientated initially. Our practical is aimed at bridging this gap. We want to provide a beginner-focused introduction to FL, stripping away any fancy bells and whistles such that focus is placed on the foundational concepts. We want you to leave the practical with a good enough understanding such that you can explain Federated Learning to someone else, and such that you can intuit when Federated Learning could be useful in future scenarios you might encounter.
Recommender Systems Open In Colab

Building Recommender Systems using GNNs (Part 2) Open In Colab

Recommender Systems are probably one of the most ubiquitous types of machine learning models that we encounter in our online life. They influence what we see in our social media feeds, the products we buy, the music we listen to, the food we eat, and the movies we watch. In this practical, we take you through some of the techniques popularly used in industry to recommend the content you see online by building our very own movie-recommender system.

Jour 3 (applications) – Français

Sujet 💥 Description 📘
IA pour la Biologie Open In Colab

Dans cette pratique, nous allons : apprendre à connaître certains des principaux domaines d'application de l'IA dans les biosciences, passer en revue le rôle de l'ADN et la manière dont les modèles de langage ADN sont entraînés, extraire et explorer les plongements ADN à l'aide d'un modèle de langage ADN pré-entraîné à la pointe de la technologie, et nous plonger dans un problème pratique de modélisation des séquences d'ADN et de leurs propriétés.
Finetuning et LLM économe en ressources pour le NLP Open In Colab

Cette étude pratique couvre les modèles de traitement du langage naturel (TAL en français ou NLP en anglais) pour les langues, lorsque la tâche ou le domaine étudié se fait avec des ressources limitées. Il peut s'agir de langues avec de petits corpus de textes, de puissance calculatoire limitées ou de recherches linguistiques moins développées. Dans cette étude pratique, nous explorerons la rareté des données et les limitations des ressources informatiques dans le traitement du langage naturel, et présenterons quelques moyens de relever ces défis grâce à un finetuning limité des LLMs.
De l'entraînement centralisé à l'entraînement décentralisé : une introduction au Federated Learning Open In Colab

Le Federated Learning (FL) est un domaine de recherche en pleine croissance avec un certain nombre d'applications existantes et de nombreux articles de recherche présentés chaque année lors de conférences, dans des revues et des ateliers. Bien que cela soit bénéfique pour les experts de la recherche et de l'industrie qui disposent d'une communauté FL florissante, les innovations rapides dans le domaine du FL créent implicitement une barrière à l'entrée pour ceux qui souhaitent entrer dans cet espace et comprendre le FL à partir des premiers principes. Bien que le FL soit un concept relativement simple à la base, il peut être mis en œuvre de nombreuses façons et comprend un grand nombre de jargons spécifiques au domaine qui peuvent laisser les nouveaux arrivants se sentir dépassés ou aliénés au départ. Notre approche pratique vise à combler cette lacune. Nous voulons fournir une introduction au FL axée sur les débutants, en supprimant toutes les fioritures afin que l'accent soit mis sur les concepts fondamentaux. Nous voulons que vous quittiez cette formation pratique avec une compréhension suffisante pour pouvoir expliquer le Federated Learning à quelqu'un d'autre et pour pouvoir deviner quand le Federated Learning pourrait être utile dans les futurs scénarios que vous pourriez rencontrer.
Systèmes de recommandation Open In Colab

Construire des systèmes de recommandation à l'aide de GNN (Partie 2) Open In Colab

Les systèmes de recommandation sont probablement l'un des types de modèles de ML les plus omniprésents que nous rencontrons dans notre vie en ligne. Ils influencent ce que nous voyons dans nos flux de médias sociaux, les produits que nous achetons, la musique que nous écoutons, la nourriture que nous mangeons et les films que nous regardons. Dans ce TP, nous vous présentons quelques-unes des techniques couramment utilisées dans l'industrie qui recommandent le contenu que vous voyez en ligne en construisant notre propre système de recommandation de films.