Skip to content

Démo technique de ce qui peut être fait avec Apple MLX dans le cadre des SLMs

Notifications You must be signed in to change notification settings

SCIAM-FR/demo-mlx

Repository files navigation

Demo MLX - Benchmark & Exemples

Ce dépôt sert de complément technique à notre article sur LinkedIn. Il héberge le code de démonstration ainsi que les outils nécessaires pour reproduire les benchmarks présentés.

L'objectif est d'illustrer l'utilisation de modèles MLX (notamment pour la conversion de documents avec Granite Docling) et de comparer leurs performances.

Prérequis

Ce projet utilise uv pour la gestion des dépendances et de l'environnement virtuel. Assurez-vous d'avoir uv installé sur votre machine.

Installation

Pour installer les dépendances du projet, exécutez simplement :

uv sync

Cela créera un environnement virtuel et installera tous les paquets nécessaires listés dans uv.lock.

Utilisation

Le projet contient deux scripts principaux que vous pouvez lancer directement avec uv.

1. Démo de Conversion de Document

Le script demo.py télécharge un exemple de fichier PDF, convertit une page spécifique en image, et utilise le modèle ibm-granite/granite-docling-258M-mlx pour extraire ou convertir le contenu.

Pour lancer la démo :

uv run demo.py

2. Benchmark d'Inférence

Le script benchmark_docling.py permet de tester et comparer les performances d'inférence de plusieurs modèles (MLX vs Transformers/MPS). Il génère des métriques sur le temps de génération et le temps pour le premier token.

Pour lancer le benchmark :

uv run benchmark_docling.py

Les résultats seront sauvegardés dans un fichier benchmark_inference_engine.json à la racine du projet.

Structure du Projet

  • demo.py : Script de démonstration simple pour la conversion de page PDF vers Docling.
  • benchmark_docling.py : Moteur de benchmark complet comparant différents modèles et backends.
  • benchmark_inference_engine.ipynb : Notebook Jupyter pour l'exploration et la visualisation des benchmarks.
  • pyproject.toml / uv.lock : Fichiers de configuration et de verrouillage des dépendances.

Ce code est fourni à titre d'exemple pour accompagner l'article LinkedIn.

About

Démo technique de ce qui peut être fait avec Apple MLX dans le cadre des SLMs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published