Rename agent_ai_xenova.py to agent_ai_xenova_full.py
Browse files
agent_ai_xenova.py → agent_ai_xenova_full.py
RENAMED
|
@@ -1,17 +1,17 @@
|
|
| 1 |
-
#
|
| 2 |
from transformers import PreTrainedTokenizerFast, GPTNeoXForCausalLM, GPTNeoXConfig
|
| 3 |
import os
|
| 4 |
import json
|
| 5 |
|
| 6 |
# -------------------------------
|
| 7 |
-
#
|
| 8 |
# -------------------------------
|
| 9 |
model_config = {
|
| 10 |
"vocab_size": 50257,
|
| 11 |
-
"n_embd":
|
| 12 |
-
"n_layer": 12,
|
| 13 |
-
"n_head":
|
| 14 |
-
"block_size": 128,
|
| 15 |
"dropout": 0.1,
|
| 16 |
"model_type": "gpt_neox"
|
| 17 |
}
|
|
@@ -22,10 +22,10 @@ paths = {
|
|
| 22 |
}
|
| 23 |
|
| 24 |
# -------------------------------
|
| 25 |
-
# Tokenizer
|
| 26 |
# -------------------------------
|
| 27 |
tokenizer = PreTrainedTokenizerFast(
|
| 28 |
-
tokenizer_file=None,
|
| 29 |
bos_token="<s>",
|
| 30 |
eos_token="</s>",
|
| 31 |
unk_token="<unk>",
|
|
@@ -33,7 +33,7 @@ tokenizer = PreTrainedTokenizerFast(
|
|
| 33 |
)
|
| 34 |
|
| 35 |
# -------------------------------
|
| 36 |
-
# Création
|
| 37 |
# -------------------------------
|
| 38 |
config = GPTNeoXConfig(
|
| 39 |
vocab_size=model_config["vocab_size"],
|
|
@@ -50,7 +50,17 @@ model = GPTNeoXForCausalLM(config)
|
|
| 50 |
# Sauvegarde pour Xenova
|
| 51 |
# -------------------------------
|
| 52 |
os.makedirs(paths["model_save"], exist_ok=True)
|
|
|
|
|
|
|
| 53 |
model.save_pretrained(paths["model_save"])
|
| 54 |
tokenizer.save_pretrained(paths["tokenizer_save"])
|
| 55 |
|
| 56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# agent_ai_xenova_full.py
|
| 2 |
from transformers import PreTrainedTokenizerFast, GPTNeoXForCausalLM, GPTNeoXConfig
|
| 3 |
import os
|
| 4 |
import json
|
| 5 |
|
| 6 |
# -------------------------------
|
| 7 |
+
# Paramètres du modèle (>2M)
|
| 8 |
# -------------------------------
|
| 9 |
model_config = {
|
| 10 |
"vocab_size": 50257,
|
| 11 |
+
"n_embd": 512, # embedding dimension
|
| 12 |
+
"n_layer": 12, # nombre de couches -> augmente les paramètres
|
| 13 |
+
"n_head": 8, # attention heads
|
| 14 |
+
"block_size": 128, # max tokens
|
| 15 |
"dropout": 0.1,
|
| 16 |
"model_type": "gpt_neox"
|
| 17 |
}
|
|
|
|
| 22 |
}
|
| 23 |
|
| 24 |
# -------------------------------
|
| 25 |
+
# Tokenizer minimal compatible Xenova
|
| 26 |
# -------------------------------
|
| 27 |
tokenizer = PreTrainedTokenizerFast(
|
| 28 |
+
tokenizer_file=None,
|
| 29 |
bos_token="<s>",
|
| 30 |
eos_token="</s>",
|
| 31 |
unk_token="<unk>",
|
|
|
|
| 33 |
)
|
| 34 |
|
| 35 |
# -------------------------------
|
| 36 |
+
# Création du modèle
|
| 37 |
# -------------------------------
|
| 38 |
config = GPTNeoXConfig(
|
| 39 |
vocab_size=model_config["vocab_size"],
|
|
|
|
| 50 |
# Sauvegarde pour Xenova
|
| 51 |
# -------------------------------
|
| 52 |
os.makedirs(paths["model_save"], exist_ok=True)
|
| 53 |
+
os.makedirs(paths["tokenizer_save"], exist_ok=True)
|
| 54 |
+
|
| 55 |
model.save_pretrained(paths["model_save"])
|
| 56 |
tokenizer.save_pretrained(paths["tokenizer_save"])
|
| 57 |
|
| 58 |
+
# -------------------------------
|
| 59 |
+
# Génération test
|
| 60 |
+
# -------------------------------
|
| 61 |
+
prompt = "Bonjour Agent-AI, que peux-tu faire ?"
|
| 62 |
+
inputs = tokenizer(prompt, return_tensors="pt")
|
| 63 |
+
output = model.generate(**inputs, max_length=50)
|
| 64 |
+
print(tokenizer.decode(output[0], skip_special_tokens=True))
|
| 65 |
+
|
| 66 |
+
print("✅ Modèle complet Agent-AI prêt pour Xenova !")
|