Créé le: 2024-01-14 ; Révisé le: 2024-01-21
Normalement, lorsque nous considérons l’intelligence artificielle, nous pensons surtout à une intelligence qui permettrait de réfléchir par elle-même. Présentement, avec les ordinateurs que nous avons et l’état de la recherche, nous sommes loin d’être rendus à cette étape. Tout ce qui est publicisé comme de l’intelligence artificielle présentement, c’est plutôt de l’apprentissage machine.
L’apprentissage machine, c’est de donner des informations en entrée ainsi que des informations désirées comme sortie et à force d’entraîner le modèle avec des informations prénettoyées, cela permet que lorsqu’une personne donne des entrées spécifiques, l’algorithme va essayer de deviner quelle est la sortie la plus probable. C’est purement des statistiques mathématiques et il n’y a pas de raisonnement derrière.
Prenons un exemple simple et concret : les pourriels. Nous pourrions avoir un modèle dans lequel nous rentrons tous les mots qui se retrouvent dans un courriel et le modèle va nous dire le pourcentage de chance que ce soit du pourriel. Pour ce faire, il faut une grosse base de données avec beaucoup de courriels à l’intérieur : beaucoup qui sont légitimes et beaucoup qui sont des pourriels. Chacun de ces courriels est marqué par un humain si c’est du pourriel ou non. Ainsi durant l’apprentissage, il n’y a pas besoin de savoir exactement quels mots dans un courriel font en sorte que c’est considéré un bon ou mauvais courriel, mais à force d’en voir, le modèle va se rendre compte que ce sont des mots ou des groupes de mots qui font qu’il est bon ou non. Par exemple à l’interne, il pourrait automatiquement détecter que quand il y a beaucoup d’erreurs orthographiques et grammaticales que ce sont des courriers plus susceptibles d’être du pourriel.
L’exemple précédent est un modèle qui est très spécifique à faire une seule tâche qui est de faire de la catégorisation. Il y a présentement plusieurs types de modèle pour des tâches très spécifiques, mais il y a aussi des modèles qu’on appelle des modèles linguistiques larges (LLM en anglais) dont le plus connu est GPT qui peut lire et écrire du texte d’une manière qui semble écrite par un humain. Ce qui est important ici, c’est que ce qui va sortir comme réponse ne veut pas dire que c’est une bonne réponse. Cela dépend sur quelles données le modèle a été entraîné. Alors sur un sujet quelconque, s’il a été entraîné avec de bonnes informations, les prochains mots statistiquement probables vont être des phrases qui ont du sens et qui expliquent vraiment ce qui est le sujet initial. Par contre, s’il a été entraîné avec de fausses informations et des informations erronées dans ce cas-là cela va produire des informations qui ne sont pas utiles et qu’il ne faut pas prendre comme étant vraies, même si le texte semble très convaincant. L’important est de toujours vérifier les sources.
Le but de cet article est de fournir un aperçu rapide des concepts de l’apprentissage automatique sans trop approfondir les implémentations réelles. Il contient également des indications sur la façon de commencer à utiliser certains modèles existants en ligne ou localement.
Mon but est d’utiliser ceci comme référence lorsque je vais créer des vidéos sur le sujet.
Lorsque nous voulons utiliser l’apprentissage automatique, nous avons besoin de plusieurs éléments:
Un modèle génératif est un modèle entraîné pour générer du contenu tel que du texte, des images, des sons, etc.
Un modèle de langage est un modèle génératif formé pour générer du texte. Il est formé sur un vaste corpus de texte et est capable de générer un texte similaire au texte sur lequel il a été formé. Certains modèles ont plus de fonctionnalités comme pouvoir raisonner un peu ou générer du code.
Dans cette catégorie, nous voyons l’acronyme GPT qui signifie Generative Pre-trained Transformer.
Exemples de modèles de langage:
Modèle | Compagnie | Peut être utilisé commercialement | Site web | Formé sur l’ensemble de données | Comment l’utiliser |
---|---|---|---|---|---|
GPT-3 and GPT-4 | OpenAI | Oui | OpenAI / ChatGPT | Un service en ligne ChatGPT ou Bing | |
Mistral OpenOrca | Mistral AI | Oui | Huggingface | OpenOrca | Logiciel gratuit GPT4All |
Mistral Instruct | Mistral AI | Oui | Huggingface | Utilisation d’une variété d’ensembles de données de conversation accessibles au public | Logiciel gratuit GPT4All |
Mixtral 8x7B | Mistral AI | Oui | Huggingface | Téléchargez le GGUF dont vous avez besoin sur Huggingface et utilisez le logiciel gratuit LLaMA.CPP | |
Orca 2 | Microsoft Research | Non | Microsoft Research Blog | Logiciel gratuit GPT4All | |
LLaMA 2 | Meta AI | Oui | LLaMA | Logiciel gratuit GPT4All | |
GPT4All Falcon | Nomic AI | Oui | Huggingface | Logiciel gratuit GPT4All | |
Hermes | Nous Research | Non | Huggingface | Sorties GPT-4 synthétiques | Logiciel gratuit GPT4All |
Il s’agit d’un logiciel facile à utiliser avec une interface graphique. Il peut télécharger des modèles courants pour vous et commencer à les utiliser immédiatement.
J’ai fait une vidéo sur ce logiciel
Ce logiciel est un peu plus compliqué à utiliser, car il utilise uniquement la ligne de commande.
.\main.exe -m mixtral-8x7b-v0.1.Q4_K_M.gguf -p "Générer un PDF en php en utilisant la bibliothèque TCPDF"
Les plus courants sont:
Un modèle d’image est un modèle génératif formé pour générer des images.
Exemples de modèles de langage:
Modèle | Compagnie | Peut être utilisé commercialement | Site web | Comment l’utiliser |
---|---|---|---|---|
DALL-E 3 | OpenAI | Yes | OpenAI | Un service en ligne Bing dans le style créatif |
Stable Diffusion | Stability-AI | Yes | OpenAI | Entrepôt GitHub a les instructions à utiliser avec Python |
Vous avez pu constater que certains modèles ont un numéro dans leur nom comme 7B ou 13B. Ce nombre est le nombre de paramètres qui sont des variables internes que le modèle apprend grâce à l’entraînement. Lorsqu’il est indiqué qu’un modèle a 7 milliards de paramètres, cela signifie que le modèle a 7 milliards de variables internes de ce type et que ces paramètres capturent des modèles dans les données sur lesquelles le modèle a été formé. Le nombre de paramètres est souvent révélateur de la complexité et de la capacité d’apprentissage du modèle: un modèle avec plus de paramètres peut souvent capturer des modèles plus complexes, mais nécessite également plus de données pour s’entraîner efficacement et nécessite plus de calculs.
Cependant, il est important de noter qu’un plus grand nombre de paramètres ne signifie pas toujours de meilleures performances. L’efficacité d’un modèle dépend également de facteurs tels que la qualité des données de formation, l’architecture du modèle et les spécificités de la tâche à accomplir.
Lorsqu’un modèle est entraîné, il est entraîné avec des nombres à virgule flottante (comme un flottant 32 bits). Mais lorsqu’il est utilisé, il l’est avec des entiers (comme un entier de 8 bits). Le modèle doit donc être converti de virgule flottante en nombre entier. C’est ce qu’on appelle la quantification. Si nous jetons un œil à https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/README.md#provided-files, nous pouvons voir différentes valeurs comme “Q2”, “Q3”.", “Q4, “Q5”, “Q6” et “Q8”. Plus il y a de bits, plus le modèle est précis, mais il utilise plus d’espace disque et plus de RAM. C’est donc un compromis entre précision et vitesse.