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 分钟
产品动态 2026-09-06

Adobe Photoshop 与 Upscale.media 联手:AI 驱动图像超分辨率技术深度解析

Adobe Photoshop 与 AI 图像增强工具 Upscale.media 宣布深度整合,旨在为专业用户提供更高效的图像超分辨率解决方案。此次合作利用先进的 AI 算法,在不依赖复杂软件学习曲线的情况下,实现从低分辨率到高清图像的无损转换。文章详细阐述了该技术在保留细节、修复模糊以及支持多格式处理方面的核心优势,并展示了从上传到下载的完整操作流程,标志着图像增强领域向更智能化、便捷化方向迈出了重要一步。

Upscale.media官方 / ADK编译 4 分钟
产品动态 2026-09-06

Adobe Photoshop 2025 图像分辨率优化指南:超分辨率与智能放大技巧

Adobe Photoshop 2025 在图像分辨率处理上带来了显著优化,重点介绍了如何利用内置的“超分辨率”功能无损放大 JPEG 图像。本文详细解析了从基础图像尺寸调整到高级 Camera Raw 滤镜应用的完整流程,帮助设计师和摄影师在保持画质的前提下提升输出质量。

Upscale.media官方 / ADK编译 4 分钟
产品动态 2026-09-06

Upscale.media 发布智能图像增强方案:AI 驱动高清修复与细节重构

Upscale.media 推出全新图像增强指南,详解如何利用 AI 技术将低分辨率图片转化为高清视觉内容。文章解析了图像上采(Upscaling)的核心原理,涵盖分辨率、锐度、色彩准确性等关键质量指标,并展示了该工具在商业展示、印刷输出及个人创作中的实际应用价值,旨在帮助用户摆脱像素化困扰,实现无损画质提升。

Upscale.media官方 / ADK编译 4 分钟
code · 免费
★ 5.0 · 120评测
S

Scikit-learn

Python机器学习库

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

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