Aller au contenu principal
2026 En développement

Evaluator

Evaluator

Evaluator utilise un Vision Language Model (Qwen3-VL-4B) fine-tuné avec DoRA pour évaluer automatiquement l'état physique de produits d'occasion. Le modèle analyse les photos du produit, croise avec le titre, la description et le prix, puis génère une évaluation de condition avec justification en langage naturel. Entraîné sur 521 samples labellisés, optimisé pour tourner sur un RTX 3060 12GB grâce à la quantization 4-bit.

ML Engineer
Scroll

Contexte

Evaluator utilise un Vision Language Model (Qwen3-VL-4B) fine-tuné avec DoRA pour évaluer automatiquement l'état physique de produits d'occasion. Le modèle analyse les photos du produit, croise avec le titre, la description et le prix, puis génère une évaluation de condition avec justification en langage naturel. Entraîné sur 521 samples labellisés, optimisé pour tourner sur un RTX 3060 12GB grâce à la quantization 4-bit.

4B
Paramètres (Qwen3-VL)
521
Samples labellisés
12GB
VRAM max (RTX 3060)
~3s
Inférence par produit

Le Parcours

01

Le Défi

Évaluer l'état d'un produit d'occasion est subjectif et chronophage. Les marketplaces dépendent de descriptions vendeurs souvent mensongères. Aucune solution automatisée n'existait pour le marché français.

La Solution

Fine-tuner un Vision Language Model (Qwen3-VL) avec DoRA pour qu'il "regarde" les photos comme un expert humain. Le modèle croise analyse visuelle + métadonnées textuelles pour une évaluation multimodale. Optimisé pour GPU consumer grâce à 4-bit quantization.

02
03

L'Impact

Première application de Qwen3-VL au product condition assessment. Évaluation en ~3 secondes vs 2-5 minutes manuelles. Pipeline ML complet : données → training → inférence → CLI.

Fonctionnalités Clés

01

DoRA Fine-tuning

Weight-Decomposed Low-Rank Adaptation — plus performant que LoRA standard. Décompose les poids en magnitude + direction pour une convergence supérieure.

02

Multi-image reasoning

Le modèle analyse 1 à 8 images par produit simultanément, identifiant rayures, usure, dommages à travers différents angles.

03

Explicabilité

Génère des justifications en langage naturel : "Bon état. Quelques traces d'usure sur les bords mais écran sans rayures visibles."

04

GPU Consumer-grade

Tourne sur RTX 3060 12GB grâce à 4-bit QLoRA (NF4), gradient checkpointing et Flash Attention 2. De 16GB → 8-11GB VRAM.

05

Pipeline production-ready

CLI complète avec Typer + Rich. Modes batch, dry-run, validation dataset. Tests unitaires, Pydantic v2, configuration YAML.

06

French-native

Fine-tuné sur des descriptions produits en français avec labels de condition localisés : Neuf, Comme neuf, Très bon état, Bon état, État correct.

Processus de Développement

Étape 01

Data Collection

Scraping de 521 annonces LeBonCoin avec images, descriptions et labels de condition manuels. 169 images produits.

Étape 02

Architecture Design

Choix de Qwen3-VL-4B + DoRA (rank=8, alpha=16) via ms-swift. Configuration YAML avec Pydantic v2 pour type safety.

Étape 03

Memory Optimization

4-bit quantization NF4 + double quant + gradient checkpointing + Flash Attention 2. Compression de 16GB → 8-11GB VRAM.

Étape 04

Training

3 epochs, lr=2e-4, cosine schedule. Batch size 1 avec gradient accumulation 16. ~2-4h sur RTX 3060.

Étape 05

Inference Pipeline

Predictor class avec support multi-images, batch processing, temperature control (0.1) pour prédictions déterministes.

Stack Technique

Python
Qwen3-VL-4B
ms-swift
DoRA/QLoRA
PyTorch
Flash Attention 2
Pydantic v2
Typer
bitsandbytes