LightGBM
LightGBM 是一款基于决策树算法的高效梯度提升框架,专为排序、分类及各类机器学习任务打造。面对海量数据训练时传统模型速度慢、内存占用高的问题,LightGBM 通过独特的直方图算法和叶子生长策略,显著提升了训练效率并降低了资源消耗,同时保持了卓越的预测精度。
它特别适合数据科学家、算法工程师及研究人员使用,尤其是在处理大规模数据集或需要快速迭代模型的场景中。无论是构建推荐系统、进行金融风控建模,还是解决复杂的分类难题,LightGBM 都能提供强有力的支持。
其核心技术亮点在于支持并行计算、分布式训练以及 GPU 加速,能够轻松应对亿级样本量的挑战。此外,它还提供了 Python、R、C++ 等多种语言的接口,生态完善且易于集成。作为一个由原微软团队维护并现已移交至开源社区管理的成熟项目,LightGBM 凭借其“更快、更省、更准”的特性,已成为工业界和学术界广泛信赖的机器学习工具之一。
使用场景
某大型电商公司的数据科学团队正面临每日数亿条用户行为日志的挑战,需要构建一个高精度的实时点击率(CTR)预测模型以优化广告推荐策略。
没有 LightGBM 时
- 训练周期过长:使用传统梯度提升框架处理亿级稀疏特征数据时,单次全量模型训练往往耗时超过 24 小时,导致模型无法做到日更甚至小时更,严重滞后于市场变化。
- 内存资源爆炸:在加载大规模稠密与稀疏混合数据时,服务器内存频繁溢出(OOM),迫使团队不得不购买昂贵的高配实例或痛苦地进行数据降采样,牺牲了信息完整性。
- 调参效率低下:由于单次迭代速度慢,算法工程师难以进行充分的超参数网格搜索,模型精度长期卡在瓶颈期,无法挖掘深层特征交互价值。
- 分布式部署复杂:想要利用多机集群加速训练时,配置过程繁琐且通信开销巨大,线性加速比难以实现,算力利用率极低。
使用 LightGBM 后
- 训练速度飞跃:借助基于直方图的算法和叶子生长策略,LightGBM 将同等数据量的训练时间从 24 小时压缩至 30 分钟以内,实现了模型的准实时更新。
- 内存占用大幅降低:通过互斥特征捆绑(EFB)和梯度单边采样(GOSS)技术,内存消耗降低了 60% 以上,使得在普通配置服务器上处理海量数据成为可能。
- 模型精度显著提升:更快的训练速度让团队能够尝试更多复杂的参数组合,最终使广告点击率预测的 AUC 指标提升了 1.5%,直接带动营收增长。
- 原生支持分布式与 GPU:轻松调用多机集群或 GPU 资源进行并行训练,无需复杂配置即可实现近线性的速度提升,极大释放了硬件算力潜能。
LightGBM 以其卓越的速度、极低的内存占用和高精度的特性,成功将原本不可行的大规模实时预测任务转化为高效的生产力引擎。
运行环境要求
- Linux
- macOS
- Windows
- 非必需
- 支持 GPU 学习(需编译 CUDA 版本),具体显卡型号、显存大小及 CUDA 版本在文中未明确说明,仅提及有专门的 CUDA 构建流程
未说明(文档仅提及具有“较低的内存占用”优势,可处理大规模数据)

