Connexion Premium

#Nextquick Une simple requête à ChatGPT, c’est déjà des centaines de milliards de calculs

Yo ! Et paf 350 milliards d’opérations !

#Nextquick Une simple requête à ChatGPT, c’est déjà des centaines de milliards de calculs

Quand on parle d’intelligence artificielle, on pense prompt, GPU, inférence, milliards de paramètres, consommation de ressources, etc. Dans ce #Nextquick, on vous explique pourquoi des centaines de milliards d’opérations sont nécessaires pour un petit Yo. C’est aussi à relativiser face à la puissance de calcul des GPU.

Le 16 janvier à 10h45

Nous allons parler du modèle GPT-3 d’OpenAI car nous disposons d’informations précises sur son fonctionnement. Son architecture est décrite dans cette publication sur arXiv : le modèle a 175 milliards de paramètres, il dispose de 96 couches, l’embedding d’un token est 12 288… Le quoi du quoi ?

Token et embedding en version abrégée

Il reste 88% de l'article à découvrir.

Déjà abonné ? Se connecter

Cadenas en colère - Contenu premium

Soutenez un journalisme indépendant,
libre de ton, sans pub et sans reproche.

Accédez en illimité aux articles

Profitez d'un média expert et unique

Intégrez la communauté et prenez part aux débats

Partagez des articles premium à vos contacts

Commentaires (21)

votre avatar
Il y a cette représentation 3D faite par Brendan Bycroft il y a quelques années, basée sur GPT 2 et équivalents qui montrait d'une façon visuelle toutes les étapes de calcul pour le traitement d'un LLM.
votre avatar
Intéressant ! même si j'ai absolument rien compris :D
votre avatar
Version ultra abrégée :

Tu dis Yo à ChatGTP, un ordinateur réalise 350 milliards de calculs pour te répondre.
C’est beaucoup dit comme ça, mais peanuts face à la capacité de calculs des GPU (2 000 000 milliards d’opérations par secondes).
Par contre, plus le prompt et la conversation augmente, plus les ressources sont importantes (elles augmentent). 6 000 tokens -> 36 000 000 fois plus de calculs.
votre avatar
Merci, c'est très simplifié :love:
Du coup, je me suis mis de coté le site de @SebGF et j'ai fait un petit passage sur https://www.lonestone.io/ai/llm pour avoir un petit rafraichissement ! J'avais quelques notions et termes sur le sujet, mais c'est vrai que tu m'as perdu assez vite. Je relirai après m'être remis dedans !
votre avatar
Effectivement, un "Yo" ce n'est pas beaucoup (0.0175% d'une seconde).
Mais multiplié par le nombre de personne se servant d'une IA (de plus en plus, pour des choses pas forcément nécessaire), ça fait un nombre non-négligeable.

Et surtout, c'est de la puissance de calcul qui peut être évité. Montrant qu'il faut encore plus de puissance, donc encore plus de datacenter.

Notre entreprise est en train de mettre en place un chatbot accessible par tous les employés, ils viennent de diffuser une vidéo d'information, et à la fin, le responsable IT faisant la démonstration. Il répond aux questions de l'IA "as-tu encore besoin de quelque chose", par 2 phrases du type "c'est bon pour aujourd'hui" et "merci".
Un bel exemple de ce qu'il n'a pas besoin d'être fait.

