CoolFace
Modelpublic

jeromex1/lyra_Mildew_mistral7B_LoRA

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes24downloads
Model Card

Lyra_Mildew — Modèle LoRA Mistral 7B pour l’évaluation du risque de mildiou

English version available below


🧬 Présentation générale

Lyra_Mildew est un modèle LoRA basé sur Mistral 7B, entraîné pour prédire le *risque d’infection du mildiou de la vigne (Plasmopara viticola)* à partir de variables agro-météorologiques clés :

  • —Stade_phenologique
  • —Humectation_continue (h)
  • —Temperature_moyenne (°C)
  • —Pluie_24h (mm)
  • —Inoculum (0.1–0.9)

Le modèle génère un output structuré :

  • —Risque : [faible/moyen/élevé]
  • —Recommandation : [conseil agronomique concis]

📚 Datasets utilisés

DatasetTailleUsage
Mildew_train_1500.jsonl1500Fine-tuning principal
Mildew_valid_149.jsonl149Validation
Mildew_dataset_middle_30.jsonl30Calibration ciblée “Floraison extrême”

Les datasets sont au format chat-style JSONL compatible Mistral.


⚙️ Hyperparamètres d’entraînement (LoRA)

  • —outputdir = "./lyraMildew_LoRA"
  • —numtrainepochs = 3
  • —perdevicetrainbatchsize = 2
  • —perdeviceevalbatchsize = 2
  • —gradientaccumulationsteps = 8
  • —learning_rate = 2e-4
  • —fp16 = True
  • —logging_steps = 10
  • —eval_strategy = "epoch"
  • —save_strategy = "epoch"
  • —lrschedulertype = "cosine"
  • —warmup_ratio = 0.03
  • —weight_decay = 0.0
  • —report_to = "none"

📌 Mini-étape de calibration (30 lignes)

Une seconde passe rapide a été effectuée pour ajuster la détection du risque élevé en floraison :

  • —4 steps
  • —Training loss décroissante : 2.38 → 1.30 → 1.00 → 0.90
  • —Aucun surapprentissage observé

📊 Résultats d’entraînement (Epochs 1–3)

EpochTraining LossValidation LossEntropyMean Token Accuracy
10.28090.27600.28610.9200
20.27600.27220.28190.9226
30.26930.26960.27660.9233

Les métriques confirment une convergence stable et équilibrée train/validation.


🧪 Évaluation finale sur 12 scénarios agronomiques

Le modèle a été testé sur un panel expert de 12 cas représentatifs (faible / moyen / élevé), incluant des situations limites (jeunes feuilles, floraison, humectation extrême).

🎯 Taux d’exactitude selon 3 critères

Critère%Interprétation
Exactitude stricte75 %Correspondance parfaite attendue/prédit
Exactitude aide à la décision83 %Les surestimations prudentes sont acceptées
Exactitude agronomique réaliste≈ 92 %Inclut les faibles limites rehaussés et les décisions prudentes

💡 Dans une optique opérationnelle, la réduction des faux négatifs est prioritaire : le modèle adopte un comportement prudent sans surtraiter.


🖥️ Ressources d’entraînement (Colab)

  • —GPU : A100 40 GB
  • —VRAM utilisée : 20.87 GB
  • —RAM utilisée : 9.20 GB
  • —Entraînement total : quelques minutes pour la calibration LoRA

🚀 Exemple d’utilisation

python
from transformers import AutoModelForCausalLM, AutoTokenizer

name = "Jerome-openclassroom/Lyra_Mildew_LoRA"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name)

messages = [
    {"role": "system", "content": "Tu es un agronome spécialisé dans le mildiou..."},
    {"role": "user", "content": "Stade_phenologique: floraison\nHumectation: 12\nTemperature: 20\nPluie_24h: 10\nInoculum: 0.7"}
]

text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tok(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=120)
print(tok.decode(outputs[0], skip_special_tokens=True))

<a name="english-version">🇬🇧 English Version</a> ---

Lyra_Mildew — Mistral 7B LoRA Model for Grapevine Downy Mildew Risk Assessment

🧬 Overview

Lyra_Mildew is a LoRA fine-tuned Mistral 7B model specialized in assessing the risk of downy mildew (Plasmopara viticola) on grapevine using:

  • —Phenological stage
  • —Continuous leaf wetness (h)
  • —Mean temperature (°C)
  • —24h rainfall (mm)
  • —Inoculum level (0.1–0.9)

Output format:

  • —Risk: [low/medium/high]
  • —Recommendation: [concise actionable advice]

📚 Datasets

Dataset Size Purpose

  • —Mildewtrain1500.jsonl 1500 Main supervised fine-tuning
  • —Mildewvalid149.jsonl 149 Validation
  • —Mildewdatasetmiddle_30.jsonl 30 Targeted calibration (extreme flowering cases)

⚙️ Training Hyperparameters

(Full YAML above)

  • —3 epochs LoRA SFT
  • —Learning rate: 2e-4
  • —Gradient accumulation: 8
  • —Scheduler: cosine
  • —Mixed precision: fp16
  • —Calibration step (30 lines)
  • —Loss progression: 2.38 → 1.30 → 1.00 → 0.90

📊 Training Metrics

Epoch 3 performance:

  • —Validation Loss: 0.2696
  • —Entropy: 0.2766
  • —Mean Token Accuracy: 0.9233

🧪 Final Evaluation (12 expert scenarios)

Metric Value

  • —Strict match 75 %
  • —Decision-support accuracy 83 %
  • —Agronomically realistic accuracy ≈ 92 %

This last metric reflects the intended operational behavior: minimizing false negatives, even if some borderline cases are conservatively up-classified.

🖥️ Training Resources

  • —GPU: A100 40GB
  • —VRAM used: 20.87 GB
  • —RAM used: 9.20 GB

🚀 Usage Example (Python)

(see code block above)

📄 License

Open for research, education and non-commercial agronomic applications.