Skip to content

Joss - #469

Open
gmartinon-ed wants to merge 20 commits into
mainfrom
joss
Open

Joss#469
gmartinon-ed wants to merge 20 commits into
mainfrom
joss

Conversation

@gmartinon-ed

Copy link
Copy Markdown
Collaborator

JOSS

@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@imerad imerad left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En dehors des commentaires spécifiques, je pense que l'article est globalement trop qualitatif et ne met pas la technicité de glide suffisamment en valeur. Je recommande de regarder quelques articles récemment publiés sur ce journal. Il y a aussi celui d'MFGlib

Suivant ces exemples, je pense que ce serait bien si on peut mettre quelques formules et éventuellement des figures extraite de nos notebooks. Des snippets de codes seraient bien aussi. On pourra réduire certaines sections textuelles s'il y a une contrainte.

J'ai l'impression que la plupart des articles du journal déclarent une intervention de l'IA faible ou nulle. Ça me fait penser que le journal y est peut être peu tolérant.

Comment thread JOSS/paper.md Outdated

# Statement of need

Evaluating a deployed GenAI system under a fixed annotation budget requires combining a few reliable human annotations with a large set of proxy annotations, such as LLM-as-judge labels. The literature has addressed the resulting complications one strand at a time: heterogeneous strata, handled by stratified sampling [@NEURIPS2024_c9fcd02e; @fogliato2024framework]; small labeled sets, handled by bootstrap intervals [@kluger2025prediction]; correlated units, handled by clustered inference; multiple judges, handled by multi-proxy aggregation [@shan2025sada; @cowen2026multiple]; judge uncertainty, exploited by active sampling [@pmlr-v235-zrnic24a; @gligoric2025can]; unequal human and LLM costs, handled by cost-aware sampling [@angelopoulos2025cost]; and continuous monitoring, made safe from false alarms by anytime-valid confidence sequences [@podkopaev2021tracking; @waudbysmith2024time; @zhang2026prediction].

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce paragraphe est trop condensé. Le lecteur lambda n'a aucune chance de comprendre toutes ces notions à ce niveau de concision. Il faudrait soit étoffer, soit assumer que c'est une liste sans description des éléments

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le début du paragraphe considère de facto qu'on évalue la GenAI avec labels humains+proxys, mais il ne faut pas oublier que ça ne se fait souvent pas comme ça. Quelques phrases de cheminement ne feraient pas de mal (on veux évaluer fiablement, on utilise des labels humains, c'est trop cher, on se tourne vers un proxy, il est biaisé, ppi donne le meilleur des deux mondes)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reformulé

Comment thread JOSS/paper.md Outdated

Evaluating a deployed GenAI system under a fixed annotation budget requires combining a few reliable human annotations with a large set of proxy annotations, such as LLM-as-judge labels. The literature has addressed the resulting complications one strand at a time: heterogeneous strata, handled by stratified sampling [@NEURIPS2024_c9fcd02e; @fogliato2024framework]; small labeled sets, handled by bootstrap intervals [@kluger2025prediction]; correlated units, handled by clustered inference; multiple judges, handled by multi-proxy aggregation [@shan2025sada; @cowen2026multiple]; judge uncertainty, exploited by active sampling [@pmlr-v235-zrnic24a; @gligoric2025can]; unequal human and LLM costs, handled by cost-aware sampling [@angelopoulos2025cost]; and continuous monitoring, made safe from false alarms by anytime-valid confidence sequences [@podkopaev2021tracking; @waudbysmith2024time; @zhang2026prediction].

These methods share one template, yet they are scattered across papers with heterogeneous notation and partial reference implementations [@song2026demystifying], some in R and some in Python, none covering more than a slice of the design space. Combining these methods currently means stitching together several repositories and verifying their consistency by hand. `GLIDE` closes that gap by treating sampling, estimation and monitoring as one consistent family, and it quantifies the return on the judge: the effective sample size says how many extra expert annotations the proxy is worth.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La description ici reste très qualitative, j'imagine que tu as bien tenu compte de la structure attendue, mais je recommande de regarder (avec Claude) quelques article publiés sur ce journal pour avoir une idée du niveau de détail technique attendu. Accessoirement, la dernière phrase sur l'effective sample size ne colle pas très bien avec l'idée du paragraphe.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reformulé. le niveau technique n'est pas si élevé dans les 10 derniers articles publiés.

Comment thread JOSS/paper.md Outdated

# Software design

