📘 Version anglaise : English version
🔗 Projets Open Science associés
Vous pouvez retrouver l’ensemble des travaux associés à ce modèle, ainsi que plus de 50 projets IA / Agronomie / Environnement, sur mon GitHub :
👉 https://github.com/Jerome-openclassroom
Ces dépôts couvrent :
- l’IA environnementale,
- l’automatisation et les agents,
- la détection et l’analyse agronomique,
- la télédétection,
- les capteurs open-source,
- la modélisation scientifique open data.
lyra_Botrytis_mistral7B_LoRA
Modèle LoRA pour l’évaluation du risque de Botrytis cinerea (POC fonctionnel)
Ce modèle est une adaptation LoRA du Mistral 7B Instruct v0.3, entraînée pour estimer le risque de Botrytis cinerea à partir d’un ensemble réduit de variables agronomiques.
Il s’agit d’un POC fonctionnel, visant à démontrer la faisabilité d’un modèle vertical spécialisé, simple, robuste et cohérent dans ses réponses.
🎯 Objectif du modèle
À partir d’un petit nombre de variables décrivant les conditions favorables au développement du Botrytis, le modèle doit fournir :
- Un niveau de risque :
faible,moyen, oufort. - Une recommandation agronomique courte, opérationnelle, et cohérente avec ce niveau de risque.
Le modèle ne produit aucune information supplémentaire en dehors de ce format.
🧪 Variables d’entrée
Les variables utilisées sont volontairement simplifiées pour un POC :
- PRB (0–1) : réceptivité des baies (stade, structure, sensibilité variétale).
- Humectation_48h (h) : durée cumulée d’humectation sur 48 h.
- Temperature_48h (°C) : température moyenne sur 48 h (zone 15–25 °C favorable).
- Blessures (0, 1, 2) : intégrité des baies (0 = aucune, 2 = marqué).
- Historique (0–1) : proportion d’années avec infection significative (pression d’inoculum).
Ce modèle n’est pas lié à une culture ou un cépage spécifique.
🏗️ Données d’entraînement
Dataset principal
- 1 500 lignes (train)
- 100 lignes (évaluation)
Format : JSONL avec structure messages (user + assistant),
le prompt système est injecté au moment de l’entraînement et non dans les données.
Calibration
Un micro-dataset supplémentaire (“middle zone”) de 12 lignes a été utilisé pour affiner la calibration dans les situations intermédiaires (PRB modéré + cumul de facteurs).
🛠️ Méthode d’entraînement
- Modèle de base :
mistralai/Mistral-7B-Instruct-v0.3 - Technique : Supervised Fine-Tuning (SFT) + LoRA
- Précision : fp16
- Matrices LoRA : q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
python Copier le code
Hyperparamètres principaux
Entraînement principal (3 epochs) :
learning_rate = 2e-4batch_size = 2gradient_accumulation_steps = 8lr_scheduler_type = cosinewarmup_ratio = 0.03
Calibration (1 epoch, dataset “middle zone”) :
learning_rate = 1e-4- Lot réduit, 1 epoch unique
- Correction ciblée sans altérer la stabilité globale
📈 Quelques résultats qualitatifs
Le modèle se comporte de façon stable et cohérente :
- Risque faible : correctement identifié dans 100 % des cas testés.
- Risque fort : correctement identifié dans 100 % des cas testés.
- Risque moyen : désormais stable après calibration ; les cas modérés cumulant plusieurs facteurs sont généralement bien classés.
La formulation des recommandations est courte, structurée et opérationnelle.
🔍 Exemple d’utilisation (Python)
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
base = "mistralai/Mistral-7B-Instruct-v0.3"
adapter = "NOM_DU_REPO/lyra_Botrytis_mistral7B_LoRA"
tokenizer = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base, torch_dtype=torch.float16, device_map="auto")
model = PeftModel.from_pretrained(model, adapter)
SYSTEM_PROMPT = """Tu es un agronome spécialisé dans les maladies fongiques, en particulier le Botrytis cinerea.
Ta réponse doit comporter : 1) un niveau de risque ; 2) une recommandation agronomique concise.
Ne produis aucune information supplémentaire.
"""
def build_prompt():
user = (
"PRB: 0.55\n"
"Humectation_48h: 14\n"
"Temperature_48h: 20\n"
"Blessures: 1\n"
"Historique: 0.4\n\n"
"Donne le niveau de risque et une recommandation agronomique."
)
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": user},
]
return tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(build_prompt(), return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
⚠️ Limitations Modèle construit à partir d’un dataset synthétique ; il ne remplace pas une expertise terrain.
Les valeurs produites sont indicatives et doivent être intégrées dans un raisonnement agronomique global.
Certaines situations très spécifiques peuvent encore être classées de manière conservatrice (faible→moyen).
📌 Licence Licence du modèle adaptée à l’usage non commercial ou expérimental selon la licence du modèle de base Mistral.
📄 Auteur Modèle conçu et entraîné par Jérôme Frasson, dans le cadre d’un travail exploratoire sur les modèles spécialisés et l’IA appliquée à l’agronomie.
lyra_Botrytis_mistral7B_LoRA
LoRA model for Botrytis cinerea risk estimation (functional POC)
This model is a LoRA adaptation of Mistral 7B Instruct v0.3, trained to estimate the risk of Botrytis cinerea based on a compact set of simplified agronomic variables. It is a functional proof-of-concept, intended to demonstrate how a lightweight, specialized model can provide clear and consistent agronomic assessments.
🎯 Goal
Given a small set of input variables describing infection-favorable conditions, the model returns:
A risk level: low, medium, or high.
A short agronomic recommendation, consistent with the predicted risk.
The model never outputs additional or out-of-scope information.
🧪 Input variables
PRB (0–1): berry receptivity (growth stage, structure, varietal sensitivity).
Humectation_48h (h): cumulative wetness duration over 48 hours.
Temperature_48h (°C): average temperature (15–25 °C = favorable range).
Blessures (0, 1, 2): berry injury level.
Historique (0–1): historical disease pressure (proportion of past years with infection).
The model is not tied to any specific grape variety or crop.
🏗️ Training data
Main dataset
1,500 training lines
100 evaluation lines Format: JSONL (messages) with a separate system prompt applied during training.
Calibration
- A small 12-sample middle-zone dataset was used to improve the classification of intermediate risk situations (moderate PRB + mixed factors).
🛠️ Training method
Base model: mistralai/Mistral-7B-Instruct-v0.3
Method: Supervised fine-tuning + LoRA
Precision: fp16
LoRA target modules :
q_proj, k_proj, v_proj, o_proj,
gate_proj, up_proj, down_proj
📈 Qualitative results
Correct detection of low-risk and high-risk scenarios.
Improved stability on medium-risk cases after calibration.
Clear and concise agronomic recommendations.
⚠️ Limitations
Uses synthetic data; not a replacement for expert analysis.
Designed for exploration and prototyping.
Some borderline cases remain conservatively classified.
📄 Author
Model designed by Jérôme Frasson, as part of an exploratory study on domain-specific AI applied to agronomy.
- Downloads last month
- 28
Model tree for jeromex1/lyra_Botrytis_mistral7B_LoRA
Base model
mistralai/Mistral-7B-v0.3