Comment fonctionne réellement un LLMHow an LLM actually works
Objectif du jour : arrêter de traiter le modèle comme une boîte noire magique. À la fin de cette séance, vous savez expliquer — à un collègue, en trois phrases et sans hand-waving — ce qui se passe quand vous tapez « Bonjour » dans un modèle local, pourquoi le français coûte plus cher que l'anglais, et pourquoi l'hallucination n'est pas un bug mais une propriété du système. Vous aurez aussi mesuré le débit réel de votre propre machine.Today's goal: stop treating the model as a magic black box. By the end of this session you can explain — to a colleague, in three sentences, with no hand-waving — what happens when you type "Hello" into a local model, why French costs more than English, and why hallucination is not a bug but a property of the system. You will also have measured your own machine's real throughput.
1
Des tokens, pas des motsTokens, not words
≈ 18 min
Un modèle de langage ne voit jamais de texte. Il voit des tokens : des morceaux de mots, transformés en entiers par un tokenizer. Le tokenizer est un algorithme de compression (byte-pair encoding, BPE) entraîné une fois pour toutes sur un grand corpus : il découpe le texte en unités fréquentes. « ingénieur » peut devenir ing + én + ieur. Ce découpage n'est pas cosmétique : il détermine le coût, la vitesse et la fenêtre de contexte de tout ce que vous ferez ensuite.A language model never sees text. It sees tokens: word fragments, converted to integers by a tokenizer. The tokenizer is a compression algorithm (byte-pair encoding, BPE) trained once on a large corpus: it splits text into frequent units. "engineer" may become eng + ine + er. This split is not cosmetic: it determines the cost, the speed and the context window of everything you do next.
💡 L'analogie du jour : le modèle ne lit pas des lettres, il joue avec des Lego. Le tokenizer est la boîte de briques. Un texte courant en anglais utilise des briques standard et fréquentes ; le français, le code exotique ou le JSON dense demandent plus de briques pour dire la même chose. Plus de briques = plus de calcul, plus de mémoire, plus de latence, et une fenêtre de contexte qui se remplit plus vite.Today's analogy: the model does not read letters, it plays with Lego. The tokenizer is the brick box. Ordinary English uses standard, frequent bricks; French, exotic code or dense JSON need more bricks to say the same thing. More bricks = more compute, more memory, more latency, and a context window that fills up faster.
La règle d'or à retenirThe rule of thumb to remember
Langue / contenuLanguage / content
tokens par mot (mesuré)tokens per word (measured)
Effet à contenu égalEffect for equal content
Anglais courantOrdinary English
1,09 – 1,12
Référence. Les modèles sont majoritairement entraînés dessus.Baseline. Models are mostly trained on it.
FrançaisFrench
1,51 – 1,92
× 1,84 soit + 84 % de tokens : coûts, latence et consommation de contexte augmentent d'autant.× 1.84, i.e. + 84 % tokens: costs, latency and context consumption rise accordingly.
JSON indentéIndented JSON
3,36 car/token
~1,8× plus de tokens par caractère que l'anglais. Les espaces, accolades et guillemets se paient : un RAG qui envoie 20 documents JSON explose sa fenêtre.~1.8× more tokens per character than English. Spaces, braces and quotes cost money: a RAG sending 20 JSON documents blows up its window.
🔬 Mesuré sur le lab le 2026-09-18 (tokenizer Qwen2.5-7B, 3 passages techniques traduits) : le ratio FR/EN = 1,84 se décompose en deux effets distincts — le français est × 1,20 plus verbeux (plus de mots pour le même contenu) et le tokenizer le découpe × 1,54 plus finement (plus de tokens par mot). Les deux se multiplient : 1,20 × 1,54 = 1,84.Measured on the lab on 2026-09-18 (Qwen2.5-7B tokenizer, 3 translated technical passages): the FR/EN ratio = 1.84 decomposes into two distinct effects — French is ×1.20 more verbose (more words for the same content) and the tokenizer splits it ×1.54 more finely (more tokens per word). The two multiply: 1.20 × 1.54 = 1.84.
⚠️ Le ratio dépend du tokenizer — citez-le toujours avec le chiffre. Mesuré le même jour sur le même corpus : Qwen2.5-7B ×1,84 · Mistral-7B ×1,93 · o200k_base ×1,57 · cl100k_base ×1,85 · p50k_base ×2,26. Un « ×1,3 » lu dans un blog vient d'un autre tokenizer, d'un autre corpus, ou des deux. C'est exactement pourquoi la séance 3 vous fera écrire vos propres mesures.The ratio depends on the tokenizer — always cite it with the number. Measured the same day on the same corpus: Qwen2.5-7B ×1.84 · Mistral-7B ×1.93 · o200k_base ×1.57 · cl100k_base ×1.85 · p50k_base ×2.26. A "×1.3" from a blog comes from a different tokenizer, a different corpus, or both. That is exactly why session 3 makes you write your own measurements.
Ces ordres de grandeur se vérifient en 30 secondes avec le tokenizer réel — c'est le lab 1 plus bas. Ne les prenez pas pour argent comptant : mesurez.These orders of magnitude are verifiable in 30 seconds with the real tokenizer — that is Lab 1 below. Do not take them on faith: measure.
La fenêtre de contexte : votre ressource la plus chèreThe context window: your most expensive resource
La fenêtre de contexte (context_length) est le nombre maximal de tokens que le modèle peut « garder en tête » simultanément — prompt et réponse. Elle est fixée à l'entraînement, et on l'interroge : sur le lab, llama3.1:8b annonce 131 072 tokens et mistral:7b 32 768. Attention au piège d'ingénieur : une grande fenêtre annoncée n'est pas une grande fenêtre utilisable. Le coût mémoire du cache d'attention croît avec la longueur, et la qualité d'attention se dégrade sur les éléments très éloignés du milieu du contexte. Configurez la fenêtre dont vous avez besoin, pas le maximum vendu.The context window (context_length) is the maximum number of tokens the model can hold "in mind" at once — prompt and answer. It is fixed at training time, and it is queryable: on the lab, llama3.1:8b reports 131,072 tokens and mistral:7b 32,768. Watch for the engineering trap: a large advertised window is not a large usable window. The memory cost of the attention cache grows with length, and attention quality degrades for items far from the middle of the context. Configure the window you need, not the maximum advertised.
⚠️ Erreur classique n°1 des ingénieurs : mettre num_ctx au maximum « pour être tranquille ». Résultat : plusieurs gigaoctets de mémoire consommés pour rien, et un débit qui s'écroule. La bonne méthode est dans la séance 5 — on dimensionne la fenêtre à partir d'un budget mesuré.Classic engineer mistake #1: setting num_ctx to the maximum "to be safe". Result: several gigabytes of memory consumed for nothing, and collapsed throughput. The right method is in session 5 — you size the window from a measured budget.
📚 Sources : spécification du format GGUF (métadonnées de modèle, dont la longueur de contexte) — ggml, GGUF specification. Valeurs de contexte et de quantification du lab relevées via l'API Ollama le 2026-09-18 (voir RESOURCES.md §8).Sources: GGUF format specification (model metadata, including context length) — ggml, GGUF specification. Lab context and quantization values read from the Ollama API on 2026-09-18 (see RESOURCES.md §8).
2
Embeddings : le sens devient de la géométrieEmbeddings: meaning becomes geometry
≈ 12 min
Chaque token est converti en un vecteur — une liste de quelques milliers de nombres. C'est un embedding. La propriété qui rend tout le reste possible : des textes de sens proche ont des vecteurs proches dans cet espace. On mesure cette proximité par la similarité cosinus (le cosinus de l'angle entre deux vecteurs, de −1 à 1).Each token is converted into a vector — a list of a few thousand numbers. That is an embedding. The property that makes everything else possible: texts with similar meaning have close vectors in that space. We measure that closeness with cosine similarity (the cosine of the angle between two vectors, from −1 to 1).
🔍 Pourquoi ça compte pour un ingénieur : c'est exactement le mécanisme d'un moteur de recherche sémantique, et donc de tout RAG (séance 6). Chercher « comment redémarrer le service » trouvera « procédure de relance du démon » — aucun mot commun, mais sens identique. Un moteur par mots-clés échoue là où les embeddings réussissent. Et l'inverse est vrai aussi : les embeddings ne savent pas compter — « erreur 404 » et « erreur 502 » sont très proches sémantiquement. D'où la recherche hybride (dense + mots-clés), que nous verrons en séance 6.Why an engineer should care: this is exactly how a semantic search engine works, and therefore all RAG (session 6). Searching "how to restart the service" will find "daemon relaunch procedure" — no shared word, identical meaning. A keyword engine fails where embeddings succeed. And the reverse is true too: embeddings cannot count — "error 404" and "error 502" are semantically very close. Hence hybrid search (dense + keywords), covered in session 6.
Point d'architecture souvent raté : le modèle qui produit les embeddings est un modèle différent de celui qui génère le texte. Sur votre lab, c'est granite-embedding:latest (30,15 M de paramètres, quantification F16, contexte 512 tokens) qui produit les vecteurs, pendant que llama3.1:8b rédige. On choisit un modèle d'embedding sur un classement mesuré (MTEB), pas au feeling — et on n'en change jamais après avoir indexé un corpus, sans tout réindexer.An architecture point that is often missed: the model that produces embeddings is a different model from the one that generates text. On your lab, granite-embedding:latest (30.15 M parameters, F16 quantization, 512-token context) produces the vectors, while llama3.1:8b writes. You pick an embedding model from a measured ranking (MTEB), not by feel — and you never swap it after indexing a corpus without re-indexing everything.
📚 Sources : MTEB Leaderboard (classement mesuré des modèles d'embedding par tâche) ; Chroma (recherche dense et sparse) ; fiche modèle du lab relevée par api/show.Sources: MTEB Leaderboard (measured embedding-model ranking per task); Chroma (dense and sparse search); lab model card read via api/show.
3
L'attention : le mécanisme qui a tout changéAttention: the mechanism that changed everything
≈ 22 min
Un LLM est un Transformer. L'architecture date de 2017 (papier Attention Is All You Need) et sa seule idée vraiment neuve est la self-attention : pour produire le token suivant, chaque token peut « regarder » tous les autres tokens de la séquence et décider lesquels comptent pour lui.An LLM is a Transformer. The architecture dates from 2017 (the paper Attention Is All You Need) and its one genuinely new idea is self-attention: to produce the next token, every token may "look at" all the other tokens in the sequence and decide which ones matter to it.
🧠 L'analogie de la réunion : imaginez une réunion où chacun ne parle qu'une fois. Dans un RNN (l'ancienne approche), l'information circule de bureau en bureau : celui qui parle en dernier a oublié le début. Dans un Transformer, chacun peut poser une question directement à n'importe qui d'autre, en parallèle. C'est plus rapide (parallélisable) et ça garde mieux les dépendances lointaines. Le prix à payer : le coût mémoire croît avec le carré de la longueur — d'où la guerre actuelle autour du contexte long.The meeting-room analogy: imagine a meeting where each person speaks only once. In an RNN (the old approach), information travels desk to desk: the last speaker has forgotten the beginning. In a Transformer, anyone can ask a question directly of anyone else, in parallel. That is faster (parallelisable) and preserves long-range dependencies better. The price: memory cost grows with the square of the length — hence today's war over long context.
Que fait une couche d'attention ? (version ingénieur)What does one attention layer do? (engineer's version)
Pour chaque token, le modèle calcule trois projections : Query (ce que je cherche), Key (ce que j'offre), Value (ce que je transmets). On compare chaque Query à tous les Keys par produit scalaire, on normalise en probabilités (softmax), et on fait une moyenne pondérée des Values. Le résultat est une représentation enrichie par le contexte. Empilez 30 à 80 de ces couches, avec des réseaux feed-forward intercalés, et vous obtenez un modèle de plusieurs milliards de paramètres. Les paramètres, ce sont ces poids : c'est eux qu'on stocke, quantifie, et fine-tune.For each token, the model computes three projections: Query (what I'm looking for), Key (what I offer), Value (what I pass on). Each Query is compared to every Key by dot product, normalised into probabilities (softmax), and the Values are averaged with those weights. The result is a representation enriched by context. Stack 30 to 80 of those layers, with feed-forward networks in between, and you get a model with billions of parameters. The parameters are those weights: they are what you store, quantize and fine-tune.
Et l'inférence, concrètement ?And inference, concretely?
Générer du texte, c'est prédire le token suivant, un à la fois, puis le remettre dans l'entrée et recommencer. Deux conséquences que vous allez mesurer en séance 5 :Generating text means predicting the next token, one at a time, then feeding it back and repeating. Two consequences you will measure in session 5:
✅ Préremplissage (prefill)Traitement du prompt entier : parallélisable, donc gourmand en calcul (GPU) mais rapide. C'est ce qui fixe le TTFT — time to first token.Processing the whole prompt: parallelisable, so compute-hungry (GPU) but fast. This sets TTFT — time to first token.
⛔ Décodage (decode)Un token à la fois : non parallélisable, donc limité par la bande passante mémoire, pas par le calcul. C'est ce qui fixe votre tokens/s.One token at a time: not parallelisable, so limited by memory bandwidth, not compute. This sets your tokens/s.
🎯 À retenir pour toute la formation : le décodage est memory-bound. C'est pour cette raison qu'un modèle plus petit et quantifié va plus vite, et que les GPU à grosse bande passante dominent le marché de l'inférence. Vous ne pouvez pas « optimiser » votre débit en ajoutant des cœurs CPU — vous l'améliorez en réduisant les octets à déplacer.Keep this for the whole course: decoding is memory-bound. This is why a smaller, quantized model goes faster, and why high-bandwidth GPUs dominate the inference market. You cannot "optimise" your throughput by adding CPU cores — you improve it by moving fewer bytes.
📚 Source : Vaswani et al., Attention Is All You Need, 2017 — l'architecture Transformer et le mécanisme de self-attention. Le vocabulaire prefill/decode et le caractère memory-bound du décodage sont documentés côté serveur dans le README de llama-server.Source: Vaswani et al., Attention Is All You Need, 2017 — the Transformer architecture and the self-attention mechanism. The prefill/decode vocabulary and the memory-bound nature of decoding are documented server-side in the llama-server README.
4
Trois entraînements, pas un — et l'hallucinationThree trainings, not one — and hallucination
≈ 18 min
Un modèle que vous téléchargez aujourd'hui a subi trois étapes distinctes. Les confondre est la source de la moitié des malentendus en entreprise — et savoir laquelle des trois vous devez attaquer est un choix d'ingénieur (séances 6 et 7).A model you download today has been through three distinct stages. Confusing them is the source of half of all enterprise misunderstandings — and knowing which of the three you must attack is an engineering decision (sessions 6 and 7).
ÉtapeStage
Ce qu'elle apprend au modèleWhat it teaches the model
Donnée nécessaireData required
1. Pré-entraînement (base)(base)
Le langage, les faits, le raisonnement latent. Objectif : prédire le token masqué/suivant sur du texte brut.Language, facts, latent reasoning. Objective: predict the masked/next token on raw text.
Milliards de tokens — hors de portée. On ne fait jamais ça.Billions of tokens — out of reach. You never do this.
À répondre au lieu de continuer le texte : format instruction→réponse, refus, ton.To answer instead of continuing text: instruction→response format, refusals, tone.
Milliers à millions d'exemples. C'est ici que vous intervenez (séance 7).Thousands to millions of examples. This is where you step in (session 7).
3. Alignement aux préférences (RLHF / DPO)(RLHF / DPO)
À préférer les réponses utiles, sûres, honnêtes plutôt que plausibles. D'où le « ton assistant ».To prefer helpful, safe, honest answers over merely plausible ones. Hence the "assistant tone".
Comparaisons humaines (A est meilleur que B). Rarement accessible.Human comparisons (A is better than B). Rarely accessible.
Modèle « base »Étape 1 seulement. Il complète du texte, il ne répond pas. Si vous lui demandez « Quelle est la capitale de la France ? » il peut enchaîner avec d'autres questions — il imite la forme du corpus.Stage 1 only. It completes text, it does not answer. Ask "What is the capital of France?" and it may continue with more questions — it imitates the corpus shape.
Modèle « instruct » / « chat »Étapes 1+2 (+3). Il suit une instruction et respecte un gabarit de conversation. C'est celui que vous voulez pour tout usage applicatif.Stages 1+2 (+3). It follows an instruction and respects a conversation template. This is the one you want for any application.
Le modèle est optimisé pour produire une suite plausible, pas une suite vraie. Quand il ne sait pas, « inventer quelque chose de plausible » est statistiquement la meilleure stratégie disponible : il n'a aucune notion interne de « je ne sais pas » sauf si on la lui a enseignée. Donc :The model is optimised to produce a plausible continuation, not a true one. When it does not know, "inventing something plausible" is statistically its best available strategy: it has no internal notion of "I don't know" unless that was taught to it. Therefore:
⛔ Ce n'est pas un bug à corrigerOn ne « répare » pas l'hallucination par un prompt plus poli. On la contient par l'architecture : fournir la vérité dans le contexte (RAG), contraindre la sortie (schéma JSON), vérifier automatiquement, et exiger des citations. Tout le reste de la formation est construit là-dessus.You do not "fix" hallucination with a politer prompt. You contain it architecturally: put the truth in the context (RAG), constrain the output (JSON schema), verify automatically, and require citations. The rest of this course is built on that.
Température, top-p : les boutons que vous allez réglerTemperature, top-p: the knobs you will actually set
ParamètreParameter
EffetEffect
Valeur de départStarting value
temperature
Aplatit ou aiguise la distribution des tokens. 0 = quasi déterministe.Flattens or sharpens the token distribution. 0 = near-deterministic.
0 pour extraction/JSON/code · 0,7 pour la rédaction0 for extraction/JSON/code · 0.7 for writing
top_p
Ne garde que le plus petit ensemble de tokens cumulant p de probabilité.Keeps only the smallest token set whose probability sums to p.
0,9–1,0 (ne pas combiner agressivement avec temperature)0.9–1.0 (do not combine aggressively with temperature)
seed
Rend le tirage reproductible — indispensable pour évaluer un prompt.Makes sampling reproducible — essential to evaluate a prompt.
fixe (ex. 42) dans tous vos testsfixed (e.g. 42) in all your tests
max_tokens
Plafond de sortie. Trop bas = réponses tronquées, cause n°1 des « bugs » de parsing JSON.Output ceiling. Too low = truncated answers, the #1 cause of "JSON parsing bugs".
calculé, jamais laissé au défautcomputed, never left to the default
🎯 Règle d'ingénieur : pour tout ce qui est vérifiable (extraction, classification, JSON, code), visez la déterminisme maximal (temperature 0, seed fixe) — vous voulez un composant logiciel reproductible, pas un poète. Pour tout ce qui est créatif, montez la température. Ne mélangez jamais les deux dans le même appel.Engineer's rule: for anything verifiable (extraction, classification, JSON, code), aim for maximum determinism (temperature 0, fixed seed) — you want a reproducible software component, not a poet. For anything creative, raise the temperature. Never mix the two in the same call.
Lab 1 — Mesurez au lieu de croireLab 1 — Measure instead of believing
≈ 20 min
🔬 Objectif : produire le premier artefact du coursGoal: produce the course's first artefact
Vous allez vérifier trois affirmations de cette leçon par la mesure : (1) le français consomme plus de tokens que l'anglais, (2) le JSON est encore plus cher, (3) votre machine a un débit de décodage mesurable. Le script est fourni : labs/lab1_tokens.py.You will verify three claims of this lesson by measurement: (1) French uses more tokens than English, (2) JSON is even more expensive, (3) your machine has a measurable decode throughput. The script is provided: labs/lab1_tokens.py.
Étape 1 — Comparer les languesStep 1 — Compare languages
python labs/lab1_tokens.py --text-only
Étape 2 — Mesurer le débit d'un modèle localStep 2 — Measure a local model's throughput
Le script interroge un endpoint compatible OpenAI. Sur votre lab GPU :The script calls an OpenAI-compatible endpoint. On your GPU lab:
python labs/lab1_tokens.py --endpoint http://172.16.8.81:11434/v1 --model llama3.1:8b
# Sur un poste CPU (LM Studio ou Ollama local) :
python labs/lab1_tokens.py --endpoint http://127.0.0.1:11434/v1 --model mistral:7b
Étape 3 — Noter le résultatStep 3 — Record the result
Complétez cette ligne, c'est votre premier livrable :Fill in this line; it is your first deliverable:
Machine : ______________________
Modèle : ______________________ Quantification : __________
Tokens/s (décodage) : __________ TTFT : __________ ms
Ratio tokens FR/EN : __________ (attendu sur le lab : 1,79 – 1,92)
🎯 Chiffres de référence mesurés sur le lab le 2026-09-18 (à battre ou à confirmer chez vous) : llama3.1:8b Q4_K_M sur les 2× RTX 3060 → 63,7 tokens/s, TTFT 369 ms à chaud, 4,5 s de démarrage à froid. Sur un poste CPU sans CUDA, attendez-vous à quelques tokens par seconde pour le même modèle — utilisable pour un test, pas pour un service. L'écart CPU/GPU n'est pas un détail de confort : c'est la contrainte qui structure les séances 2, 4 et 5.Reference figures measured on the lab on 2026-09-18 (beat them or confirm them on your own box): llama3.1:8b Q4_K_M on the 2× RTX 3060 → 63.7 tokens/s, TTFT 369 ms warm, 4.5 s cold start. On a CPU-only machine, expect a few tokens per second for the same model — fine for a test, not for a service. The CPU/GPU gap is not a comfort detail: it is the constraint that structures sessions 2, 4 and 5.
6
Quiz — 5 questionsQuiz — 5 questions
≈ 8 min
1. Pourquoi le même contenu coûte-t-il plus cher en français qu'en anglais ?1. Why does the same content cost more in French than in English?
La facturation, la latence et la consommation de contexte se comptent en tokens. Le tokenizer, entraîné majoritairement sur de l'anglais, produit des unités plus fines pour le français : ~30 à 50 % de tokens en plus. Le modèle, lui, tourne à la même vitesse par token.Billing, latency and context consumption are counted in tokens. The tokenizer, mostly trained on English, produces finer units for French: ~30–50 % more tokens. The model itself runs at the same speed per token.
2. Qu'est-ce qui limite principalement la vitesse de génération ?2. What mainly limits generation speed?
Le décodage produit un token à la fois et ne se parallélise pas. Le goulot est donc le transport des poids depuis la mémoire, pas le calcul. D'où l'efficacité de la quantification (moins d'octets à déplacer) et des GPU à large bande passante.Decoding produces one token at a time and does not parallelise. The bottleneck is therefore moving the weights from memory, not compute. Hence the effectiveness of quantization (fewer bytes to move) and of high-bandwidth GPUs.
3. Un modèle « base » (non instruct) fait quoi quand vous lui posez une question ?3. What does a "base" (non-instruct) model do when you ask it a question?
Le pré-entraînement n'apprend que la complétion. C'est l'étape 2 (SFT) qui transforme un compléteur en assistant. C'est aussi l'étape sur laquelle vous agirez en séance 7 : vous ne réentraînez pas le langage, vous ajustez un comportement.Pre-training only teaches completion. Stage 2 (SFT) turns a completer into an assistant. It is also the stage you will act on in session 7: you are not retraining language, you are adjusting a behaviour.
4. Votre modèle invente un numéro d'article de loi. Quelle est la réponse d'ingénieur ?4. Your model invents a legal article number. What is the engineering answer?
L'hallucination est une propriété du système, pas un réglage. Les instructions ne la suppriment pas. On la contient par l'architecture : la vérité dans le contexte, la forme contrainte, la vérification automatique. C'est le programme des séances 3, 6 et 7.Hallucination is a property of the system, not a setting. Instructions do not remove it. You contain it architecturally: truth in the context, constrained shape, automated verification. That is the agenda of sessions 3, 6 and 7.
5. Vous construisez un extracteur de factures qui doit sortir du JSON. Quels réglages ?5. You are building an invoice extractor that must output JSON. Which settings?
Un extracteur est un composant logiciel : il doit être reproductible et testable. Déterminisme maximal, forme garantie par schéma, et plafond de sortie dimensionné (sinon vous tronquez le JSON et vous débuggez un faux bug). Séance 3 pour la mise en œuvre.An extractor is a software component: it must be reproducible and testable. Maximum determinism, shape guaranteed by schema, and a sized output ceiling (otherwise you truncate the JSON and debug a fake bug). Session 3 for the implementation.
Score : 0 / 5Score: 0 / 5
🏁 À retenirKey takeaways
Tokens, pas mots. Le tokenizer fixe le coût, la vitesse et la fenêtre de contexte. Le français consomme ~30–50 % de tokens de plus que l'anglais.Tokens, not words. The tokenizer sets cost, speed and context window. French consumes ~30–50 % more tokens than English.
Embeddings = géométrie du sens. C'est le socle du RAG. Le modèle d'embedding est distinct du modèle génératif.Embeddings = geometry of meaning. This is the foundation of RAG. The embedding model is separate from the generative model.
Self-attention permet à chaque token de regarder tous les autres : parallélisable, mais coût mémoire quadratique en longueur.Self-attention lets every token look at all others: parallelisable, but memory cost is quadratic in length.
Décodage = memory-bound. Le débit se gagne en déplaçant moins d'octets, pas en ajoutant des cœurs.Decoding = memory-bound. Throughput is won by moving fewer bytes, not by adding cores.
L'hallucination se contient par l'architecture, pas par la politesse d'un prompt.Hallucination is contained by architecture, not by a politer prompt.
🏆 Votre gain du jourToday's win Un script d'analyse de tokens réutilisable et le premier chiffre de votre carrière d'ingénieur IA : le débit réel (tokens/s) et le TTFT de votre machine, mesurés, pas supposés. Ces chiffres dimensionneront tous vos choix des séances 2, 4 et 5.A reusable token-analysis script and the first number of your AI-engineering career: your machine's real throughput (tokens/s) and TTFT — measured, not assumed. Those numbers will drive every choice you make in sessions 2, 4 and 5.
Sources de la séance : Vaswani et al., Attention Is All You Need, 2017 — arxiv.org/abs/1706.03762 · Lewis et al., Retrieval-Augmented Generation, 2020 — arxiv.org/abs/2005.11401 · ggml, GGUF specification — github.com/ggml-org/ggml/blob/master/docs/gguf.md · llama.cpp, llama-server README · Ollama, API et Modelfile — docs.ollama.com · Anthropic, Prompt engineering overview · MTEB Leaderboard — huggingface.co/spaces/mteb/leaderboard. Consultation : 2026-09-18. Relevé du lab : RESOURCES.md §8.Session sources: Vaswani et al., Attention Is All You Need, 2017 — arxiv.org/abs/1706.03762 · Lewis et al., Retrieval-Augmented Generation, 2020 — arxiv.org/abs/2005.11401 · ggml, GGUF specification — github.com/ggml-org/ggml/blob/master/docs/gguf.md · llama.cpp, llama-server README · Ollama, API and Modelfile — docs.ollama.com · Anthropic, Prompt engineering overview · MTEB Leaderboard — huggingface.co/spaces/mteb/leaderboard. Consulted: 2026-09-18. Lab readings: RESOURCES.md §8.