notre technologie

De l’existant et ses limites

La conception de modèle d’IA, autrefois sous contrôle des experts en Deeplearning, atteignent les limites humaines en l’absence de mathématiques de construction.

Depuis 30 ans, la problématique de l’architecture des réseaux de neurones numériques est non résolue. Les topologies qui émergent sont issues de tests/erreurs aboutissant d’une sélection naturelle implicite alimentée par les experts en réseaux de neurones.

Il en résulte que les modèles existants sont peu ou pas optimisés avec une efficacité en deçà des efforts nécessaires pour les obtenir. De plus, leur taille démesurée en fait de gros consommateurs de puissance de calcul.

Logiquement, les entreprises, qui n’ont pas les moyens d’avoir accès à cette puissance, en sont réduites à utiliser les super modèles précâblés (et donc non optimisés) des fournisseurs d’IA qui ont entre leurs mains des supercalculateurs.

Une approche nouvelle :
la sélection naturelle d’IA grâce à notre technologie NNTO

NNTO_logo
C’est autour de ces problématiques de topologie que les fondateurs de DATAVALORIS se sont orientés vers la sélection naturelle systémique pour la construction des modèles d’IA à l’instar de ce que la nature à fait pour les cerveaux biologiques.

Cette approche est le cœur du moteur développé par DATAVALORIS appelé NNTO (Neural Network Topology Optimizer) et s’applique à tout Framework de réseaux de neurones numérique.

Des IA mutantes !

NNTO agit comme une surcouche qui pilote le Framework choisi. Elle fournit deux services
  • Le service de génération produit des IA à partir du catalogue des modèles parents HOF (Hall of Fame) et y applique des mutations (d’où le terme Mutant). Il les construit en fonction de nos règles d’apparition de mutations et de vos critères de sélections (typologie d’objectif ou taille par exemple).

  • Le service de sélection choisit, en fonction des scores qui sont remontés et des contraintes appliquées, les modèles qui vont rejoindre le catalogue des parents remplaçant ainsi les modèles moins adaptés.

Les critères de sélection

Parmi les critères de sélections, le plus important est le score remonté par le Framework de deeplearning.

Ce score peut être :

  • Un retour brut d’un Val_acc calculé par le framework
  • Un MAE calculé par le framework,
  • Le F1 calculé par le framework,
  • Un composite du genre [80%val_acc+20%acc*facteur X] le facteur X pouvant être le résultat du jeu de données éthiques (0 ou 1) ou bien encore un critère d’explicabilité de modèles (validation formelle…)
D’autres critères sont pris en compte par le service de séléction et viennent pondérer le score :
  • La taille du modèle (nombre de paramètres),
  • Sa rapidité d’exécution (temps moyen d’un epoch),
  • La différence d’erreur par rapport aux modèles du catalogue.

Un process de design de modèles simplifié

Cette approche implique un changement dans la manière de concevoir les modèles.

CONCEPTION ACTUELLE

Processus de création d’ia (MLops)

CONCEPTION AVEC DATAVALORIS

AI_creation_DV

Ainsi, cette nouvelle méthode de concevoir des modèles d’IA prend en compte les besoins métier et impératifs de production dès le processus de conception au lieu d’un mécanisme d’essai/erreur manuel avec validation des contraintes opérationnelles au moment de la mise en production.

Un IA “from scratch” ou optimisée ?

La question qui resterait à définir serait de savoir à quel stade la génération du modèle doit avoir lieu. Doit-on partir d’un modèle avec une couche d’entrée et de sortie ou d’un modèle SOTA (state of the art) ?

Notre technologie excellant dans l’optimisation, nous recommandons donc de partir d’un modèle, s’il existe, ayant déjà fait ses preuves.

RAISE, la plateforme automatisée de génération automatique de modèles d’IA

A partir de notre moteur NNTO, nous avons développé la plateforme RAISE qui est une solution SAAS qui permet a tout utilisateur de lancer la génération ou l’optimisation de modèle de deeplearning.

Cette solution s’inscrit dans le processus de travail des experts et fait partie de l’artillerie de l’expert. Elle est la brique manquante du ML Ops sur la partie modélisation des IA (ModelOps)
Processus de création d’ia (MLops)
Processus de création d’ia (MLops)