快速开始
[!NOTE] 该项目于2026年3月从
Microsoft/LightGBM迁移到lightgbm-org/LightGBM。 该仓库仍然是官方的 LightGBM 源代码库,由相同的维护者团队管理(包括 LightGBM 的创建者)。 更多信息请参阅:https://github.com/lightgbm-org/LightGBM/issues/7187
Light Gradient Boosting Machine
LightGBM 是一个基于树的学习算法的梯度提升框架。它专为分布式和高效计算而设计,具有以下优势:
- 训练速度更快、效率更高。
- 内存占用更低。
- 预测精度更高。
- 支持并行、分布式和 GPU 学习。
- 能够处理大规模数据。
更多详细信息,请参阅 特性。
得益于这些优势,LightGBM 广泛应用于许多机器学习竞赛的获奖方案中。
在公开数据集上的对比实验表明,LightGBM 在效率和精度方面均优于现有的提升框架,同时内存消耗显著降低。此外,分布式学习实验显示,在特定场景下,使用多台机器进行训练可以实现线性加速。
开始使用与文档
我们的主要文档位于 https://lightgbm.readthedocs.io/,由本仓库生成。如果您是 LightGBM 的新手,请按照该网站上的安装指南进行操作。
接下来,您可能希望阅读:
- 示例,展示常见任务的命令行用法。
- 特性 和 LightGBM 支持的算法。
- 参数 是您可以进行自定义的详尽列表。
- 分布式学习 和 GPU 学习 可以加速计算。
- FLAML 提供 LightGBM 的自动化调参功能(代码示例)。
- Optuna 超参数调优器 提供 LightGBM 超参数的自动化调优(代码示例)。
- 理解 LightGBM 参数及其在 Neptune 中的调优方法。
面向贡献者的文档:
- 我们如何更新 readthedocs.io。
- 请查看 开发指南。
新闻
请参考 GitHub 发布页面中的变更日志。
外部(非官方)仓库
此处列出的项目提供了使用 LightGBM 的替代方式。
它们不由 LightGBM 开发团队维护或官方认可。
JPMML(Java PMML 转换器):https://github.com/jpmml/jpmml-lightgbm
Nyoka(Python PMML 转换器):https://github.com/SoftwareAG/nyoka
Treelite(用于高效部署的模型编译器):https://github.com/dmlc/treelite
lleaves(基于 LLVM 的模型编译器,用于高效推理):https://github.com/siboehm/lleaves
Hummingbird(将模型编译为张量计算):https://github.com/microsoft/hummingbird
GBNet(将 LightGBM 用作 PyTorch Module):https://github.com/mthorrell/gbnet
cuML Forest Inference Library(GPU 加速推理):https://github.com/rapidsai/cuml
daal4py(Intel CPU 加速推理):https://github.com/intel/scikit-learn-intelex/tree/master/daal4py
m2cgen(适用于多种语言的模型应用工具):https://github.com/BayesWitnesses/m2cgen
leaves(Go 模型应用工具):https://github.com/dmitryikh/leaves
ONNXMLTools(ONNX 转换器):https://github.com/onnx/onnxmltools
SHAP(模型输出解释器):https://github.com/slundberg/shap
Shapash(模型可视化与解释工具):https://github.com/MAIF/shapash
dtreeviz(决策树可视化与模型解释工具):https://github.com/parrt/dtreeviz
supertree(交互式决策树可视化工具):https://github.com/mljar/supertree
SynapseML(在 Spark 上运行 LightGBM):https://github.com/microsoft/SynapseML
Kubeflow Fairing(在 Kubernetes 上运行 LightGBM):https://github.com/kubeflow/fairing
Kubeflow Operator(在 Kubernetes 上运行 LightGBM):https://github.com/kubeflow/xgboost-operator
lightgbm_ray(在 Ray 上运行 LightGBM):https://github.com/ray-project/lightgbm_ray
Ray(分布式计算框架):https://github.com/ray-project/ray
Mars(在 Mars 上运行 LightGBM):https://github.com/mars-project/mars
ML.NET(.NET/C# 包):https://github.com/dotnet/machinelearning
LightGBM.NET(.NET/C# 包):https://github.com/rca22/LightGBM.Net
LightGBM Ruby(Ruby gem):https://github.com/ankane/lightgbm-ruby
LightGBM4j(Java 高级绑定):https://github.com/metarank/lightgbm4j
LightGBM4J(用 Scala 编写的 LightGBM JVM 接口):https://github.com/seek-oss/lightgbm4j
Julia 包:https://github.com/IQVIA-ML/LightGBM.jl
lightgbm3(Rust 绑定):https://github.com/Mottl/lightgbm3-rs
MLServer(LightGBM 的推理服务器):https://github.com/SeldonIO/MLServer
MLflow(实验跟踪、模型监控框架):https://github.com/mlflow/mlflow
FLAML(用于超参数优化的 AutoML 库):https://github.com/microsoft/FLAML
MLJAR AutoML(面向表格数据的 AutoML):https://github.com/mljar/mljar-supervised
Optuna(超参数优化框架):https://github.com/optuna/optuna
LightGBMLSS(使用 LightGBM 进行概率建模):https://github.com/StatMixedML/LightGBMLSS
mlforecast(使用 LightGBM 进行时间序列预测):https://github.com/Nixtla/mlforecast
skforecast(使用 LightGBM 进行时间序列预测):https://github.com/JoaquinAmatRodrigo/skforecast
{bonsai}(R {parsnip} 兼容接口):https://github.com/tidymodels/bonsai
{mlr3extralearners}(R {mlr3} 兼容接口):https://github.com/mlr-org/mlr3extralearners
lightgbm-transform(特征转换绑定):https://github.com/lightgbm-org/LightGBM-transform
postgresml(通过 Postgres 扩展,在 SQL 中进行 LightGBM 训练和预测):https://github.com/postgresml/postgresml
pyodide(在网页浏览器中运行 lightgbm Python 包):https://github.com/pyodide/pyodide
vaex-ml(具有自身 LightGBM 接口的 Python DataFrame 库):https://github.com/vaexio/vaex
支持
- 在 Stack Overflow 上使用
lightgbm标签提问:link,我们会关注新问题。 - 在 GitHub issues 上提交 bug 报告 和 功能请求。
如何贡献
请查看 CONTRIBUTING 页面。
微软开源行为准则
本项目已采用 微软开源行为准则。更多信息请参阅 行为准则常见问题解答 或发送邮件至 opencode@microsoft.com 咨询更多问题或意见。
参考论文
Yu Shi, Guolin Ke, Zhuoming Chen, Shuxin Zheng, Tie-Yan Liu. “梯度提升决策树的量化训练”(链接)。神经信息处理系统进展 35(NeurIPS 2022),第 18822–18833 页。
Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, Tie-Yan Liu. “[LightGBM:一种高效的梯度提升决策树]”(链接)。神经信息处理系统进展 30(NIPS 2017),第 3149–3157 页。
Qi Meng, Guolin Ke, Taifeng Wang, Wei Chen, Qiwei Ye, Zhi-Ming Ma, Tie-Yan Liu. “[一种通信高效的并行决策树算法]”(链接)。神经信息处理系统进展 29(NIPS 2016),第 1279–1287 页。
Huan Zhang, Si Si 和 Cho-Jui Hsieh. “[大规模树提升的 GPU 加速]”(链接)。SysML 大会,2018 年。
许可证
本项目根据 MIT 许可证条款授权。更多详情请参阅 LICENSE。
版本历史
v4.6.02025/02/15v4.5.02024/07/25v4.4.02024/06/15v4.3.02024/01/26v4.2.02023/12/21v4.1.02023/09/12v4.0.02023/07/13v3.3.52023/01/24v3.3.42023/01/04v3.3.32022/10/10v3.3.22022/01/07v3.3.12021/10/27v3.3.02021/10/09v3.2.12021/04/12v3.2.02021/03/22v3.1.12020/12/08v3.1.02020/11/16v3.0.02020/09/01v3.0.0rc12020/08/07v2.3.12019/11/28常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

