scikit-learn 全面拥抱 Array API 标准:GPU 加速与混合设备计算时代开启

ADK Scikit-learn官方 / ADK编译 2026-03-05 5 分钟 130 次浏览
速览导读 / Summary

scikit-learn 正式宣布全面采纳 Python Array API 标准,彻底解决长期存在的 GPU 支持难题。通过内建 vendor 库与混合设备处理能力,该工具现已原生支持 PyTorch、CuPy 等后端,并允许特征(X)与标签(y)在不同硬件(CPU/GPU)间无缝流转。此次更新标志着机器学习工作流从单一 NumPy 环境向异构计算架构的重大跨越,极大提升了大规模训练与推理的灵活性。

支持后端 PyTorch, CuPy, NumPy, JAX (In Progress) 覆盖 CPU, CUDA, MPS, XPU
架构特性 Mixed Array Namespace Support 支持特征与标签在不同设备/库间流转
重构模型数量 10+ 核心 Estimators 包括 LogisticRegression, Ridge, PCA 等

Key Insights / 核心看点

  • 1 彻底解决 GPU 支持难题:通过 Array API 标准,scikit-learn 原生支持 PyTorch、CuPy 等后端,覆盖 CPU、CUDA、MPS 及 XPU 设备。
  • 2 首创混合设备架构:允许特征(X)与标签(y)分别驻留在不同硬件(如 CPU 处理字符串标签,GPU 加速数值计算),实现真正的端到端流水线加速。
  • 3 内建成熟 Vendor 库:直接集成 `array-api-compat` 和 `array-api-extra`,简化依赖管理,确保向后兼容并加速标准落地。
  • 4 核心模型全面适配:`LogisticRegression`、`Ridge`、`PCA` 等高影响力模型已完成重构,支持 GPU 加速训练。

scikit-learn 全面拥抱 Array API 标准:GPU 加速与混合设备计算时代开启

更新背景

Python 数据 API 标准联盟(Consortium for Python Data API Standards)推出的 Array API 标准,旨在为各类数组库定义一致接口,使“数组消费型”库(如 scikit-learn)能够编写与底层数组实现无关的代码。这一变革对 scikit-learn 而言具有里程碑意义:它解决了困扰该工具长达 11 年的 GPU 支持难题。过去,由于软件依赖复杂及平台特异性问题,scikit-learn 曾明确表示短期内不会添加 GPU 支持。如今,依托 Array API 标准,这些障碍已被彻底消除,用户可无缝利用 PyTorch、CuPy 等库的硬件加速能力。

核心突破与功能特性

1. 内建 Vendor 库与标准化兼容

scikit-learn 现已内建(vendor)成熟的 array-api-compatarray-api-extra 库:

  • array-api-compat:作为 PyTorch、CuPy、JAX 等库的包装器,填补标准与具体实现间的差距,确保向后兼容。
  • array-api-extra:提供标准之外但对数组消费库至关重要的扩展函数。 此举避免了代码库中复杂的条件依赖处理,遵循了 SciPy 的最佳实践。

2. 广泛的后端支持与设备覆盖

当前已支持以下数组库及设备:

  • CuPy:完整的 ndarray 支持。
  • PyTorch:覆盖 CPU、CUDA、MPS(Apple Silicon)及 XPU(Intel)所有设备。
  • NumPy:作为基础支持。
  • JAX:支持正在推进中。 此外,scikit-learn 还通过 array-api-strict 进行严格合规性测试,确保符合标准的库无需额外修改即可被接受。

3. 混合数组命名空间与设备处理

这是 scikit-learn 独有的架构设计,允许特征(X)与标签(y)使用不同数组库或设备:

  • 场景示例:字符串类别标签通常仅由 NumPy 支持,而计算需利用 GPU。该架构允许在 CPU 上对字符串标签进行编码(如 TargetEncoder),同时通过 FunctionTransformer 将特征数组转换为 CUDA 张量,送入 RidgeClassifier 进行 GPU 加速训练。
  • 流水线(Pipeline)增强:解决了传统流水线无法修改目标数组(y)的限制,使得混合输入成为可能,极大提升了端到端工作流的灵活性。

4. 关键模型与指标支持

大量高影响力指标(Metrics)和转换器(Transformers)已适配,包括 LabelBinarizer。复杂的估计器(Estimators)也已完成多项核心模型的重构,包括:

  • LogisticRegression
  • GaussianNB, GaussianMixture
  • Ridge 及其变体(RidgeCV, RidgeClassifier 等)
  • Nystroem, PCA
  • GaussianProcessRegressor(开发进行中)

