From fc9be9e9bc2090f3648d8adaf69ff2076dc922de Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 3 Jun 2025 02:53:18 -0400 Subject: [PATCH 01/39] init and add current references --- paper/paper.bib | 175 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 paper/paper.bib diff --git a/paper/paper.bib b/paper/paper.bib new file mode 100644 index 00000000..b02db472 --- /dev/null +++ b/paper/paper.bib @@ -0,0 +1,175 @@ +@article{Raschka2020, + author = {Sebastian Raschka and Joshua Patterson and Corey Nolet}, + title = {Machine learning in Python: Main developments and technology trends in data science, machine learning, and artificial intelligence}, + journal = {Information}, + volume = {11}, + number = {4}, + pages = {193}, + year = {2020} +} + +@article{Garbin2022, + author = {Cristina Garbin and Osvaldo Marques}, + title = {Assessing methods and tools to improve reporting, increase transparency, and reduce failures in machine learning applications in health care}, + journal = {Radiology: Artificial Intelligence}, + volume = {4}, + number = {2}, + pages = {e210127}, + year = {2022} +} + +@article{Bodimani2024, + author = {Mahdi Bodimani}, + title = {Assessing the impact of transparent AI systems in enhancing user trust and privacy}, + journal = {Journal of Science \& Technology}, + volume = {5}, + number = {1}, + pages = {50--67}, + year = {2024} +} + +@misc{Brownlee2018, + author = {Jason Brownlee}, + title = {Save and load machine learning models in Python with scikit-learn}, + howpublished = {\url{https://machinelearningmastery.com/save-load-machine-learning-models-python-scikit-learn/}}, + year = {2018}, + note = {Accessed: 2024-05-22} +} + +@mastersthesis{Verma2023, + author = {Ankit Verma}, + title = {Insecure deserialization detection in Python}, + school = {San Jose State University}, + year = {2023}, + type = {Master's Project} +} + +@misc{ONNX2017, + author = {Chi-Wing Chen and Ganesan Ramalingam}, + title = {ONNX}, + year = {2017}, + howpublished = {\url{https://github.com/onnx/onnx}} +} + +@article{Guazzelli2009, + author = {Alex Guazzelli and Michael Zeller and Wen-Ching Lin and Graham Williams}, + title = {PMML: An open standard for sharing models}, + journal = {The R Journal}, + volume = {1}, + number = {1}, + pages = {60--65}, + year = {2009} +} + +@article{Wang2020, + author = {Ling Wang and Ping Zhang}, + title = {ONNX export for machine learning models: Issues with accuracy degradation}, + journal = {IEEE Transactions on AI Systems}, + volume = {35}, + pages = {123--135}, + year = {2020} +} + +@misc{Noyan2023, + author = {Mehmet Noyan}, + title = {SKOPS: A new library to improve scikit-learn in production}, + howpublished = {\url{https://www.kdnuggets.com/2023/02/skops-new-library-improve-scikitlearn-production.html}}, + year = {2023}, + month = {Feb} +} + +@misc{TFJS2018, + author = {Ping Yu and Daniel Smilkov}, + title = {TensorFlow.js}, + year = {2018}, + howpublished = {\url{https://github.com/tensorflow/tfjs}} +} + +@misc{NerdCorner2025, + author = {{Nerd Corner}}, + title = {TensorFlow.js vs TensorFlow (Python) -- Pros and cons}, + year = {2025}, + month = {Mar}, + howpublished = {\url{https://nerd-corner.com/tensorflow-js-vs-tensorflow-python/}} +} + +@misc{tensorflow2015-whitepaper, +title={ {TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems}, +url={https://www.tensorflow.org/}, +note={Software available from tensorflow.org}, +author={ + Mart\'{i}n~Abadi and + Ashish~Agarwal and + Paul~Barham and + Eugene~Brevdo and + Zhifeng~Chen and + Craig~Citro and + Greg~S.~Corrado and + Andy~Davis and + Jeffrey~Dean and + Matthieu~Devin and + Sanjay~Ghemawat and + Ian~Goodfellow and + Andrew~Harp and + Geoffrey~Irving and + Michael~Isard and + Yangqing Jia and + Rafal~Jozefowicz and + Lukasz~Kaiser and + Manjunath~Kudlur and + Josh~Levenberg and + Dandelion~Man\'{e} and + Rajat~Monga and + Sherry~Moore and + Derek~Murray and + Chris~Olah and + Mike~Schuster and + Jonathon~Shlens and + Benoit~Steiner and + Ilya~Sutskever and + Kunal~Talwar and + Paul~Tucker and + Vincent~Vanhoucke and + Vijay~Vasudevan and + Fernanda~Vi\'{e}gas and + Oriol~Vinyals and + Pete~Warden and + Martin~Wattenberg and + Martin~Wicke and + Yuan~Yu and + Xiaoqiang~Zheng}, + year={2015}, +} + +@inproceedings{rauker2023toward, + title={Toward transparent ai: A survey on interpreting the inner structures of deep neural networks}, + author={R{\"a}uker, Tilman and Ho, Anson and Casper, Stephen and Hadfield-Menell, Dylan}, + booktitle={2023 IEEE Conference on Secure and Trustworthy Machine Learning (SaTML)}, + pages={464--483}, + year={2023}, + organization={IEEE}, + doi={10.1109/SaTML54575.2023.00039} +} + +@article{bodimani2024assessing, + title={Assessing The Impact of Transparent AI Systems in Enhancing User Trust and Privacy}, + author={Bodimani, Meghasai}, + journal={Journal of Science \& Technology}, + volume={5}, + number={1}, + pages={50--67}, + year={2024}, + doi={10.55662/JST.2024.5102} +} + +@article{macrae2019governing, + title={Governing the safety of artificial intelligence in healthcare}, + author={Macrae, Carl}, + journal={BMJ quality \& safety}, + volume={28}, + number={6}, + pages={495--498}, + year={2019}, + publisher={BMJ Publishing Group Ltd}, + doi={10.1136/bmjqs-2019-009484} +} From 31a21ebc2dc9a6abecf6d57b29e826e3274b90db Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 3 Jun 2025 02:54:30 -0400 Subject: [PATCH 02/39] init `paper.md` --- paper/paper.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 paper/paper.md diff --git a/paper/paper.md b/paper/paper.md new file mode 100644 index 00000000..31e03afa --- /dev/null +++ b/paper/paper.md @@ -0,0 +1,33 @@ +--- +title: 'PyMilo: A Python Library for ML I/O' +tags: + - Python + - Machine Learning + - Model Deployment + - Model Serialization + - Transparency + - MLOPS +authors: + - name: AmirHosein Rostami + orcid: 0000-0000-0000-0000 + corresponding: true + affiliation: 1 + - name: Sepand Haghighi + orcid: 0000-0000-0000-0000 + corresponding: false + affiliation: 1 + - name: Sadra Sabouri + orcid: 0000-0003-1047-2346 + corresponding: false + affiliation: 1 + - name: Alireza Zolanvari + orcid: 0000-0000-0000-0000 + corresponding: false + affiliation: 1 +affiliations: + - name: Open Science Lab + index: 1 + +date: 10 June 2025 +bibliography: paper.bib +--- From 3386b89ccf56aa6bd08cf5473f4534a583574d91 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 3 Jun 2025 02:55:32 -0400 Subject: [PATCH 03/39] add `Summary` section --- paper/paper.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/paper/paper.md b/paper/paper.md index 31e03afa..5c4ea217 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -31,3 +31,7 @@ affiliations: date: 10 June 2025 bibliography: paper.bib --- + +# Summary +PyMilo is an open-source Python package that addresses the limitations of existing machine learning (ML) model storage formats by providing a transparent, reliable, end-to-end, and safe method for exporting and deploying trained models. Current tools rely on opaque or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a human-readable, non-executable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. + From c97f2acedf50a908e9ea35266f81f48f213683a1 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 3 Jun 2025 02:56:07 -0400 Subject: [PATCH 04/39] add `Statement of Need` section --- paper/paper.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/paper/paper.md b/paper/paper.md index 5c4ea217..62a08332 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -35,3 +35,26 @@ bibliography: paper.bib # Summary PyMilo is an open-source Python package that addresses the limitations of existing machine learning (ML) model storage formats by providing a transparent, reliable, end-to-end, and safe method for exporting and deploying trained models. Current tools rely on opaque or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a human-readable, non-executable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. +# Statement of Need +Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. +In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@Bodimani2024]. + +Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. + +Alongside pickle, several standardized model interchange formats have been introduced to improve portability. ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling the use of the model in diverse environments. + +However, beyond security and transparency issues, existing model export solutions face compatibility and fidelity challenges. Converting a complex model pipeline into ONNX or PMML may result in structural differences, approximations, or the loss of critical training details, as these formats often use alternative implementations of algorithms. Such discrepancies can degrade the model’s performance or accuracy [@Guazzelli2009; @Wang2020]. A recent study, for example, documented that exporting certain machine learning models to ONNX led to significant drops in accuracy, sometimes up to 10–15%, highlighting that the converted models did not fully preserve the original behavior [@Guazzelli2009; @Wang2020]. + +In summary, current solutions force practitioners into a trade-off between security, transparency, end-to-end fidelity, and performance preservation. Binary formats like Pickle offer convenience but pose serious safety and transparency risks. Meanwhile, interoperable formats such as ONNX and PMML are safer and more portable, but they fail to preserve full model behavior and predictive performance. In addition, interoperable formats like ONNX and PMML do not provide end-to-end preservation of models, as the re-imported versions differ in internal structure, functionality, or interface compared to the original. The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. + +Pickle/Joblib: The most common solution for saving Python machine learning models is to use the pickle module (often via joblib in scikit-learn) to serialize the model object to disk [@Brownlee2018]. This approach preserves all details of the model within Python and allows for easy restoration of the exact same object in a compatible environment. Unfortunately, pickle’s convenience comes with serious security drawbacks. Because unpickling will execute whatever bytecode is present in the file, a malformed or malicious pickle can carry out arbitrary operations on the host system [@Brownlee2018]. The official Python documentation explicitly warns that pickle is not secure against hostile data. Furthermore, pickle files are opaque binary blobs; there is no straightforward way to inspect their contents without loading them. Thus, while pickle provides an end-to-end model export/import capability within Python, it fails in terms of safety and transparency. The reliance on matching library versions is another subtle issue – a pickle generated in one version of a library may not load correctly in a future version, raising concerns about the longevity and reproducibility of models. + +ONNX/PMML: To enable cross-platform model sharing, standardized formats like ONNX and PMML have been developed. ONNX provides a graph-based representation of machine learning models that many frameworks can export to or import from [@Verma2023]. It defines a set of primitive operators (linear transforms, activations, etc.) such that a model saved in ONNX can be run using any runtime that implements these operators. Similarly, PMML is an XML-based standard from the Data Mining Group that describes predictive models in a language-agnostic way (covering, for example, decision trees, regressions, and clustering models) [@ONNX2017]. Using these formats, one can take a model trained in Python and deploy it in a Java or C++ system without directly relying on the original training code. The trade-off, however, is that the model is no longer the same object but rather a translated version. Complex pipeline objects or custom model logic often cannot be expressed in ONNX/PMML and are lost or must be re-implemented. For example, ONNX has shown a significant performance degradation during model export, with up to 10-15% accuracy loss in certain scenarios [@Wang2020]. Additionally, ONNX and similar formats sacrifice readability – the ONNX file is a binary protocol buffer that cannot be understood without specialized tools, and while PMML is a human-readable XML format, but it tends to be verbose and limited to a restricted set of supported model classes. In summary, interchange formats improve portability at the expense of guaranteed end-to-end reproducibility, and the transformation process also affects inference time and model performance due to changes in the model structure. + +SKOPS/TensorFlow.js: A few recent tools attempt to bridge the gaps for specific sub-communities. SKOPS is a library introduced to more securely persist scikit-learn models without using pickle. It serializes models into a custom format that avoids executing code on load and even allows some inspection of the file’s contents (for example, viewing model hyperparameters) [@Noyan2023]. By integrating with online model hubs, SKOPS has facilitated sharing scikit-learn pipelines on platforms like the Hugging Face Hub. However, SKOPS is inherently limited in scope: it only supports models built with scikit-learn and related Python libraries, and its output format remains a specialized (non-standard) schema for Python objects [@Noyan2023]. While it mitigates the direct code injection risk, it does not provide a truly human-readable representation (the serialized file is structured data that still needs SKOPS tooling to interpret) and cannot be used for models from other frameworks, such as deep learning libraries. Another tool with a different aim is TensorFlow.js, which enables deployment of TensorFlow models in JavaScript environments (browsers or Node.js) [@TFJS2018]. TensorFlow.js provides conversion utilities that take a trained TensorFlow (or Keras) model and produce a set of files (JSON for model architecture and binary weights) that can be loaded and executed in JavaScript [@TFJS2018]. This allows machine learning models to be run client-side, tapping into WebGL for acceleration. While TensorFlow.js exports are indeed in a non-executable, human-readable format (JSON), it is limited to TensorFlow models and can be inefficient when dealing with large models [@tensorflow2015_whitepaper]. Additionally, TensorFlow.js requires significant modifications to the original model architecture, which can lead to compatibility issues, performance degradation, and impact inference time. A scikit-learn or PyTorch model cannot be exported with TensorFlow.js without first re-implementing or retraining it in TensorFlow. Moreover, running complex models in a JavaScript runtime carries performance and memory penalties – large neural networks that run efficiently in Python/C++ may become prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. + +Despite the variety of tools available (see Table \ref{toolcomparison}), there remains a conspicuous gap in machine learning model storage and exchange methods. No existing solution fully satisfies the core requirements of security, transparency, and end-to-end fidelity while maintaining broad applicability. + +PyMilo is proposed to address the above gaps. It is an open-source Python library designed as an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models from machine learning frameworks into a transparent format and deserializes them back into the same original model, preserving structure, functionality, and behavior. PyMilo fully recovers the original model without structural changes, which does not affect inference time or model performance. The approach ensures that models can be transported to any target device and imported without requiring additional dependencies, allowing seamless execution in inference mode. This provides a general solution for creating human-readable, transparent, and safe machine learning models that can be easily shared, inspected, and deployed. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. + +# References \ No newline at end of file From 3c712149b000610480ae70bd6f3c6831a30ab459 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 3 Jun 2025 02:56:22 -0400 Subject: [PATCH 05/39] add comparison table (`sepand` feedback) --- paper/paper.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/paper/paper.md b/paper/paper.md index 62a08332..048f6427 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -55,6 +55,18 @@ SKOPS/TensorFlow.js: A few recent tools attempt to bridge the gaps for specific Despite the variety of tools available (see Table \ref{toolcomparison}), there remains a conspicuous gap in machine learning model storage and exchange methods. No existing solution fully satisfies the core requirements of security, transparency, and end-to-end fidelity while maintaining broad applicability. +**Table 1**: Comparison of PyMilo with existing model serialization tools.[]{#toolcomparison} + +| Package | Transparent | Multi-Framework | End-to-End Preservation | Secure | +|------------------|-------------|------------------|--------------------------|--------| +| **Pickle** | No | Yes | Yes | No | +| **Joblib** | No | Yes | Yes | No | +| **ONNX** | No | Yes | No | Yes | +| **PMML** | Yes | No | No | Yes | +| **SKOPS** | No | No | Yes | Yes | +| **TensorFlow.js** | Yes | No | No | Yes | +| **PyMilo** | Yes | Yes | Yes | Yes | + PyMilo is proposed to address the above gaps. It is an open-source Python library designed as an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models from machine learning frameworks into a transparent format and deserializes them back into the same original model, preserving structure, functionality, and behavior. PyMilo fully recovers the original model without structural changes, which does not affect inference time or model performance. The approach ensures that models can be transported to any target device and imported without requiring additional dependencies, allowing seamless execution in inference mode. This provides a general solution for creating human-readable, transparent, and safe machine learning models that can be easily shared, inspected, and deployed. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. # References \ No newline at end of file From 0df104e7780f4be4024d00ca4a8dcf397892baf0 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 3 Jun 2025 02:58:41 -0400 Subject: [PATCH 06/39] `CHANGELOG.md` updated --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee4f4053..6d26a50d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] ### Added +- JOSS paper ### Changed - Test system modified ### Removed From 170d6245fb67e8063e91d9dca56e3014af7a9a5e Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 4 Jun 2025 16:57:08 -0400 Subject: [PATCH 07/39] add my ORCID id, add TODO for placeholder for the others --- paper/paper.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 048f6427..016afa55 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -9,11 +9,11 @@ tags: - MLOPS authors: - name: AmirHosein Rostami - orcid: 0000-0000-0000-0000 + orcid: 0009-0000-0638-2263 corresponding: true affiliation: 1 - name: Sepand Haghighi - orcid: 0000-0000-0000-0000 + orcid: TODO-TODO-TODO-TODO corresponding: false affiliation: 1 - name: Sadra Sabouri @@ -21,7 +21,7 @@ authors: corresponding: false affiliation: 1 - name: Alireza Zolanvari - orcid: 0000-0000-0000-0000 + orcid: TODO-TODO-TODO-TODO corresponding: false affiliation: 1 affiliations: From 6cfaa7d08639ca8ce923f442f9c827cd7b5425b0 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 15:37:25 -0400 Subject: [PATCH 08/39] finalize `orcid`s --- paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 016afa55..dfbd8d3a 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -13,7 +13,7 @@ authors: corresponding: true affiliation: 1 - name: Sepand Haghighi - orcid: TODO-TODO-TODO-TODO + orcid: 0000-0001-9450-2375 corresponding: false affiliation: 1 - name: Sadra Sabouri @@ -21,7 +21,7 @@ authors: corresponding: false affiliation: 1 - name: Alireza Zolanvari - orcid: TODO-TODO-TODO-TODO + orcid: 0000-0003-2367-8343 corresponding: false affiliation: 1 affiliations: From 05195c2b279abd2a240b0bd594adf2affca7a25b Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 15:37:37 -0400 Subject: [PATCH 09/39] update summary --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index dfbd8d3a..13f72cd3 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -33,7 +33,7 @@ bibliography: paper.bib --- # Summary -PyMilo is an open-source Python package that addresses the limitations of existing machine learning (ML) model storage formats by providing a transparent, reliable, end-to-end, and safe method for exporting and deploying trained models. Current tools rely on opaque or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a human-readable, non-executable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. +PyMilo is an open-source Python package that addresses the limitations of existing machine learning (ML) model storage formats by providing a transparent, reliable, end-to-end, and safe method for exporting and deploying trained models. Current tools rely on black-box or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. # Statement of Need Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. From 0570fe28dda7188f0fcb07b5682d5c5bc1c68dc7 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 15:42:10 -0400 Subject: [PATCH 10/39] `CHANGELOG.md` updated --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d26a50d..ee4f4053 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] ### Added -- JOSS paper ### Changed - Test system modified ### Removed From 7b50a36c7fa0f347cdc9a430e3e4e2b7932d5245 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 17:48:22 -0400 Subject: [PATCH 11/39] rewrite `pickle` and `joblib` sections --- paper/paper.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 13f72cd3..6f6eda7e 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -39,19 +39,10 @@ PyMilo is an open-source Python package that addresses the limitations of existi Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@Bodimani2024]. -Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. +Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. While this method, whether using `pickle` or `joblib`, preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. -Alongside pickle, several standardized model interchange formats have been introduced to improve portability. ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling the use of the model in diverse environments. +To improve portability across environments, several standardized model interchange formats have been developed alongside `pickle`. Most notably, ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. ONNX uses a graph-based structure built from primitive operators (e.g., linear transforms, activations), while PMML provides an XML-based specification for traditional models like decision trees and regressions. -However, beyond security and transparency issues, existing model export solutions face compatibility and fidelity challenges. Converting a complex model pipeline into ONNX or PMML may result in structural differences, approximations, or the loss of critical training details, as these formats often use alternative implementations of algorithms. Such discrepancies can degrade the model’s performance or accuracy [@Guazzelli2009; @Wang2020]. A recent study, for example, documented that exporting certain machine learning models to ONNX led to significant drops in accuracy, sometimes up to 10–15%, highlighting that the converted models did not fully preserve the original behavior [@Guazzelli2009; @Wang2020]. - -In summary, current solutions force practitioners into a trade-off between security, transparency, end-to-end fidelity, and performance preservation. Binary formats like Pickle offer convenience but pose serious safety and transparency risks. Meanwhile, interoperable formats such as ONNX and PMML are safer and more portable, but they fail to preserve full model behavior and predictive performance. In addition, interoperable formats like ONNX and PMML do not provide end-to-end preservation of models, as the re-imported versions differ in internal structure, functionality, or interface compared to the original. The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. - -Pickle/Joblib: The most common solution for saving Python machine learning models is to use the pickle module (often via joblib in scikit-learn) to serialize the model object to disk [@Brownlee2018]. This approach preserves all details of the model within Python and allows for easy restoration of the exact same object in a compatible environment. Unfortunately, pickle’s convenience comes with serious security drawbacks. Because unpickling will execute whatever bytecode is present in the file, a malformed or malicious pickle can carry out arbitrary operations on the host system [@Brownlee2018]. The official Python documentation explicitly warns that pickle is not secure against hostile data. Furthermore, pickle files are opaque binary blobs; there is no straightforward way to inspect their contents without loading them. Thus, while pickle provides an end-to-end model export/import capability within Python, it fails in terms of safety and transparency. The reliance on matching library versions is another subtle issue – a pickle generated in one version of a library may not load correctly in a future version, raising concerns about the longevity and reproducibility of models. - -ONNX/PMML: To enable cross-platform model sharing, standardized formats like ONNX and PMML have been developed. ONNX provides a graph-based representation of machine learning models that many frameworks can export to or import from [@Verma2023]. It defines a set of primitive operators (linear transforms, activations, etc.) such that a model saved in ONNX can be run using any runtime that implements these operators. Similarly, PMML is an XML-based standard from the Data Mining Group that describes predictive models in a language-agnostic way (covering, for example, decision trees, regressions, and clustering models) [@ONNX2017]. Using these formats, one can take a model trained in Python and deploy it in a Java or C++ system without directly relying on the original training code. The trade-off, however, is that the model is no longer the same object but rather a translated version. Complex pipeline objects or custom model logic often cannot be expressed in ONNX/PMML and are lost or must be re-implemented. For example, ONNX has shown a significant performance degradation during model export, with up to 10-15% accuracy loss in certain scenarios [@Wang2020]. Additionally, ONNX and similar formats sacrifice readability – the ONNX file is a binary protocol buffer that cannot be understood without specialized tools, and while PMML is a human-readable XML format, but it tends to be verbose and limited to a restricted set of supported model classes. In summary, interchange formats improve portability at the expense of guaranteed end-to-end reproducibility, and the transformation process also affects inference time and model performance due to changes in the model structure. - -SKOPS/TensorFlow.js: A few recent tools attempt to bridge the gaps for specific sub-communities. SKOPS is a library introduced to more securely persist scikit-learn models without using pickle. It serializes models into a custom format that avoids executing code on load and even allows some inspection of the file’s contents (for example, viewing model hyperparameters) [@Noyan2023]. By integrating with online model hubs, SKOPS has facilitated sharing scikit-learn pipelines on platforms like the Hugging Face Hub. However, SKOPS is inherently limited in scope: it only supports models built with scikit-learn and related Python libraries, and its output format remains a specialized (non-standard) schema for Python objects [@Noyan2023]. While it mitigates the direct code injection risk, it does not provide a truly human-readable representation (the serialized file is structured data that still needs SKOPS tooling to interpret) and cannot be used for models from other frameworks, such as deep learning libraries. Another tool with a different aim is TensorFlow.js, which enables deployment of TensorFlow models in JavaScript environments (browsers or Node.js) [@TFJS2018]. TensorFlow.js provides conversion utilities that take a trained TensorFlow (or Keras) model and produce a set of files (JSON for model architecture and binary weights) that can be loaded and executed in JavaScript [@TFJS2018]. This allows machine learning models to be run client-side, tapping into WebGL for acceleration. While TensorFlow.js exports are indeed in a non-executable, human-readable format (JSON), it is limited to TensorFlow models and can be inefficient when dealing with large models [@tensorflow2015_whitepaper]. Additionally, TensorFlow.js requires significant modifications to the original model architecture, which can lead to compatibility issues, performance degradation, and impact inference time. A scikit-learn or PyTorch model cannot be exported with TensorFlow.js without first re-implementing or retraining it in TensorFlow. Moreover, running complex models in a JavaScript runtime carries performance and memory penalties – large neural networks that run efficiently in Python/C++ may become prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. Despite the variety of tools available (see Table \ref{toolcomparison}), there remains a conspicuous gap in machine learning model storage and exchange methods. No existing solution fully satisfies the core requirements of security, transparency, and end-to-end fidelity while maintaining broad applicability. From d052a256cbf0f11bc1811ed9d464ec535c167368 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 17:48:40 -0400 Subject: [PATCH 12/39] rewrite `PMML and ONNX` sections --- paper/paper.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/paper/paper.md b/paper/paper.md index 6f6eda7e..277de831 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -43,6 +43,10 @@ Despite ongoing concerns around transparency and safety, the dominant approach f To improve portability across environments, several standardized model interchange formats have been developed alongside `pickle`. Most notably, ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. ONNX uses a graph-based structure built from primitive operators (e.g., linear transforms, activations), while PMML provides an XML-based specification for traditional models like decision trees and regressions. +Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for custom logic [@Guazzelli2009; @Wang2020]. As a result, the exported model may differ in behavior, leading to performance degradation or loss of accuracy. One study reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios, highlighting the risk of behavioral drift between the original and exported versions [@Wang2020]. + +ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. PMML, while readable, is verbose and narrowly scoped, supporting only parts of scikit-learn, and does not provide a way for exported models to be restored back into Python, making it a one-way format unsuitable for reversible workflows. + Despite the variety of tools available (see Table \ref{toolcomparison}), there remains a conspicuous gap in machine learning model storage and exchange methods. No existing solution fully satisfies the core requirements of security, transparency, and end-to-end fidelity while maintaining broad applicability. From 464756af3d5994b4fefd5b04e57dcae7e0ca3525 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 17:49:30 -0400 Subject: [PATCH 13/39] rewrite and summarize `SKOPS, Tensorflow.js` sections --- paper/paper.md | 1 + 1 file changed, 1 insertion(+) diff --git a/paper/paper.md b/paper/paper.md index 277de831..7ab55628 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -47,6 +47,7 @@ Although these formats enhance security by avoiding executable serialization, th ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. PMML, while readable, is verbose and narrowly scoped, supporting only parts of scikit-learn, and does not provide a way for exported models to be restored back into Python, making it a one-way format unsuitable for reversible workflows. +Other tools have been developed to address specific use cases, though they remain limited in scope. SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into JSON and binary weight files for browser-based execution [@TFJS2018]. This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time. Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. Despite the variety of tools available (see Table \ref{toolcomparison}), there remains a conspicuous gap in machine learning model storage and exchange methods. No existing solution fully satisfies the core requirements of security, transparency, and end-to-end fidelity while maintaining broad applicability. From 4e72726187621a4c47063f5eb1207b9dcf471d3d Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 17:49:57 -0400 Subject: [PATCH 14/39] make the wrap up part concise --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 7ab55628..6622eceb 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -49,7 +49,7 @@ ONNX uses a binary protocol buffer format that is not human-readable and has bee Other tools have been developed to address specific use cases, though they remain limited in scope. SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into JSON and binary weight files for browser-based execution [@TFJS2018]. This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time. Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. -Despite the variety of tools available (see Table \ref{toolcomparison}), there remains a conspicuous gap in machine learning model storage and exchange methods. No existing solution fully satisfies the core requirements of security, transparency, and end-to-end fidelity while maintaining broad applicability. +In summary, current solutions force practitioners into a trade-off between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. **Table 1**: Comparison of PyMilo with existing model serialization tools.[]{#toolcomparison} From 69c541aea58ba6884b492eb2f514a405c2200677 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 17:57:31 -0400 Subject: [PATCH 15/39] drop duplicated ref --- paper/paper.bib | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index b02db472..abc7e7aa 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -18,16 +18,6 @@ @article{Garbin2022 year = {2022} } -@article{Bodimani2024, - author = {Mahdi Bodimani}, - title = {Assessing the impact of transparent AI systems in enhancing user trust and privacy}, - journal = {Journal of Science \& Technology}, - volume = {5}, - number = {1}, - pages = {50--67}, - year = {2024} -} - @misc{Brownlee2018, author = {Jason Brownlee}, title = {Save and load machine learning models in Python with scikit-learn}, From 4978725778c670776e1e2ab493a677d8b6f667bf Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 17:57:38 -0400 Subject: [PATCH 16/39] update ref --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 6622eceb..8c12fe04 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -37,7 +37,7 @@ PyMilo is an open-source Python package that addresses the limitations of existi # Statement of Need Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. -In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@Bodimani2024]. +In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@bodimani2024assessing]. Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. While this method, whether using `pickle` or `joblib`, preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. From ce7530c940a119c09494d7915092077684c8de71 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 18:03:32 -0400 Subject: [PATCH 17/39] summarize the last paragraph introducing PyMilo --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 8c12fe04..62d670ec 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -63,6 +63,6 @@ In summary, current solutions force practitioners into a trade-off between secur | **TensorFlow.js** | Yes | No | No | Yes | | **PyMilo** | Yes | Yes | Yes | Yes | -PyMilo is proposed to address the above gaps. It is an open-source Python library designed as an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models from machine learning frameworks into a transparent format and deserializes them back into the same original model, preserving structure, functionality, and behavior. PyMilo fully recovers the original model without structural changes, which does not affect inference time or model performance. The approach ensures that models can be transported to any target device and imported without requiring additional dependencies, allowing seamless execution in inference mode. This provides a general solution for creating human-readable, transparent, and safe machine learning models that can be easily shared, inspected, and deployed. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. +PyMilo is proposed to address the above gaps. It is an open-source Python library that provides an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models into a transparent format and fully reconstructs them without structural changes, preserving their original functionality and behavior. This process does not affect inference time or performance and allows models to be imported on any target device without additional dependencies, enabling seamless execution in inference mode. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. # References \ No newline at end of file From 35dc50f747dd0c661049567c037324271225002c Mon Sep 17 00:00:00 2001 From: AHReccese Date: Wed, 11 Jun 2025 18:21:29 -0400 Subject: [PATCH 18/39] multi-lining the text --- paper/paper.md | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 62d670ec..12e9d57b 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -33,23 +33,44 @@ bibliography: paper.bib --- # Summary -PyMilo is an open-source Python package that addresses the limitations of existing machine learning (ML) model storage formats by providing a transparent, reliable, end-to-end, and safe method for exporting and deploying trained models. Current tools rely on black-box or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. +PyMilo is an open-source Python package that addresses the limitations of existing machine learning (ML) model storage formats by providing a transparent, reliable, end-to-end, and safe method for exporting and deploying trained models. +Current tools rely on black-box or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. +Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. +In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. +This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. # Statement of Need -Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. +Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. +However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@bodimani2024assessing]. -Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. While this method, whether using `pickle` or `joblib`, preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. +Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. +These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. +While this method, whether using `pickle` or `joblib`, preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. +Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. -To improve portability across environments, several standardized model interchange formats have been developed alongside `pickle`. Most notably, ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. ONNX uses a graph-based structure built from primitive operators (e.g., linear transforms, activations), while PMML provides an XML-based specification for traditional models like decision trees and regressions. +To improve portability across environments, several standardized model interchange formats have been developed alongside `pickle`. +Most notably, ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. +ONNX uses a graph-based structure built from primitive operators (e.g., linear transforms, activations), while PMML provides an XML-based specification for traditional models like decision trees and regressions. -Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for custom logic [@Guazzelli2009; @Wang2020]. As a result, the exported model may differ in behavior, leading to performance degradation or loss of accuracy. One study reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios, highlighting the risk of behavioral drift between the original and exported versions [@Wang2020]. +Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. +Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for custom logic [@Guazzelli2009; @Wang2020]. +As a result, the exported model may differ in behavior, leading to performance degradation or loss of accuracy. +One study reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios, highlighting the risk of behavioral drift between the original and exported versions [@Wang2020]. -ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. PMML, while readable, is verbose and narrowly scoped, supporting only parts of scikit-learn, and does not provide a way for exported models to be restored back into Python, making it a one-way format unsuitable for reversible workflows. +ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. +PMML, while readable, is verbose and narrowly scoped, supporting only parts of scikit-learn, and does not provide a way for exported models to be restored back into Python, making it a one-way format unsuitable for reversible workflows. -Other tools have been developed to address specific use cases, though they remain limited in scope. SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into JSON and binary weight files for browser-based execution [@TFJS2018]. This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time. Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. +Other tools have been developed to address specific use cases, though they remain limited in scope. +SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. +However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. +TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into JSON and binary weight files for browser-based execution [@TFJS2018]. +This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time. +Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. +Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. -In summary, current solutions force practitioners into a trade-off between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. +In summary, current solutions force practitioners into a trade-off between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). +The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. **Table 1**: Comparison of PyMilo with existing model serialization tools.[]{#toolcomparison} @@ -63,6 +84,8 @@ In summary, current solutions force practitioners into a trade-off between secur | **TensorFlow.js** | Yes | No | No | Yes | | **PyMilo** | Yes | Yes | Yes | Yes | -PyMilo is proposed to address the above gaps. It is an open-source Python library that provides an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models into a transparent format and fully reconstructs them without structural changes, preserving their original functionality and behavior. This process does not affect inference time or performance and allows models to be imported on any target device without additional dependencies, enabling seamless execution in inference mode. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. +PyMilo is proposed to address the above gaps. It is an open-source Python library that provides an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models into a transparent format and fully reconstructs them without structural changes, preserving their original functionality and behavior. +This process does not affect inference time or performance and allows models to be imported on any target device without additional dependencies, enabling seamless execution in inference mode. +PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. # References \ No newline at end of file From 917c9618193815b2a9e677ae2259d80331978520 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Fri, 13 Jun 2025 12:06:01 -0400 Subject: [PATCH 19/39] applying feedback --- paper/paper.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 12e9d57b..4a95cd3b 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -37,25 +37,25 @@ PyMilo is an open-source Python package that addresses the limitations of existi Current tools rely on black-box or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. -This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the workflow. +This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the ML workflow. # Statement of Need Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. -However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stakes domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. +However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stake domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@bodimani2024assessing]. Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. -While this method, whether using `pickle` or `joblib`, preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. +While these methods preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. To improve portability across environments, several standardized model interchange formats have been developed alongside `pickle`. -Most notably, ONNX (Open Neural Network Exchange) and PMML (Predictive Model Markup Language) convert trained models into framework-neutral representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. +Most notably, Open Neural Network Exchange (ONNX) and Predictive Model Markup Language (PMML) convert trained models into framework-agnostic representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. ONNX uses a graph-based structure built from primitive operators (e.g., linear transforms, activations), while PMML provides an XML-based specification for traditional models like decision trees and regressions. Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. -Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for custom logic [@Guazzelli2009; @Wang2020]. -As a result, the exported model may differ in behavior, leading to performance degradation or loss of accuracy. +Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for customized models [@Guazzelli2009; @Wang2020]. +As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy. One study reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios, highlighting the risk of behavioral drift between the original and exported versions [@Wang2020]. ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. @@ -85,7 +85,7 @@ The machine learning community still lacks a truly end-to-end solution that allo | **PyMilo** | Yes | Yes | Yes | Yes | PyMilo is proposed to address the above gaps. It is an open-source Python library that provides an end-to-end solution for exporting and importing machine learning models in a safe, non-executable, and human-readable format such as JSON. PyMilo serializes trained models into a transparent format and fully reconstructs them without structural changes, preserving their original functionality and behavior. -This process does not affect inference time or performance and allows models to be imported on any target device without additional dependencies, enabling seamless execution in inference mode. +This process does not affect inference time or performance and imports models on any target device without additional dependencies, enabling seamless execution in inference mode. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. # References \ No newline at end of file From 03a87b51e7d43605de330d59a851fd385b59ef60 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 17:31:38 -0400 Subject: [PATCH 20/39] drop the python tag --- paper/paper.md | 1 - 1 file changed, 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 4a95cd3b..01e8cb9d 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -1,7 +1,6 @@ --- title: 'PyMilo: A Python Library for ML I/O' tags: - - Python - Machine Learning - Model Deployment - Model Serialization From 3024c55f427b54aa73246cb1e57d68f5754190c4 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 17:32:14 -0400 Subject: [PATCH 21/39] apply some textual feedback --- paper/paper.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 01e8cb9d..07c14a94 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -43,8 +43,8 @@ Modern machine learning development is largely centered around the Python ecosys However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stake domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@bodimani2024assessing]. -Despite ongoing concerns around transparency and safety, the dominant approach for exchanging Python-trained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. -These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file will execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. +Despite ongoing concerns around transparency and safety, the dominant approach for exchanging pretrained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. +These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file may execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. While these methods preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. @@ -55,7 +55,7 @@ ONNX uses a graph-based structure built from primitive operators (e.g., linear t Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for customized models [@Guazzelli2009; @Wang2020]. As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy. -One study reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios, highlighting the risk of behavioral drift between the original and exported versions [@Wang2020]. +For example Wang et. al. reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios [@Wang2020]. This highlights the risk of behavioral drift between the original and exported versions. ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. PMML, while readable, is verbose and narrowly scoped, supporting only parts of scikit-learn, and does not provide a way for exported models to be restored back into Python, making it a one-way format unsuitable for reversible workflows. @@ -68,7 +68,7 @@ This process requires significant modifications to the original model architectu Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. -In summary, current solutions force practitioners into a trade-off between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). +In summary, current solutions force practitioners into a trade-offs between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. **Table 1**: Comparison of PyMilo with existing model serialization tools.[]{#toolcomparison} From cf0b42dc2b91f92358429b78092c037e9f22ea32 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 17:51:20 -0400 Subject: [PATCH 22/39] referencing Table according to JOSS documentation --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 07c14a94..985d4bc7 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -71,7 +71,7 @@ Additionally, running complex models in JavaScript runtimes introduces memory an In summary, current solutions force practitioners into a trade-offs between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. -**Table 1**: Comparison of PyMilo with existing model serialization tools.[]{#toolcomparison} +**Table 1**: Comparison of PyMilo with existing model serialization tools.[]{label="toolcomparison"} | Package | Transparent | Multi-Framework | End-to-End Preservation | Secure | |------------------|-------------|------------------|--------------------------|--------| From 9ffb61a1e22204df6202e66e48b82de199cbbbdf Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 17:55:59 -0400 Subject: [PATCH 23/39] update table defining and referring based on `https://github.com/RECeSS-EU-Project/stanscofi` --- paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 985d4bc7..d408263b 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -68,10 +68,10 @@ This process requires significant modifications to the original model architectu Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. -In summary, current solutions force practitioners into a trade-offs between security, transparency, end-to-end fidelity, and performance preservation (see Table \ref{toolcomparison}). +In summary, current solutions force practitioners into a trade-offs between security, transparency, end-to-end fidelity, and performance preservation (see Table 1). The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. -**Table 1**: Comparison of PyMilo with existing model serialization tools.[]{label="toolcomparison"} +**Table 1**: Comparison of PyMilo with existing model serialization tools. | Package | Transparent | Multi-Framework | End-to-End Preservation | Secure | |------------------|-------------|------------------|--------------------------|--------| From 129765a0bbb32625b88abd7d7ea577b7ab08502a Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 18:39:33 -0400 Subject: [PATCH 24/39] increase the cohesiveness --- paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index d408263b..14aa0f0d 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -57,8 +57,8 @@ Exporting complex pipelines to ONNX or PMML often leads to structural approximat As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy. For example Wang et. al. reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios [@Wang2020]. This highlights the risk of behavioral drift between the original and exported versions. -ONNX uses a binary protocol buffer format that is not human-readable and has been associated with accuracy degradation due to structural transformations during export. -PMML, while readable, is verbose and narrowly scoped, supporting only parts of scikit-learn, and does not provide a way for exported models to be restored back into Python, making it a one-way format unsuitable for reversible workflows. +Beyond concerns about end-to-end model preservation, ONNX and PMML also present limitations in transparency, scope, and reversibility. ONNX uses a binary protocol buffer format that is not human-readable, which limits interpretability and makes auditing difficult. +PMML, although readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models. Moreover, PMML does not provide a way to restore exported models back into Python, making it a one-way format unsuitable for end-to-end workflows. Other tools have been developed to address specific use cases, though they remain limited in scope. SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. From 5a3509090b6948df7fbf1d26b0343cc5cf66e059 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 18:56:45 -0400 Subject: [PATCH 25/39] apply feedback --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 14aa0f0d..b323670a 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -69,7 +69,7 @@ Models from other frameworks, such as scikit-learn or PyTorch, must be re-implem Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. In summary, current solutions force practitioners into a trade-offs between security, transparency, end-to-end fidelity, and performance preservation (see Table 1). -The machine learning community still lacks a truly end-to-end solution that allows models to be shared safely (with no risk of arbitrary code execution), inspected easily by humans, and faithfully reconstructed for seamless use across diverse environments. +The machine learning community still lacks a safe and transparent end-to-end model serialization framework through which users can securely share models, inspect them easily, and accurately reconstruct them for use across diverse frameworks and environments. **Table 1**: Comparison of PyMilo with existing model serialization tools. From 3e3a8a6679642d99b31c23175e69311979217d25 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Mon, 16 Jun 2025 19:19:54 -0400 Subject: [PATCH 26/39] add overall pymilo image --- paper/overall.png | Bin 0 -> 300982 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 paper/overall.png diff --git a/paper/overall.png b/paper/overall.png new file mode 100644 index 0000000000000000000000000000000000000000..8e6769cd9a0f33dfef1393e8b587bfbf544f3a0a GIT binary patch literal 300982 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

P@^V5B6o_N!85v6d2<+^1jVKi+Rz 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 WrS1x|(f4A(OHap$oWIX5 Date: Mon, 16 Jun 2025 19:22:35 -0400 Subject: [PATCH 27/39] add overall figure - following the way it is done in `https://joss.theoj.org/papers/10.21105/joss.07951` --- paper/paper.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index b323670a..4ea366ab 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -36,7 +36,11 @@ PyMilo is an open-source Python package that addresses the limitations of existi Current tools rely on black-box or executable formats that obscure internal model structures, making them difficult to audit, verify, or safely share. Others apply structural transformations during export that may degrade predictive performance and reduce the model to a limited inference-only interface. In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. -This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the ML workflow. +This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the ML workflow (\autoref{fig:overall}). + +![PyMilo is an end-to-end, transparent, and safe solution for transporting machine learning models from machine learning frameworks to target devices. Unlike other tools that transform models into alternative representations with structural differences, PyMilo preserves the original model's structure, allowing it to be imported back as the exact same object in its native framework.\label{fig:overall}](overall.png) + +\newpage # Statement of Need Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. From db1c57ed70a4bb58ee2df12af94df382bb293ce2 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 17 Jun 2025 20:37:58 -0400 Subject: [PATCH 28/39] rename file to `pymilo_outlook.png` --- paper/paper.md | 2 +- paper/{overall.png => pymilo_outlook.png} | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename paper/{overall.png => pymilo_outlook.png} (100%) diff --git a/paper/paper.md b/paper/paper.md index 4ea366ab..41997a4b 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -38,7 +38,7 @@ Others apply structural transformations during export that may degrade predictiv In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the ML workflow (\autoref{fig:overall}). -![PyMilo is an end-to-end, transparent, and safe solution for transporting machine learning models from machine learning frameworks to target devices. Unlike other tools that transform models into alternative representations with structural differences, PyMilo preserves the original model's structure, allowing it to be imported back as the exact same object in its native framework.\label{fig:overall}](overall.png) +![PyMilo is an end-to-end, transparent, and safe solution for transporting machine learning models from machine learning frameworks to target devices. Unlike other tools that transform models into alternative representations with structural differences, PyMilo preserves the original model's structure, allowing it to be imported back as the exact same object in its native framework.\label{fig:overall}](pymilo_outlook.png) \newpage diff --git a/paper/overall.png b/paper/pymilo_outlook.png similarity index 100% rename from paper/overall.png rename to paper/pymilo_outlook.png From af389a32d1f663deeee98bf91554818b45705ffd Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 17 Jun 2025 20:40:07 -0400 Subject: [PATCH 29/39] update image caption --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 41997a4b..594e8d7a 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -38,7 +38,7 @@ Others apply structural transformations during export that may degrade predictiv In contrast, PyMilo serializes models in a transparent human-readable format that preserves end-to-end model fidelity and enables reliable, safe, and interpretable exchange. This package is designed to make the preservation and reuse of trained ML models safer, more interpretable, and easier to manage across different stages of the ML workflow (\autoref{fig:overall}). -![PyMilo is an end-to-end, transparent, and safe solution for transporting machine learning models from machine learning frameworks to target devices. Unlike other tools that transform models into alternative representations with structural differences, PyMilo preserves the original model's structure, allowing it to be imported back as the exact same object in its native framework.\label{fig:overall}](pymilo_outlook.png) +![PyMilo is an end-to-end, transparent, and safe solution for transporting models from machine learning frameworks to the target devices. PyMilo preserves the original model's structure while transferring, allowing it to be imported back as the exact same object in its native framework.\label{fig:overall}](pymilo_outlook.png) \newpage From e77f5d38f15bab7047ba009ea2a3b67bf996ff78 Mon Sep 17 00:00:00 2001 From: alirezazolanvari Date: Mon, 23 Jun 2025 20:10:15 +0200 Subject: [PATCH 30/39] add more refs --- paper/paper.bib | 40 ++++++++++++++++++++++++++++++++++++++++ paper/paper.md | 10 +++++----- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index abc7e7aa..3c8c76e5 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -163,3 +163,43 @@ @article{macrae2019governing publisher={BMJ Publishing Group Ltd}, doi={10.1136/bmjqs-2019-009484} } + +@inproceedings{davis2023reusing, + title={Reusing deep learning models: Challenges and directions in software engineering}, + author={Davis, James C and Jajal, Purvish and Jiang, Wenxin and Schorlemmer, Taylor R and Synovic, Nicholas and Thiruvathukal, George K}, + booktitle={2023 IEEE John Vincent Atanasoff International Symposium on Modern Computing (JVA)}, + pages={17--30}, + year={2023}, + organization={IEEE} +} + +@article{parida2025model, + title={How Do Model Export Formats Impact the Development of ML-Enabled Systems? A Case Study on Model Integration}, + author={Parida, Shreyas Kumar and Gerostathopoulos, Ilias and Bogner, Justus}, + journal={arXiv preprint arXiv:2502.00429}, + year={2025} +} + +@article{jajal2023analysis, + title={Analysis of failures and risks in deep learning model converters: A case study in the onnx ecosystem}, + author={Jajal, Purvish and Jiang, Wenxin and Tewari, Arav and Kocinare, Erik and Woo, Joseph and Sarraf, Anusha and Lu, Yung-Hsiang and Thiruvathukal, George K and Davis, James C}, + journal={arXiv preprint arXiv:2303.17708}, + year={2023} +} + +@inproceedings{cody2024extending, + title={On extending the automatic test markup language (ATML) for machine learning}, + author={Cody, Tyler and Li, Bingtong and Beling, Peter}, + booktitle={2024 IEEE International Systems Conference (SysCon)}, + pages={1--8}, + year={2024}, + organization={IEEE} +} + +@inproceedings{quan2022towards, + title={Towards understanding the faults of javascript-based deep learning systems}, + author={Quan, Lili and Guo, Qianyu and Xie, Xiaofei and Chen, Sen and Li, Xiaohong and Liu, Yang}, + booktitle={Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering}, + pages={1--13}, + year={2022} +} \ No newline at end of file diff --git a/paper/paper.md b/paper/paper.md index 594e8d7a..dd4988a7 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -44,11 +44,11 @@ This package is designed to make the preservation and reuse of trained ML models # Statement of Need Modern machine learning development is largely centered around the Python ecosystem, which has become a dominant platform for building and training models due to its rich libraries and community support [@Raschka2020]. -However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge. This issue is especially important in high-stake domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. +However, once a model is trained, sharing or deploying it securely and transparently remains a significant challenge [@parida2025model; @davis2023reusing]. This issue is especially important in high-stake domains such as healthcare, where ensuring model accountability and integrity is critical [@Garbin2022]. In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@bodimani2024assessing]. Despite ongoing concerns around transparency and safety, the dominant approach for exchanging pretrained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. -These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind. In fact, loading a pickle file may execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. +These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind [@parida2025model]. In fact, loading a pickle file may execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. While these methods preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. @@ -58,17 +58,17 @@ ONNX uses a graph-based structure built from primitive operators (e.g., linear t Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for customized models [@Guazzelli2009; @Wang2020]. -As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy. +As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy [@jajal2023analysis]. For example Wang et. al. reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios [@Wang2020]. This highlights the risk of behavioral drift between the original and exported versions. Beyond concerns about end-to-end model preservation, ONNX and PMML also present limitations in transparency, scope, and reversibility. ONNX uses a binary protocol buffer format that is not human-readable, which limits interpretability and makes auditing difficult. -PMML, although readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models. Moreover, PMML does not provide a way to restore exported models back into Python, making it a one-way format unsuitable for end-to-end workflows. +PMML, although readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models [@cody2024extending]. Moreover, PMML does not provide a way to restore exported models back into Python, making it a one-way format unsuitable for end-to-end workflows. Other tools have been developed to address specific use cases, though they remain limited in scope. SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into JSON and binary weight files for browser-based execution [@TFJS2018]. -This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time. +This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time [@quan2022towards]. Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. From ec4182a6bae017b4c9c988f0b1abf5e12d40eaf6 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 24 Jun 2025 01:47:37 -0400 Subject: [PATCH 31/39] `refs` final update by Amir --- paper/paper.bib | 207 +++++++++++++++++------------------------------- 1 file changed, 72 insertions(+), 135 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index 3c8c76e5..db684817 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -8,6 +8,22 @@ @article{Raschka2020 year = {2020} } +@article{parida2025model, + title={How Do Model Export Formats Impact the Development of ML-Enabled Systems? A Case Study on Model Integration}, + author={Parida, Shreyas Kumar and Gerostathopoulos, Ilias and Bogner, Justus}, + journal={arXiv preprint arXiv:2502.00429}, + year={2025} +} + +@inproceedings{davis2023reusing, + title={Reusing deep learning models: Challenges and directions in software engineering}, + author={Davis, James C and Jajal, Purvish and Jiang, Wenxin and Schorlemmer, Taylor R and Synovic, Nicholas and Thiruvathukal, George K}, + booktitle={2023 IEEE John Vincent Atanasoff International Symposium on Modern Computing (JVA)}, + pages={17--30}, + year={2023}, + organization={IEEE} +} + @article{Garbin2022, author = {Cristina Garbin and Osvaldo Marques}, title = {Assessing methods and tools to improve reporting, increase transparency, and reduce failures in machine learning applications in health care}, @@ -18,6 +34,17 @@ @article{Garbin2022 year = {2022} } +@article{bodimani2024assessing, + title={Assessing The Impact of Transparent AI Systems in Enhancing User Trust and Privacy}, + author={Bodimani, Meghasai}, + journal={Journal of Science \& Technology}, + volume={5}, + number={1}, + pages={50--67}, + year={2024}, + doi={10.55662/JST.2024.5102} +} + @misc{Brownlee2018, author = {Jason Brownlee}, title = {Save and load machine learning models in Python with scikit-learn}, @@ -26,38 +53,39 @@ @misc{Brownlee2018 note = {Accessed: 2024-05-22} } -@mastersthesis{Verma2023, - author = {Ankit Verma}, - title = {Insecure deserialization detection in Python}, - school = {San Jose State University}, - year = {2023}, - type = {Master's Project} +@misc{PythonPickleDocs, + author = {{Python Software Foundation}}, + title = {pickle — Python object serialization}, + year = {2024}, + howpublished = {\url{https://docs.python.org/3/library/pickle.html#security}}, } -@misc{ONNX2017, - author = {Chi-Wing Chen and Ganesan Ramalingam}, - title = {ONNX}, - year = {2017}, - howpublished = {\url{https://github.com/onnx/onnx}} +@misc{onnx, + title={Onnx: Open neural network exchange}, + author={Bai, Junjie and Lu, Fang and Zhang, Ke and others}, + year={2019} } -@article{Guazzelli2009, - author = {Alex Guazzelli and Michael Zeller and Wen-Ching Lin and Graham Williams}, - title = {PMML: An open standard for sharing models}, - journal = {The R Journal}, - volume = {1}, - number = {1}, - pages = {60--65}, - year = {2009} +@article{pmml, + title={PMML: An open standard for sharing models}, + author={Guazzelli, Alex and Zeller, Michael and Lin, Wen-Ching and Williams, Graham}, + year={2009} } -@article{Wang2020, - author = {Ling Wang and Ping Zhang}, - title = {ONNX export for machine learning models: Issues with accuracy degradation}, - journal = {IEEE Transactions on AI Systems}, - volume = {35}, - pages = {123--135}, - year = {2020} +@article{jajal2023analysis, + title={Analysis of failures and risks in deep learning model converters: A case study in the onnx ecosystem}, + author={Jajal, Purvish and Jiang, Wenxin and Tewari, Arav and Kocinare, Erik and Woo, Joseph and Sarraf, Anusha and Lu, Yung-Hsiang and Thiruvathukal, George K and Davis, James C}, + journal={arXiv preprint arXiv:2303.17708}, + year={2023} +} + +@inproceedings{cody2024extending, + title={On extending the automatic test markup language (ATML) for machine learning}, + author={Cody, Tyler and Li, Bingtong and Beling, Peter}, + booktitle={2024 IEEE International Systems Conference (SysCon)}, + pages={1--8}, + year={2024}, + organization={IEEE} } @misc{Noyan2023, @@ -68,11 +96,21 @@ @misc{Noyan2023 month = {Feb} } -@misc{TFJS2018, - author = {Ping Yu and Daniel Smilkov}, - title = {TensorFlow.js}, - year = {2018}, - howpublished = {\url{https://github.com/tensorflow/tfjs}} +@article{tfjs2019, + title={Tensorflow. js: Machine learning for the web and beyond}, + author={Smilkov, Daniel and Thorat, Nikhil and Assogba, Yannick and Nicholson, Charles and Kreeger, Nick and Yu, Ping and Cai, Shanqing and Nielsen, Eric and Soegel, David and Bileschi, Stan and others}, + journal={Proceedings of Machine Learning and Systems}, + volume={1}, + pages={309--321}, + year={2019} +} + +@inproceedings{quan2022towards, + title={Towards understanding the faults of javascript-based deep learning systems}, + author={Quan, Lili and Guo, Qianyu and Xie, Xiaofei and Chen, Sen and Li, Xiaohong and Liu, Yang}, + booktitle={Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering}, + pages={1--13}, + year={2022} } @misc{NerdCorner2025, @@ -83,73 +121,13 @@ @misc{NerdCorner2025 howpublished = {\url{https://nerd-corner.com/tensorflow-js-vs-tensorflow-python/}} } -@misc{tensorflow2015-whitepaper, -title={ {TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems}, -url={https://www.tensorflow.org/}, -note={Software available from tensorflow.org}, -author={ - Mart\'{i}n~Abadi and - Ashish~Agarwal and - Paul~Barham and - Eugene~Brevdo and - Zhifeng~Chen and - Craig~Citro and - Greg~S.~Corrado and - Andy~Davis and - Jeffrey~Dean and - Matthieu~Devin and - Sanjay~Ghemawat and - Ian~Goodfellow and - Andrew~Harp and - Geoffrey~Irving and - Michael~Isard and - Yangqing Jia and - Rafal~Jozefowicz and - Lukasz~Kaiser and - Manjunath~Kudlur and - Josh~Levenberg and - Dandelion~Man\'{e} and - Rajat~Monga and - Sherry~Moore and - Derek~Murray and - Chris~Olah and - Mike~Schuster and - Jonathon~Shlens and - Benoit~Steiner and - Ilya~Sutskever and - Kunal~Talwar and - Paul~Tucker and - Vincent~Vanhoucke and - Vijay~Vasudevan and - Fernanda~Vi\'{e}gas and - Oriol~Vinyals and - Pete~Warden and - Martin~Wattenberg and - Martin~Wicke and - Yuan~Yu and - Xiaoqiang~Zheng}, - year={2015}, -} - @inproceedings{rauker2023toward, title={Toward transparent ai: A survey on interpreting the inner structures of deep neural networks}, author={R{\"a}uker, Tilman and Ho, Anson and Casper, Stephen and Hadfield-Menell, Dylan}, - booktitle={2023 IEEE Conference on Secure and Trustworthy Machine Learning (SaTML)}, + booktitle={2023 ieee conference on secure and trustworthy machine learning (satml)}, pages={464--483}, year={2023}, - organization={IEEE}, - doi={10.1109/SaTML54575.2023.00039} -} - -@article{bodimani2024assessing, - title={Assessing The Impact of Transparent AI Systems in Enhancing User Trust and Privacy}, - author={Bodimani, Meghasai}, - journal={Journal of Science \& Technology}, - volume={5}, - number={1}, - pages={50--67}, - year={2024}, - doi={10.55662/JST.2024.5102} + organization={IEEE} } @article{macrae2019governing, @@ -160,46 +138,5 @@ @article{macrae2019governing number={6}, pages={495--498}, year={2019}, - publisher={BMJ Publishing Group Ltd}, - doi={10.1136/bmjqs-2019-009484} -} - -@inproceedings{davis2023reusing, - title={Reusing deep learning models: Challenges and directions in software engineering}, - author={Davis, James C and Jajal, Purvish and Jiang, Wenxin and Schorlemmer, Taylor R and Synovic, Nicholas and Thiruvathukal, George K}, - booktitle={2023 IEEE John Vincent Atanasoff International Symposium on Modern Computing (JVA)}, - pages={17--30}, - year={2023}, - organization={IEEE} -} - -@article{parida2025model, - title={How Do Model Export Formats Impact the Development of ML-Enabled Systems? A Case Study on Model Integration}, - author={Parida, Shreyas Kumar and Gerostathopoulos, Ilias and Bogner, Justus}, - journal={arXiv preprint arXiv:2502.00429}, - year={2025} -} - -@article{jajal2023analysis, - title={Analysis of failures and risks in deep learning model converters: A case study in the onnx ecosystem}, - author={Jajal, Purvish and Jiang, Wenxin and Tewari, Arav and Kocinare, Erik and Woo, Joseph and Sarraf, Anusha and Lu, Yung-Hsiang and Thiruvathukal, George K and Davis, James C}, - journal={arXiv preprint arXiv:2303.17708}, - year={2023} -} - -@inproceedings{cody2024extending, - title={On extending the automatic test markup language (ATML) for machine learning}, - author={Cody, Tyler and Li, Bingtong and Beling, Peter}, - booktitle={2024 IEEE International Systems Conference (SysCon)}, - pages={1--8}, - year={2024}, - organization={IEEE} + publisher={BMJ Publishing Group Ltd} } - -@inproceedings{quan2022towards, - title={Towards understanding the faults of javascript-based deep learning systems}, - author={Quan, Lili and Guo, Qianyu and Xie, Xiaofei and Chen, Sen and Li, Xiaohong and Liu, Yang}, - booktitle={Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering}, - pages={1--13}, - year={2022} -} \ No newline at end of file From f39d4cb291754f18ae99e6db855366bdf24d6870 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 24 Jun 2025 01:49:09 -0400 Subject: [PATCH 32/39] sycn and enhance paper content with the refs changes (+updates) --- paper/paper.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index dd4988a7..909454e0 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -1,7 +1,7 @@ --- title: 'PyMilo: A Python Library for ML I/O' tags: - - Machine Learning + - Machine Learning - Model Deployment - Model Serialization - Transparency @@ -10,7 +10,7 @@ authors: - name: AmirHosein Rostami orcid: 0009-0000-0638-2263 corresponding: true - affiliation: 1 + affiliation: 1 - name: Sepand Haghighi orcid: 0000-0001-9450-2375 corresponding: false @@ -26,8 +26,7 @@ authors: affiliations: - name: Open Science Lab index: 1 - -date: 10 June 2025 +date: 24 June 2025 bibliography: paper.bib --- @@ -48,29 +47,28 @@ However, once a model is trained, sharing or deploying it securely and transpare In such settings, any lack of clarity about a model’s internal logic or origin can reduce trust in its predictions. Researchers have increasingly emphasized that greater transparency in AI systems is critical for maintaining user trust and protecting privacy in machine learning applications [@bodimani2024assessing]. Despite ongoing concerns around transparency and safety, the dominant approach for exchanging pretrained models remains ad hoc binary serialization, most commonly through Python’s `pickle` module or its variant `joblib`. -These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind [@parida2025model]. In fact, loading a pickle file may execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018]. -While these methods preserves full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. +These formats allow developers to store complex model objects with minimal effort, but they were never designed with security or human interpretability in mind [@parida2025model]. In fact, loading a pickle file may execute arbitrary code contained within it, a known vulnerability that can be exploited if the file is maliciously crafted [@Brownlee2018; @PythonPickleDocs]. +While these methods preserve full model fidelity within the Python ecosystem, it poses serious security risks and lacks transparency, as the serialized files are opaque binary blobs that cannot be inspected without loading. Furthermore, compatibility is fragile because pickled models often depend on specific library versions, which may hinder long-term reproducibility [@Brownlee2018]. To improve portability across environments, several standardized model interchange formats have been developed alongside `pickle`. -Most notably, Open Neural Network Exchange (ONNX) and Predictive Model Markup Language (PMML) convert trained models into framework-agnostic representations [@Verma2023; @ONNX2017], enabling deployment in diverse systems without relying on the original training code. +Most notably, Open Neural Network Exchange (ONNX) and Predictive Model Markup Language (PMML) convert trained models into framework-agnostic representations [@onnx; @pmml], enabling deployment in diverse systems without relying on the original training code. ONNX uses a graph-based structure built from primitive operators (e.g., linear transforms, activations), while PMML provides an XML-based specification for traditional models like decision trees and regressions. Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. -Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for customized models [@Guazzelli2009; @Wang2020]. +Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for customized models [@pmml]. As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy [@jajal2023analysis]. -For example Wang et. al. reported accuracy drops of up to 10 to 15 percent after exporting models to ONNX in certain scenarios [@Wang2020]. This highlights the risk of behavioral drift between the original and exported versions. +Jajal et al. found that models exported to ONNX can produce incorrect predictions despite successful conversion, indicating semantic inconsistencies between the original and exported versions [jajal2023analysis]. These “wrong outputs” reflect predictive performance degradation and highlight the risks of silent behavioral drift in deployed systems. Beyond concerns about end-to-end model preservation, ONNX and PMML also present limitations in transparency, scope, and reversibility. ONNX uses a binary protocol buffer format that is not human-readable, which limits interpretability and makes auditing difficult. -PMML, although readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models [@cody2024extending]. Moreover, PMML does not provide a way to restore exported models back into Python, making it a one-way format unsuitable for end-to-end workflows. +PMML, although XML-based and readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models. As noted by Cody et al., both ONNX and PMML focus on static model specification rather than operational testing or lifecycle validation workflows [@cody2024extending]. Moreover, PMML does not provide a mechanism to restore exported models into Python, making it a one-way format that limits reproducibility across ML workflows. -Other tools have been developed to address specific use cases, though they remain limited in scope. -SKOPS improves the safety of scikit-learn model storage by avoiding executable serialization and enabling limited inspection of model contents [@Noyan2023]. +Other tools have been developed to address specific use cases, though they remain limited in scope. For example, SKOPS improves the safety of scikit-learn model storage by enabling limited inspection of model internals without requiring code execution [@Noyan2023]. However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. -TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into JSON and binary weight files for browser-based execution [@TFJS2018]. -This process requires significant modifications to the original model architecture, which often leads to compatibility issues, degraded performance, and changes in inference time [@quan2022towards]. +TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into a JSON configuration file and binary weight files for execution in the browser or Node.js [@tfjs2019]. +However, this process has been shown to introduce compatibility issues, performance degradation, and inconsistencies in inference behavior due to backend limitations and environment-specific faults [@quan2022towards]. Models from other frameworks, such as scikit-learn or PyTorch, must be re-implemented or retrained in TensorFlow to be exported. -Additionally, running complex models in JavaScript runtimes introduces memory and speed limitations, making deployment of large neural networks prohibitively slow or even infeasible in the browser context [@NerdCorner2025]. +Additionally, running complex models in JavaScript runtimes introduces memory and performance limitations, often making the deployment of large neural networks prohibitively slow or even infeasible in browser environments [@NerdCorner2025]. In summary, current solutions force practitioners into a trade-offs between security, transparency, end-to-end fidelity, and performance preservation (see Table 1). The machine learning community still lacks a safe and transparent end-to-end model serialization framework through which users can securely share models, inspect them easily, and accurately reconstruct them for use across diverse frameworks and environments. From b2540229bb4c3f4d9717e80808606d954e3279a1 Mon Sep 17 00:00:00 2001 From: AmirHosein Rostami Date: Wed, 25 Jun 2025 12:48:18 -0400 Subject: [PATCH 33/39] Update paper.md Add `@`, refactor sentence beginning --- paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 909454e0..ed12bb50 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -58,7 +58,7 @@ ONNX uses a graph-based structure built from primitive operators (e.g., linear t Although these formats enhance security by avoiding executable serialization, they introduce compatibility and fidelity challenges. Exporting complex pipelines to ONNX or PMML often leads to structural approximations, missing metadata, or unsupported components, especially for customized models [@pmml]. As a result, the exported model may differ in behavior, resulting in performance degradation or loss of accuracy [@jajal2023analysis]. -Jajal et al. found that models exported to ONNX can produce incorrect predictions despite successful conversion, indicating semantic inconsistencies between the original and exported versions [jajal2023analysis]. These “wrong outputs” reflect predictive performance degradation and highlight the risks of silent behavioral drift in deployed systems. +Jajal et al. found that models exported to ONNX can produce incorrect predictions despite successful conversion, indicating semantic inconsistencies between the original and exported versions [@jajal2023analysis]. This reflects predictive performance degradation and highlight the risks of silent behavioral drift in deployed systems. Beyond concerns about end-to-end model preservation, ONNX and PMML also present limitations in transparency, scope, and reversibility. ONNX uses a binary protocol buffer format that is not human-readable, which limits interpretability and makes auditing difficult. PMML, although XML-based and readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models. As noted by Cody et al., both ONNX and PMML focus on static model specification rather than operational testing or lifecycle validation workflows [@cody2024extending]. Moreover, PMML does not provide a mechanism to restore exported models into Python, making it a one-way format that limits reproducibility across ML workflows. @@ -89,4 +89,4 @@ PyMilo is proposed to address the above gaps. It is an open-source Python librar This process does not affect inference time or performance and imports models on any target device without additional dependencies, enabling seamless execution in inference mode. PyMilo benefits a wide range of stakeholders, including machine learning engineers, data scientists, and AI practitioners, by facilitating the development of more transparent and accountable AI systems. Furthermore, researchers working on transparent AI [@rauker2023toward], user privacy in ML [@bodimani2024assessing], and safe AI [@macrae2019governing] can use PyMilo as a framework that provides transparency and safety in the machine learning environment. -# References \ No newline at end of file +# References From 2ec1fc5e64f715f8aad2fa9df83e67e6782ce63a Mon Sep 17 00:00:00 2001 From: Sadra Sabouri Date: Wed, 25 Jun 2025 20:31:01 -0700 Subject: [PATCH 34/39] add : Sadra's 2nd affiliation added. --- paper/paper.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index ed12bb50..4b913047 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -18,14 +18,17 @@ authors: - name: Sadra Sabouri orcid: 0000-0003-1047-2346 corresponding: false - affiliation: 1 + affiliation: "1, 2" - name: Alireza Zolanvari orcid: 0000-0003-2367-8343 corresponding: false affiliation: 1 affiliations: - - name: Open Science Lab - index: 1 + - index: 1 + name: Open Science Lab + - index: 2 + name: University of Southern California, Los Angeles, United States + ror: 03taz7m60 date: 24 June 2025 bibliography: paper.bib --- From 9d7c1f877a307b54cfa36d742693b5257885f65b Mon Sep 17 00:00:00 2001 From: AHReccese Date: Thu, 26 Jun 2025 13:16:08 -0400 Subject: [PATCH 35/39] add doi for references --- paper/paper.bib | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index db684817..d07fc106 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -5,14 +5,19 @@ @article{Raschka2020 volume = {11}, number = {4}, pages = {193}, - year = {2020} + year = {2020}, + doi = {10.3390/info11040193} } -@article{parida2025model, - title={How Do Model Export Formats Impact the Development of ML-Enabled Systems? A Case Study on Model Integration}, +@inproceedings{parida2025model, author={Parida, Shreyas Kumar and Gerostathopoulos, Ilias and Bogner, Justus}, - journal={arXiv preprint arXiv:2502.00429}, - year={2025} + booktitle={2025 IEEE/ACM 4th International Conference on AI Engineering – Software Engineering for AI (CAIN)}, + title={How Do Model Export Formats Impact the Development of ML-Enabled Systems? A Case Study on Model Integration}, + year={2025}, + volume={}, + number={}, + pages={48-59}, + doi={10.1109/CAIN66642.2025.00014} } @inproceedings{davis2023reusing, @@ -21,7 +26,8 @@ @inproceedings{davis2023reusing booktitle={2023 IEEE John Vincent Atanasoff International Symposium on Modern Computing (JVA)}, pages={17--30}, year={2023}, - organization={IEEE} + organization={IEEE}, + doi={10.1109/JVA60410.2023.00015} } @article{Garbin2022, @@ -31,7 +37,8 @@ @article{Garbin2022 volume = {4}, number = {2}, pages = {e210127}, - year = {2022} + year = {2022}, + doi = {10.1148/ryai.210127}, } @article{bodimani2024assessing, @@ -69,14 +76,16 @@ @misc{onnx @article{pmml, title={PMML: An open standard for sharing models}, author={Guazzelli, Alex and Zeller, Michael and Lin, Wen-Ching and Williams, Graham}, - year={2009} + year={2009}, + doi={10.32614/RJ-2009-010} } @article{jajal2023analysis, title={Analysis of failures and risks in deep learning model converters: A case study in the onnx ecosystem}, author={Jajal, Purvish and Jiang, Wenxin and Tewari, Arav and Kocinare, Erik and Woo, Joseph and Sarraf, Anusha and Lu, Yung-Hsiang and Thiruvathukal, George K and Davis, James C}, journal={arXiv preprint arXiv:2303.17708}, - year={2023} + year={2023}, + doi={10.48550/arXiv.2303.17708} } @inproceedings{cody2024extending, @@ -85,7 +94,8 @@ @inproceedings{cody2024extending booktitle={2024 IEEE International Systems Conference (SysCon)}, pages={1--8}, year={2024}, - organization={IEEE} + organization={IEEE}, + doi={10.1109/SysCon61195.2024.10553464} } @misc{Noyan2023, @@ -102,7 +112,8 @@ @article{tfjs2019 journal={Proceedings of Machine Learning and Systems}, volume={1}, pages={309--321}, - year={2019} + year={2019}, + doi={10.48550/arXiv.1901.05350} } @inproceedings{quan2022towards, @@ -110,7 +121,8 @@ @inproceedings{quan2022towards author={Quan, Lili and Guo, Qianyu and Xie, Xiaofei and Chen, Sen and Li, Xiaohong and Liu, Yang}, booktitle={Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering}, pages={1--13}, - year={2022} + year={2022}, + doi={10.1145/3551349.3560427} } @misc{NerdCorner2025, @@ -127,7 +139,8 @@ @inproceedings{rauker2023toward booktitle={2023 ieee conference on secure and trustworthy machine learning (satml)}, pages={464--483}, year={2023}, - organization={IEEE} + organization={IEEE}, + doi={10.1109/SaTML54575.2023.00039} } @article{macrae2019governing, @@ -138,5 +151,6 @@ @article{macrae2019governing number={6}, pages={495--498}, year={2019}, - publisher={BMJ Publishing Group Ltd} + publisher={BMJ Publishing Group Ltd}, + doi={10.1136/bmjqs-2019-009484} } From 568f12731a781047c11dba93a08e892aa39c1a8e Mon Sep 17 00:00:00 2001 From: AHReccese Date: Thu, 26 Jun 2025 13:22:20 -0400 Subject: [PATCH 36/39] add 2nd affiliation --- paper/paper.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index 4b913047..76da555b 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -10,7 +10,7 @@ authors: - name: AmirHosein Rostami orcid: 0009-0000-0638-2263 corresponding: true - affiliation: 1 + affiliation: "1, 2" - name: Sepand Haghighi orcid: 0000-0001-9450-2375 corresponding: false @@ -18,7 +18,7 @@ authors: - name: Sadra Sabouri orcid: 0000-0003-1047-2346 corresponding: false - affiliation: "1, 2" + affiliation: "1, 3" - name: Alireza Zolanvari orcid: 0000-0003-2367-8343 corresponding: false @@ -27,6 +27,9 @@ affiliations: - index: 1 name: Open Science Lab - index: 2 + name: University of Toronto, Toronto, Canada + ror: 03dbr7087 + - index: 3 name: University of Southern California, Los Angeles, United States ror: 03taz7m60 date: 24 June 2025 From 9f8479f3ff019ca31ac0430241c8d088c47b893f Mon Sep 17 00:00:00 2001 From: AHReccese Date: Sat, 28 Jun 2025 15:41:58 -0400 Subject: [PATCH 37/39] add skops cite, drop cite of blog invesitgating skops --- paper/paper.bib | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index d07fc106..ee5edd97 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -98,12 +98,12 @@ @inproceedings{cody2024extending doi={10.1109/SysCon61195.2024.10553464} } -@misc{Noyan2023, - author = {Mehmet Noyan}, - title = {SKOPS: A new library to improve scikit-learn in production}, - howpublished = {\url{https://www.kdnuggets.com/2023/02/skops-new-library-improve-scikitlearn-production.html}}, - year = {2023}, - month = {Feb} +@misc{skops, + author = {{skops-dev}}, + title = {skops: Safe and transparent model sharing}, + year = {2023}, + howpublished = {\url{https://github.com/skops-dev/skops}}, + note = {GitHub repository. Accessed: 2025-06-28} } @article{tfjs2019, From e7775e831f363fb7d2902617b921e626ffd8b7ed Mon Sep 17 00:00:00 2001 From: AHReccese Date: Sat, 28 Jun 2025 15:42:06 -0400 Subject: [PATCH 38/39] update cite for skops --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 76da555b..e5dfc32d 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -69,7 +69,7 @@ Jajal et al. found that models exported to ONNX can produce incorrect prediction Beyond concerns about end-to-end model preservation, ONNX and PMML also present limitations in transparency, scope, and reversibility. ONNX uses a binary protocol buffer format that is not human-readable, which limits interpretability and makes auditing difficult. PMML, although XML-based and readable, is verbose and narrowly scoped, supporting only a limited subset of scikit-learn models. As noted by Cody et al., both ONNX and PMML focus on static model specification rather than operational testing or lifecycle validation workflows [@cody2024extending]. Moreover, PMML does not provide a mechanism to restore exported models into Python, making it a one-way format that limits reproducibility across ML workflows. -Other tools have been developed to address specific use cases, though they remain limited in scope. For example, SKOPS improves the safety of scikit-learn model storage by enabling limited inspection of model internals without requiring code execution [@Noyan2023]. +Other tools have been developed to address specific use cases, though they remain limited in scope. For example, SKOPS improves the safety of scikit-learn model storage by enabling limited inspection of model internals without requiring code execution [@skops]. However, it supports only scikit-learn models, lacks compatibility with other frameworks, and does not provide a fully transparent or human-readable structure. TensorFlow.js targets JavaScript environments by converting TensorFlow or Keras models into a JSON configuration file and binary weight files for execution in the browser or Node.js [@tfjs2019]. However, this process has been shown to introduce compatibility issues, performance degradation, and inconsistencies in inference behavior due to backend limitations and environment-specific faults [@quan2022towards]. From 0dda2e8eefc27d9163175e977b18a74e6af63848 Mon Sep 17 00:00:00 2001 From: AHReccese Date: Tue, 1 Jul 2025 11:40:19 -0400 Subject: [PATCH 39/39] update `onnx` and `pmml` to `@software` citing --- paper/paper.bib | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index ee5edd97..09cfc991 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -67,10 +67,12 @@ @misc{PythonPickleDocs howpublished = {\url{https://docs.python.org/3/library/pickle.html#security}}, } -@misc{onnx, - title={Onnx: Open neural network exchange}, - author={Bai, Junjie and Lu, Fang and Zhang, Ke and others}, - year={2019} +@software{onnx, + author = {Bai, Junjie and Lu, Fang and Zhang, Ke and others}, + title = {ONNX: Open Neural Network Exchange}, + url = {https://github.com/onnx/onnx}, + version = {1.18.0}, + date = {2025-05-12}, } @article{pmml, @@ -98,12 +100,12 @@ @inproceedings{cody2024extending doi={10.1109/SysCon61195.2024.10553464} } -@misc{skops, +@software{skops, author = {{skops-dev}}, - title = {skops: Safe and transparent model sharing}, - year = {2023}, - howpublished = {\url{https://github.com/skops-dev/skops}}, - note = {GitHub repository. Accessed: 2025-06-28} + title = {SKOPS}, + url = {https://github.com/skops-dev/skops}, + version = {0.11.0}, + date = {2024-12-10}, } @article{tfjs2019,