Altifigence Academy

1 / 24 · Concept

Inférence et entraînement

Si seuls les canaux de sortie passent de trois à six, comment évoluent le nombre de MAC et le nombre de biais stockés ?

Définir le calcul avant le chemin de données

L’inférence applique à une entrée des poids fixes préalablement choisis lors d’une passe avant. L’entraînement calcule aussi une perte, propage des gradients et met à jour les poids. Un circuit réalisant une convolution avant démontre donc une opération d’inférence ; il ne démontre pas à lui seul l’entraînement. Ce cours construit un petit chemin d’inférence entier. Le matériel de gradients, les optimiseurs, la précision de classification et l’importation automatique de modèles sont hors du cadre des exercices.

Rédigez un contrat pour le lot N, les canaux d’entrée C, les dimensions spatiales H et W, les canaux de sortie M et le noyau R par S. Nous utilisons l’ordre NCHW. Un élément de sortie classique accumule C×R×S produits. Pour une sortie de dimensions N×M×Ho×Wo, comptez N×M×Ho×Wo×C×R×S MAC. Ici, un MAC désigne une multiplication avec accumulation. Un rapport d’opérations en virgule flottante peut compter séparément la multiplication et l’addition : précisez donc la règle de comptage avant de comparer les rapports.

Exemple détaillé

Prenez N=1, C=2, H=W=5, M=3 et un noyau 3×3, avec un pas de un et sans remplissage. La sortie spatiale est 3×3. Il y a 27 éléments de sortie, chacun accumulant 18 produits, soit 486 MAC. Le vecteur de biais contient trois nombres stockés, un par canal de sortie, mais le biais est ajouté à 27 positions de sortie. Indiquez ces additions séparément plutôt que de modifier silencieusement la définition de MAC.

L’ordre fait partie de la correction. Une lecture d’entrée par canaux combinée à une interprétation des poids par positions spatiales associe les mauvais opérandes même si chaque valeur est légale. Étiquetez les sorties de référence avec le canal et les coordonnées spatiales. Commencez par un lot unique, précisez chaque fichier de tenseur et n’étendez la dimension du lot qu’une fois le contrat de base stabilisé.

Enregistrez les dimensions, pas, remplissages et plages numériques acceptés. Rejetez explicitement les requêtes non prises en charge. Un tableau logiciel flexible ne prouve pas qu’une implémentation RTL prend en charge toutes les tailles. De même, une sortie de référence ne mesure ni la fréquence, ni la puissance, ni la précision du modèle. Les exercices suivants distinguent les valeurs exactes d’une estimation en cycles reposant sur des hypothèses indiquées. Pour les étapes avant, arrière et de mise à jour de l’entraînement, consultez le tutoriel officiel PyTorch.

Essayez vous-même

Si seuls les canaux de sortie passent de trois à six, comment évoluent le nombre de MAC et le nombre de biais stockés ?

Lire l’explication

Il y a 54 sorties et 54×18=972 MAC. Stockez six biais. La taille d’entrée reste identique ; le stockage des poids double.

Votre choix s’applique à ce navigateur. Modifiez-le à tout moment en bas de page.