mostlyai

GitHub
758 64 简单 1 次阅读 3天前Apache-2.0开发框架数据工具
AI 解读 由 AI 自动生成,仅供参考

mostlyai 是一款专为生成高保真、隐私安全的合成数据而设计的 Python 开发工具包。它主要解决了企业在数据共享、模型训练或测试时,因隐私合规限制而无法直接使用真实敏感数据的难题,让用户能够在不泄露原始信息的前提下,创造出统计特征高度一致的虚拟数据集。

这款工具非常适合数据科学家、AI 工程师以及需要处理敏感数据的研究人员使用。无论是需要在本地利用自有算力进行训练,还是希望通过云端平台协作,mostlyai 都能提供灵活的支持。其核心亮点在于强大的数据兼容性,不仅能处理表格、时间序列,还能合成文本和地理空间等多模态数据。技术上,它集成了先进的 TabularARGN 模型和差分隐私技术,确保生成数据既精准又安全。此外,mostlyai 还内置了自动化的质量评估体系,可生成详细的分析报告,并支持条件采样、数据重平衡及公平性控制等高级功能,帮助开发者轻松实现从数据连接到生成的全流程自动化,无缝融入现有的数据工作流中。

使用场景

某金融科技公司数据团队需要在保护用户隐私的前提下,将生产环境的交易数据共享给外部审计机构进行模型验证。

没有 mostlyai 时

  • 隐私合规风险高:直接脱敏难以彻底去除敏感信息,存在用户数据泄露的法律风险,导致项目长期停滞。
  • 数据效用失真:传统规则式脱敏破坏了字段间的统计关联(如年龄与消费习惯),导致审计模型在测试集上表现大幅下滑。
  • 样本覆盖不足:无法合法生成罕见的欺诈交易样本,导致模型对长尾风险的识别能力无法得到充分验证。
  • 协作流程繁琐:需经过漫长的法务审批和人工数据清洗,从申请到交付往往耗时数周,严重拖慢迭代节奏。

使用 mostlyai 后

  • 原生隐私安全:利用 mostlyai 的微分隐私技术训练生成器,产出完全不含真实用户信息的高保真合成数据,彻底消除合规顾虑。
  • 统计特征一致:mostlyai 自动保留原始数据的复杂分布和多表关联,确保审计模型在合成数据上的验证结果与生产环境高度一致。
  • 灵活增强样本:通过 mostlyai 的条件模拟功能,按需“放大”稀有欺诈场景的数据量,有效提升了模型对极端情况的测试覆盖率。
  • 自动化即时交付:数据团队只需几行代码调用 mostlyai 接口即可本地生成并导出数据,将原本数周的协作周期缩短至小时级。

mostlyai 让数据团队在不牺牲隐私安全的前提下,实现了高保真数据的即时共享与高效协作。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 非必需(CPU 可运行表格模型),但处理语言模型微调/推理时强烈推荐使用现代 GPU
  • 未指定具体型号、显存大小或 CUDA 版本
内存

未说明

依赖
notes支持两种模式:CLIENT(轻量级,连接远程平台)和 LOCAL(本地训练,需安装额外依赖)。本地模式下可通过 'mostlyai[local]' (CPU) 或 'mostlyai[local-gpu]' (GPU) 安装。表格模型基于 TabularARGN,CPU 即可高效运行;语言模型建议使用现代 GPU。Google Colab 用户安装本地扩展后可能需要重启运行时。支持通过 Docker 部署以获得一致的运行环境。
python3.10+
torch
torchvision
transformers
pandas
mostlyai hero image

快速开始

合成数据 SDK ✨

GitHub 发布 文档 PyPI 下载量 许可证 PyPI - Python 版本 GitHub 星标

文档 | 技术白皮书 | 使用示例 | 免费云服务

合成数据 SDK 是一个用于生成高保真、隐私安全的 合成数据 的 Python 工具包。

  • LOCAL 模式:在您自己的计算资源上本地训练和生成合成数据。
  • CLIENT 模式:连接到远程的 MOSTLY AI 平台,在那里进行训练和生成合成数据。
  • 在本地训练好的生成器可以轻松导入到平台上,以便进一步共享。

概述

该 SDK 允许您以编程方式创建、浏览和管理 3 种关键资源:

  1. 生成器 - 使用您现有的表格或语言数据资产训练合成数据生成器
  2. 合成数据集 - 使用生成器根据您的需求创建任意数量的合成样本
  3. 连接器 - 连接到您组织内的任何数据源,用于读取和写入数据
目的 原始操作 API 参考
使用表格或语言数据训练生成器 g = mostly.train(config) mostly.train
生成任意数量的合成数据记录 sd = mostly.generate(g, config) mostly.generate
按需实时探测生成器 df = mostly.probe(g, config) mostly.probe
连接到您组织内的任何数据源 c = mostly.connect(config) mostly.connect

https://github.com/user-attachments/assets/9e233213-a259-455c-b8ed-d1f1548b492f

