AI EducademyAIEducademy
🌳

Fondations IA

🌱
AI Seeds

Partez de zéro

🌿
AI Sprouts

Construisez les fondations

🌳
AI Branches

Mettez en pratique

🏕️
AI Canopy

Approfondissez

🌲
AI Forest

Maîtrisez l'IA

🔨

Maîtrise IA

✏️
AI Sketch

Partez de zéro

🪨
AI Chisel

Construisez les fondations

⚒️
AI Craft

Mettez en pratique

💎
AI Polish

Approfondissez

🏆
AI Masterpiece

Maîtrisez l'IA

🚀

Prêt pour la Carrière

🚀
Rampe de lancement entretien

Commencez votre parcours

🌟
Maîtrise comportementale

Maîtrisez les compétences relationnelles

💻
Entretiens techniques

Réussissez l'épreuve de code

🤖
Entretiens IA et ML

Maîtrisez l'entretien ML

🏆
Offre et au-delà

Décrochez la meilleure offre

Voir tous les programmes→

Labo

7 expériences chargées
🧠Terrain de jeu neuronal🤖IA ou humain ?💬Labo de prompts🎨Generateur d'images😊Analyseur de sentiment💡Constructeur de chatbot⚖️Simulateur d'ethique
🎯Entretien simuléEntrer dans le labo→
ParcoursBlog
🎯
À propos

Rendre l'éducation en IA accessible à tous, partout

❓
FAQ

Common questions answered

✉️
Contact

Get in touch with us

⭐
Open Source

Construit publiquement sur GitHub

Commencer gratuitement
AI EducademyAIEducademy

Licence MIT. Open Source

Apprendre

  • Programmes
  • Leçons
  • Labo

Communauté

  • GitHub
  • Contribuer
  • Code de conduite
  • À propos
  • FAQ

Soutien

  • Offrez-moi un café ☕
  • Conditions d'utilisation
  • Politique de confidentialité
  • Contact
Programmes d'IA et d'ingénierie›✏️ AI Sketch›Leçons›Tableaux et tables de hachage
📦
AI Sketch • Intermédiaire⏱️ 15 min de lecture

Tableaux et tables de hachage

Pourquoi le stockage des données compte en IA

Tout système d'IA doit stocker et retrouver des données - rapidement. Qu'il s'agisse d'une liste de pixels, d'un vocabulaire de 50 000 mots ou de millions de préférences utilisateur, le choix de la structure de données détermine la vitesse de réflexion de votre IA.

Deux structures dominent : les tableaux (arrays) et les hash maps. Maîtrisez-les, et vous avez la base de presque tout pipeline d'IA.

Tableaux - Listes ordonnées à accès instantané

Un tableau est simplement une liste numérotée d'éléments stockés côte à côte en mémoire. Chaque élément possède un index - sa position, en commençant à zéro.

index:   0       1       2       3       4
value: ["cat", "dog", "bird", "fish", "frog"]

Les éléments étant contigus, on accède directement à n'importe quelle position. Besoin de l'élément 3 ? C'est immédiat. C'est un accès en O(1) : le temps est le même que le tableau contienne 10 ou 10 millions d'éléments.

Un tableau de cinq éléments avec les indices 0 à 4, montrant l'accès direct à l'index 3
Les tableaux permettent d'accéder directement à n'importe quelle position grâce à son index.

Quand les tableaux brillent

  • Vecteurs de caractéristiques : une image peut être représentée par un tableau de 784 nombres (28×28 pixels), chacun contenant une valeur de luminosité.
  • Embeddings : les modèles de langage stockent le sens des mots sous forme de tableaux de centaines de nombres à virgule flottante.
  • Traitement par lots : les données d'entraînement sont chargées dans des tableaux pour que le GPU puisse traiter des milliers d'exemples simultanément.

Le revers de la médaille

Insérer ou supprimer un élément au milieu coûte cher. Tous les éléments suivants doivent se décaler. C'est du O(n) - plus il y a d'éléments, plus c'est long.

🤔
Think about it:

Si vous aviez une playlist de 10 000 titres et vouliez insérer un morceau en position 5, chaque titre à partir de la position 5 devrait se décaler. Comment un service de streaming pourrait-il gérer cela sans ralentir ?

Hash Maps - Recherches instantanées par clé