Avec l'IA il faut savoir être impoli. Dire bonjour, s'il te plait, merci sont inutiles, voire contre-productif (puissance de calcul pour rien).
votre avatar
Pour le bonjour/s'il te plaît/merci (en prompt et pas en réponse au résultat), ca dépend : être poli peut améliorer le résultat!
votre avatar
Au delà de ça, être impoli ou perremptoire ça sert surtout à arrêter d'antropomorphiser ces horreurs. Un hallucinateur stockastique n'est pas un être humain. Il crache la soupe qu'il crache, quelle que soit sa complexité.
Le fait qu'ils soient markettés comme des "compagnons" "assistants" etc... en jouant abusivement sur les psychologies et émotions des utilisateur.ices (d'où les maladies mentales de masse et les suicides qu'il provoque) est bien sûr une décision tout à fait consciente. La causalité entre les LLMs de gafam et les troubles psychiatriques est avérée.
votre avatar
Moi je suis poli. Mais c'est volontaire et pas anthropomorphique. Je ne dis "bonjour" ou "merci, mais.." que pour une seule raison : encore aujourd'hui je constate quotidiennement que les réponses sont plus précises, plus pertinentes ou moins détournées en étant poli qu'en absence de ces mots...
Le jour ou ces modèles cesseront d'en tenir compte, je cesserai d'être poli avec ces logiciels.
votre avatar
@Nozalys Voilà une affirmation subjective qui demanderais à être démontrée, et pas par un seul exemple isolé, mais par une étude statistique portant sur un nombre significatif de requêtes variées.
votre avatar
Il me semble que c'est cette étude qui en avait parlé.
votre avatar
Merci à toi pour le lien vers cette étude, qui ne porte que sur trois langages : Anglais, Chinois et Japonais.