实际应用价值

对于开发者而言,此次更新意味着无需编写复杂的后端适配代码,即可构建跨硬件的机器学习管道。对于企业用户,这意味着能够直接利用企业级 GPU 集群进行大规模模型训练,同时保留 scikit-learn 熟悉的 API 风格。混合设备支持尤其适合处理包含文本标签(需 CPU 处理)和数值特征(需 GPU 加速)的复杂数据集,显著降低了异构计算的工作门槛。

“通过 Array API 标准,我们不仅解决了 GPU 支持的长期悬而未决的问题,更重新定义了 scikit-learn 在异构计算环境中的角色。” —— Lucy Liu, scikit-learn 团队

技术展望

随着 JAX 支持的临近以及更多估计器的完成,scikit-learn 正逐步构建一个真正无边界的数据科学生态。未来,随着更多库遵循 Array API 标准,该工具将成为连接传统机器学习与现代高性能计算的关键枢纽。


注:具体支持的指标与估计器列表请参阅官方文档中的 Array API support 页面。

By relying on the array API standard, however, these concerns can now be avoided.

Lucy Liu, scikit-learn Team

同主题深度资讯

查看更多 →
产品动态 2026-09-15

Topview 发布 Codex 插件工作流:在 ChatGPT 生态内实现 AI 视频生成

Topview 正式宣布其插件工作流集成至 OpenAI 的 Codex 代理系统,支持在本地桌面端或 CLI 中直接调用生成式模型创建 AI 视频。文章详细区分了 ChatGPT 网页版插件目录与 Codex 本地代理的架构差异,明确了安装路径、OAuth 认证流程及 Canvas 画布工作流。该更新旨在解决开发者在 ChatGPT 生态内调用视频生成模型(如 Seedance, Wan 3.0 等)的碎片化问题,强调 Pro 及以上订阅计划对自动化工作流的必要性。

Topview官方 / ADK编译 5 分钟
AI 工具 2026-09-08

Accio Work 2026 安全剃须刀刀片评测指南发布:覆盖敏感肌与硬茬胡须的全场景解决方案

Accio Work 于 2026 年 9 月发布最新评测指南,针对 2026 年湿剃市场的演变,深度解析了 8 款最佳安全剃须刀刀片。指南涵盖从 Astra Superior Platinum 的全能王者到 Feather Hi-Stainless 的极致锋利,特别强调了针对敏感肌肤(如 Derby Extra Super Stainless)和环保需求(如 Personna Lab Blue)的专项解决方案,为不同肤质与胡须类型的用户提供精准选型建议。

Accio Work官方 / ADK编译 3 分钟
AI 工具 2026-09-08

Accio Work 发布厨房研磨工具智能指南:材料选择与性能优化解析

Accio Work 发布了一篇关于研磨钵(Mortar and Pestle)最佳材料选择的深度指南。文章详细对比了花岗岩、大理石、陶瓷、木材及不锈钢等主流材质在研磨性能、耐用性、维护难度及美学风格上的差异。该指南旨在帮助消费者及零售商根据烹饪需求(如香料粉碎、酱汁制作)做出精准决策,体现了 Accio Work 在垂直领域知识库构建与搜索优化方面的技术实力。

Accio Work官方 / ADK编译 3 分钟
AI 工具 2026-09-08

Accio Work 2026 年迷你喷射快艇设计趋势:电动化与模块化重塑水上运动

Accio Work 发布 2026 年迷你喷射快艇设计趋势报告,展示了 9 款重新定义水上运动的新概念。核心亮点包括革命性的充气式电动快艇、热插拔电池系统的通勤者设计、以及专为家庭安全优化的模块化构建方案。这些设计利用先进复合材料与零排放电动动力,解决了传统水上运动便携性差、续航焦虑及安全性不足的问题,为个人娱乐与商业租赁市场提供了全新灵感。

Accio Work官方 / ADK编译 3 分钟
code · 免费
★ 5.0 · 120评测
S

Scikit-learn

Python机器学习库

Scikit-Learn 是 Python 机器学习库,广泛应用在数据挖掘和数据分析。Scikit-Learn提供简单高效的工具,支持多种机器学习算法,包括分类、回归、聚类和降维等。Scikit-Learn设计简洁、易用,且与 NumPy 和 SciPy 等科学计算库无缝集成。Scikit-Learn 以其实用性、高性能和丰富的算法实现而闻名,适合从初学者到专家的各个层次的用户。Scikit-Learn提供详尽的文档和示例,帮助用户快速上手并解决实际问题。

查看 Scikit-learn 使用教程与功能