Une hash map (aussi appelée dictionnaire ou table de hachage) stocke les données sous forme de paires clé-valeur. Au lieu d'accéder par index, on accède par une clé significative.

Leçon 1 sur 100% terminé
←Retour au programme

Discussion

Sign in to join the discussion

Suggérer une modification de cette leçon
word_counts = {
  "hello": 42,
  "world": 37,
  "AI": 156
}

Besoin du compteur pour "AI" ? La hash map utilise une hash function pour convertir la clé en index en coulisses. Résultat : un temps de recherche moyen en O(1) - comme les tableaux, mais avec des noms au lieu de numéros.

🤯

Les dictionnaires Python sont des hash maps. Quand ChatGPT comptabilise les fréquences de mots pendant l'entraînement, il utilise des structures similaires pour suivre des milliards d'occurrences à travers tout le texte d'Internet.

Utilisations en IA

  • Correspondance de vocabulaire : transformer des mots comme « brilliant » en token ID 8921 pour un modèle de langage.
  • Comptage de fréquences : combien de fois chaque mot apparaît-il dans un jeu de données ? Une hash map répond en un seul passage.
  • Mise en cache : si une prédiction a déjà été calculée pour une entrée X, on la stocke pour ne jamais la recalculer.

Complexité temporelle en bref

| Opération | Tableau | Hash Map | |-----------|---------|----------| | Accès par index | O(1) ⚡ | N/A | | Accès par clé | O(n) 🐢 | O(1) ⚡ | | Insertion en fin | O(1) ⚡ | O(1) ⚡ | | Insertion au milieu | O(n) 🐢 | N/A | | Recherche d'une valeur | O(n) 🐢 | O(1) ⚡ |

Retenez : O(1) signifie « instantané, quelle que soit la taille » et O(n) signifie « plus les données sont volumineuses, plus c'est lent ».

🧠Vérification rapide

Vous avez 100 000 profils utilisateur et devez trouver un utilisateur par son nom d'utilisateur. Quelle structure est la plus rapide ?

Patron classique : comptage de fréquences

L'un des patrons les plus utiles en entretien comme en IA est le comptage d'occurrences :

counts = {}
for each word in text:
    if word in counts:
        counts[word] = counts[word] + 1
    else:
        counts[word] = 1

Un seul passage dans le texte donne la fréquence de chaque mot. Les modèles de langage utilisent exactement cette approche (à grande échelle) pour comprendre quels mots comptent le plus.

Patron classique : le problème Two-Sum

Étant donné un tableau de nombres et une cible, trouvez deux nombres dont la somme égale la cible. L'approche naïve vérifie toutes les paires - O(n²). L'approche astucieuse utilise une hash map :

seen = {}
for each number in array:
    complement = target - number
    if complement in seen:
        return [seen[complement], current_index]
    seen[number] = current_index

Un seul passage, en O(n). La hash map mémorise ce qu'on a déjà vu.

🧠Vérification rapide

Pourquoi l'approche par hash map du two-sum est-elle plus rapide que la vérification de toutes les paires ?

Quand choisir quoi

  • Utilisez un tableau quand l'ordre compte, quand vous accédez par position ou quand vous traitez tout séquentiellement (comme les pixels d'une image).
  • Utilisez une hash map quand vous avez besoin de recherches rapides par clé, de comptage d'occurrences ou de vérifier rapidement l'existence d'un élément.
🤔
Think about it:

Un moteur de recommandation doit vérifier si un utilisateur a déjà vu un film avant de le suggérer. Stockeriez-vous l'historique dans un tableau ou une hash map ? Quels compromis vous viennent à l'esprit ?

🧠Vérification rapide

Un modèle d'IA stocke des word embeddings sous forme de tableaux de 300 nombres chacun. Pourquoi les tableaux sont-ils un bon choix ici ?

Points clés à retenir

  • Les tableaux offrent un accès en O(1) par index et sont la colonne vertébrale de l'IA numérique (images, embeddings, tenseurs).
  • Les hash maps offrent un accès en O(1) par clé et sont indispensables pour les recherches, le comptage et la mise en cache.
  • Choisir la bonne structure peut transformer un algorithme O(n²) en O(n) - une différence capitale quand on traite des millions de données.
  • En pratique, la plupart des pipelines d'IA utilisent les deux : tableaux pour le calcul numérique, hash maps pour les métadonnées.