Dé-codage des grands modèles de langage (ChatGPT)

https://ia.loria.fr/ces

Christophe Cerisara, chercheur CNRS: cerisara@loria.fr

un LLM (Large Language Model) inconnu

https://huggingface.co/models

Stanford ecosystem

  • Rapport entre LLMs et programmation
    • Les LLM sont des programmes dérivables
    • Les LLM savent programmer
    • Les LLM codent pour “raisonner”
    • Les LLM bouleversent le métier de dev
  • Pourquoi marchent-ils aussi bien ?

Les réseaux neuronaux sont des programmes dérivables

Deep Learning model

def f(x):
  if x>C: x*=2
  else:   x*=3
  return x

Training

while True:
  err = (f(3)-10)**2
  err.backward()  # calc dérivée
  C -= 0.1*C.grad # diminue erreur

2018: le transformer est un réseau neuronal

Les LLMs sont des transformers

  • LLM = transformer entraîné à prédire le mot suivant
  • Du gros au “petit”:
    • Google: PALM: 500 milliards de paramètres
    • OpenAI: GPT4: 8 x 200b ??
    • Meta: OPT (175b), Llama2 (70b)…
    • Falcon (Open Source) = 180b
    • Vicuna (Open Source) = 7b
    • Mistral (Open Source) = 7b

Les LLM savent programmer

  • “How can I draw a sinusoid in javascript?” Réponse de codeLlama:
To draw a sinusoid in JavaScript, you can use the Canvas API. Here's an example of how to do it:

// Get the canvas element
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");

// Define the sinusoid parameters
var amplitude = 100;
var frequency = 1;
var phase = 0;
var x = 0;

// Draw the sinusoid
for (var i = 0; i < canvas.width; i++) {
 var y = amplitude * Math.sin(frequency * i + phase);
 ctx.beginPath();
 ctx.moveTo(x, y);
 ctx.lineTo(x + 1, y);
 ctx.stroke();
 x++;
}

This code will draw a sinusoid with the specified amplitude, frequency, and phase, and will update the canvas as the user scrolls.

Les LLM codent pour “raisonner”

Program of thoughts:

“Train 1 departs at 6 AM from city A and arrive in city B in 11 AM. Train 2 departs at 7:30AM from city B and arrive in City A at 11 AM. When will both trains meet?”

train1_travel_time = 11 - 6
# 7:30 AM refers to 7.5
train2_travel_time = 11-7.5
dist_a_b = Symbol("D",positive=True)
train1_speed = dist_a_b / train1_travel_time
train2_speed = dist_a_b / train2_travel_time
ans = dist_a_b / (train1_speed + train2_speed)

Algorithm of thoughts

  • LLM input = examples of search over a problem
  • Ex: Game of 24:
Use numbers and basic arithmetic operations (+ - * /) to obtain 24. When considering the next steps, do not choose operations that will result in a negative or fractional number. In order to help with the calculations, the numbers in the parenthesis represent the numbers that are left after the operations and they are in descending order...

 User:
11 7 4 1
Assistant:
Let’s consider the most promising first steps:
1. 7 * 4: (28, 11, 1)
2. 7 + 1: (11, 8, 4)
3. 4 + 1: (11, 7, 5)
4. 11 - 4: (7, 3, 1)
Let’s consider the most promising second steps:
1. (28, 11, 1)
- 28 - 11: (17, 1)
- 28 - 1: (27, 11)
- 11 + 1: (29, 28)
- 11 - 1: (28, 10)
2. (11, 8, 4)
- 11 + 8: (19, 4)
- 8 + 4: (12, 11)
- 11 - 8: (4, 3)
- 8 - 4: (7, 11)
3. (11, 7, 5)
- 11 - 5: (7, 6)
- 7 - 5: (11, 2)
- 7 * 5: (35, 11)
- 11 + 5: (16, 7)
4. (7, 3, 1)
- 7 - 3: (4, 1)
- 7 * 3: (21, 1)
- 3 + 1: (7, 4)
- 7 - 1: (6, 3)
Let’s consider the most promising third steps:
1. 7 * 4 = 28
- 28 - 11: (17, 1): 18, 16, 17, 17
- 28 - 1: (27, 11): 38, 16, 297, 2.45
- 11 + 1: (29, 28): 57, 1, 812, 1.03
- 11 - 1: (28, 10): 38, 18, 280, 2.8
2. 7 + 1 = 8
- 11 + 8: (19, 4): 23, 15, 76, 4.75
- 8 + 4: (12, 11): 23, 7, 132, 3
- 11 - 8: (4, 3): 7, 1, 12, 1.33
- 8 - 4: (7, 11): 18, 4, 77, 1.75
3. 4 + 1 = 5
- 11 - 5: (7, 6): 13, 1, 42, 1.17
- 7 - 5: (11, 2): 13, 9, 22, 5.5
- 7 * 5: (35, 11): 46, 24 = 35 - 11 -> found it!
Backtracking the solution:
Step 1:
4 + 1 = 5
Step 2:
7 * 5 = 35
Step 3:
35 - 11 = 24
Considering these steps: 24 = 35 - 11 = (7 * 5) - 11 = (7 * (4 + 1)) - 11 = 24.
answer: (7 * (4 + 1)) - 11 = 24. 

Développeur à l’ère des LLM

Performances dans d’autres domaines

Pourquoi les LLMs sont aussi performants ?

les LLM, une nouvelle recherche empirique

Des observations aux prémisses de théories

  • Observations:
    • Mémorisation, compression, structuration et généralisation
    • Capacités émergentes
  • Embryons de théories: Passage à l’échelle
    • Lois de Chinchilla
    • Grokking
    • Double descente
    • Transitions de phases, singularité…

Passer à l’échelle: la genèse de Chinchilla

LLM: modèles qui passent à l’échelle

  • Plus on ajoute des données
    • plus le LLM stocke d’information
    • mieux le LLM généralise
  • scaling law = power law = \(y(x) = ax^{-\gamma} +b\)
  • \(y(x) =\) test loss (erreur)
  • \(\gamma\) = pente

Baidu paper 2017

Scaling laws for Neural LM 2020

Open-AI 2020

  • RL, protein, chemistry…

Chinchilla paper 2022

  • GPT3 (2020) préconisait d’augmenter la complexité du modèle
  • Chinchilla (2022) préconise d’augmenter les données

\(L(N)=\frac A {N^\alpha}\)

  • \(N\) = dataset size
  • \(\alpha \simeq 0.5\) (was 0.05 in GPT3 paper)

Google paper 2022

L’emergence de nouvelles capacités

  • Les scaling laws sont théorisées en Machine Learning depuis longtemps (cf. Paper on learning curves)
  • Mais c’est la 1ère fois qu’on observe qu’une scaling law est la résultante d’une succession de nouvelles capacités émergentes !

GPT3 paper 2020

  • émergence de “In-Context Learning”
    • = capacité à généraliser les exemples passés en entrée
  • exemple:
"manger" devient "mangera"
"parler" devient "parlera"
"voter" devient

Anthropic paper 2022

  • montre que la scaling law résulte de la combinaison d’émergences

Jason Wei a dénombré 137 capacités émergentes:

  • In-Context Learning, Chain-of-thought prompting
  • PoT, AoT, Analogical prompting
  • instructions procédurales, anagrammes
  • arithmétique modulaire, pbs simples de maths
  • déduction logique, déduction analytique
  • Intuition physique, théorie de l’esprit ?

Les LLM structurent l’information

Pendant l’apprentissage, ils peuvent “brusquement” réordonner leur espace de représentation

Conclusion

  • Les LLM sont une révolution informatique
  • Ils coutent de moins en moins cher à utiliser
  • Nouveaux outils utiles, partout, mais moins visibles
  • Toute leur théorie reste à construire

Merci !

cerisara@loria.fr

https://ia.loria.fr/ces