`GLIDE`'s design is organized around three sequential steps inherited from survey theory (\autoref{fig:workflow}): sampling, which selects the observations worth a human label; annotation, which only domain experts can perform; and estimation, which combines labels and proxy predictions into a debiased estimate with a confidence interval. Additionally, monitoring wraps per-batch estimates in an anytime-valid bound. Samplers expose `sample`, estimators `estimate` and monitors `detect`, so a full workflow fits in a handful of lines and a new component plugs in by implementing one of these interfaces. Data follows a simple contract: one aligned array per collection of labels, with `numpy.nan` marking unlabeled entries of the ground-truth array, in the spirit of scikit-learn conventions [@Pedregosa_Scikit-learn_Machine_Learning_2011]. Each estimator family factors its computation into a shared `MeanEstimationEngine`, called once over the whole dataset by an estimator and once per batch by a monitor, so contributors can extend an estimator into its monitor counterpart without reimplementing its statistics. In terms of quality gates, every new component passes three lines of defense, all run in continuous integration: unit tests with 100% coverage and executed docstring examples, functional tests of statistical properties (e.g., a stratified estimator on a single stratum must equal the uniform one), and Monte Carlo validation notebooks assessing coverage, interval width, false-alarm and miscoverage rates.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cette formulation "Samplers expose sample, estimators estimate and monitors detect ..." est un peu trop sèche ...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Attention le terme coverage est utilisé deux fois avec des sens différents. On pourrait parler "statistical coverage" ou "CI coverage" pour la 2e

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Traité

Comment thread JOSS/paper.md Outdated

`GLIDE` has been developed in public since its first commit in March 2026, with roughly two releases per month and a dozen contributors. It has attracted more than a hundred stars and is disseminated through a monthly newsletter. Beyond the open-source community, the package has already been used in several missions delivered by Emerton Data, a consulting firm, to evaluate industrialized GenAI systems with limited human annotation budgets.

The statistical framework behind the library is described in a companion methods paper presented at the ICML 2026 workshop on statistical frameworks for uncertainty in agentic systems [@martinon2026industrializing]. Validation notebooks cover all prediction-powered estimators and monitors: each attains its nominal coverage across proxy quality and confidence levels, never yields an interval wider than the human labeled-only baseline, and shows the effective sample size growing with proxy quality. Three reproducible case studies in the documentation run full workflows on public benchmarks, whose proxy-labeled versions we release as documented datasets: agentic safety evaluation on R-Judge [@yuan-etal-2024-r], text-to-SQL accuracy on Spider [@yu-etal-2018-spider], and multilingual retrieval-augmented generation faithfulness on MEMERAG [@cruz-blandon-etal-2025-memerag].

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cette section détaille bien l'impact que Glide a pu avoir. Néanmoins, ce paragraphe qui parle des validation notebooks et des case study qu'on a fait me semble un peu hors sujet.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reformulé

Comment thread JOSS/paper.md Outdated

# Code availability

GLIDE can be installed from PyPI with `pip install glide-py`. The source, test suite, scientific validation notebooks and released datasets are on GitHub (https://github.com/EmertonData/glide). The documentation, including tutorials, user guides and case studies, is at https://glide-py.readthedocs.io, and a landing page (https://emertondata.github.io/glide/) links to these resources and hosts an interactive simulator comparing prediction-powered and human-only confidence intervals. Contributions are welcome via issues or pull requests.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La première url dépasse sur sa ligne

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Traité

Comment thread JOSS/paper.bib
Comment on lines +177 to +184
@article{martinon2026industrializing,
title={Industrializing Prediction-Powered Inference: The GLIDE Library for Reliable GenAI and Agentic Systems Evaluation},
author={Martinon, Gr{\'e}goire and Merad, Ibrahim and Raki, Mohammed},
journal={arXiv preprint arXiv:2605.31278},
doi={10.48550/arXiv.2605.31278},
url={https://arxiv.org/abs/2605.31278},
year={2026}
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai l'impression qu'on cite la publication d'ICML deux fois, je ne trouve pas celle d'AI4good, la voici

@inproceedings{ merad2026industrializing, title={Industrializing Prediction-Powered Inference: The {GLIDE} Library for Reliable Gen{AI} Evaluation}, author={Ibrahim Merad and Gr{\'e}goire Martinon}, booktitle={Trustworthy AI for Good (AI4GOOD) Workshop @ NeurIPS 2026}, year={2026}, url={https://openreview.net/forum?id=Z51G2eCNIA} }

EDIT : je vois qu'elle y est mais ne la trouvais pas sur la PDF, je recommande d'utiliser celle ci dessus générée par openreview

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Traité

Comment thread JOSS/paper.md Outdated

# Summary

Evaluating a generative AI (GenAI) system, for example by measuring its hallucination rate or the share of unsafe agent trajectories, requires reliable labels. Human experts provide them at high cost, while LLM-as-judge proxies are cheap but biased [@NEURIPS2023_91f18a12]. `GLIDE` (Generated Label Inference & Debiasing Engine) is a Python library built on prediction-powered inference [@angelopoulos2023prediction; @angelopoulos2023ppiplusplus]. It combines a small set of human labels with a large set of proxy labels to produce debiased metric estimates whose confidence intervals stay valid however poor the proxy is. Behind a scikit-learn-style API, it offers sampling designs that choose which observations humans should label, and estimators that report the effective sample size, meaning the number of human labels saved by the proxy. It also provides monitors that track a metric over batches with anytime-valid bounds, which control false alarms under repeated evaluation [@podkopaev2021tracking; @waudbysmith2024time; @zhang2026prediction].

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je n'aurais pas dit "built on prediction-powered inference", plutôt "which implements PPI statistical methods" ou un truc comme ça

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reformulé

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants