PostgresML是基于PostgreSQL构建的完整MLOps平台。

    将模型移到数据库中,而不是不断地将数据传输到模型中。

    与模型相比,ML和AI系统的数据本质上更大且更动态。将模型移至数据库中,而不是不断地将数据传输到模型中,更加高效、可管理和可靠。PostgresML允许您利用数据和模型之间的基本关系,通过以下能力和目标扩展数据库:

    • 模型服务 - 用于交互式应用程序的GPU加速推断引擎,无需额外的网络延迟或可靠性成本。
    • 模型存储 - 下载包括来自HuggingFace的最新LLMs等开源模型,并跟踪版本之间性能变化。
    • 模型训练 - 使用超过50种算法对应用程序数据进行回归、分类或聚类任务的模型训练。微调预训练模型,如LLaMA和BERT以提高性能。
    • 特征存储 - 可伸缩访问模型输入,包括矢量、文本、分类和数值数据。将矢量数据库、文本搜索、知识图和应用程序数据统一到一个低延迟系统中。

    概览 - 图1

    PostgresML处理通常由a16z描述的一堆服务执行的所有功能。

    这些功能主要由两个开源软件项目提供,可以独立使用,但设计为与Postgres生态系统的其他部分一起使用,包括受信任的扩展,如pgvector和pg_partman。

    • pgml 是 PostgreSQL 的一个开源扩展。它通过SQL API在数据库内部添加对GPU和最新的ML&AI算法的支持,无需额外的基础设施、网络延迟或可靠性成本。

    • PgCat 是 PostgreSQL 的一个开源代理池。它抽象了管理分布式Postgres数据库集群的可伸缩性和可靠性问题。客户端应用程序仅连接到代理,代理处理负载均衡和故障切换,不依赖于任何单个数据库。

    概览 - 图2

    此外,PostgresML提供本地语言的SDK,用于实现常见ML&AI应用的最佳实践。JavaScript和Python SDK是从核心Rust SDK生成的,以在所有应用程序运行时提供相同的API、正确性和效率。

    SDK客户端可以在单个SQL请求中执行高级机器学习任务,无需将额外的数据、模型、硬件或依赖传输到客户端应用程序。例如:

    • 使用最新的LLMs进行具有流式响应支持的聊天
    • 使用关键字和嵌入矢量进行搜索
    • 在单个请求中使用RAG进行文本生成
    • 在数百种语言对之间翻译文本
    • 摘要以提炼复杂文档
    • 用于关键指标的时间序列数据预测,具有复杂的元数据
    • 使用应用程序数据进行欺诈和异常检测

    我们的目标是为所有人提供对开源AI的访问。PostgresML在不断发展中,以跟上ML&AI的迅速演变的用例,并根据SemVer发布带有次要版本更新的非破坏性更改。我们欢迎对我们的开源代码和文档的贡献。

    我们可以在我们的云中托管您的AI数据库,或者您可以在本地运行我们的 Docker 镜像,其中包括 PostgreSQL、pgml、pgvector 和 NVIDIA 驱动程序。