Hyperparam OSS Universe

Hyperparam 开源项目

创建 Hyperparam 的目的是为了解决机器学习生态系统中的一个关键缺口:缺乏用户友好、可扩展的 UI 来探索和管理海量数据集。

我们的使命基于这样的信念:数据质量是机器学习成功的关键因素,因此需要更好的工具来构建更好的训练集。在实践中,这意味着使数据科学家和工程师能够_"查看他们的数据"——即使是 TB 级别的文本语料库——完全在浏览器中交互式地进行,而无需繁重的基础设施。通过结合高效的数据格式、高性能的 JavaScript 库以及新兴的 AI 辅助,Hyperparam 的愿景是将数据质量置于模型开发的最前沿。我们的座右铭"AI 数据的缺失 UI"_反映了其目标,即让大规模数据探索、标注和质量管理像现代 Web 应用程序一样直观,同时通过本地优先的设计尊重隐私和合规性。

使命和愿景:浏览器中的数据中心 AI

我们的使命是帮助 ML 从业者为最佳模型创建最佳训练数据集。这源于整个行业的一个共识,即模型性能最终受数据质量的限制,而不仅仅是模型架构或超参数。Hyperparam 设想了一种新的工作流程,其中:

数据工程和 MLOps 领域的专家广泛认同需要更好的数据探索和标注工具来解决当今的瓶颈。我们认为,实现这一目标的方法是使以数据为中心的 AI 工作流程更快、更易于部署且更具可扩展性——使用户能够迭代地提高数据质量,从而产生更好的模型。

Hyperparam OSS 生态系统

Hyperparam OSS Universe Flowchart

Hyperparam 通过一套开源工具来实现我们的愿景,这些工具解决了数据管理的各个方面。这些工具使用 TypeScript/JavaScript 构建,以便在浏览器和 Node.js 中无缝使用。

我们关心性能、最小依赖性和标准合规性。

Hyparquet GitHub

Hyparquet:浏览器中的 Parquet 数据访问

Hyparquet 是一个轻量级的纯 JS 库,用于直接在浏览器中读取 Apache Parquet 文件。Parquet 是一种流行的大型数据集列式格式,Hyparquet 使 Web 应用程序能够利用这种效率,而无需任何服务器。

Hyparquet 允许数据科学家立即在浏览器 UI 中打开大型数据集文件进行检查,而无需 Python 脚本、服务器或云数据库。它对于快速数据集验证(例如,检查新数据的样本是否存在质量问题)以及为基于 Web 的数据分析工具提供支持非常有用。由于它是纯 JS,开发人员可以将 Hyparquet 集成到任何需要读取 Parquet 的 Web 应用程序或 Electron 应用程序中。它是 Hyperparam 自身数据集查看器的核心引擎,实现了以前认为不可能的事情:客户端大数据探索。

Hyparquet-Writer GitHub

Hyparquet-Writer:从 JavaScript 导出 Parquet 文件

为了补充 Hyparquet 的读取功能,Hyparquet-Writer 提供了一种在 JavaScript 中写入或将数据导出为 Parquet 格式的方法。它的设计与读取对应物一样轻巧高效。

在使用 Hyperparam 的工具探索或过滤数据集后,用户可能希望保存子集或注释。Hyparquet-Writer 使得可以将这些结果 在浏览器中 导出为 Parquet 文件(或在 Node.js 中,而无需 Python/Java 库)。这对于创建可共享的_"精炼数据集"_或在系统之间移动数据同时保持 Parquet 格式(避免昂贵的 CSV 转换)非常有价值。

HighTable GitHub

HighTable:可扩展的 React 数据表格组件

Hyperparam HighTable table component

HighTable 是一个基于 React 的虚拟化表格组件,用于在浏览器中查看非常大的表格。它是显示由 Hyparquet 或其他来源获取的数据的 UI 主力。

HighTable 对于可视化数据探索至关重要。在 Hyperparam 的数据集查看器中,HighTable 呈现 Parquet 文件的内容,允许您滚动浏览远远超出内存限制的数据。您还可以将 HighTable 嵌入到自定义 Web 应用程序中,在这些应用程序中需要大型结果表(例如,查看日志、遥测或任何大型表格数据),而不会失去交互性。通过仅处理可见内容,它可以弥合大数据后端和流畅前端体验之间的差距。

HighTable 提供:

Icebird GitHub

Icebird:JavaScript Apache Iceberg 表格读取器

Icebird 将 Hyperparam 的覆盖范围扩展到存储在 Apache Iceberg 格式中的数据。Iceberg 是一种流行的数据湖表格格式(通常在 Hadoop/S3 存储上使用),它在底层包含 Parquet 文件。重要的是,Iceberg 允许您有效地发展大型数据集(添加/删除行、添加列等)。Icebird 本质上是一个 JavaScript Iceberg 客户端,可以读取 Iceberg 表格元数据并检索数据文件,它构建于 Hyparquet 之上。

如果您正在使用 Data Lake/Lakehouse 架构,Icebird 使得可以检查大型 Iceberg 表格而无需大数据引擎。数据工程师可以将 Hyperparam 的查看器指向 Iceberg 表格的 S3 路径,并快速查看几行或几列以进行验证。这比启动 Spark 或 Trino 进行小型检查任务要简单得多。Icebird 将我们的_"无后端"_理念带到了另一种主要数据格式。

HyLlama GitHub

Hyllama:Llama.cpp 模型元数据解析器

Hyllama 是 Hyperparam 套件中一个略有不同的工具——它专注于模型文件而不是数据集文件。具体来说,Hyllama 是一个 JavaScript 库,用于解析 llama.cpp .gguf 文件(一种用于 LLaMA 和相关大型语言模型权重的格式)并提取其元数据。

Hyllama 的主要用例是允许用户检查 LLM 模型的内容(架构参数、词汇量大小、层数等),甚至可能查询其列出的令牌或其他元数据 在浏览器中。例如,您可以使用 Hyllama 将 .gguf 模型文件拖放到网页上,并快速查看它具有什么架构和量化,而无需运行该模型。您可以使用 Hyllama 轻松内省模型文件或验证模型文件是否与数据集方案期望匹配。

Hyperparam CLI GitHub

Hyperparam CLI:本地数据集查看器

Hyperparam CLI 将所有内容绑定到面向用户的应用程序中。它是一个命令行工具,运行时 (npx hyperparam) 会启动一个用于数据集查看的本地 Web 应用程序。从本质上讲,这是一种在您自己的本地数据上启动 Hyperparam 浏览器 UI 的单命令方法。

这些工具如何协同工作

Hyperparam 的开源工具套件是专为机器学习数据工作流程量身定制的统一生态系统的支柱,可直接在浏览器中实现交互式探索和管理。通过集成高效的浏览器内数据处理(Hyparquet 和 Icebird)、可扩展的可视化(HighTable)、直观的数据导出功能(Hyparquet-Writer)和模型元数据检查(Hyllama),我们希望表明有一种更好的方法来构建以数据为中心的 ML 工具。我们正在将这项工作作为开源发布,因为我们相信每个人都可以从拥有强大的 AI 数据工具生态系统中受益。

如果您发现这些免费的开源工具有用,请展示出来!我们喜欢 GitHub Stars ⭐

输入您的电子邮件以了解新的 Hyperparam 工具和库:

Submit ×