项目介绍:Fortuna
概述
Fortuna是一个用于不确定性量化的库,对需要做出关键决策的应用至关重要。它可以帮助用户评估模型预测的可靠性,触发人工干预,或决定模型是否可以安全投放到实际环境中。Fortuna使用户能够轻松运行基准测试并将不确定性引入生产系统中。
功能特点
Fortuna支持从任何框架的预训练模型出发,提供校准和共形方法。此外,它还支持从使用Flax编写的深度学习模型出发进行多种贝叶斯推断方法。不确定性量化对不熟悉的从业者也非常直观,同时它具有高度配置性。
使用模式
Fortuna提供了三种不同的使用模式,以满足用户应用程序的特定需求:
从不确定性估计开始
这是一种兼容性要求最低的使用方式,也是与该库交互的最快途径。它提供了分类和回归的共形预测方法,输入不确定性估计,并返回保留用户定义概率水平的预测集。在一维回归任务中,共形预测集可以被视为校准后的置信区间或可靠区间。
从模型输出开始
假设用户已经在某个框架中训练了模型,并将模型输出以numpy.ndarray
格式输入Fortuna。此使用模式允许用户校准模型输出,估算不确定性,计算指标并获得共形预测集。这种方式提供了更好的控制,但如果模型使用经典方法训练,结果可能导致较差的不确定性量化。
从Flax模型开始
此方式的兼容性要求最高,因为需要使用Flax编写的深度学习模型。不过,它允许用户用可扩展的贝叶斯推断程序替换标准的模型训练过程,从而显著改善预测不确定性的量化。
安装指南
安装Fortuna需要先在虚拟环境中安装JAX。用户可以通过以下命令安装Fortuna:
pip install aws-fortuna
或者可以选择使用Poetry来构建Fortuna包。
Amazon SageMaker 集成
Fortuna还提供了一条简单的管道,可以让用户在Amazon SageMaker上运行Fortuna。用户需要创建AWS账户,更新本地AWS凭证,并推送Docker镜像到亚马逊ECR库中。此外,还需要创建S3桶用于存储训练结果,并编写配置文件以指定细节。
贡献与许可
Fortuna项目采用Apache-2.0许可证。如果用户希望为该项目做出贡献,可以阅读项目的贡献指南以获取详细信息。