un processus breveté, sécurisé et maîtrisé

Un connecteur est installé sur votre serveur de calcul au plus près de votre framework et pilote ce dernier pour faire le cycle d’entrainements et d’évaluations.
Raise - plateforme sécurisée et économique

Cette architecture sécurisée ne nécessite pas de sortir les données de l’entreprise et permet de contrôler les coûts hardware d’apprentissage.

process plateforme RAISE by Datavaloris
process plateforme RAISE by Datavaloris

des modèles plus robustes

La mise en compétition des modèles et la sélection engendre de par leur conception des modèles plus robustes

Un outil pour épauler (soulager) les experts data

Le processus étant automatisé, la construction du modèle ne nécessite plus d’intervention humaine. L’expert peut donc désormais se focaliser uniquement sur les critères de sélection (score, pondérations…) et les données utilisées.

Une palette d’usage en constante évolution

Basé sur notre technologie, nous avons décliné les usages pour permettre de faire de l’ensembling automatique, de faire de l’apprentissage evolutif sur des données réparties non partageables, de programmer l’apparition des mutations (phylogenetic replay learning)…

testez dès maintenant
la plateforme raise gratuitement !

test2

Lexique de RAISE

Pour utiliser la plateforme il faut se familiariser avec les concepts d’algorithmie génétique que nous utilisons :

Mutant :

Un mutant est un modèle d’IA généré à partir du catalogue auquel ont été appliquées des mutations.

HOF size :

Le HOF size correspond à un nombre de modèles “champion” que l’on conserve dans le catalogue de “reproducteurs”. Plus ce nombre est élevé plus la diversité génétique est importante, plus le système est capable de sortir d’une impasse évolutive, mais aussi plus l’évolution est ralentie. A l’opposé, une valeur de 1, implique que seul un enfant meilleur remplace le champion, donc ça va vite mais l’impasse évolutive (minimum local) est probable. (La version gratuite est limitée à un HOF de 1). Une valeur de 10 est souvent utilisée.

Population :

La population est le nombre de mutant qui est généré à chaque cycle. Plus le nombre est élevé plus on génère de mutant et il faut attendre la fin de toutes les évaluations pour que la mise a jour du catalogue (HOF) soit fait. Cela donne plus de choix mais réduis la faculté d’un mutant de rentrer dans le HOF. Une valeur de 1 implique un mutant par cycle donc la capacité de diversité génétique s’en ressent car en probabilité seul le champion du catalogue produit un enfant (prime au meilleurs). Une valeur de 6 à 10 selon la capacité de calcul est recommandée. Elle est fixée a 6 par défaut en mode gratuit.

Cycle :

Le cycle correspond au processus en cours d’évaluation de la population en cours. Ce n’est pas un paramètre mais une information. Par exemple, avec une population de 6, le dixième cycle correspond à l’évaluation des mutants 55 à 60.

Génération :

La génération est une valeur indicative. La génération d’un mutant correspond au nombre d’ancêtres qu’il a depuis le modèle initial. Donc un mutant de génération 2, a un père et un grand père et le grand père est le modèle initial. La génération max est la génération maximale d’un mutant atteinte par le générateur de mutant pour le projet considéré. Le nombre de génération n’est pas toujours corrélé a son cycle d’apparition. 

Growth control :

Le Growth control est un paramètre de pondération pour la sélection des mutants et leur entrée dans le HOF. Plus il est élevé plus on privilégie les mutants de petite taille. Une valeur de 0 déconnecte cette pondération (cela n’implique pas forcément une croissance de la taille du modèle car les mutations parfois réduisent la taille), la valeur maximale en revanche bloque complètement la croissance donc les mutants qui seront généré seront systématiquement plus petit que ses ancêtres. L’utilisation de la valeur maximale n’est recommandée que pour une optimisation de taille attendue et peut ralentir le processus évolutif (utile pour du edge computing).

Projet :

Un projet concerne un modèle initial et tout son processus évolutif. Vous pouvez avoir plusieurs projets Raise dans le cadre de vos projets.