Taija is an organization that hosts software geared towards Trustworthy Artificial Intelligence in Julia. Taija currently covers a range of approaches towards making AI systems more trustworthy:
Model Explainability (CounterfactualExplanations.jl)
Algorithmic Recourse (CounterfactualExplanations.jl, AlgorithmicRecourseDynamics.jl)
Predictive Uncertainty Quantification (ConformalPrediction.jl, LaplaceRedux.jl)
Effortless Bayesian Deep Learning (LaplaceRedux.jl)
Hybrid Learning (JointEnergyModels.jl)
Various meta packages can be used to extend the core functionality:
Plotting (TaijaPlotting.jl)
Datasets for testing and benchmarking (TaijaData.jl)
Interoperability with other programming languages (TaijaInteroperability.jl)
There is a high overlap with organizations, you might be also interested in:
Projects with MLJ.jl - For more traditional machine learning projects
Projects with FluxML - For projects around Flux.jl, the backbone of Julia's deep learning ecosystem
Project Overview: ConformalPrediction.jl is a package for Predictive Uncertainty Quantification through Conformal Prediction for Machine Learning models trained in MLJ. This project aims to enhance ConformalPrediction.jl by adding support for Conformal(ized) Bayes.
Mentor: Patrick Altmeyer and/or Mojtaba Farmanbar
Project Difficulty: Medium
Estimated Duration: 175 hours
Ideal Candidate Profile:
Basic knowledge of Julia or strong knowledge of similar programming languages (R, Python, MATLAB, ...)
Good understanding of Bayesian methods
Basic knowledge of Conformal Prediction
Project Goals and Deliverables:
Implement support for conformalizing predictive distributions (#109)
Implement support for Conformal Bayes through Add-One-In Importance Sampling (#110)
Implement other recent approaches combining Bayes with Conformal Prediction that you find interesting
Comprehensively test and document your work
Project Overview: CounterfactualExplanations.jl is a package for Counterfactual Explanations and Algorithmic Recourse in Julia. This project aims to extend the package functionality to regression models.
Mentor: Patrick Altmeyer
Project Difficulty: Hard
Estimated Duration: 350 hours
Ideal Candidate Profile:
Experience with Julia and multiple dispatch of advantage, but not crucial
Good knowledge of machine learning and statistics
Solid understanding of supervised models (classification and regression)
Project Goals and Deliverables:
Carefully think about architecture choices: how can we fit support for regression models into the existing code base?
Add support for the following approaches: ad-hoc thresholding, Bayesian optimisation, information-theoretic saliency.
Comprehensively test and document your work
Project Overview: This project aims to extend the functionality of CounterfactualExplanations.jl to Large Language Models (LLMs). As a backbone for this, support for computing feature attributions for LLMs will also need to be implemented. The project will contribute to both Taija and JuliaGenAI.
Mentor: Patrick Altmeyer (Taija) and Jan Siml (JuliaGenAI)
Project Difficulty: Medium
Estimated Duration: 175 hours
Ideal Candidate Profile:
Experience with Julia and multiple dispatch of advantage, but not crucial
Good knowledge of machine learning and statistics
Good understanding of Large Language Models (LLMs)
Ideally previous experience with Transformers.jl
Project Goals and Deliverables:
Carefully think about architecture choices: how can we fit support for LLMs into the existing code base of CounterfactualExplanations.jl?
Implement current state-of-the-art approaches such as MiCE and CORE
Comprehensively test and document your work
Project Overview: This extension aims to enhance the CounterfactualExplanations.jl package by incorporating a module for generating actionable recourse through minimal causal interventions.
Mentor: Patrick Altmeyer (Taija) and Moritz Schauer (CausalInference.jl)
Project Difficulty: Hard
Estimated Duration: 350 hours
Ideal Candidate Profile:
Experience with Julia
Background in causality and familiarity with counterfactual reasoning.
Basic knowledge of minimal interventions and causal graph building.
Project Goals and Deliverables:
Carefully think about architecture choices: how can we fit support for causal interventions into the existing code base?
Develop code that could integrate causal graph building with other Julia libs such as Graphs.jl, GraphPlot.jl and CausalInference.jl.
Implement current state-of-the-art approaches for minimal interventions using structured causal models (SCMs).
Comprehensively test and document your work.
Patrick Altmeyer is a PhD Candidate in Trustworthy Artificial Intelligence at Delft University of Technology working on the intersection of Computer Science and Finance. He has presented work related to Taija at JuliaCon 2022 and 2023. In the past year, Patrick has mentored multiple groups of students at Delft University of Technology who have made major contributions to Taija.
We'd love to hear your ideas and discuss potential projects with you.
Probably the easiest way is to join our JuliaLang Slack and join the #taija
channel. You can also post a GitHub Issue on our organization repo.