Ce qui en ressort c'est que comparé à GPT 3.5, GPT 4 semble beaucoup moins sensible à la politesse des messages, je cite :
The models’ ROUGE-L and BERTScore scores consistently maintain stability, irrespective of the politeness level of the prompts, which infers that the models can correctly summarize the article content in the summarization tasks.
However, the models manifest substantial variation in length correlated to the politeness level.
MAIS à cela, il faut ajouter une tonne de nuances :
A progressive reduction in the generation length is evident as the politeness level descends from high to lower scales. Conversely, a surge is noted in the length of the outputs of GPT-3.5 and Llama2-70B under the exceedingly impolite prompts. The propensity exhibited by the models to generate more extended output in polite contexts. Polite and formal language is predominantly used in scenarios demanding descriptive instructions or instructional literature, often associated with longer text. Conversely, antagonistic and fervent discourse involves impolite language, which is also associated with extended lengths. These facets reflect the nuances of human social behavior, mirrored in the training data, and then influence the tendencies demonstrated by LLMs.
However, GPT-4 did not echo this trend of increased output length in the presence of highly impolite prompts. It is conjectured that GPT-4, being a superior model, might prioritize the task itself and effectively control the tendency to “argue” at a low politeness level.
Ainsi, plus les versions avancent, moins ce biais de politesse semble influencer la qualité et la longueur des réponses. Mais il faudrait faire une étude avec le Français et GPT-5 (...ou d'autres modèles ? Après tout, il n'y a pas qu'OpenAI dans la vie !...) pour en être certain.
votre avatar
Dans la mesure où GPT-5 avait été critiqué à sa sortie, car considéré comme "moins sympa", je suppose que ce doit être lié.

Personnellement, je reste sur Mistral Small qui m'apporte satisfaction. J'ai testé Apertus de Swiss AI, et il est... chiant. Au sens où j'arrive même pas à lire le texte généré tellement il m'endort par sa platitude.
votre avatar
Pour le peu que j'utilise, je tape des mots clés comme dans Google (souvent avec "résume" ou "abrège" car 25 lignes de réflexion pour me répondre oui ou non ça me gonfle). Et le résultat me convient la plupart du temps (enfin, c'est selon l'IA utilisée).
votre avatar
Les tokens sont les unités sur lesquelles travaillent des modèles de langages. OpenAI propose un tokenizer pour visualiser de quoi il s’agit. « Bonjour » occupe un token avec GPT-3.5, mais 3 tokens avec GPT-3 (« Bon », puis « j » puis « our »).
Je suis surpris que leur tokeniser fasse ça (le bonjour en bon, j et our) : en tokenisation plus classique (genre lexer avec flex, antlr), je m'attendrais plutôt à ce qu'ils fassent 3 catégories (en ignorant les mots clefs, string, commentaires, opérateurs...)

- les identifiants, généralement des groupes de caractères de mots
- les blancs (espaces et compagnie), généralement ignorés
- le reste

Autant je comprendrais que le mot soit décomposé en syllabes pour de la sémantique, mais c'est généralement une étape qui vient après.
votre avatar
96 couches seulement ? Je m'attendais à beaucoup plus. Mais j'aurais du m'en douter, ces LLM sont plutôt simpliste, et la science de l'IA n'a pas tant avancé que ça.

Sinon, ça, c'est que pour l'utilisation.
Pour l'apprentissage, c'est autre chose :
1. Tu donnes "Yo" à ta LLM initialisée avec des valeurs random
2. Elle te répond "Pi/2", normal, ça a aucun rapport, c'est aléatoire.
3. Suivant la réponse au 2., tu va augmenter les poids qui ont contribué à la bonne réponse, ou baisser les poids qui ont contribué à la mauvaise.
4. Retour à l'étape 1. tant que la valeur de sortie en 2. n'est pas acceptable et n'est pas ~stable (il te répond "Salut", "Bonjour" ou "Ok", et dans moins de 10 % des cas "LIzerSQKUHcvJDE")
5. Refaire tout ça, avec un autre token
6. Vérifier que les tokens appris précédemment fonctionnent toujours ~correctement (des variations sont normales)
⇒ Ta LLM est entraînée

Comme on peut le voir, l'étape 2., qui est celle qui consomme beaucoup, est celle qui est répétée un nombre de fois immense.
A noter que à l'étape 4., le pourcentage d'erreur est logarithmique : si on veut faire baisser ce pourcentage, il faut augmenter exponentiellement le nombre d'itérations (déjà élevées) de l'étape 2.
votre avatar
@Cqoicebordel : Ta, ta, ta ! Dis-nous la vérité vraie : tu viens d'un futur parallèle où les IA sont tellement, teeeellement intelligentes qu'en comparaison, tu trouve tout et tout le monde ici complètement cons...
:brice: :mike: :ane: :fou3: :zero:
votre avatar
Souvenez-vous de vos cours de maths : le nombre de colonnes du vecteur (12 288) doit être identique au nombre de lignes de la matrice
Je n'ai pu ces mathématiques en cours :-/
votre avatar
Je viens de tester avec Mistral dans la barre latérale de Firefox.

1) Yo : réponse immédiate obtenue
« Salut ! Comment ça va aujourd’hui ? 😊 »
2) Ya : réponse immédiate obtenue
« Super ! Tu veux discuter de quelque chose en particulier, ou tu cherches une info ? 😊 »
3) Yi : réponse immédiate obtenue
« Désolé, je n’ai pas bien compris "Yi" — tu veux parler de quelque chose en particulier ?
Par exemple :
- Yi comme le personnage historique chinois ?
- Yi comme le jeu vidéo (League of Legends) ?
- Ou autre chose ?
N’hésite pas à préciser ! 😊 »
4) Ja : réponse immédiate obtenue
« Ah, d’accord ! Tu veux dire "oui" ou tu cherches quelque chose de précis ? Dis-moi, je suis là pour t’aider ! 😊 »
Je ne sais pas trop quoi en conclure, sinon que les réponses sont "correctes".
Et je ne sais pas combien de milliards de calcul ont été nécessaires !
votre avatar
Même avec exactement la même requêtte tu n’auras pas toujours la même réponse, cf ce T@LC :chinois:
votre avatar
Il n’y avait aucun reproche dans mon commentaire.
Et j’ai déjà expérimenté également les réponses différentes à une même requête.

Sinon, petit lapsus avec "quéquette" ?
votre avatar
Super article qui donne enfin un peu de contexte intermédiaire entre l'outil et les calculs en FP4 ou FP8 dont on entend parler côté matériel.

Par contre, j'ai les yeux qui saignent quand je lit "token". On dit jeton en français et le sens est vraiment le même donc je ne vois pas de raison de ne pas faire la traduction.

Et le prompt, c'est aussi traduisible. Je pense que propager les bonnes traductions donc éduquer les lecteurs, d'une certaine façon, fait partie du journalisme.

#Nextquick Une simple requête à ChatGPT, c’est déjà des centaines de milliards de calculs

  • Token et embedding en version abrégée

  • Une couche, c’est 1,8 milliard de paramètres

  • 350 milliards de calculs pour un token dans le modèle

  • Les coûts peuvent exploser avec le nombre de tokens

Fermer