FLAML:微软开源的轻量级 AutoML 引擎,3 行代码启动自动机器学习
FLAML:微软开源的轻量级 AutoML 引擎,3 行代码启动自动机器学习
做机器学习的人,大都调过超参数。Grid Search 太慢,Random Search 效果一般,手动调又太费时间。微软开源的 FLAML 就是专门解决这个问题的,目前 Star 数 4,363,社区活跃度不错。
FLAML 全称是 Fast Library for Automated Machine Learning & Tuning,定位很明确:用尽量少的计算资源,快速找到合适的模型和参数。它不是那种需要大量 GPU 才能跑的重型框架,普通机器也能用得起来。

核心能力:AutoML + 超参数调优
FLAML 主要做两件事。一是自动机器学习,输入数据后自动选模型、调参数,找到效果最好的组合。二是通用超参数调优,可以给任意函数做参数搜索,不局限于机器学习模型。
支持的模型包括 XGBoost、LightGBM、Random Forest 等主流算法,也支持深度学习框架。搜索策略用的是微软研究院提出的一系列优化算法,能根据已有结果动态调整搜索方向,减少无效尝试。
资源控制是 FLAML 的一个特点。用户可以设置时间预算,比如只给 1 小时,它会在时间内尽量找到最优解。对于计算资源有限的场景,这个设计很实用。

上手简单,3 行代码起步
FLAML 的 API 设计很简洁,熟悉 scikit-learn 的人基本零门槛:
from flaml import AutoML
automl = AutoML()
automl.fit(X_train, y_train, task="classification")
这段代码会自动尝试多个模型和参数组合,返回效果最好的配置。如果想限定模型范围,加个参数就行:
automl.fit(X_train, y_train, task="classification", estimator_list=["lgbm"])
对于更通用的调参需求,FLAML 提供了 tune 模块,可以给任意评估函数做参数优化。这种灵活性让它不仅限于传统 AutoML 场景。
另一个实用功能是 Zero-shot AutoML。用户可以直接用 LightGBM 或 XGBoost 的原生 API,FLAML 在后台自动选择合适的超参数配置,不需要改现有代码结构。
适用场景和注意事项
FLAML 适合几类用户:一是想快速验证模型效果,不想在调参上花太多时间;二是计算资源有限,需要在预算内找到较优解;三是做 MLOps 流程,需要自动化的模型选择和参数优化。
安装方式很标准,pip 直接安装:
pip install flaml
Python 版本要求 3.10 以上,3.14 以下。额外功能可以通过选项安装,比如 pip install "flaml[automl]" 会装上 AutoML 所需的依赖。
这个项目源自微软研究院的多项研究成果,合作方包括宾州州立大学、华盛顿大学等机构。代码完全开源,采用 MIT 协议。除了 Python 版本,微软还提供了 .NET 平台的实现,集成在 ML.NET 中。
如果你正在做机器学习项目,被调参困扰,FLAML 值得尝试。它不会取代你对模型的理解,但可以把重复性的搜索工作自动化,让你把精力放在更有价值的地方。

浙公网安备 33010602011771号