Skip to content

Commit b43b7bc

Browse files
committed
Merge branch 'main' of https://github.com/Indyuce/OpenLLM-Glossaire into main
2 parents 4990412 + 60b730a commit b43b7bc

File tree

2 files changed

+109
-0
lines changed

2 files changed

+109
-0
lines changed

‎RAYAN.md‎

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
## N-shot learning
2+
3+
_N-shot learning_ est une technique de [prompt](#prompt). Pour réaliser une tâche spécifique, N exemples sont pourvus dans le prompt, avec la requête de l’utilisateur.
4+
5+
En particulier, le zero-shot learning vise à réaliser la tâche demandée en fournissant seulement les instructions nécessaires, sans exemple
6+
7+
Le few-shot learning consiste à donner quelques exemples dans le contexte. Ces techniques se rapprochent de ce que nous, humains, utilisons pour expliquer une nouvelle tâche à quelqu’un.
8+
9+
Cette notion était ambiguë jusqu’à ce qu’OpenAI propose une définition commune dans le papier de GPT3.
10+
11+
Exemple:
12+
13+
Voici un prompt de 1-shot learning “Infirmier → infirmière ; boulanger → “
14+
15+
Références:
16+
- Page wikipedia https://en.wikipedia.org/wiki/In-context_learning_(natural_language_processing)
17+
- GPT3 : Language Models are Few-Shot Learners https://arxiv.org/abs/2005.14165
18+
19+
## Prompt
20+
21+
Un _prompt_ est une chaîne de caractères passée en input d’un modèle. Il regroupe les informations et/ou instructions nécessaires à la réalisation de la tâche ainsi que des informations additionnelles pour l’aider à comprendre sa tâche.
22+
23+
Exemple:
24+
25+
- “Traduire la phrase suivante en français : Linagora is a good company. → “
26+
- “Mettre au pluriel les mots suivants : chien → chiens ; chat → chats ; cheval → “
27+
28+
Certains modèles sont entraînés sur des jeux de données déjà promptés pour des tâches spécifiques. Dans ces cas-là, pour réaliser ces tâches, il peut être plus efficace de reprendre la même structure de prompt.
29+
30+
Exemple:
31+
32+
T5 est fine-tuné pour plusieurs tâches (multitask finetuning), dont la summarization. Ainsi, si l'on veut lui soumettre un texte à résumer, il suffit d'utiliser le prompt "summarize: " suivi du texte.
33+
34+
Références:
35+
- Guiding Large Language Models towards Task-Specific Inference - Prompt Design and Soft Prompts https://towardsdatascience.com/guiding-a-huge-language-model-lm-to-perform-specific-tasks-prompt-design-and-soft-prompts-7c45ef4794e4
36+
- T5 Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer : https://arxiv.org/abs/1910.10683
37+
38+
## Causal language modeling
39+
40+
C'est un type de modèle de langage qui s'applique aux transformers de type decoder-only. On considère une séquence de tokens placée en input d'un modèle de ce type. Pour un token donné, le processus d'attention fait uniquement référence à tous les tokens qui le précèdent.
41+
42+
![](attentionpatterns.png)
43+
44+
GPT d'OpenAI appartient à ce type de modèles de langage.
45+
46+
Références:
47+
- UL2: Unifying Language Learning Paradigms : https://arxiv.org/abs/2205.05131
48+
- What Language Model Architecture and Pretraining Objective Work Best for Zero-Shot Generalization? : https://arxiv.org/abs/2204.05832
49+
50+
## Hallucination
51+
52+
L'hallucination est une réponse confiante produite par le modèle d'IA, qui peut patraître correcte, mais qui n'est pas justifiée par ses données d'entraînement.
53+
54+
Cette définition peut être choisie plus ou moins stricte. Par exemple, dans le domaine du résumé automatique de texte, une hallucination peut aussi désigner le fait que le modèle rajoute des éléments au résumé qui ne figurent pas dans le texte.
55+
56+
Exemples imaginaires :
57+
- On fournit l'input suivant "Quand est né Napoléon ?" et l'output est "Napoléon est né en 2087 en Corse."
58+
- On fournit l'input suivant "Résumer la phrase suivante. Emmanuel Macron a donné ce matin de nouveaux éléments sur la question de la réforme des retraites, dont les contours semblent se préciser." et l'output est "Emmanuel Macron, invité ce matin *à France Inter*, a précisé le contenu de la réforme des retraites."
59+
60+
Références:
61+
- Wikipédia Hallucination https://en.wikipedia.org/wiki/Hallucination_(artificial_intelligence)
62+
- How to Reduce the Hallucinations from Large Language Models : https://thenewstack.io/how-to-reduce-the-hallucinations-from-large-language-models/
63+
64+
## Generative Pre-Trained Transformer/Decoder-only model
65+
66+
Generative Pre-Trained Transformer (GPT) fait référence à une famille de [transformeurs](#transformer), au-delà des modèles développés par OpenAI. Ces modèles ont une structure de decoder-only et sont des [Causal Language Models](#causal-language-modeling). L'objectif de pré-entraînement est la prédiction du token suivant (next token prediction). Cela leur permet à partir d'un contexte donné de générer une séquence de tokens en rajoutant à chaque fois le dernier token généré à l'input.
67+
68+
Références:
69+
- Wikipédia GPT : https://en.wikipedia.org/wiki/Generative_pre-trained_transformer
70+
71+
## Attention
72+
73+
C'est un mécanisme utilisé pour représenter les liens relatifs entre les tokens d'un input et leur importance, dans la structure des modèles. Ainsi, la représentation vectorielle de chaque token prend en compte son contexte.
74+
75+
Concrètement, ce sont plusieurs couches supplémentaires qui sont placées dans la structure du [transformeur](#transformer), et dont les paramètres sont entraînés.
76+
77+
Références:
78+
- Attention is all you need : https://arxiv.org/abs/1706.03762
79+
- Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention) : https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/
80+
81+
## GPU
82+
83+
Un GPU (Graphics Processing Unit) est un processeur composé de nombreux coeurs, plus petits et plus spécialisé qu'un CPU (Central Processing Unit). Le GPU permet de facilement paralléliser les calculs, ce qui est particulièrement intéressant pour entraîner les transformeurs.
84+
85+
Au GPU est associé la VRAM (Video Random Access Memory), mémoire vive qui permet notamment de stocker les valeurs des paramètres du modèle de langage pendant le calcul.
86+
87+
## Quantization
88+
89+
La quantization facilite les calculs au moment de l'inférence ou lors de l'entraînement. Les valeurs des paramètres sont approchées par une représentation de nombres moins volumineuse, ces approximations sont utilisées pour le calcul puis stockées. Cela réduit les exigences en terme de mémoire vive.
90+
91+
On peut mentionner l'algorithme 8-bit optimizer, qui permet de diminuer par 4 les besoins en mémoire vive si les valeurs des paramètres sont codées sur 32 bits, en perdant relativement peu de performance de prédiction.
92+
93+
Ressources:
94+
- Présentation de la bibliothèque bitsandbytes pour la quantization : https://huggingface.co/blog/hf-bitsandbytes-integration
95+
- Tutoriel OpenLLM France pour le finetuning avec qLoRA : https://colab.research.google.com/github/OpenLLM-France/Tutoriel/blob/main/01_qlora_fine_tuning.ipynb
96+
97+
## Encoder models
98+
99+
Les modèles encodeur n'utilisent que la partie encodeur du transformeur. ils visent à encoder une certaine quantité d'informations et une compréhension globale sur la phrase placée en input, sous la forme de représentation vectorielle. Les couches d'attention formulent les liens entre tous les tokens de l'input, c'est la self-attention.
100+
101+
Ils sont souvent utilisés pour la classification de phrases et la classification de mots.
102+
103+
Le pré-entraînement consiste principalement en la reconstitution d'une phrase bruitée, où des mots ont été retirés, masqués, inversés etc. Les phrases sont tirées de corpus de données et bruitées avec une fonction de bruitage, c'est donc de l'entraînement non supervisé.
104+
105+
BERT est un exemple de modèle fondation d'architecture encodeur développé par Google.
106+
107+
Références:
108+
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding https://arxiv.org/abs/1810.04805
109+
- Encoder models https://huggingface.co/learn/nlp-course/chapter1/5?fw=pt

‎attentionpatterns.png‎

91.8 KB
Loading

0 commit comments

Comments
 (0)