主要特性

  • 广泛的数据支持
    • 混合类型数据(分类、数值、地理空间、文本等)
    • 单表、多表和时间序列数据
  • 多种模型类型
    • 通过 TabularARGN 实现最先进的性能
    • 基于 DNN 的图关系匹配
    • 微调 Hugging Face 托管的语言模型
    • 高效的 LSTM 从零开始进行文本合成
  • 高级训练选项
    • 支持 GPU/CPU
    • 差分隐私
    • 进度监控
  • 自动化质量保证
    • 用于保真度和隐私的质量指标
    • 用于可视化分析的详细 HTML 报告
  • 灵活采样
    • 可以按任意数据量进行过采样
    • 基于任意列的条件模拟
    • 重新平衡代表性不足的细分群体
    • 上下文感知的数据插补
    • 统计公平性控制
    • 通过温度参数遵守规则
  • 无缝集成
    • 可以连接到外部数据源(数据库、云存储)
    • 完全开放的开源许可

快速入门 在 Colab 中运行

通过 pip 安装 SDK(更多详情请参阅 安装):

pip install -U mostlyai  # 或 'mostlyai[local]' 用于 LOCAL 模式

使用预训练的生成器生成合成样本:

# 初始化 SDK
from mostlyai.sdk import MostlyAI
mostly = MostlyAI()

# 导入已训练好的生成器
g = mostly.generators.import_from_file(
  "https://github.com/mostly-ai/public-demo-data/raw/dev/census/census-generator.zip"
)

# 探测 1000 个具有代表性的合成样本
df = mostly.probe(g, size=1000)
df

根据固定列值生成合成样本:

# 创建 1 万条 24 岁男性受访者记录
df = mostly.probe(g, seed=[{"age": 24, "sex": "Male"}] * 10_000)
df

现在您可以训练属于您自己的合成数据生成器:

# 加载原始数据
import pandas as pd
original_df = pd.read_csv(
  "https://github.com/mostly-ai/public-demo-data/raw/dev/titanic/titanic.csv"
)

# 使用默认配置训练单表生成器
g = mostly.train(
  name="快速入门演示 - 泰坦尼克号",
  data=original_df,
)

# 显示质量保证报告
g.reports(display=True)

# 使用默认配置生成具有代表性的合成数据集
sd = mostly.generate(g)
df = sd.data()

# 或者简单地探测一些样本
df = mostly.probe(g, size=100)
df

性能

该 SDK 的开发重点在于效率、准确性和灵活性,在这三方面均达到行业领先水平。最终的结果将取决于训练数据本身(大小、结构和内容)、可用的计算资源(CPU 对比 GPU),以及所选择的训练配置(模型、轮次、样本数等)。因此,建议采用“爬行/步行/奔跑”的方法——先用一部分样本进行短时间的训练,然后逐步扩大规模,以获得针对特定用例的最佳效果。

表格模型

SDK 中的表格模型基于 TabularARGN(arXiv:2501.12012),它在实现行业领先的合成数据质量的同时,效率比同类模型高出 1 到 2 个数量级。这种高效性使得即使在 CPU 环境中,也能在几分钟内训练并生成数百万条合成记录。

TabularARGN 基准测试

语言模型

默认的语言模型是一个基础的、未经过预训练的 LSTM (LSTMFromScratch-3m),它特别适用于范围有限(长度较短、种类较少)且训练样本充足的文字数据。

此外,也可以选择任何通过 Hugging Face Hub 提供、并支持 AutoModelForCausalLM 类的预训练语言模型,然后在提供的训练数据上进行微调。这些模型一开始就具备通用的世界知识,随后会根据训练数据进行调整,从而在数据稀疏的领域中生成高保真度的合成样本。最终的性能将再次主要取决于所选的模型配置。

无论采用哪种方式,在使用语言模型时都强烈建议使用现代 GPU。

安装

使用 pip(或更好的是 uv pip)通过 PyPI 安装官方的 mostlyai 包。需要 Python 3.10 或更高版本。

强烈建议使用 uv 在专用的虚拟环境中安装该包(详见 这里):

在 Unix / macOS 上设置 uv
# 如果尚未安装 uv,则先安装
curl -Ls https://astral.sh/uv/install.sh | bash

# 使用 uv 创建并激活一个 Python 3.12 环境
mkdir ~/synthetic-data-sdk; cd ~/synthetic-data-sdk
uv venv -p 3.12

# 激活虚拟环境
source .venv/bin/activate
在 Windows 上设置 uv
# 如果尚未安装 uv,则先安装
irm https://astral.sh/uv/install.ps1 | iex

# 使用 uv 创建并激活一个 Python 3.12 环境
mkdir ~/synthetic-data-sdk; cd ~/synthetic-data-sdk
uv venv -p 3.12

# 激活虚拟环境
.venv\Scripts\activate
通过 uv 运行 Jupyter Lab 会话
# SDK 安装完成后,可选择启动 Jupyter 会话
uv run --with jupyter jupyter lab

CLIENT 模式

这是仅用于以 CLIENT 模式使用 SDK 的轻量级安装。它会与 MOSTLY AI 平台通信以执行请求的任务。例如,可以访问 app.mostly.ai 获取免费托管版本。

