Les poids et la reproduction
Le modèle est en accès libre. Voici comment le recharger et comment refaire l'expérience entière.
Ce qu'on partage, c'est l'adaptateur LoRA (1 Go) : la couche entraînée qui se pose par-dessus Qwen3-32B. Pour l'inférence, il se recharge sur le modèle de base.
Recharger le modèle
from unsloth import FastLanguageModel
model, tok = FastLanguageModel.from_pretrained(
"eliottmeunier/qwen3-32b-integral-lora", # base + adaptateur
max_seq_length=3072, load_in_4bit=True)
FastLanguageModel.for_inference(model)
Réglages de génération recommandés (mode thinking de Qwen3) : temperature=0.6, top_p=0.95, top_k=20. Le modèle émet un bloc <think>...</think> puis la réponse.
Refaire l'expérience de zéro
- Générer les données (ou réutiliser celles fournies) : 1855 paires
<think>+ réponse, system prompt effacé. Voir Le dataset. - Louer une A100 80 Go (image
vastai/unsloth-studio). - Entraîner avec
train_qwen.py: QLoRA rank 32, lr 2e-4, 2 epochs,train_on_responses_only. ~70 min. Voir Le protocole. - Benchmarker avec
qwen_bench.py: 12 dilemmes, 4 conditions, plus le test de Graves. - Scorer avec la grille deVos/AQAL.
L'adaptateur est sous Apache 2.0, comme le modèle de base Qwen3-32B (non gated). Le dataset est synthétique. Crédit du cadre intellectuel : Clare Graves, Ken Wilber, Corey deVos (Integral Life).
Le run complet coûte ~4 à 5 $ de GPU et tient en une après-midi. Le dataset étant déjà prêt, l'essentiel du temps est du calcul et de la supervision. Même graine (3407), mêmes données, mêmes hyperparamètres : le résultat est reproductible.