Réunion Projet ANR NEMESIS du 15 décembre 2014

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Électronique de base du processeur
Licence pro MPCQ : Cours
Distance inter-locuteur
Architecture de machines Les entrées sorties Cours
TECHNOLOGIE DES ORDINATEURS
Institut Supérieur d'Informatique
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
11ème Rencontre des Electroniciens de Midi-Pyrénées
Formation Technique 6èmepartie.
Architecture de réseaux
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Les éléments de mémorisation
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Modélisation et commande hybrides d’un onduleur multiniveaux monophasé
TRANSMISSION DES DONNEES INFORMATIQUES
Le Concept. Régulation électronique LonWorks communicante pour application poutre froide.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Etienne Bertaud du Chazaud
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Etude et réalisation d’un système asservi de contrôle de mouvement nanométrique appliqué à une source d’électrons Mémoire d’ingénieur électronique présenté.
ON SQUATTE AUSSI CODING4FUN LIKE A BOSS SQUATTEUR : RUDY HUYN.
Interbus Présentation Patrick MONASSIER Université Lyon 1 France.
Architecture de base d’un ordinateur
Gestion des Périphériques
Classification Multi Source En Intégrant La Texture
Serveurs Partagés Oracle
Applications du perceptron multicouche
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
TRANSMISSION DES DONNEES.
TRANSMISSION SÉRIE ASYNCHRONE Février 2008 JF VIENNE.
Fonction COMMUNIQUER les liaisons série
Méthode des k plus proches voisins
Titre : Implémentation des éléments finis sous Matlab
Plan de développement Définition tensions alimentation et puissance associées Alimentation analogique & Alimentation numérique Définition connecteur mezzanine.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
SYSTEMES D’INFORMATION
Réseaux de neurones.
Systèmes mécaniques et électriques
Les automates programmables
Réunion de collaboration du 9-10 Juillet 2008 J.L. Béney 1 Logiciel At  Client-Serveur Tcp/ip de la station autonome  Influence de l'architecture matérielle.
Présentation de l’automate
Info: Pour réaliser cette étape vous pouvez avoir besoin du
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Informatique 1. Les applications de l’informatique
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Modèle pédagogique d’un système d’apprentissage (SA)
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
Pinout réseau de neurones WRAPPER ENTITY: i_clk_PAD : in STD_LOGIC; i_TCK_PAD : in STD_LOGIC; i_rst_n_PAD : in STD_LOGIC; -- circuit 1 IOs i_clk_sync_PAD.
Points synthèse réunion 15_12_2014 Le réseau de neurones pourrait être entrainé de manière supervisé avec une rétro-propagation adapté à la temporalité.
Modèle réseau de neurones TODO-> spécifier architecture -> spécifier stimulus Essayer à partir des formules d’apprentissage de faire le lien avec la formule.
Plan Analyse de l’architecture: couche L3 et L4: -> but en déduire la façon de s’interfacer avec la rétine du CEA -> comprendre comment un pseudo parallélisme.
Partie 2 : Acquisition de données avec une carte Daqmx
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Système slow-control au LAPP
Générateur de pattern numérique FIFOFIFO GPIOTX/RXGPIOTX/RX Addr data (32bits*2) Contrôleur Mémoire DDR Externe(TX/RX) 1 (2) DMA + UC gestion signaux ANN.

Bilan réunion 17/10/2014 Voir avec le CEA le type de chip qu’ils ont fait fondre: une version 3D (rétine+réseau neurones), ou une version 2D avec rétine.
Réunion Projet ANR NEMESIS du 13 Avril 2015 Test Processeur Neuronal-Rémi Pallas.
Réunion Projet ANR NEMESIS du 30 Mars 2015
Idées apprentissage couche L3: démarche ascendante ou descendante Temps du premier spike: -conception filtre à la main -apprentissage suivant une règle.
Plan Analyse de l’architecture: couche L3 et L4:
Transcription de la présentation:

Réunion Projet ANR NEMESIS du 15 décembre 2014 Test Processeur Neuronal-Rémi Pallas

Contributions sur le projet Mise en œuvre des tests du processeur neuronal conçu par le CEA LETI et INRIA: Reverse engineering sur le code VHDL RTL et définition d’une application de classification de caractères pour le test du code Définition d’une architecture matérielle à base de FPGA pour le test ‘hardware’ d’un processeur neuronal Rémi Pallas-LEAD

Schéma carte rétine Rétine divisée en quatre cadrant Version 2D du circuit visible mais en fonderie, on a un chip 3D avec 2 couches et 1 layer de neurone par couche Jaune: partie configuration des mémoires des poids synaptiques ainsi que des bias -vert couche rétine comportant la couche capteur, et la couche microprocesseur Rémi Pallas-LEAD

Caractéristiques et fonctionnement du réseau de neurones Les caractéristiques du réseau de neurones à entraîner sont: -Réseau de neurones « feedforward » (perceptron multicouches): -3 couches->(in:12288*, hidden:48,out:64) -connections entre couches: -in->hidden: zone d’influence de 32*32 pixels et pas d’effets de bord -hidden->out: connexion pleine -Réseau de neurones à ‘spikes’ -Mis à jour des poids synaptiques «offline» *: 12288=48*256 -> égal au nombre de pixels d’un cadrant de la rétine Rémi Pallas-LEAD

Fonctionnement réseau de neurones 8 macro cellules . Connexion suivant la topologie Du cadrant . 48->1 6 64 neurones -scan des cellules de la rétine de haut en bas de gauche à droite -couplage spatial entre la L1 et le réseau de neurones Une macro-cellule (16*16 pixels) Pixels sont scannés Séquentiellement Par macro cellule Une neurone (48 au total) Couche out -> classification Couche hidden -> détection forme d’une zone du cadrant de la rétine Couche in =1 cadrant rétine Rémi Pallas-LEAD

Connectique layer in->hidden Au milieu d’un cadrant de la rétine Bordure (pas d’effets de bord) 32 -middle: 1024->1 Coin (pas d’effets de bord ) 8 16 -coin: (1024-448)->1 -bordure: (1024-256)->1

Implémentation matérielle couche in Ratio Fréquence *4: -ANN @150MHz (max) -bus rétine @37,5MHz 8 bits L2 Sortie macro cellule 0 Slot temporel coordonnées spike (@37,5 MHz) … Coordonnées Spikes Macro cellule 47 … Coordonnées Spikes Macro cellule 47 -ratio fréquence *4 ->latence lecture mémoire -scan L1->sérialisation au niveau de chaque macro cellule -découplage temporel entre la L1 et le processeur neuronal (L3) avec la L2 -séquencement spikes arbitraire ci-dessus, à définir avec la programmation de L2 Ordre dans l’émission des coordonnées des spikes vers l’accélérateur matériel 8 bits Sortie macro cellule 47 Rémi Pallas-LEAD

Implémentation matérielle->Couche hidden Sélection Poids neurone 0 et Neurones voisines Sommation Poids neurone 0 (9 poids au max ) Accumulation Poids neurones + Comparaison Coordonée spike Spike neurone 0 Mémoire Poids 256*(4*8) Mémoire Bias (48*16 bits) Définition liaison Synaptiques suivant la topologie rétine* -schéma synoptique layer 1 -ordre émission Coordonnées spikes (round robin sur les macro cellule pour reproduire le parallélisme du scan de la rétine) -DEMUX-> Contrainte due à la rétine? -Ratio fréquence?-> traitements dans l’accélérateur nécessitant un speed-up de 4? -Chaque macro cellule (16*16 pixels) de la rétine émet 1 pixel par cycle-> l’entrée du processeur neuronal est parallélisée par 48 (correspond au nombre de macro cellules) -sommation de 9 poids synaptiques sélectionné car une neurone est influencé par les pixels provenant de 9 macro cellules -L’entité neurone qui effectue la génération de spike met aussi en œuvre l’étirement d’impulsion -1 image sera traitée en 256* cycles (horloge d’entrée) -concernant le fonctionnement du registre potentiel du neurone, il est mis *: voir slide connectique Layer in->hidden Sélection Poids neurone 47 Liaisons Synaptiques entre les couches in et hidden Couche in Couche hidden Rémi Pallas-LEAD

Logique de fonctionnement neurone couche hidden et out Modèle neurones type « integrate and fire » Potentiel neurone spike threshold -intervalle de temps: 4 cycles d’horloge (@150MHz) Cycle horloge Rémi Pallas-LEAD

Implémentation VHDL RTL->Layer 2 Bus spikes Sélection et Sommation 47 Poids Neurone 0 Accumulation Poids neurones + Comparaison Sortie Spike neurone 0 Mémoire Poids 64* Threshold commun -connection pleine dans le layer 2 Liaisons Synaptiques entre les couches hidden et out Sélection Poids neurone 63 Couche out Couche hidden Rémi Pallas-LEAD

Application

Méthode d’apprentissage offline -Le réseau de neurones devra identifier le caractère sur l’image -Méthode entraînement utilisant un algorithme d’apprentissage: STDP, ou autre….* -application d’identification du caractère «A» -l’algorithme STDP va permettre de régler les poids synaptiques en fonction de -en sortie de la couche hidden en aura la séquence d’activation des neurones permettant d’identifier un caractère A *: Question ouverte à Mr Thorpe? Rémi Pallas-LEAD

Architecture matérielle de test du processeur neuronal -Un prototype à base de spartan6LX16 faisant office de générateur de pattern numérique -Un bridge permettant d’interfacer la carte rétine avec le réseau de neurones Rémi Pallas-LEAD

Plateforme FPGA utilisée PC -FPGA spartan6 LX16 -bridge USB-Uart via -connecteur FMC -headers (J1,J8,J6) J1 Carte Chip Ann MXP->J1 J8 et J6 J8 J6 Rémi Pallas-LEAD

Générateur de pattern numérique PC U A R T 1 (1) Circuit reset G P I O T X / R ANN Addr U A R T (4) Bridge USB/ RS232 1Mbit/s data (32bits*2) Trigger DMA+init ANN r/w DMA + UC gestion signaux ANN Contrôleur Mémoire DDR Externe(TX/RX) 1 (2) Circuit Horloge (3) Débit: -14 @37,5MHz -12 @150MHz -mémoire tampon entre PC <->DDR<->ANN -goulot entranglement RS232 mais possibilité de tripler le débit avec du >SPI -la récupération de données sera faite en déclenchantl’acquisition par rapport au premier spike entrant ou en faisant la même chose par horodatage Débit: -16@200Mhz DDR externe 32M*16 bits Carte développement FPGA Rémi Pallas-LEAD

Formatage données à stocker dans la mémoire 16 bits Coordonnées spike macrocellule 0 Coordonnées spike macrocellule n . . 1bancs mémoire= 42 scans de rétine Coordonnées spike macrocellule 47 Coordonnées spike macrocellule 0 . . 1 banc mémoire= 42 scans Complet de rétine Organisation mémoire DDR: 4 bancs de 8192 *1024*16bits Rémi Pallas-LEAD

Fonctionnement global générateur pattern Principe de fonctionnement: Le PC sert de maître et va via le bridge USB/RS232 commander le générateur de pattern numérique Les phases différentes phases sont: -initialisation réseau de neurones ANN via les UART0 et UART1 (1Mbits/s) -Remplissage de la mémoire DDR avec les coordonnées des spikes. -Déclenchement DMA et émission des données vers le réseau de neurones -Emission et Réception simultanée des résultats du réseau de neurones -Lecture des données de la DDR via UART0 Rémi Pallas-LEAD

Capacité IO carte Accélérateur matériel: -14 bits données entrée -2*6 bits données sortie -2 signaux RS232 -5 signaux de contrôle -3 horloges Total besoin: 36 IO single ended? Carte Avnet: Extension MXP: 19 I/0s single ended (J1) Extension MXP: 8 I/Os différentielles Header J8 et J6: 2*8 I/0s single ended Total: 35 IO single ended + 8 différentielles Rémi Pallas-LEAD

Travail à effectuer sur le prototype de générateur de pattern -achat alim 12V pour avoir accès aux extensions -codage du design: comprenant UART+DMA+contrôleur DDR+gestion GPIO -réalisation carte d’extension pour le réseau de neurones: package DIP à définir. Rémi Pallas-LEAD

Bridge rétine-réseau de neurones Capacité banc IO? Déclenchement SERDES? ->différentiel ou single-ended (standard?) Système reset U A R T 1 G P I O T X Trigger DMA (réseau ANN et rétine OK) 24 I S E R D (1->8, 1->4) BUFFER 24 coordonnées de spikes (2*8 bits) A N 2*12 liaisons série DMA + UC gestion signaux ANN Circuit Horloge ANN ready? Stratégie: on initialise les seuils, on initialise les poids synaptiques (UARTs) , on les stocke, puis on émet les événements 1 à 1 au réseau ANN -On complète le design du générateur de pattern -Le principe de ce schéma est la mémoire tampon horloge/4 ou horloge/8 (si diff) Signaux contrôle+ horloge maître design r/w addr 32 bits GPIO RX Contrôleur Mémoire DDR Externe(TX/RX) 1 (2) GPIO TX1 UART U A R T ANN ready CS Rémi Pallas-LEAD

Protocole de communication L2 ->ANN Fonctionnement système: -Le récepteur initie le transfert en mettant son flag ready à 1 -la séquence de commutation du mux est définie par le programmeur de la couche L2 -Il faudrait définir une séquence de lecture de façon à ce que le récepteur récupère ¼ du flux - Le crossbar est paramétrable et peut-être paramétrée soit pour envoyer des données des mémoires vers la matrice (ou l’inverse) soit vers le récepteur (ou l’inverse) Matrice macro processeurs Bidir . . . 24bits (2 colonnes) 24bits (2 colonnes) 1. Séquence lecture Paramétrable 2. la commutation se fait au rythme des bursts Crossbar 24bits 24bits Récepteur MEM0 (4k*24bits) MEM7 (4k*24bits) addr7 addr0 . . . 24 bits burst1 temps sélection mémoire burst0 ready+cs Valid actif Valid inactif Valid actif valid Rémi Pallas-LEAD

Evaluation besoin connecteur FMC Besoin application -24 bits de données -4 bits de contrôle Capacité carte Avnet -33 lignes données différentielles -2 lignes d’horloge différentielles S6LX16 Board supports all FMC LA Bus connections available on the FMC LPC connector, (LA[00:33]) along with all available FMC M2C clock pairs Nombres d’ISERDES/OSERDES disponibles: chaque entrée/sortie dispose de ses ISERDES/OSERDES Rémi Pallas-LEAD

Travail à effectuer sur le prototype bridge rétine -Développement d’une carte d’extension FMC pour la connectique avec la carte rétine. -Ajout design ISERDES par rapport à la version générateur de pattern numérique -programmation de la couche rétine Rémi Pallas-LEAD

Rémi Pallas -LEAD