uv pip install -U mostlyai

CLIENT + LOCAL 模式

这是用于同时以 CLIENT 和 LOCAL 模式使用 SDK 的完整安装。它包含所有依赖项,包括 PyTorch,以便在本地训练和生成合成数据。

uv pip install -U 'mostlyai[local]'

或者,对于 Linux 上的 GPU 配置(LLM 微调和推理所需):

uv pip install -U 'mostlyai[local-gpu]'

在 Linux 上,还可以单独安装仅 CPU 版本的 PyTorch,并将其与 mostlyai[local] 一起安装:

# uv pip 安装
uv pip install --index-strategy unsafe-first-match -U torch==2.9.1+cpu torchvision==0.24.1+cpu 'mostlyai[local]' --extra-index-url https://download.pytorch.org/whl/cpu
# 标准 pip 安装
pip install -U torch==2.9.1+cpu torchvision==0.24.1+cpu 'mostlyai[local]' --extra-index-url https://download.pytorch.org/whl/cpu

Google Colab 用户请注意:安装任何本地扩展包(mostlyai[local]mostlyai[local-gpu])后,可能需要重启运行时才能使更改生效。

数据连接器

在 LOCAL 模式下,添加以下任意扩展包以支持更多数据连接器:databricksgooglebigqueryhivemssqlmysqloraclepostgresredshiftsnowflake。例如:

uv pip install -U 'mostlyai[local, databricks, snowflake]'

使用 Docker

作为替代方案,您也可以构建一个 Docker 镜像,为您提供一个隔离的环境来以 LOCAL 模式运行 SDK,并预先安装所有连接器依赖项。这种方法可确保在所有系统上具有一致的运行环境。在继续操作之前,请确保您的系统已安装 Docker

获取镜像
  • 从官方仓库拉取

docker pull --platform=linux/amd64 ghcr.io/mostly-ai/sdk

  • 从官方仓库拉取

如果您的环境能够执行 Makefile(参见 这里),则执行 make docker-build

否则,可以使用 docker buildx build . --platform=linux/amd64 -t ghcr.io/mostly-ai/sdk 代替。

启动容器

这将在容器内的端口 8080 上启动 SDK 的 LOCAL 模式。

如果您的环境能够执行 Makefile,则执行 make docker-run。或者使用 make docker-run HOST_PORT=8080 将端口转发到您选择的主机端口。还可以通过 make docker-run HOST_LOCAL_DIR=/path/to/host/folder 挂载 local_dir,使生成器和合成数据集可以直接从主机访问。

否则,可以使用 docker run --platform=linux/amd64 -p 8080:8080 ghcr.io/mostly-ai/sdk。此外,您可以使用 -v 标志挂载 ,以便在主机和容器之间传递文件。

连接到容器

现在,您可以通过在主机上以 CLIENT 模式初始化 SDK,连接到容器内运行的 SDK。

from mostlyai.sdk import MostlyAI

mostly = MostlyAI(base_url="http://localhost:8080")

空气隔离环境

对于空气隔离环境(无互联网访问),您必须使用提供的 wheel 文件安装软件包,并包含所需的可选依赖项。

如果您的应用依赖于 Hugging Face 语言模型,还需要手动下载并传输模型文件。

从 Hugging Face Hub 下载模型

在一台有互联网连接的机器上,运行以下 Python 脚本,将 Hugging Face 模型下载到您本地的 Hugging Face 缓存中。

#! uv pip install huggingface-hub
from pathlib import Path
from huggingface_hub import snapshot_download
path = snapshot_download(
    repo_id="Qwen/Qwen2.5-Coder-0.5B",  # 根据需要更改
    token=None,  # 对于受保护的模型,请插入您的 HF TOKEN
)
print(f"COPY `{Path(path).parent.parent}`")

接下来,将打印出的目录传输到空气隔离环境的缓存目录 ~/.cache/huggingface/hub/ 中(或者如果设置了 HF_HOME 环境变量,则传输到该目录)。

引用

如果您觉得我们的项目有用,请考虑引用它:

@misc{mostlyai,
      title={利用开源合成数据 SDK 民主化表格数据访问},
      author={伊沃娜·克尔乔娃、玛丽亚娜·瓦尔加斯·维埃拉、马里奥·斯克里米纳奇、安德烈·西多连科},
      year={2025},
      eprint={2508.00718},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2508.00718},
}

版本历史

5.10.12026/01/09
5.10.02026/01/08
5.9.22025/12/12
5.9.12025/12/12
5.9.02025/12/12
5.8.32025/12/05
5.8.22025/11/28
5.8.12025/11/26
5.8.02025/11/25
5.7.02025/11/18
5.6.12025/11/13
5.6.02025/11/13
5.5.12025/11/05
5.5.02025/11/03
5.4.22025/10/24
5.4.12025/10/24
5.4.02025/10/24
5.3.42025/10/20
5.3.32025/10/14
5.3.22025/10/12

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

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 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架