Croissantine / README.md
XenocodeRCE's picture
Update README.md
37674b5 verified
---
language:
- fr
license: mit
tags:
- philosophy
- socratic
- french
- croissant-llm
base_model: croissantllm/CroissantLLMChat-v0.1
---
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![HuggingFace](https://img.shields.io/badge/🤗-Model-yellow)](https://huggingface.co/XenocodeRCE/Croissantine)
# 🎓 Croissantine
Modèle de langage français fine-tuné pour répondre aux questions dans un "style socratique".
## 📋 Description
Ce modèle est basé sur **CroissantLLM-v0.1** (1.3B paramètres) et fine-tuné avec **LoRA** sur 748 paires question-réponse philosophiques.
**Caractéristiques** :
- Répond par des questions pour stimuler la réflexion
- Explore plusieurs angles d'une même question
## 🚀 Utilisation
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# Charger le modèle
model_path = "XenocodeRCE/Croissantine"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="auto",
torch_dtype=torch.bfloat16
)
# Générer une réponse
prompt = "Peut-on tout dire ?"
messages = [{"role": "user", "content": prompt}]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
outputs = model.generate(
inputs,
max_new_tokens=300,
temperature=0.75,
do_sample=True,
top_p=0.9,
repetition_penalty=1.05,
no_repeat_ngram_size=3
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
```
## 📊 Entraînement
- **Méthode** : SFT avec LoRA (rank 16)
- **Quantization** : 4-bit NF4
- **Dataset** : 748 exemples
- **Loss finale** : 0.60
- **Epochs** : 7
## 💡 Exemple
**Question** : Peut-on tout dire ?
**Réponse** :
> Tout dire, sans risquer le ridicule ou la censure ? Le discours est-il une affaire privée où chacun est seul juge de ses paroles et de leurs conséquences ? Ou peut-il être un acte public qui engage tous les citoyens d'un pays ? Les limites du langage sont-elles celles que l'on croit : celle des autres, de soi-même, de l'histoire ? Et si on ne dit rien, est-ce vraiment parce qu'on n'a rien à dire ? Chacun doit décider pour lui-même ce qu'il veut entendre. Mais cela suppose-t-il d'être d'accord avec lui sur tout, y compris sur son propre sens des mots ? La parole vraie n'existe-t-elle qu'en partageant cette vérité au-delà de toute règle ?
## ⚠️ Limitations
- Modèle de 1.3B paramètres (performances limitées comparé aux modèles > 7B)
- Entraîné uniquement sur 748 exemples
- Fonctionne mieux sur les questions philosophiques classiques
- Peut générer des réponses parfois trop abstraites
## 📄 Licence
MIT