Software
In my day-to-day work, I write a lot of code, especially for privacy-preserving deep learning applications, federated learning, GenAI and LLMs, and privacy-enhancing technologies. In this section, you'll find some of the software I've developed that is openly available.
Federated learning, implementation, training, and LLMs
AI4OS Federated Learning Server
Federated Learning server deployed in the AI4EOSC platform, developed using Flower. It integrates: client authentication, differential privacy, metric privacy, carbon footprint monitoring, and divergence detection.
GitHub repository: https://github.com/ai4os/ai4os-federated-server
AI4OS documentation: https://docs.ai4eosc.eu/en/latest/howtos/train/federated-flower.html
AI4EOSC - Flower extensions
AI4EOSC extensions to the Flower library used in the AI4OS FL server.
GitHub repository: https://github.com/ai4os/ai4-flwr
Federated LLMs
Examples of LLM fine-tuning process in a federated way.
GitHub repository (1): https://github.com/IFCA-Advanced-Computing/federated_llm
GitHub repository (2): https://github.com/judithspd/ai4os-fedllm-medical
GitHub repository (3): https://github.com/judithspd/ai4os-fedllm-medical-v2
Model published in Hugging Face: https://huggingface.co/ifca-advanced-computing/Mistral-7B-Instruct-v0.3-EOSC
Privacy toolbox
More information is available here.
trasgoDP
A Python library that implements a set of mechanisms for Local Differential Privacy (LDP) for numerical and categorical records, and metric privacy for location-based ones. It is particularly well-suited for generating synthetic versions of a dataset using mechanisms that ensure differential privacy.
Documentation: Read the Docs | PyPI
anjana
A Python library to anonymize sensitive tabular data.
Documentation: Read the Docs | PyPI
More information can be found in this paper.
If you are using anjana, you can cite it as follows:
@article{sainzpardo2024anjana,
title={An Open Source Python Library for Anonymizing Sensitive Data},
author={S{\'a}inz-Pardo D{\'\i}az, Judith and L{\'o}pez Garc{\'i}a, {\'A}lvaro},
journal={Scientific data},
volume={11},
number={1},
pages={1289},
year={2024},
publisher={Nature Publishing Group UK London}
}pyCANON
A Python library to check the level of anonymity of a dataset.
pyCANON is a Python library and CLI to assess the values of the parameters associated with the most common privacy-preserving techniques.
Documentation: Read the Docs | PyPI
More information can be found in this paper.
If you are using pyCANON, you can cite it as follows:
@article{sainzpardo2022pycanon,
title={A Python library to check the level of anonymity of a dataset},
author={S{\'a}inz-Pardo D{\'\i}az, Judith and L{\'o}pez Garc{\'i}a, {\'A}lvaro},
journal={Scientific Data},
volume={9},
number={1},
pages={785},
year={2022},
publisher={Nature Publishing Group UK London}}