Brevet FR3161766A1 — publié le 20251031

Unité de traitement optique à algèbre linéaire hybride sans interféromètre Une unité de traitement optique pour effectuer une multiplication tensorielle sur une valeur d'un premier tenseur et une valeur d'un second tenseur, l'unité de traitement optique comprend : - un premier convertisseur configuré pour convertir la valeur du premier tenseur en un premier signal analogique, - un premier amplificateur logarithmique pour convertir le premier signal analogique en un second signal analogique qui représente le logarithme de la valeur du premier tenseur, - un premier modulateur et une première source de lumière pour convertir le second signal analogique en un premier faisceau lumineux, - un second convertisseur configuré pour convertir la valeur du second tenseur en un troisième signal analogique, - un deuxième amplificateur logarithmique pour convertir le troisième signal analogique en un quatrième signal analogique qui représente le logarithme de la valeur du deuxième tenseur, - un second modulateur et une seconde source de lumière pour convertir le quatrième signal analogique en un second faisceau lumineux, et - un combineur optique pour additionner le premier faisceau lumineux avec le second faisceau lumineux afin d'obtenir un faisceau lumineux résultant représentant le logarithme de la valeur du premier tenseur multiplié par la valeur du second tenseur ou le logarithme de la valeur du premier tenseur ajouté au logarithme de la valeur du second tenseur. Unité de traitement optique à algèbre linéaire hybride sans interféromètre Arrière-plan Le taux de croissance actuel des demandes en calcul et en énergie pour l'intelligence artificielle (y compris l'apprentissage automatique et l'inférence) est insoutenable. Certains prédisent que d'ici la fin de la décennie, les centres de données d'intelligence artificielle ("IA") pourraient consommer jusqu'à 20 à 25 % des besoins en énergie des États-Unis (https://www.wsj.com/tech/ai/artificial-intelligences-insatiable-energy-needs-not-sustainable-arm-ceo-says-a11218c9). Après une consommation globale estimée à 460 térawattheures (TWh) en 2022, la consommation totale d'électricité des centres de données pourrait atteindre plus de 1 000 TWh en 2026. Cette demande d'électricité équivaut à la consommation d'électricité du Japon. International Energy Agency "IEA", Electricity 2024, Analysis and Forecast to 2026, pg. 8. Open AI a préparé un rapport prédisant que l'entraînement de l'IA dépasse de loin la capacité de calcul des ordinateurs modernes. Depuis 2012, la quantité de calcul utilisée dans les plus grands cycles d'entraînement de l'IA a augmenté de manière exponentielle, avec un temps de doublement de 3,4 mois. En revanche, la "loi de Moore" décrit une période de doublement de deux ans. Le calcul utilisé pour l'entraînement de l'IA a été multiplié par plus de 300 000 depuis 2012, un taux d'augmentation qui dépasse de loin la prédiction de la loi de Moore, qui prévoit une augmentation de 7 fois sur la même période. Neural Internet, Future of AI : Compute is King : $2 trillion market boom and computational revolution, 9 mars 2024, voir également Open AI, Research AI and Compute, 16 mai 2018. La croissance exponentielle des opérations en virgule flottante utilisées pour entraîner les modèles d'IA depuis 2018, comme le montre la FIG. 1 , donne un aperçu graphique de la demande croissante d'énergie créée par l'apprentissage automatique (https://ourworldindata.org/grapher/artificial-intelligence-training-computation?time=2009-06-15..latest). Un autre risque réside dans l'expansion des centres de données et l'augmentation de la consommation d'énergie et d'eau qui en découle. Les grandes entreprises comme Microsoft (qui envisagerait un projet de centre de données de 100 milliards de dollars avec OpenAI appelé "Stargate") commencent à envisager d'attacher de nouvelles sources d'énergie comme de petits réacteurs nucléaires modulaires à leurs centres de données, et des travaux sont en cours pour trouver des alternatives à l'infrastructure existante de l'IA moins énergivores. Mais la résistance à ces centres de données s'est accrue partout, de l'Irlande à la Virginie-Occidentale, ces dernières années, et les exigences en cascade des nouveaux modèles d'IA ne font qu'amplifier cette résistance. Voir Fortune.com, The cost of training AI could soon become too much to bear. 4 avril 2024. Au fil du temps, la demande de ressources informatiques pour l'entraînement ne fera qu'augmenter avec l'accélération de la demande d'investissements dans l'IA et des ressources informatiques nécessaires pour entraîner des modèles d'IA de plus en plus complexes et sophistiqués. Ces problèmes sont aggravés par la difficulté d'obtenir les puces avancées nécessaires pour effectuer ces opérations d'entraînement. Par exemple, il y a des pénuries critiques de puces avancées, telles que les H100 et A100 de Nvidia, qui sont essentielles pour l'entraînement. https://www.wired.com/story/nvidia-chip-shortages-leave-ai-startups-scrambling-for-computing-power/. Outre les besoins en calcul et en énergie, l'entraînement des modèles d'IA s'accompagne également d'impacts environnementaux importants. Dans une étude datant de 2019, il existe un coût environnemental "dû à l'empreinte carbone requise par le matériel moderne de traitement tensoriel". Le coût environnemental de l'entraînement d'un modèle NLP représente 5 fois les émissions de CO2 généralement associées à la conduite d'une automobile pendant toute sa durée de vie. Emma Strubell et. al. Energy and Policy Considerations for Deep Learning in NLP, 57 th Annual Meeting of ACL, Florence, Italie. (juillet 2019)], Voir aussi, Agence internationale de l'énergie "AIE", Electricity 2024, Analysis and Forecast to 2026. La croissance rapide du marché de l'IA et la demande proportionnelle de ressources informatiques obligent l'industrie à envisager des approches nouvelles et plus efficaces pour surmonter les limites de la loi de Moore, réduire les impacts environnementaux et augmenter la concentration des ressources d'IA disponibles détenues par seulement quelques acteurs sur le marché. En outre, l'entraînement des modèles d'IA nécessite beaucoup de capitaux. L'entraînement de GPT-4, par exemple, a coûté plus de 100 millions de dollars et Mistral, un concurrent d'OpenAI basé à Paris, qui a levé 400 millions de dollars pour entraîner ses modèles. De nombreuses entreprises n'utilisent pas l'apprentissage automatique parce qu'elles ne peuvent pas externaliser l'entraînement pour des raisons de confidentialité et qu'il est trop coûteux d'entraîner les modèles eux-mêmes. Il est essentiel de réduire les coûts d'entraînement grâce à des méthodes informatiques plus efficaces pour permettre à un plus grand nombre d'entreprises, d'institutions universitaires et de recherche et à d'autres de développer leurs propres modèles d'apprentissage automatique et de démocratiser davantage l'IA. https://sifted.eu/articles/mistral-releases-first-ai-model, https://www.bloomberg.com/news/articles/2023-12-04/openai-rival-mistral-nears-2-billion-valuation-with-nvidia-funding?sref=gni836kR. Les tenseurs (par exemple, les vecteurs ou les matrices) jouent un rôle essentiel dans l'apprentissage automatique et l'inférence. Dans l'apprentissage automatique et l'inférence, les tenseurs sont utilisés pour représenter les valeurs d'entrée et les poids qui servent à relier les éléments entre eux dans le réseau neuronal. Dans l'apprentissage automatique, des étapes appelées passage avant et arrière ou propagation avant et arrière sont utilisées pour entraîner les poids en effectuant de nombreux calculs de descente de gradient à l'aide de l'algèbre linéaire. Ces opérations nécessitent de nombreuses opérations de produit tensoriel. En fonction de la quantité de données utilisées dans le processus d'apprentissage automatique, plusieurs millions, voire plusieurs trillions de produits tensoriels peuvent être nécessaires pour compléter le processus d'apprentissage. Le produit tensoriel ou la multiplication est l'opération de goulot d'étranglement la plus importante dans l'apprentissage automatique et l'inférence. Plus cette étape est efficace, plus le processus d'apprentissage est rapide et économe en énergie. L'exécution de produits tensoriels avec une matrice (qui est un tenseur 2D) de taille (N, N) implique N^3 opérations, alors que les autres opérations dans les réseaux neuronaux en impliquent N^2. Étant donné que N est généralement compris entre 1 000 et 1 000 000, il est évident que les produits tensoriels sont très gourmands en ressources. L'étape de base des produits tensoriels consiste à multiplier les données et les poids dans le réseau neuronal. La FIG. 2 représente le réseau neuronal et le calcul d'un seul point de données X et d'un seul poids W pour obtenir une sortie O. Cette même représentation peut être appliquée avec plusieurs entrées de données X1 et X2 et des poids W1 et W2. Au lieu d'effectuer un seul calcul, comme le montre la FIG. 2 , il y a trois calculs, comme le montre la FIG. 3 . Les tenseurs étant des vecteurs de dimension 2 et 2, seuls deux produits et une somme sont nécessaires pour calculer la sortie. La FIG. 3 représente les calculs pour ce réseau neuronal à une seule couche. Les deux réseaux neuronaux décrits jusqu'à présent n'ont qu'une seule sortie. Dans la pratique, les réseaux neuronaux ont beaucoup plus de sorties. L'ajout de sorties supplémentaires nécessite davantage de poids pour relier les sorties aux entrées. S'il y a deux sorties, le nombre de poids sera augmenté de deux pour un total de quatre, comme le montre la FIG. 4 . Les produits tensoriels décrits jusqu'à présent correspondent à une multiplication vecteur-vecteur ( FIG. 2 ) et à une multiplication vecteur-matrice ( FIG. 4 ). Plutôt que d'essayer de surmonter les limites de calcul actuelles avec les processeurs traditionnels et l'informatique électronique, uniquement en injectant davantage de ressources informatiques dans le problème - ce qui entraînerait tous les problèmes déjà évoqués -, il convient d'explorer une approche différente. Dans le passé, la lumière s'est avérée très efficace pour les communications numériques. Pour augmenter la bande passante et réduire les coûts énergétiques des communications, on utilise des fibres optiques plutôt que des fils électriques. Les liaisons de données optiques ont remplacé les fils de cuivre pour les lignes de communication longue distance et les portées plus courtes, jusqu'aux communications de baie à baie dans les centres de données. Les communications de données optiques sont beaucoup plus rapides et nécessitent moins d'énergie. Ryan Hamerly, Future of Deep Learning Is Photonics, IEEE Spectrum (29 juin 2021). L'utilisation de l'optique (sous la forme de processeurs photoniques) pour améliorer l'efficacité du calcul pour l'inférence est également prometteuse. Les processeurs photoniques ont été présentés comme un moyen d'utiliser la lumière plutôt que des processeurs numériques pour effectuer les calculs d'algèbre linéaire requis pour les produits tensoriels. Les exigences énergétiques des processeurs actuels sont dues aux limitations de performance lors de la mise à l'échelle du nombre d'entrées de tenseurs. Les processeurs photoniques n'ont pas cette limitation. Par conséquent, la photonique est particulièrement bien adaptée pour répondre à la demande massive de l'IA en matière de calcul à faible coût et à haute efficacité. (https://techhq.com/2023/05/what-is-optical-computing-explained/#:~:text=The%20history%20of%20optical%20computing,arrays%20of%20semiconductor%20smart%20pixels.) Les premières tentatives d'utilisation de la photonique pour améliorer l'efficacité des produits tensoriels de base ont été développées dans les années 1980. Par exemple, voir Collins, 4,569,033. Dans cette approche, l'intensité ou la phase des faisceaux laser est modulée par les différentes cellules d'un SLM (modulateur spatial de lumière). La modulation que chaque cellule applique au faisceau dépend du signal électrique adressé. Les vecteurs sont encodés (ou les lignes ou les colonnes d'une matrice) dans des réseaux de cellules SLM unidimensionnels et réalisent un produit dyadique de deux vecteurs en faisant passer les faisceaux par les modulateurs encodant chaque vecteur. Voir la FIG. 6 (figures de Collins) et la FIG. 7 (modulateur spatial généralisé dans les années 80). Toutefois, ces premières tentatives ne sont pas adaptées aux opérations de multiplication tensorielle plus importantes en raison de la lenteur du taux de rafraîchissement de ces cellules SLM. Par conséquent, elles ne fonctionnent pas à des fréquences suffisamment élevées pour répondre aux exigences actuelles en matière de calcul. Des processeurs photoniques pour la multiplication tensorielle ont été mis au point pour tenter de répondre aux exigences en matière de calcul et d'énergie des processus d'intelligence artificielle d'aujourd'hui. Bien que ces implémentations aient amélioré l'efficacité des calculs tensoriels, elles présentent plusieurs inconvénients majeurs qui limitent leurs performances et leur efficacité. Les opérations clés des processeurs photoniques actuels impliquent des multiplications et des accumulations, ce qui inclut la multiplication de paires de nombres dans des vecteurs et des matrices et l'addition des résultats. La façon la plus courante de procéder aujourd'hui consiste à multiplier des faisceaux lumineux à l'aide d'interféromètres de Mach-Zehnder (MZI). Alors que le principe originel du MZI a été développé dans les années 1890, les implémentations actuelles sont intégrées dans des puces. En règle générale, le MZI divise la lumière entrante en deux faisceaux, chacun empruntant un chemin différent. Voir la FIG. 8 . Les deux faisceaux résultants sont ensuite recombinés en un seul faisceau. Si les deux chemins sont identiques, la sortie est identique à l'entrée. En revanche, si l'un des deux faisceaux se déplace plus loin que l'autre ou ralentit, il est déphasé par rapport à l'autre faisceau. L'intensité ou l'amplitude du faisceau de sortie peut être affectée par la différence de phase entre les deux faisceaux. S'il n'y a pas de déphasage entre les deux faisceaux, l'intensité du faisceau de sortie est la même que celle du faisceau d'entrée. Mais si le déphasage est de 180 degrés, les deux faisceaux interfèrent de manière destructrice lorsqu'ils sont recombinés, ce qui n'entraîne aucune sortie. L'amplitude/intensité du faisceau de sortie sera l'amplitude du faisceau d'entrée multipliée par le cosinus de la moitié de la différence de phase. En contrôlant la différence de phase entre les deux faisceaux, la multiplication peut être obtenue. David Schneider, Lightmatter's Mars Chip Performs Neural-Network Calculations at the Speed of Light, IEEE Spectrum (29 août 2020). La valeur du multiplicateur fixée par la différence de phase est essentiellement le "poids" utilisé dans le réseau neuronal. Bien que les MZI soient utilisés pour le passage ou la propagation vers l'avant, ils ne sont pas bien adaptés à l'apprentissage automatique. La raison en est que leur résolution et leur précision sont limitées pour les calculs de tenseurs. Lorsque de multiples passes avant et arrière se produisent pour l'apprentissage, la propagation des erreurs se produit également. L'entraînement nécessite une gamme dynamique très élevée, surtout par rapport à l'inférence. Voir Id. David Schneider. Il est également difficile de faire évoluer les systèmes utilisant les MZI vers des matrices plus grandes - ils sont actuellement limités aux matrices 64x64. Sunil Pai et. al. Experientially realized in situ backpropagation for deep learning in nanophotonic neural networks, Science, (April, 27, 2023) ("Nous avons mesuré les gradients de propagation arrière pour les voltages de changement de phase en faisant interférer de la lumière de propagation avant et de propagation arrière et simulé in situ la propagation arrière pour des réseaux de neurones photoniques à 64 ports"). Étant donné que la passe avant et la passe arrière impliquent une chaîne de multiplications de matrices, la propagation d'erreurs à l'aide d’un MZI dans les réseaux peut entraîner des inexactitudes dans les multiplications de grandes matrices (erreurs significatives pour les tailles supérieures à 64 par 64) dans les opérations d'inférence ainsi que dans l'apprentissage automatique. Une propagation d'erreurs inacceptables se produit pour de grandes matrices, à la fois pour la passe avant et pour la passe arrière. Ainsi, pour les matrices de plus de 64 par 64, ces processeurs photoniques ne fonctionnent pas bien pour l'inférence ou l'apprentissage automatique. Il existe un besoin critique d'améliorer l'efficacité énergétique de l'informatique de l'IA et d'élever les impacts négatifs évoqués précédemment pour les GPU/ TPU, y compris les architectures actuelles des processeurs photoniques. Bon nombre des limites des conceptions actuelles des processeurs photoniques découlent de l'utilisation de MZI (et d'interféromètres similaires). Une conception et une mise en œuvre du processeur photonique pouvant fonctionner sans MZI pourraient être utilisées pour améliorer la précision à des fins d'entraînement et d'inférence et également permettre aux multiplications de matrices de s'étendre bien au-delà de 64 par 64 en utilisant moins d'énergie et en ayant moins d'impact sur l'environnement. Résumé Certains aspects de la présente divulgation concernent la réalisation d'opérations de multiplication tensorielle sans nécessiter de déphasage ou d'interféromètre. Les modes de réalisation de la présente divulgation concernent une unité de traitement optique et une méthode pour effectuer une multiplication tensorielle. La FIG. 5 compare graphiquement les besoins énergétiques des GPU/TPU actuels à ceux de l'unité de traitement optique (OPU) proposée par la présente divulgation. Certains aspects de la présente divulgation concernent une unité de traitement optique qui effectue une multiplication tensorielle sur une valeur d'un premier tenseur et une valeur d'un second tenseur. L'unité de traitement optique comporte un premier convertisseur configuré pour convertir la valeur du premier tenseur en un premier signal analogique, un premier amplificateur logarithmique pour convertir le premier signal analogique en un second signal analogique qui représente le logarithme de la valeur du premier tenseur, et un premier modulateur et un premier laser pour convertir le second signal analogique en un premier faisceau laser. L'unité de traitement optique contient également un deuxième convertisseur configuré pour convertir la valeur du deuxième tenseur en un troisième signal analogique, un deuxième amplificateur logarithmique pour convertir le troisième signal analogique en un quatrième signal analogique qui représente le logarithme de la valeur du deuxième tenseur, et un deuxième modulateur et un deuxième laser pour convertir le quatrième signal analogique en un deuxième faisceau laser. Certains aspects de la présente divulgation concernent également un combinateur optique permettant d'ajouter le premier faisceau laser au deuxième faisceau laser afin d'obtenir un faisceau laser représentant le logarithme de la valeur du premier tenseur multiplié par la valeur du deuxième tenseur ou le logarithme de la valeur du premier tenseur ajouté au logarithme de la valeur du deuxième tenseur. Certains aspects de la présente divulgation concernent une méthode pour effectuer optiquement une multiplication tensorielle sur une valeur d'un premier tenseur et une valeur d'un second tenseur. Dans certains modes de réalisation, la méthode comprend les étapes suivantes : conversion de la valeur du premier tenseur en un premier signal analogique, traitement du premier signal analogique à travers un premier amplificateur logarithmique pour obtenir un deuxième signal analogique qui représente le logarithme de la valeur du premier tenseur, et modulation d'un premier laser avec le deuxième signal analogique pour produire un premier faisceau laser. Dans certains modes de réalisation, la méthode comprend également les étapes suivantes : conversion de la valeur du deuxième tenseur en un troisième signal analogique, traitement du troisième signal analogique à travers un deuxième amplificateur logarithmique pour obtenir un quatrième signal analogique représentant le logarithme de la valeur de la deuxième matrice, et modulation d'un deuxième laser avec le quatrième signal analogique pour produire un deuxième faisceau laser. Dans certains modes de réalisation, la méthode peut également comprendre l'étape consistant à combiner optiquement le premier faisceau laser et le deuxième faisceau laser afin d'obtenir un faisceau laser représentant le logarithme de la valeur du premier tenseur multiplié par la valeur du deuxième tenseur ou le logarithme de la valeur du premier tenseur ajouté au logarithme de la valeur du deuxième tenseur. Brève description des figures La FIG. 1 illustre la croissance de la consommation d'énergie pour l'entraînement des modèles modernes d'apprentissage automatique entre 2012 et 2024. La FIG. 2 illustre la représentation d'un réseau neuronal composé d'une entrée (x) et d'un poids (w) pour obtenir une sortie et la représentation de l'équation, qui équivaut à une multiplication scalaire-scalaire. La FIG. 3 illustre la représentation d'un réseau neuronal à une couche où il y a deux entrées (x) et deux poids (w) pour obtenir une sortie et la représentation de l'équation, qui équivaut à une multiplication vecteur-vecteur. La FIG. 4 illustre la représentation d'un réseau neuronal composé de deux entrées (x) et de quatre poids (w) pour obtenir deux sorties, ainsi que la représentation de l'équation qui équivaut à une multiplication vecteur-matrice. La FIG. 5 compare l'énergie consommée pour la multiplication matricielle en fonction de la taille de la matrice pour les GPU et TPU modernes par rapport à un processeur photonique mis en œuvre selon un mode de réalisation de la présente divulgation. La FIG. 6 est une première tentative d'utilisation de la photonique pour améliorer la multiplication des vecteurs et des matrices, ce qui permet d'obtenir une matrice. La FIG. 7 illustre une multiplication vectorielle-matricielle généralisée utilisant un modulateur spatial. La FIG. 8 montre un exemple d'interféromètre de Mach-Zehnder simple, un exemple de façon de contrôler la différence de phase entre deux faisceaux lumineux. La FIG. 9 est une représentation sous forme d'logigramme détaillant les étapes d'un exemple de multiplication scalaire-scalaire selon un mode de réalisation de la présente divulgation. La FIG. 10 montre un exemple de réalisation des composants d'un processeur photonique pour la multiplication scalaire-scalaire utilisée sur un cycle d'horloge. La FIG. 11 est un logigramme détaillant les étapes d'un exemple de multiplication vecteur-vecteur selon un mode de réalisation de la présente divulgation. La FIG. 12 montre un exemple de réalisation des composants d'un processeur photonique pour un exemple de multiplication vecteur-vecteur utilisé pendant un cycle d'horloge. La FIG. 13 est un logigramme détaillant les étapes d'une multiplication de matrice vectorielle sur deux cycles d'horloge, selon un mode de réalisation de la présente divulgation. La FIG. 14 montre un exemple de composants d'un processeur photonique pour la multiplication d'une matrice vectorielle sur un cycle d'horloge. La FIG. 15 représente un autre exemple de composants d'un processeur photonique pour la multiplication d'une matrice vectorielle. La FIG. 16 est un logigramme détaillant les étapes de la présente divulgation pour une multiplication matrice-matrice. La FIG. 17 montre une réalisation exemplaire de la présente divulgation pour une multiplication matrice-matrice utilisée sur un cycle d'horloge. La FIG. 18 illustre différentes représentations d'une multiplication matrice-matrice, sous forme d'équation, de réseau neuronal par cycle d'horloge et de représentation matérielle de la même multiplication selon un mode de réalisation de la présente divulgation. La FIG. 19 montre un logigramme montrant comment les valeurs signées sont prises en compte dans les multiplications tenseur-tenseur dans un mode de réalisation de la présente divulgation. La FIG. 20 montre un diagramme de flux de la multiplication de deux tenseurs avec des valeurs signées selon un mode de réalisation de la présente divulgation. La FIG. 21 montre un exemple de réalisation des composants de la présente divulgation pour la multiplication de deux tenseurs avec des valeurs signées sur un cycle d'horloge. La FIG. 22 montre un diagramme de flux de la multiplication de deux vecteurs avec des valeurs signées sur deux cycles d'horloge à l'aide d'un processeur photonique selon un mode de réalisation de la présente divulgation. La FIG. 23 montre une variante exemplaire des composants de la présente divulgation pour la multiplication de deux vecteurs avec des valeurs signées. 24 montre un diagramme de flux de la multiplication d'un tenseur en représentation binaire pour obtenir un résultat d'une précision de 16 bits. La FIG. 25 montre un diagramme de flux de la multiplication vecteur-vecteur représentée en bits pour obtenir un résultat d'une précision de 16 bits. La FIG. 26 représente un schéma d'un circuit d'amplificateur linéaire. La FIG. 27 représente un schéma d'un circuit d'amplificateur exponentiel. La FIG. 28 représente un schéma d'un circuit d'amplificateur logarithmique. La FIG. 29 représente un schéma d'un circuit d'intégration. La FIG. 30 montre l'architecture d'un laser à cavité verticale émettant par la surface (VCSEL). La FIG. 31 illustre un ensemble non limitatif d'exemples de sources lumineuses qui pourraient être utilisées dans un mode de réalisation possible : lasers à cristaux photoniques émettant par la surface (PCSEL), lasers à rétroaction distribuée/émettant par la tranche (EEL) et diodes électroluminescentes. La FIG. 32 est une vue en coupe transversale illustrant un mode de réalisation de la présente divulgation qui comprend un composant optique transmissif assurant une fonction de distribution (ou éventail). La FIG. 33 est une vue en coupe illustrant un mode de réalisation de la présente divulgation qui comprend un composant optique réfléchissant remplissant une fonction de distribution qui réfléchit les faisceaux lumineux vers des transducteurs situés sur le même substrat que les sources lumineuses. La FIG. 34 est une vue en coupe illustrant un mode de réalisation de la présente divulgation qui comprend un composant optique transmissif remplissant une fonction de distribution et un miroir pour réfléchir les faisceaux lumineux vers des transducteurs situés sur le même substrat que les sources lumineuses. La FIG. 35 représente un diagramme non limitatif d'une multiplication vecteur-vecteur. La FIG. 36 représente un diagramme non limitatif d'une multiplication vecteur-matrice. La FIG. 37 représente un diagramme non limitatif d'une multiplication matrice-matrice. Description détaillée 1. Multiplication scalaire-scalaire Dans la section d'arrière-plan de la FIG. 2 , nous avons présenté le réseau neuronal le plus simple impliquant un point de données et un poids ou X*W=O. Les figures 9 et 10 montrent les étapes de la mise en œuvre de ce réseau neuronal simple à l'aide des modes de réalisation de la présente divulgation. La FIG. 9 est une représentation sous forme d'logigramme détaillant les étapes d'un mode de réalisation de la présente divulgation et la FIG. 10 illustre un mode de réalisation exemplaire comprenant les composants permettant de mettre en œuvre un mode de réalisation de la présente divulgation. Dans la première étape 901, illustrée à la FIG. 9 , les données d'entrée X (un nombre binaire) sont converties en un signal analogique, analog X . Dans la FIG. 10 , la mise en œuvre exemplaire de cette étape 901 se fait à l'aide d'un convertisseur numérique-analogique 1002 ou "DAC" disponible couramment. Dans ce mode de réalisation exemplaire, le poids d'entrée W (un nombre binaire) est simultanément ou concurremment converti en un signal analogique analog W par un autre convertisseur numérique-analogique 1007. Cependant, une autre implémentation pourrait permettre des opérations en série sur un ou plusieurs cycles d'horloge pour la conversion de X et W en signaux analogiques en utilisant le même DAC. Dans le présent document, lorsque des opérations sont décrites comme étant effectuées simultanément, elles peuvent être effectuées par des composants matériels distincts fonctionnant en parallèle, ces opérations pouvant être alignées dans le temps (par exemple, avoir le même instant de début et de fin) ou décalées dans le temps (par exemple, avoir des instants de début et/ou de fin différents) et les différentes opérations effectuées par différents composants matériels pouvant prendre des temps différents (par exemple, différents nombres de cycles d'horloge) pour s'exécuter. Dans les étapes suivantes 902 et 906 illustrées aux figures 9 et 10, les signaux analog X et analog W sont simultanément convertis en log X et log W en utilisant des amplificateurs logarithmiques 1003 et 1008. Les amplificateurs logarithmiques 1003 et 1008 illustrés à la FIG. 10 sont décrits plus en détail à la FIG. 28 . Cet amplificateur logarithmique peut être l'amplificateur illustré et décrit à la FIG. 28 . Là encore, une autre approche pourrait consister à mettre en œuvre des opérations en série sur des cycles d'horloge supplémentaires en utilisant un seul amplificateur logarithmique. Aux étapes suivantes 903 et 907 illustrées à la FIG. 9 , log X et log W sont entrés simultanément dans deux modulateurs 1004 et 1009 illustrés à la FIG. 10 pour contrôler les sources lumineuses appelées respectivement laser X et laser W . Bien que divers modes de réalisation de la présente divulgation soient décrits ici dans des exemples utilisant des lasers comme sources lumineuses, les modes de réalisation de la présente divulgation ne sont pas limités à ceux-ci. Dans un mode de réalisation possible, une variété de sources lumineuses ou d'émetteurs peuvent être utilisés, y compris, mais sans s'y limiter, des diodes électroluminescentes (DEL), des lasers, etc. Voir les figures 30, 31 et 32 et la discussion correspondante ci-dessous pour des exemples de ces sources de lumière potentielles. Ainsi, lorsque le terme "laser" est utilisé dans le présent document, il convient de comprendre que les modes de réalisation comprennent des alternatives utilisant d'autres types de sources lumineuses, telles que les DEL, et lorsque le terme "faisceau laser" est utilisé dans le présent document, les modes de réalisation comprennent des faisceaux lumineux qui ne sont pas des faisceaux laser. Dans un mode de réalisation possible, des lasers sont utilisés. Ces lasers peuvent être divers, mais dans un mode de réalisation possible, il s'agit de lasers à cavité verticale émettant par la surface ou "VCSEL", comme indiqué à la FIG. 30 . La sortie du laser X 1005 est un faisceau laser ayant la puissance P X 904 et la sortie du laser W 1010 est un faisceau laser ayant la puissance P W 908. Toutefois, un autre mode de réalisation pourrait consister à mettre en œuvre des opérations en série sur un ou plusieurs cycles d'horloge en n'utilisant qu'un seul modulateur et un seul laser. Dans l'étape suivante 909 illustrée à la FIG. 9 , les laser X et laser W sont combinés l'un à l'autre. La combinaison produit un troisième faisceau laser ayant la puissance P X + P W 910 qui représente la valeur de log X + log W ou log (XW). Dans l'étape suivante représentée sur les figures 9 et 10, une photodiode 1011 est utilisée pour convertir le troisième laser en une tension 911. Dans d'autres modes de réalisation, d'autres composants peuvent être utilisés pour convertir le signal optique en un signal électrique analogique. Cette tension est ensuite utilisée à l'étape 912 comme entrée d'un amplificateur antilogarithmique ou exponentiel 1012, comme le montrent les figures 9 et 10. Cet amplificateur antilogarithmique 1012 peut être l'amplificateur illustré et décrit plus en détail à la FIG. 27 . La sortie est le produit de X et W ou XW. Cette sortie XW est un signal analogique et, à l'étape suivante 913 illustrée aux figures 9 et 10, ce signal est converti en un signal numérique à l'aide d'un convertisseur analogique-numérique 1013 ou "ADC". 2. Multiplication vecteur-vecteur La FIG. 35 donne un exemple représentatif non limitatif d'une multiplication vecteur-vecteur. Dans la FIG. 3 (précédemment abordée dans la section sur l'arrière-plan), nous avons également présenté un réseau neuronal représentant une multiplication vecteur-vecteur. Comme indiqué précédemment, au lieu de n'effectuer qu'un seul calcul, comme le montre la FIG. 2 , la FIG. 3 en présente trois. Étant donné que les matrices sont des vecteurs de taille 1x2 et 2x1, les trois calculs pour la sortie sont deux produits et une somme, ou X 1 W 1 + X 2 W 2 . Dans les figures 11 et 12, les étapes et un mode de réalisation exemplaire de la présente divulgation effectuant une multiplication vecteur-vecteur, ou une multiplication de vecteur-vecteur, ou une multiplication de vecteur-vecteur, sont illustrés. La FIG. 11 montre les étapes opérationnelles de la multiplication du vecteur X 1 X 2 (un premier vecteur) avec un second vecteur W 1 W 2 . Les étapes effectuées dans la zone ombrée, les étapes 1101 à 1112 et 1113 à 1124 de la FIG. 11 pour X 1 xW 1 sont les mêmes que celles décrites dans la FIG. 9 , étapes 901 à 914. De même, les composants permettant de réaliser les étapes de la FIG. 12 (1201 à 1205 et 1206 à 1210). Le seul composant de la FIG. 12 non représenté dans la FIG. 10 est l'intégrateur, FIG. 12 , 1213, pour réaliser l’accumulation de la FIG. 11 , 1125. Le fonctionnement de l'accumulateur/intégrateur sera discuté ci-dessous. Dans un mode de réalisation possible, les étapes de la multiplication X 1 xW 1 , comme indiqué à la FIG. 11 , se déroulent en parallèle, étapes 1101 à 1104 et 1105 à 1108, tout comme à la FIG. 9 , étapes 901 à 904 et 905 à 908, comme nous l'avons vu précédemment. Ces étapes peuvent se dérouler en un seul cycle d'horloge. Toutefois, d'autres modes de réalisation pourraient inclure des opérations en série afin de préserver le nombre de composants nécessaires à la réalisation de ces opérations. Voir la discussion relative aux figures 9 et 10 concernant un autre mode de réalisation. Les étapes de l'opération X 2 xW 2 de la FIG. 11 sont les mêmes que celles de la FIG. 9 pour l'opération X 1 xW. De même, les composants 1201 à 1212 illustrés à la FIG. 12 pour effectuer l'opération X 2 xW 2 sont les mêmes que ceux illustrés à la FIG. 10 , 1001 à 1011. Dans un mode de réalisation possible, un ensemble de composants est utilisé (comme le montre la FIG. 12 ) pour effectuer les multiplications vectorielles pour X 1 xW 1 et pour X 2 xW 2 . Ces opérations 1101 à 1112 peuvent être effectuées en série en deux cycles d'horloge (comme indiqué à la FIG. 11 ) pour préserver le nombre de composants (comme indiqué à la FIG. 12 ) de sorte que, par exemple, un jeu de composants est suffisant. Il est possible d'utiliser moins de composants si ceux-ci sont sérialisés comme décrit ci-dessus à propos de la FIG. 10 . Il est également possible d'utiliser deux ensembles de composants illustrés à la FIG. 12 , 1201 à 1112, pour permettre aux opérations parallèles de se dérouler en un seul cycle d'horloge au lieu de deux cycles d'horloge pour toutes ou certaines des étapes illustrées à la FIG. 11 , 1101 à 1112 et 1113 à 1124. Une fois les étapes effectuées, illustrées aux figures 11, 1101 à 1112 et 1113 à 1124, et aux figures 12, 1201 à 1212, les signaux analogiques représentant X 1 W 1 (sortie pendant le cycle d'horloge 1) et X 2 W 2 (sortie pendant le cycle d'horloge 2) peuvent être additionnés à l'étape 1125, FIG. 11 , par un intégrateur illustré à la FIG. 12 à 1213, qui accumule les signaux analogiques représentant X 1 W 1 et X 2 W 2 sur les deux cycles d'horloge, FIG. 11 par un intégrateur représenté à la FIG. 12 à 1213 qui accumule les signaux analogiques représentant X 1 W 1 et X 2 W 2 sur les deux cycles d'horloge. L'intégrateur 1213 peut être celui représenté et discuté plus loin en ce qui concerne la FIG. 29 . La sortie de l'intégrateur est un signal analogique représentant X 1 W 1 + X 2 W 2 comme indiqué à l'étape 1126 de la FIG. 11 . À l'étape 1127, FIG. 11 , ce signal analogique est converti en un signal numérique représentant X 1 W 1 + X 2 W 2 par un convertisseur analogique-numérique ou "ADC", composant 1214, FIG. 12 . 3. Multiplication vecteur-matrice La FIG. 36 donne un exemple représentatif non limitatif d'une multiplication vecteur-matrice. La FIG. 13 présente les étapes de l'exécution d'une multiplication vecteur-matrice, ou selon un mode de réalisation de la présente divulgation. Plus précisément, la figure 13 montre les étapes opérationnelles de la multiplication de X 1 X 2 (un vecteur) et de W 11 W 12 , W 21 W 22 (une matrice de 2x2). Les étapes réalisées dans la zone ombrée 1301 à 1312 et 1323 à 1334 de la figure 13 sont sensiblement les mêmes que celles décrites dans les figures 9 et 11, étapes 901 à 908 et 1101 à 1108 et 1113 à 1120. En outre, les composants permettant de réaliser les étapes ombrées des figures 1301 à 1312 et 1323 à 1334 sont illustrés à la FIG. 14 , 1401 à 1415. Ces composants sont également les mêmes que ceux de la FIG. 12 , 1201 à 1210. Dans un mode de réalisation possible, les étapes d'exécution des multiplications X 1 xW 11 , X 1 xW 12 et des multiplications X 2 xW 21 , X 2 xW 22 , comme indiqué dans la zone ombrée de la FIG. 13 , 1301 à 1312 se déroulent dans un premier cycle d'horloge et les étapes 1323 à 1334 se déroulent dans un deuxième cycle d'horloge. Comme indiqué précédemment, ces étapes peuvent se dérouler en un seul cycle d'horloge (figures 9 et 11) ou, comme le montre la FIG. 13 , elles peuvent inclure des opérations en série afin de préserver le nombre de composants nécessaires à la réalisation de ces opérations. Voir la discussion relative aux figures 9 et 10 et aux figures 11 et 12 concernant les autres modes de réalisation. Les étapes pour effectuer les opérations ombrées pour X 1 xW 11 , X 1 xW 12 et les opérations pour X 2 xW 21 , X 2 xW 22 dans la FIG. 13 (étapes 1301 à 1312 et 1323 à 1334) sont les mêmes que dans la FIG. 11 pour effectuer les opérations X 1 xW 11 et X 1 xW 12 , (étapes 1101 à 1108 et 1113 à 1120). De même, les composants (1401 à 1415) montrés à la FIG. 14 pour effectuer les opérations dans la zone ombrée de la FIG. 13 sont les mêmes que ceux montrés à la FIG. 12 , 1201 à 1210. Dans un mode de réalisation possible, un seul ensemble de composants est utilisé (comme le montre la FIG. 14 ) pour effectuer les multiplications. Ces opérations peuvent être effectuées en série sur deux cycles d'horloge pour préserver le nombre de composants, de sorte qu'un ensemble de composants 1401 à 1415 est suffisant. Il est possible d'utiliser moins de composants si ceux-ci sont sérialisés comme décrit ci-dessus à propos de la FIG. 10 . Il est également possible d'utiliser deux ensembles de composants illustrés à la FIG. 14 (1401 à 1415) pour permettre des opérations parallèles dans le même cycle d'horloge pour tout ou partie des étapes 1301 à 1334. Dans la FIG. 14 , le faisceau laser du laser 1405 est divisé en deux par une procédure de distribution rendue possible par un élément optique diffractif. Pour des exemples d'éléments optiques diffractifs et la façon dont ils peuvent être utilisés et où ils peuvent être obtenus auprès de vendeurs, tels que Coherent, https://www.coherent.com/optics/general-optics/diffractive-optics/splitters et Holo/Or Ltd. https://www.holoor.co.il/structured-light-doe/. Bien que la procédure de distribution ou la fonction éventail optique soit illustrée à la FIG. 14 comme étant mise en œuvre à l'aide d'un élément optique diffractif ou "DOE", les modes de réalisation de la présente divulgation ne sont pas limités à cela. Dans le cadre de la présente divulgation, d'autres composants optiques qui mettent en œuvre une procédure de distribution ou une fonction optique peuvent être substitués à l'élément optique diffractif. Des exemples de ces autres composants optiques comprennent un réseau, un séparateur de faisceau et/ou une meta-lentille conçu pour mettre en œuvre une fonction de distribution. Il est possible d'obtenir un parallélisme supplémentaire pour les opérations de multiplication effectuées dans la FIG. 14 . Cela peut être généralisé à une matrice comportant plus de deux colonnes. Dans ce cas, le faisceau laser pour le laser X 1 dans la FIG. 14 est divisé par l'élément optique diffractif en N faisceaux laser, où N est le nombre de colonnes dans la matrice. Dans la FIG. 15 , le cycle d'horloge 1, par exemple, montre les opérations parallèles effectuées pour obtenir X 1 xW 11 et X 1 xW 12 . Dans le cycle d'horloge suivant, des opérations parallèles peuvent être effectuées pour obtenir X 2 xW 21 et X 2 xW 22 . Un autre mode de réalisation peut ne pas comporter d’éventail optique et ajouter des composants supplémentaires pour encoder la valeur du vecteur dans une pluralité de lasers supplémentaires. Cette approche augmenterait le nombre d'amplificateurs, de modulateurs et de lasers logarithmiques à quatre ensembles au lieu de trois comme indiqué dans cet exemple. Une fois les étapes effectuées comme indiqué à la FIG. 13 , 1313 à 1320 et 1335 à 1342 avec les composants de la FIG. 14 , 1416 & 1417, et 1422 & 1423, les signaux analogiques représentant X 1 W 11 et X 2 W 21 peuvent être additionnés aux étapes 1321 & 1322, et 1343 & 1344 de la FIG. 13 par les intégrateurs indiqués à la FIG. 14 à 1418 & 1424. L'intégrateur 1424 est le même que celui de la FIG. 12 , 1213, et que celui de la FIG. 29 . La sortie de l'intégrateur est un signal analogique représentant X 1 W 11 +X 2 W 21 comme le montre la FIG. 13 . Ce signal analogique est ensuite converti en un signal numérique représentant X 1 W 11 +X 2 W 21 par un convertisseur analogique-numérique ou "ADC" représenté par les composants 1419 et 1425 de la FIG. 14 . De la même manière que pour X 1 W 11 , X 2 W 21 , les signaux analogiques représentant X 1 W 12 et X 2 W 22 peuvent être additionnés et la sortie convertie en un signal numérique pour obtenir X 1 W 12 + X 2 W 22 . Ce processus et ses composantes peuvent être mis à l'échelle en conséquence pour tout vecteur de plus de deux entrées et toute matrice de plus de deux lignes. En général, le nombre de fois K que les étapes sont exécutées dans la zone grisée de la FIG. 13 correspond soit au nombre d'entrées du vecteur, soit au nombre de lignes de la matrice. Cela signifie que, dans un mode de réalisation possible, le nombre de cycles d'horloge utilisés pour mettre en œuvre la multiplication vecteur-matrice dépend du nombre d'entrées dans le vecteur ou de lignes dans la matrice. Il est également possible d'effectuer toutes les opérations en parallèle au cours du même cycle d'horloge en utilisant K ensembles de composants. En référence à la FIG. 32 , dans certains modes de réalisation de la présente divulgation, le laser FIG. 14 , 1405, les éléments optiques diffractifs et les photodiodes FIG. 14 , 1416 & 1422 sont empilés verticalement, dans une direction perpendiculaire au plan de support, de sorte que le laser ou les émetteurs se trouvent au niveau inférieur et les photodiodes ou les transducteurs au niveau supérieur, ou vice-versa. En référence aux figures 33 et 34, dans d'autres modes de réalisation, les éléments optiques diffractifs sont réfléchissants ou combinés à des éléments optiques réfléchissants, de sorte que les signaux optiques sont réfléchis. Un réseau de diffraction peut être utilisé à cet effet. Dans ces modes de réalisation, les lasers et les photodiodes sont intégrés sur le même plan. 4. Multiplication matrice-matrice La FIG. 37 donne un exemple représentatif non limitatif d'une multiplication matrice-matrice. L'approche en exemple suivie pour la multiplication matrice-matrice est appelée décomposition du produit dyadique. Comme le montre la FIG. 37 , le produit de deux matrices X & W peut être écrit comme la somme des produits extérieurs des colonnes de la première matrice avec les lignes de la seconde matrice. Une décomposition en produit dyadique est une opération d'algèbre linéaire qui prend en compte deux vecteurs (un premier vecteur de la première matrice et un second vecteur de la seconde matrice) et produit une matrice, où les composantes de la matrice sont les produits de deux éléments, chaque paire d'éléments contenant une valeur du premier vecteur et une valeur du second vecteur. Comme le montre la FIG. 37 , chaque valeur du premier vecteur doit être multipliée par chaque valeur du deuxième vecteur et vice versa, de sorte que la matrice de sortie contienne toutes les combinaisons possibles d'un élément du premier vecteur et d'un élément du deuxième vecteur. Dans la pratique, on utilise ce que l'on appelle un "double éventail optique", où chaque valeur du premier vecteur est distribuée avec chaque valeur du deuxième vecteur, et où chaque valeur du deuxième vecteur est distribuée avec chaque valeur du premier vecteur. Les matrices résultant des produits extérieurs sont additionnées en accumulant les valeurs comme indiqué dans la FIG. 37 (une accumulation pour chaque entrée de la matrice de sortie). La FIG. 16 montre les étapes de la multiplication d'une matrice par une autre matrice, ou selon un mode de réalisation de la présente divulgation. Plus précisément, la FIG. 16 montre les étapes opérationnelles pour multiplier ensemble ((X 11 X 12 ), (X 21 X 22 )) (une première matrice 2x2) et ((W 11 W 12 ), (W 21 W 22 )) (une deuxième matrice 2x2). Les étapes réalisées dans la région ombrée (étapes 1601 à 1640, FIG. 16 ) sont les mêmes que celles décrites dans les figures 9, 11 et 13 étapes 901 à 908, 1101 à 1108 et 1113 à 1120, 1301 à 1312 et 1323 à 1334. De même, les composants permettant de réaliser les étapes ombrées de la FIG. 16 , étapes 1601 à 1640, sont représentés à la FIG. 17 , 1701 à 1720 sont également les mêmes que ceux représentés aux figures 12 et 14, 1201 à 1210 et 1401 à 1415. Dans un mode de réalisation possible, les étapes d'exécution des multiplications X 11 xW 11 , X 11 xW 12 , X 21 xW 11 , X 21 xW 12 et les multiplications X 12 xW 21 , X 12 xW 22 , X 22 xW 21 , X 22 xW 22 comme indiqué dans la zone ombrée de la FIG. 16 , 1601 à 1620 se déroulent en parallèle des étapes 1621 à 1640, comme dans les figures 9, 11 et 13, examinées précédemment. Ces étapes peuvent se dérouler en un seul cycle d'horloge ou, comme le montre la FIG. 16 , elles peuvent inclure des opérations en série afin de préserver le nombre de composants nécessaires à la réalisation de ces opérations. Voir la discussion relative aux figures 9 et 10, aux figures 11 et 12 et aux figures 13 et 14 concernant les autres modes de réalisation. Les étapes permettant d'effectuer les opérations ombrées pour X 11 xW 11 , X 11 xW 12 , X 21 xW 11 , X 21 xW 12 et les opérations pour X 12 xW 21 , X 12 xW 22 , X 22 xW 21 , X 22 xW 22 dans la FIG. 16 , étapes 1601 à 1620, sont identiques à celles de la FIG. 13 pour l'exécution des opérations X 1 xW 11 et X 1 xW 12 , étapes 1301 à 1312. De même, les composants montrés à la FIG. 17 pour effectuer les opérations dans la zone ombrée de la FIG. 16 sont les mêmes que ceux montrés à la FIG. 14 , 1401 à 1415. Dans un mode de réalisation possible, un seul ensemble de composants est utilisé (comme le montre la FIG. 17 ) pour effectuer les multiplications. Ces opérations peuvent être effectuées en série sur deux cycles d'horloge pour préserver le nombre de composants, de sorte que, par exemple, un ensemble de composants 1401 à 1405 est suffisant. Il est possible d'utiliser moins de composants si ceux-ci sont sérialisés comme décrit ci-dessus à propos de la FIG. 10 . Il est également possible d'utiliser deux ensembles de composants illustrés à la FIG. 17 , 1701 à 1720, pour permettre à des opérations parallèles de se produire dans le même cycle d'horloge pour toutes les étapes 1721 à 1740 ou pour certaines d'entre elles. Dans la FIG. 17 , les sources ou émetteurs de lumière sont des lasers qui produisent des faisceaux laser divisés en deux faisceaux par une procédure de distribution rendue possible par un élément optique diffractif dont il a été question plus haut. L'éventail optique des deux lasers peut être obtenu en utilisant des éléments optiques diffractifs séparés ou en utilisant un élément optique diffractif commun. De même, les faisceaux laser des lasers W 11 et W 12 sont divisés en deux en utilisant un élément optique diffractif commun ou des éléments séparés pour chaque faisceau laser. Les étapes sont généralisées pour les matrices dont la taille est supérieure à deux. Dans ce cas, les faisceaux laser correspondant aux valeurs des colonnes de la première matrice (dans la FIG. 16 , les valeurs X 11 et X 21 ) sont chacun divisés en N faisceaux laser à l'aide d'éléments optiques diffractifs, N étant le nombre de colonnes de la deuxième matrice. Voir la FIG. 18 pour les lasers et un éventail optique, produisant N = 2 faisceaux laser pour chacune des valeurs X 11 et X 21 lors d'un premier cycle d'horloge, et X 12 et X 22 lors d'un second cycle d'horloge. Cela peut se faire en utilisant un ou plusieurs éléments optiques communs partagés par plusieurs faisceaux laser (par exemple, un élément optique commun partagé par tous les faisceaux laser ou k éléments optiques différents partagés par N/k faisceaux laser où k est un nombre naturel, ainsi que des modes de réalisation où différents éléments optiques interagissent avec différents nombres de faisceaux laser ou de faisceaux lumineux) ou des éléments optiques séparés pour chaque faisceau laser. De la même manière, les faisceaux laser correspondant aux valeurs des lignes de la deuxième matrice (dans la FIG. 16 , les valeurs W 11 et W 12 ) sont divisés en M faisceaux laser à l'aide de différents éléments optiques diffractifs, M étant le nombre de lignes de la première matrice. Voir la FIG. 18 pour les lasers et un éventail optique produisant M=2 faisceaux laser pour chacune des valeurs W 11 et W 12 dans un premier cycle d'horloge, et W 21 et W 22 dans un second cycle d'horloge. Une fois encore, cet éventail optique peut être obtenu par un élément optique diffractif commun ou par des éléments distincts pour chaque faisceau. Les détails concernant les éléments optiques diffractifs sont les mêmes que ceux discutés précédemment. L'effet de cet éventail optique est de produire un produit dyadique d'une colonne de la première matrice avec une ligne de la seconde matrice, combinant ainsi toutes les paires possibles de faisceaux codant une valeur de la colonne de la première matrice et une valeur de la ligne de la seconde matrice. Dans la partie inférieure de la FIG. 18 , le cycle d'horloge 1 montre les opérations parallèles effectuées pour obtenir X 11 xW 11 et X 11 xW 12 pour le premier élément du lot et X 21 xW 11 et X 21 xW 12 pour le deuxième élément du lot. Au cours du cycle d'horloge suivant, le cycle d'horloge 2, des opérations parallèles peuvent être effectuées pour obtenir X 12 xW 21 et X 12 xW 22 pour le premier élément du lot, et X 22 xW 21 et X 22 xW 22 pour le deuxième élément du lot. Une autre solution consisterait à ne pas inclure d'éventail optique et à ajouter des composants supplémentaires pour coder les valeurs des matrices dans une pluralité de lasers supplémentaires. Cette approche porterait le nombre d'amplificateurs, de modulateurs et de lasers logarithmiques à huit ensembles au lieu de quatre dans cet exemple. Une fois les étapes exécutées comme indiqué à la FIG. 16 , 1601 à 1640 avec les composants de la FIG. 17 , 1701 à 1740, les signaux analogiques représentant X 11 xW 11 et X 12 xW 21 peuvent être additionnés à l'étape 1673 de la FIG. 16 par un intégrateur 1723 représenté à la FIG. 17 . Un exemple de réalisation d'un intégrateur est illustré et discuté plus en détail à la FIG. 29 . La sortie de l'intégrateur est, pour cet exemple, un signal analogique représentant X 11 W 11 + X 12 W 21 comme indiqué à l'étape 1674 de la FIG. 16 . À la FIG. 17 , ce signal analogique est converti en un signal numérique représentant X 11 W 11 + X 12 W 12 par un convertisseur analogique-numérique ou "ADC" représenté au composant 1724, FIG. 17 . De la même manière, les signaux analogiques représentant X 11 W 12 et X 12 W 22 sont également convertis par un ADC 1730. Les signaux analogiques représentant X 21 W 11 et X 22 W 21 et les signaux analogiques représentant X 21 W 12 et X 22 W 22 peuvent être additionnés et leurs sorties converties en signaux numériques comme indiqué aux figures 17, 1735 et 1744. Ce processus et les composants peuvent être généralisés pour des matrices plus grandes où le nombre de colonnes dans la première matrice et le nombre de lignes dans la seconde matrice sont supérieurs à deux. Le nombre de fois que les étapes indiquées dans la zone grisée de la FIG. 16 sont exécutées (K) correspond soit au nombre de colonnes de la première matrice, soit au nombre de lignes de la seconde matrice. Cela signifie que le nombre de cycles d'horloge pour effectuer des multiplications matrice-matrice est égal à K. En variante, toutes les opérations peuvent être effectuées dans le même cycle d'horloge en utilisant K ensembles des mêmes composants en parallèle. Comme dans la mise en œuvre de la multiplication vectorielle-matricielle selon certains aspects des modes de réalisation de la présente divulgation, plusieurs géométries sont à prendre en considération. En référence aux figures 32 et 33, nous pouvons utiliser des éléments optiques transmissifs ou réfléchissants. En ce qui concerne la FIG. 32 , dans certains modes de réalisation de la présente divulgation, les lasers des figures 17, 1705, 1710, 1715 et 1720, les éléments optiques diffractifs et les photodiodes des figures 17, 1721, 1727, 1733 et 1739 sont empilés verticalement, dans une direction perpendiculaire au plan de support, de sorte que le laser ou les émetteurs se trouvent au niveau inférieur et les photodiodes ou les transducteurs au niveau supérieur, ou vice-versa. En référence à la FIG. 33 , dans d'autres modes de réalisation, les éléments optiques diffractifs sont réfléchissants ou combinés à des éléments optiques réfléchissants, de sorte que les signaux optiques sont réfléchis. Un réseau de diffraction peut être utilisé à cet effet. Dans ces modes de réalisation, les lasers et les photodiodes sont intégrés sur le même plan. 5. Mise en œuvre des signes négatifs La FIG. 19 montre un logigramme décrivant comment les valeurs négatives sont prises en compte dans les multiplications tenseur-tenseur selon certains aspects des réalisations de la présente divulgation. Étant donné que certains algorithmes d'apprentissage automatique pour l'entraînement et l'inférence utilisent des valeurs de données qui peuvent prendre des valeurs positives et négatives, il est nécessaire de pouvoir prendre en charge une gamme variée de paramètres et de valeurs de modèle pour soutenir ces algorithmes d'apprentissage automatique. Le codage de valeurs négatives avec des intensités de faisceau laser n'est pas pratique car les mesures d'intensité sont intrinsèquement positives. Pour prendre en compte des valeurs de données négatives allant de -1 à 1 (à titre d'exemple) à l'aide de l'intensité optique, ces valeurs sont d'abord ajustées à une nouvelle plage commençant à 0 et allant jusqu'à 2 dans une réalisation possible. Cette plage ajustée est ensuite mise à l'échelle pour correspondre au niveau d'intensité maximal possible, appelé "intensité maximale". Cette intensité maximale peut être déterminée sur la base de compromis tels que la consommation d'énergie, la dissipation de chaleur et la plage dynamique des dispositifs optiques, tels que les non-linéarités dans les comportements des sources lumineuses (par exemple, les sources laser ou les diodes électroluminescentes), les comportements des amplificateurs (par exemple, les plages d'entrée et de sortie pour lesquelles les amplificateurs présentent un comportement logarithmique et antilogarithmique), et la saturation des photodiodes. Étant donné que toutes les valeurs traitées optiquement ne peuvent être que positives, le matériel analogique dont il a été question plus haut, selon certains modes de réalisation de la présente divulgation, effectue ce que l'on appelle des multiplications non signées. En d'autres termes, cela signifie que dans un mode de réalisation possible selon la divulgation ci-dessus, le matériel de multiplication ne traite que des nombres positifs. Dans un mode de réalisation de la divulgation, si les entrées 2501 et 2503, x et y, sont comprises entre -1 et 1, elles sont ajustées à des valeurs positives en ajoutant 1 à chacune d'entre elles, 2502 et 2504. Le produit de x et y est alors obtenu en calculant d'abord le produit des valeurs ajustées, puis en soustrayant la somme des valeurs ajustées du produit, et enfin en ajoutant 1 à ce résultat. Voir les étapes 2507 à 2514, FIG. 19 . Les étapes de la FIG. 19 sont données en supposant que la plage de valeurs possibles des entrées x et y est comprise entre -1 et 1. Toutefois, ceci est arbitraire et admet une généralisation directe. Si l'entrée x a une valeur comprise entre -V max et V max et que l'entrée y a une valeur comprise entre -V max et V max , les valeurs ajustées sont obtenues en ajoutant V max à x et à y respectivement. D'autres généralisations (par exemple, lorsque les plages de x et de y sont différentes) peuvent également s'appliquer dans d'autres circonstances. Pour étendre ce principe à la multiplication tensorielle avec des vecteurs et des matrices contenant plusieurs valeurs, chacune comprise entre -1 et 1, chaque valeur est ajustée de la même manière en ajoutant 1. Le produit scalaire de ces vecteurs est ensuite obtenu en effectuant les opérations suivantes. On calcule d'abord le produit des valeurs ajustées, on soustrait la somme des valeurs ajustées de ce produit et on ajoute 1 au résultat final. Voir les étapes 2507 à 2514, FIG. 19 . Ces opérations peuvent être effectuées avant ou après la somme réalisée par les intégrateurs 1213, FIG. 12 , 1418 & 1424 FIG. 14 , 1518 & 1524, FIG. 15 , 1723, 1729, 1735 & 1741, FIG. 17 , et 2316 Fig, 23 dans le cas de multiplications vecteur-vecteur, vecteur-matrice ou matrice-matrice. Dans un mode de réalisation numérique, ces opérations sont effectuées directement sur les sommes accumulées, les sommes étant d'abord converties en numérique à l'aide d'un ou de plusieurs convertisseurs analogique-numérique. Dans d'autres modes de réalisation où la mise en œuvre est analogique, ces opérations peuvent être effectuées soit sur les signaux analogiques représentant les sommes accumulées, soit sur le produit des valeurs ajustées et la somme des valeurs ajustées avant l'intégrateur. Dans ce dernier cas, où les opérations sont effectuées avant l'intégrateur, une pluralité d'implémentations sont possibles, qui sont discutées ci-dessous. Une réalisation de la présente divulgation permettant la multiplication de deux tenseurs avec des valeurs signées selon le processus détaillé ci-dessus, et où les opérations spécifiques à la multiplication signée sont effectuées dans le domaine analogique avant l'intégrateur, comprend deux ensembles d'amplificateurs, de modulateurs et de lasers. La FIG. 20 montre un logigramme des opérations selon un mode de réalisation de la présente divulgation suivant cette approche et la FIG. 21 montre la mise en œuvre des composants selon un mode de réalisation de la présente divulgation suivant cette approche. Les amplificateurs 2106, 2116 FIG. 21 d'un ensemble de composants comprennent des amplificateurs logarithmiques, tandis que les amplificateurs 2103, 2113 FIG. 21 de l'autre ensemble comprennent des amplificateurs linéaires. Les amplificateurs linéaires convertissent un signal analogique en un autre signal analogique, où la relation entre les signaux d'entrée et de sortie est linéaire, avec un coefficient de proportionnalité positif ou négatif, avec ou sans valeur de décalage, pour une plage appropriée de la valeur du signal d'entrée. Un amplificateur linéaire typique est décrit et illustré plus en détail à la FIG. 26 . Dans un autre mode de réalisation, un amplificateur linéaire peut être omis (par exemple, remplacé par un fil ou une trace conductrice) dans une mise en œuvre bien calibrée. Dans d'autres aspects de la présente divulgation, les étapes 2001 à 2019 de la FIG. 20 sont similaires à celles décrites dans les FIG. 9 , FIG. 11 , FIG. 13 et FIG. 16 . Les signaux analogiques résultant de la mesure des faisceaux combinés, y compris les faisceaux laser provenant du premier et du deuxième ensemble de composants, sont acheminés respectivement et en parallèle dans un amplificateur exponentiel (étapes 2015 et 2019, FIG. 20 ) et (composant 2110, FIG. 21 ) et dans un amplificateur linéaire (2120, FIG. 21 ). Les deux signaux analogiques sont ensuite fournis comme entrées à un soustracteur analogique (2121, FIG. 2 , étape 2020, FIG. 20 ), ce qui a pour effet de produire un autre signal analogique représentant la soustraction de la somme des valeurs tensorielles d'entrée du produit des valeurs tensorielles d'entrée. L'ajout d'une constante (par exemple 1) est également effectué dans ce composant, de sorte que le signal résultant encode le résultat de la multiplication signée. Sous d'autres aspects, les étapes 2001 à 2019 de la FIG. 20 sont similaires à celles décrites dans les figures 9, 11, 13 et 16. Dans un autre mode de réalisation illustré par les figures 22 et 23, les opérations spécifiques à la multiplication signée sont effectuées à l'aide d'un seul ensemble de composants sur deux cycles d'horloge, en s'appuyant sur le circuit d'intégration 2316 pour effectuer à la fois la soustraction et l'addition (comme indiqué dans les figures 20 et 21). La FIG. 22 montre un logigramme des opérations de la présente divulgation suivant cette approche et la FIG. 23 montre la mise en œuvre des composants de la présente divulgation suivant cette approche. Dans ce mode de réalisation, les étapes illustrées à la FIG. 22 sont similaires à celles de la FIG. 20 . En plus de ces étapes 2201 à 2209, les étapes 2210 à 2221 sont ajoutées, y compris les convertisseurs numériques-analogiques 2302 & 2309, les modulateurs 2306 & 2313 et les lasers 2307 & 2314 représentant les valeurs des tenseurs d'entrée, un combinateur optique et un convertisseur 2315 pour produire l'addition des deux valeurs de tenseur d'entrée, multipliées par un signe négatif. Sous d'autres aspects, les étapes 2201 à 2209 de la FIG. 22 sont similaires à celles décrites dans les figures 9, 11, 13 et 16. Les amplificateurs linéaires 2303 & 2310 sont ajoutés à l'implémentation de la FIG. 12 , en parallèle aux amplificateurs logarithmiques 2304 & 2311. Un sélecteur à deux états 2305 & 2312 ou un autre composant de fonctionnalité similaire est utilisé pour connecter les modulateurs aux amplificateurs linéaires 2303, 2310 ou aux amplificateurs logarithmiques 2304, 2311. Les branches 2305 & 2312 connectées aux modulateurs 2306 & 2313 sont sélectionnées en fonction du mode de fonctionnement choisi, comme le montre la FIG. 23 . De même, un amplificateur linéaire 2317 est ajouté en parallèle à l'amplificateur exponentiel 2316, et un sélecteur 2317 permet de connecter la sortie d'un seul des amplificateurs à l'intégrateur 2316, comme le montre la FIG. 23 . Dans ce mode de réalisation, l'implémentation fonctionne selon une configuration choisie, ou mode. Dans un mode, que nous appelons "mode multiplication", les sélecteurs connectent les amplificateurs logarithmiques 2304 & 2311 aux modulateurs 2306 & 2313 et l'amplificateur exponentiel 2316 à l'intégrateur. Dans un autre mode, que nous appelons "mode addition", les sélecteurs connectent les amplificateurs linéaires 2303 & 2310 aux modulateurs 2306 & 2313 et l'amplificateur linéaire 2317 à l'intégrateur 2316. En mode multiplication, l'intégrateur accumule le produit des valeurs du tenseur d'entrée. En mode addition, l'intégrateur accumule l'addition négative des valeurs tensorielles d'entrée. Ainsi, l'exécution des opérations des deux modes dans des cycles d'horloge successifs avec les mêmes entrées, ainsi que l'accumulation d'un décalage constant, sont utilisées pour obtenir le résultat de la multiplication signée. D'autres modes de réalisation des méthodes et des mises en œuvre décrites ci-dessus peuvent utiliser des conventions différentes pour effectuer la multiplication de valeurs signées, ce qui se traduit par des plages différentes pour les valeurs signées et non signées et par des facteurs d'échelle supplémentaires. 6. Multiplication de tenseurs avec une grande précision de sortie Les variantes suivantes, illustrées par les figures 24 et 25, présentent deux approches et implémentations permettant d'ajouter une précision supplémentaire aux multiplications de tenseurs effectuées conformément à l'une des variantes de la présente divulgation. La multiplication d'un tenseur sur un dispositif analogique produit une imprécision due à la résolution de lecture limitée et au rapport signal/bruit fini des signaux analogiques. Par exemple, une multiplication exacte de deux entiers positifs de 8 bits donne un résultat de 16 bits. Toutefois, il est possible que le bruit rende, par exemple, les 8 premiers bits des 16 bits fiables (les bits les moins significatifs ayant une forte probabilité d'être incorrects) et les 8 bits suivants non fiables. L'utilisation d'entrées avec des intervalles plus grands (par exemple, seulement 4 bits de précision effective) réduit le nombre de bits dans le résultat de la multiplication et réduit également la probabilité que des erreurs se produisent. L'algorithme de Karatsuba est un algorithme bien connu utilisé pour obtenir un plus grand nombre de bits de précision pour une multiplication de deux valeurs, même si le matériel du multiplicateur ne peut pas accueillir les bits de précision. Voir https://www.researchgate.net/publication/234346907_Multiplication_of_Multidigit_Numbers_on_Automata, Voir aussi https://en.wikipedia.org/wiki/Karatsuba_algorithm En se référant à la FIG. 24 , les valeurs entières de 8 bits sont divisées en deux représentations ou mots de 4 bits pour chacune des valeurs d'entrée. Une série de multiplications partielles est ensuite effectuée et les résultats sont accumulés pour entraîner une sortie plus large. Chacune des cases 2409, 2412, 2415 et 2418 marquées d'un X dans la FIG. 24 indique une opération de multiplication tensorielle. Chaque multiplication tensorielle peut être mise en œuvre par les modes de réalisation de la présente divulgation examinés ici. Par exemple, pour la multiplication vecteur-vecteur illustrée aux figures 11 et 12, chacune des quatre multiplications 2409, 2412, 2415 et 2418 notées X est effectuée par les étapes et les composants décrits en référence à ces figures. De même, cette approche de la multiplication peut être appliquée aux opérations et aux composants de la multiplication vecteur-matrice et matrice-matrice selon les modes de réalisation de la présente divulgation. La FIG. 25 présente un autre mode d'exécution de la multiplication de précision. En additionnant des nombres entiers positifs, la largeur de bit effective est augmentée, ce qui permet d'obtenir des résultats plus exacts. Lorsqu'une somme est effectuée entre les produits partiels et l'agrégation, cela signifie que des entrées vectorielles à plus faible résolution doivent être utilisées pour obtenir un produit analogique vecteur-vecteur exact. Une implémentation pour deux vecteurs de quatre éléments, par exemple X1, X2, X3 et X4, & W1, W2, W3 et W4, où chaque valeur contient 6 bits, a une représentation exacte du résultat avec 14 bits. Ceci peut être obtenu en utilisant le processus de la FIG. 25 , où les unités de multiplication 2509, 2514, 2519 et 2524 désignées par X sont le système et les méthodes de la présente divulgation décrits ici pour la multiplication vecteur-vecteur, vecteur-matrice et matrice-matrice et où la précision de lecture est de 8 bits. Diverses structures de circuits pour les processeurs photoniques sont décrites dans le présent document en ce qui concerne divers modes de réalisation de la présente divulgation. Ces structures de circuits peuvent être représentées à l'aide d'informations numériques pouvant être stockées sur un support informatique non transitoire, tel qu'une mémoire flash (par exemple, un lecteur à semi-conducteurs), un lecteur de disque dur, etc. Ces représentations numériques peuvent inclure, par exemple, des réalisations de la présente divulgation décrites dans un langage de description de matériel (HDL) tel que Verilog et VHDL, des modèles de circuits analogiques décrits, par exemple, comme des modèles SPICE (Simulation Program with Integrated Circuit Emphasis), et autres, et sous diverses formes adaptées à l'intégration d'un module ou d'un sous-circuit d'une conception de circuit intégré. Les représentations numériques peuvent également inclure, par exemple, des fichiers représentant des conceptions de circuits intégrés (CI), tels que des fichiers au format de flux GDSII (GDSII) pouvant être fournis à une fonderie pour la fabrication d'un circuit intégré mettant en œuvre des processeurs photoniques selon les modes de réalisation de la présente divulgation. Selon un mode de réalisation, une unité de traitement optique pour effectuer une multiplication tensorielle sur une valeur d'un premier tenseur et une valeur d'un second tenseur, comprend : un premier convertisseur configuré pour convertir la valeur du premier tenseur en un premier signal analogique, un premier amplificateur logarithmique pour convertir le premier signal analogique en un deuxième signal analogique qui représente le logarithme de la valeur du premier tenseur, un premier modulateur et une première source de lumière pour convertir le deuxième signal analogique en un premier faisceau lumineux, un deuxième convertisseur configuré pour convertir la valeur du deuxième tenseur en un troisième signal analogique, un deuxième amplificateur logarithmique pour convertir le troisième signal analogique en un quatrième signal analogique qui représente le logarithme de la valeur du deuxième tenseur, un deuxième modulateur et une deuxième source de lumière pour convertir le quatrième signal analogique en un deuxième faisceau lumineux, et un combineur optique pour ajouter le premier faisceau lumineux au deuxième faisceau lumineux afin d'obtenir un faisceau lumineux représentant le logarithme de la valeur du premier tenseur multiplié par la valeur du deuxième tenseur ou le logarithme de la valeur du premier tenseur ajouté au logarithme de la valeur du deuxième tenseur. L'unité de traitement optique peut également comprendre un transducteur pour convertir le faisceau lumineux résultant en un cinquième signal analogique. Le transducteur peut comprendre une photodiode. L'unité de traitement optique peut également comprendre un amplificateur antilogarithmique pour convertir le cinquième signal analogique en un sixième signal analogique qui représente l'antilogarithme ou l'exponentielle du cinquième signal analogique. L'unité de traitement optique peut également comprendre un troisième convertisseur configuré pour prendre le sixième signal analogique et le convertir en un signal numérique. La première source de lumière et la seconde source de lumière peuvent comprendre respectivement un premier laser à cavité verticale émettant par la surface (VCSEL) et un second VCSEL. Le premier tenseur et le second tenseur peuvent comprendre respectivement un premier vecteur et un second vecteur, l'unité de traitement optique effectuant une multiplication vecteur-vecteur. Le premier tenseur peut comprendre un vecteur et le second tenseur peut comprendre une matrice pour effectuer une multiplication vecteur-matrice. Le premier tenseur peut comprendre une matrice et le second tenseur peut comprendre une matrice pour effectuer une multiplication matrice-matrice. Le premier faisceau lumineux ou le second faisceau lumineux peut être divisé ou distribué par un ou plusieurs éléments diffractifs afin d'obtenir une pluralité de faisceaux lumineux. Le premier faisceau lumineux et le second faisceau lumineux peuvent être divisés ou distribués par un ou plusieurs éléments diffractifs afin d'obtenir une pluralité de faisceaux lumineux. Le ou les éléments diffractifs peuvent être transmissifs et situés verticalement entre les sources lumineuses et une ou plusieurs photodiodes pour convertir la pluralité de faisceaux lumineux en signaux analogiques. Les éléments diffractifs peuvent être réfléchissants et la première source de lumière et la seconde source de lumière peuvent être situées sur le même substrat qu'une ou plusieurs photodiodes pour convertir la pluralité de faisceaux lumineux en signaux analogiques. L'unité de traitement optique peut également comprendre : a) un premier amplificateur linéaire et un deuxième amplificateur linéaire pour convertir le premier signal analogique et le troisième signal analogique en un septième signal analogique et un huitième signal analogique qui représentent les valeurs du premier tenseur et du deuxième tenseur, et b) un troisième modulateur et un quatrième modulateur et une troisième source de lumière et une quatrième source de lumière pour convertir le septième signal analogique et le huitième signal analogique en un troisième faisceau de lumière et un quatrième faisceau de lumière. L'unité de traitement optique peut en outre comprendre : un troisième modulateur et un quatrième modulateur, ainsi qu'une troisième source de lumière et une quatrième source de lumière pour convertir le septième signal analogique et le huitième signal analogique en un troisième faisceau de lumière et un quatrième faisceau de lumière. L'unité de traitement optique peut également comprendre un deuxième combineur optique pour additionner le troisième faisceau lumineux avec le quatrième faisceau lumineux afin d'obtenir un deuxième faisceau lumineux représentant la valeur du premier tenseur ajoutée à la valeur du deuxième tenseur. L'unité de traitement optique peut également comprendre un second transducteur pour convertir le second faisceau lumineux résultant en un neuvième signal analogique qui représente la valeur du premier tenseur ajoutée à la valeur du second tenseur. Le second transducteur peut être une photodiode. L'unité de traitement optique peut en outre comprendre a) un troisième amplificateur linéaire pour convertir le neuvième signal analogique en un dixième signal analogique, b) un soustracteur pour prendre la différence entre le sixième signal analogique et le dixième signal analogique afin d'obtenir un onzième signal analogique, et c) un convertisseur analogique-numérique pour convertir le onzième signal analogique en un signal numérique. L'unité de traitement optique peut également comprendre un convertisseur analogique-numérique pour convertir le onzième signal analogique en un signal numérique. L'unité de traitement optique peut également comprendre un soustracteur qui prend la différence entre le sixième signal analogique et le dixième signal analogique et ajoute la valeur entière 1 pour obtenir un onzième signal analogique. L'unité de traitement optique pour effectuer une multiplication tenseur-tenseur dans laquelle la valeur du premier tenseur et du second tenseur peut être représentée par une pluralité de bits et la première représentation binaire du tenseur et la seconde représentation binaire du tenseur peuvent être divisées en au moins deux mots ou plus. L'unité de traitement optique peut également comprendre au moins un additionneur pour agréger les deux produits partiels ou plus en un produit de multiplication résultant. Selon un mode de réalisation de la présente divulgation, une méthode d'exécution optique d'une multiplication tensorielle sur une valeur d'un premier tenseur et une valeur d'un second tenseur comprend : convertir la valeur du premier tenseur en un premier signal analogique, traiter le premier signal analogique à travers un premier amplificateur logarithmique pour obtenir un deuxième signal analogique qui représente le logarithme de la valeur du premier tenseur, moduler une première source lumineuse avec le deuxième signal analogique pour produire un premier faisceau lumineux, convertir la valeur du deuxième tenseur en un troisième signal analogique, traiter le troisième signal analogique à travers un deuxième amplificateur logarithmique pour obtenir un quatrième signal analogique représentant le logarithme de la valeur de la deuxième matrice, moduler une deuxième source de lumière avec le quatrième signal analogique pour produire un deuxième faisceau lumineux, et combiner optiquement le premier faisceau lumineux et le deuxième faisceau lumineux pour obtenir un faisceau lumineux résultant représentant le logarithme de la valeur du premier tenseur multiplié par la valeur du deuxième tenseur ou le logarithme de la valeur du premier tenseur ajouté au logarithme de la valeur du deuxième tenseur. La méthode peut également comprendre l'étape consistant à utiliser un transducteur pour convertir le faisceau lumineux résultant en un cinquième signal analogique. Le transducteur peut comprendre une photodiode. La méthode peut également comprendre l'étape consistant à convertir le cinquième signal analogique en un sixième signal analogique représentant l'antilogarithme du cinquième signal analogique. L'étape de conversion du cinquième signal analogique en un sixième signal peut comprendre l'utilisation d'un amplificateur antilogarithmique. Les étapes de modulation de la première source de lumière et de la deuxième source de lumière peuvent comprendre les étapes de modulation des premier et deuxième lasers à cavité verticale émettant par la surface (VCSEL). Le premier tenseur et le second tenseur pour effectuer la multiplication tenseur-tenseur respectivement peuvent comprendre un premier vecteur et un second vecteur pour effectuer la multiplication vecteur-vecteur. Le premier tenseur et le second tenseur pour effectuer la multiplication tenseur-tenseur peuvent respectivement comprendre un vecteur et une matrice pour effectuer la multiplication vecteur-matrice. Le premier tenseur et le second tenseur pour effectuer la multiplication tenseur-tenseur respectivement peuvent comprendre une première matrice et une seconde matrice pour effectuer la multiplication matrice-matrice. Les étapes de production du premier faisceau lumineux ou du second faisceau lumineux peuvent en outre comprendre l'étape de la distribution par un ou plusieurs éléments diffractifs afin de fournir une pluralité de faisceaux lumineux. Les étapes de production du premier faisceau lumineux et du second faisceau lumineux peuvent en outre comprendre l'étape de la distribution par un ou plusieurs éléments diffractifs afin de fournir une pluralité de faisceaux lumineux. Le procédé peut également comprendre les étapes suivantes : a) conversion du premier signal analogique et du troisième signal analogique à l'aide d'un premier amplificateur linéaire et d'un deuxième amplificateur linéaire en un septième signal analogique et un huitième signal analogique qui représentent respectivement les valeurs du premier tenseur et du deuxième tenseur, et b) conversion du septième signal analogique et du huitième signal analogique en, respectivement, un troisième faisceau lumineux et un quatrième faisceau lumineux à l'aide d'un troisième modulateur et d'un quatrième modulateurs et d'un troisième faisceau lumineux et d'un quatrième faisceau lumineux. Le procédé peut également comprendre l'étape consistant à convertir le septième signal analogique et le huitième signal analogique en un troisième faisceau lumineux et un quatrième faisceau lumineux à l'aide d'un troisième modulateur et d'un quatrième modulateur et d'une troisième source lumineuse et d'une quatrième source lumineuse. Le procédé peut également comprendre l'étape consistant à ajouter le troisième faisceau lumineux au quatrième faisceau lumineux afin d'obtenir un deuxième faisceau lumineux représentant la valeur du premier tenseur ajoutée à la valeur du deuxième tenseur à l'aide d'un deuxième combineur optique. Le procédé peut également comprendre l'étape consistant à utiliser un second transducteur pour convertir le faisceau lumineux en un neuvième signal analogique représentant la valeur du premier tenseur ajoutée à la valeur du second tenseur. Le transducteur peut être une photodiode. Le procédé peut également comprendre les étapes suivantes : a) utilisation d'un troisième amplificateur linéaire pour convertir le neuvième signal analogique en un dixième signal analogique, b) utilisation d'un soustracteur pour prendre la différence entre le sixième signal analogique et le dixième signal analogique et ajouter une valeur constante positive afin d'obtenir un onzième signal analogique, et c) utilisation d'un convertisseur analogique-numérique pour convertir le onzième signal analogique en un signal numérique. Le procédé peut en outre comprendre les étapes suivantes : a) utilisation d'un soustracteur pour prendre la différence entre le sixième signal analogique et le dixième signal analogique et ajouter la valeur entière 1 pour obtenir un onzième signal analogique, et b) utilisation d'un convertisseur analogique-numérique pour convertir le onzième signal analogique en un signal numérique. Procédé de multiplication tensorielle dans laquelle la valeur du premier tenseur et du second tenseur peut être représentée par une pluralité de bits et la première représentation binaire du tenseur et la seconde représentation binaire du tenseur peuvent être divisées en au moins deux mots ou plus. Le procédé peut également comprendre les étapes consistant à utiliser au moins un additionneur pour agréger au moins deux produits partiels ou plus en un produit de multiplication résultant. Certains aspects de la présente divulgation ont été décrits dans divers modes de réalisation, mais ne sont pas limités à ceux-ci. Par exemple, tous les composants de la divulgation, y compris ceux mentionnés dans le glossaire, peuvent être mis en œuvre en tant que composants distincts sur une carte mère, intégrés dans une puce de silicium et/ou dans un micrologiciel ("firmware" en anglais). En outre, les étapes réalisées dans les modes de réalisation possibles dans plus d'un cycle d'horloge peuvent être réalisées dans des opérations parallèles dans moins de cycles d'horloge, y compris un seul cycle d'horloge, en ajoutant des composants supplémentaires et dupliqués aux modes de réalisation possibles. L'ajout de cycles d'horloge au fonctionnement des modes de réalisation possibles permet d'utiliser moins de composants. Les personnes compétentes en la matière reconnaîtront qu'un certain nombre de modifications et d'améliorations supplémentaires peuvent être apportées à la divulgation sans s'écarter de l'esprit et de la portée essentiels. Glossaire Amplificateur linéaire : Un amplificateur linéaire est un type d'amplificateur inverseur qui utilise une résistance sur la borne d'inversion et une autre sur la boucle de rétroaction pour produire une sortie proportionnelle à l'entrée mais à une puissance plus élevée. L'équation qui représente ceci peut être représentée ci-dessous, où V I est la tension d'entrée du circuit, où V 0 est la tension de sortie, R f est la résistance sur la boucle de rétroaction, R 1 est la résistance sur la borne d'inversion, et I s est le courant de saturation. Amplificateur exponentiel : Un amplificateur exponentiel est un type d'amplificateur inverseur qui utilise une diode sur la borne d'inversion pour produire une sortie proportionnelle à l'exponentielle de l'entrée de la diode. L'équation qui représente ceci peut être représentée ci-dessous, où V I est la tension d'entrée du circuit, où V T est la tension thermique équivalente de la diode, R f est la résistance et I s est le courant de saturation. Amplificateur logarithmique : Un amplificateur logarithmique est un type d'amplificateur inverseur dans lequel la boucle de rétroaction n'est pas régulée par une résistance mais remplacée par une diode ; la sortie est proportionnelle au logarithme naturel de l'entrée. L'équation qui peut être représentée ci-dessous est la suivante : V i est la tension d'entrée, I s est le courant de saturation, R 1 est la résistance connectée à la borne d'inversion, V T est la tension thermique équivalente de la diode et n est le paramètre d'idéalité de la diode. Intégrateur : Un circuit d'intégration est un type d'amplificateur inverseur dans lequel la boucle de rétroaction n'est pas régulée par une résistance mais remplacée par un condensateur. Ce condensateur accumule les charges de la résistance connectée à la borne inverseuse de l'amplificateur et agit comme un intégrateur de temps. La sortie est alors égale à l'intégrale temporelle de la tension d'entrée multipliée par la fréquence du circuit RC. L'équation peut être représentée ci-dessous où V t est la tension d'entrée, t est le temps, R est la résistance et C est la capacité. VCSEL : un laser à cavité verticale émettant par la surface sont des lasers à semi-conducteur, plus précisément des diodes laser avec un résonateur laser monolithique, où la lumière émise quitte le dispositif dans une direction perpendiculaire à la surface de la puce ( https://www.rp-photonics.com/vertical_cavity_surface_emitting_lasers.html). Par exemple, une série non limitative d'exemples de sources lumineuses qui pourraient être utilisées sont les suivantes : lasers à cristaux photoniques à émission de surface (PCSEL), lasers à rétroaction distribuée/émission de bord, diodes électroluminescentes et autres. En outre, d'autres sources lumineuses pourraient être utilisées, telles que les DEL et autres. Unité de traitement optique pour effectuer une multiplication tensorielle sur une valeur d'un premier tenseur et une valeur d'un second tenseur, l'unité de traitement optique comprenant : un premier convertisseur configuré pour convertir la valeur du premier tenseur en un premier signal analogique, un premier amplificateur logarithmique pour convertir le premier signal analogique en un second signal analogique qui représente le logarithme de la valeur du premier tenseur, un premier modulateur et une première source de lumière pour convertir le second signal analogique en un premier faisceau lumineux, un second convertisseur configuré pour convertir la valeur du second tenseur en un troisième signal analogique, un deuxième amplificateur logarithmique pour convertir le troisième signal analogique en un quatrième signal analogique qui représente le logarithme de la valeur du deuxième tenseur, un second modulateur et une seconde source de lumière pour convertir le quatrième signal analogique en un second faisceau lumineux, et un combineur optique pour additionner le premier faisceau lumineux avec le second faisceau lumineux afin d'obtenir un faisceau lumineux résultant représentant le logarithme de la valeur du premier tenseur multiplié par la valeur du second tenseur ou le logarithme de la valeur du premier tenseur ajouté au logarithme de la valeur du second tenseur. Unité de traitement optique selon la revendication 1 comprenant en outre un transducteur pour convertir le faisceau lumineux résultant en un cinquième signal analogique. Unité de traitement optique selon la revendication 2 comprenant en outre un amplificateur antilogarithmique pour convertir le cinquième signal analogique en un sixième signal analogique qui représente l'antilogarithme ou l'exponentielle du cinquième signal analogique. Unité de traitement optique selon la revendication 3 comprenant en outre un troisième convertisseur configuré pour prendre le sixième signal analogique et le convertir en un signal numérique. Unité de traitement optique selon la revendication 1, dans laquelle la première source de lumière et la seconde source de lumière comprennent respectivement un premier laser à cavité verticale émettant par la surface (VCSEL) et un second VCSEL. Unité de traitement optique selon la revendication 1, dans laquelle le premier faisceau lumineux ou le second faisceau lumineux est distribué par un ou plusieurs éléments diffractifs pour fournir une pluralité de faisceaux lumineux. Unité de traitement optique selon la revendication 6, dans laquelle un ou plusieurs éléments diffractifs sont transmissifs et situés verticalement entre la première et la deuxième source lumineuse et une ou plusieurs photodiodes pour convertir la pluralité de faisceaux lumineux en signaux analogiques. Unité de traitement optique selon la revendication 6, dans laquelle les un ou plusieurs éléments diffractifs sont réfléchissants et la première source de lumière et la seconde source de lumière sont situées sur le même substrat qu'une ou plusieurs photodiodes pour convertir la pluralité de faisceaux lumineux en signaux analogiques. Unité de traitement optique selon la revendication 4 comprend en outre : a) un premier amplificateur linéaire et un deuxième amplificateur linéaire pour convertir le premier signal analogique et le troisième signal analogique en un septième signal analogique et un huitième signal analogique qui représentent les valeurs du premier tenseur et du deuxième tenseur, et b) un troisième modulateur et un quatrième modulateur et une troisième source de lumière et une quatrième source de lumière pour convertir le septième signal analogique et le huitième signal analogique en un troisième faisceau de lumière et un quatrième faisceau de lumière. Procédé de réalisation optique d'une multiplication tensorielle sur une valeur du premier tenseur et une valeur du second tenseur à l'aide de l'unité de traitement optique de l'une des revendications 1 à 9.