当前位置: 首页 > news >正文

ThirdAI 的私有和可个性化神经数据库:增强检索增强生成(第 3/3 部分)

这是我们关于使用检索增强生成构建 AI 代理的系列的最后一章 3/3)。在第 1/3 部分中,我们讨论了断开连接的嵌入和基于矢量的检索管道的局限性。在第 2/3 部分中,我们介绍了神经数据库,它消除了存储和操作繁重且昂贵的嵌入的需要。相反,它使用简单统一的端到端可学习检索系统。我们认为嵌入表示比文本数据本身重 3-25 倍,而神经数据库只需要几十亿个参数网络和简单的整数哈希表(开销小于 20GB),即使是数百 GB TB 的文本,导致内存使用量显着减少。

在第 2/3 部分结束时,我们强调了 ThirdAI 经科学证明的“动态稀疏性”,这是构建和部署 CPU 上神经数据库所需的 LLM 的关键功能。为了使神经数据库广泛适用,具有简单商用的CPU基础设施应该就足以进行训练和部署。

ThirdAI特点:使NeuralDB在商用CPU上具有商业可行性的两大突

下图说明了ThirdAINeuralDB系统的组件。NeuralDB 是一个新概念,它的实现是专业且罕见的,主要存在于 Meta 等特定行业中。然而,为了使NeuralDB商业化,需要一个独特的专家团队来结合制作神经网络的专业知识及其与高度并行化哈希表的检索系统的集成。在做出设计选择和自动化内部流程方面需要多年的经验才能使其广泛访问。

ThirdAI团队一直处于这些想法的最前沿。我们的创始人和团队成员开创了一些关于端到端和高效学习检索系统的最早工作。最后引用了14 NIPS最佳论文)、NeurIPS 2019ICLR 2020KDD 2022的关键论文。

我们的 NeuralDB 需要大型语言模型 LLM),将文本映射到离散存储桶的大空间中。存储桶的范围可以轻松达到数百万甚至更多,而 GPT 型号通常处理的输出空间仅为 50k。如果没有 ThirdAI 的“动态稀疏”BOLT 引擎,在 CPU 上使用如此大的 LLM 进行训练、微调和执行推理是不可能的。这个独特的软件堆栈由 ThirdAI 开创,是我们方法不可或缺的一部分。

应该注意的是,采用这些能力完全在CPU上运行NeuralDB所有操作至关重要,特别是对于使用NeuralDBPocketLLM等应用程序。该技术使最先进的神经搜索系统能够在笔记本电脑和台式机上使用,迎合计算资源有限的一般无代码用户。

在我们深入研究ThirdAINeuralDB API及其与langchainChatGPT的无缝集成之前,我们总结了神经数据库相对于现有生态系统的差异和优势,如上表所示。

ThirdAI的轻量级NeuralDB Python API,适用于任何环境(内部部署或云上

我们很高兴推出我们的NeuralDB API,这是一个仅限CPU语义检索生态系统。我们的 NeuralDB 提供高级语义搜索和微调功能,以及简单、自动调优的 API,以提供轻松的用户体验。这些功能也可以在笔记本电脑/台式机(WindowsMac)上使用PocketLLM应用程序提供的无代码UI界面进行访问。

  1. 对插入的文本进行自动自监督预训练:将任何原始文本插入 NeuralDB 中,并带有一个标志,以便对新数据进行额外的微调。该标志在预训练过程中启动,允许 NeuralDB 专注于理解插入文本中的共现。此过程适用于各种输入,例如日志、代码甚至多语言数据。与现有的固定和预训练嵌入模型不同,自监督预训练使 NeuralDB 能够实现领域专业化,从而在端到端检索方面提供了重大升级。
  2. NeuralDB 的监督训练:除了自我监督的预训练外,NeuralDB 还可以以监督的方式进行训练。您可以利用文本到文本映射(弱或强)来指定应彼此接近的文本信息,类似于嵌入模型的对比训练。此外,可以使用从文本到已知类别的任何监督映射,例如将用户查询映射到产品的产品搜索引擎。
  3. 具有人工反馈的实时强化学习NeuralDB可以使用人工实时反馈进一步完善。NeuralDB API 支持两种形式的人工反馈。首先,可以使用首选项信息,其中用户对几个检索到的选项中的最佳选项竖起大拇指或点赞。其次,可以引导模型以在线方式关联两个不同的文本字符串,类似于监督训练。例如,您可以对齐 NeuralDB 以了解石油行业术语,其中WOWWait On Weather相关联。

NeuralDB API 功能提供对检索生态系统的精确控制和个性化。您不再需要仅仅依靠开源社区或现有的LLM服务提供商来改进AI模型以满足您的特定需求。借助 NeuralDB,您可以负责并提供最适合您业务需求的愿景和改进。这是人工智能对每个人的真正民主化。

人工智能社区已经认识到从 ChatGPT 的成功中吸取了关键教训:即使是最先进的人工智能系统也需要不断的人类专家反馈。我们的NeuralDB在设计时就考虑到了这一点。实现高质量的 AI 模型是一个持续的过程,涉及持续的训练、微调和强化学习。

NeuralDB:急需减少AI软件堆

LLM(大型语言模型)堆栈变得越来越复杂,具有多层和组件,超过了传统AI堆栈的复杂性。开发人员意识到,每个组件都会增加更多的摩擦、不确定性、故障点、成本和延迟。嵌入模型所需的繁重 GPU 基础设施迫使开发人员构建一个低效的生态系统,在 CPU GPU 之间不断移动数据。简而言之,涉及的组件和数据移动越多,管理和调试流程就越困难。

ThirdAI,独特的技术使我们能够通过消除中间嵌入表示的生成和管理来显着简化LLM堆栈。通过与数据共置并消除 CPU GPU 之间的来回数据移动,我们实现了优先考虑隐私、稳定性和可靠性的简化堆栈。

资源、Notebook和 PubMed 问答 NeuralDB

我们所有的 API 都总结在这个简单的 Python 笔记本中。要使用它们,您可以在此处申请免费的 ThirdAI 许可证。这些笔记本电脑可以在笔记本电脑上高效运行,在短短几分钟内处理数千页。例如,我们有一个完全免费的NeuralDB,它是在800k Pubmed抽象数据集上预先训练的。它在几个小时内在单个CPU上进行了训练。您可以下载模型,并使用提供的脚本直接将其用于问答。

  1. BLISS:使用迭代重新分区的十亿级索引。
    Gaurav GuptaTharun Medini,  Anshumali Shrivastava Alex Smola

    SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD) 2022.
  2. SOLAR:稀疏正交学习和随机嵌入。
    Tharun Medini, Beidi Chen, Anshumali ShrivastavaInternational Conference on Learning Representations (ICLR) 2021.
  3. 使用最小计数草图的日志内存中的极端分类:使用 50M 产品的亚马逊搜索案例研究。
    Tharun MediniQixuan HuangYiqiu WangVijai MohanAnshumali Shrivastava
    Neural Information Processing Systems (NeurIPS) 2019.
  4. 非对称 LSH (ALSH) 用于次线性时间最大内积搜索 (MIPS)。
    Anshumali Shrivastava and Ping Li.
    Neural Information Processing Systems (NIPS) 2014 Best Paper Award.
     

相关文章:

ThirdAI 的私有和可个性化神经数据库:增强检索增强生成(第 3/3 部分)

这是我们关于使用检索增强生成构建 AI 代理的系列的最后一章 (3/3)。在第 1/3 部分中,我们讨论了断开连接的嵌入和基于矢量的检索管道的局限性。在第 2/3 部分中,我们介绍了神经数据库,它消除了存储和操作繁重且昂贵的…...

C# 解决TCP Server 关不掉客户端连接的问题

问题描述 拷贝了一段 TCP Server的应用代码,第一次运行正常,但是关闭软件或者实现disconnectclose后都无法关闭端口连接。 关闭之后,另外一个客户端还在正常与PC连接。 TCP Server 重新运行,无法接收到客户端的连接。 复现环境…...

JS判断类型的方法和对应的局限性(typeof、instanceof和Object.prototype.toString.call()的用法)

JS判断类型的方法和对应的局限性(typeof、instanceof和Object.prototype.toString.call()的用法) 一、typeof 返回: 该方法返回小写字符串表示检测数据属于什么类型,例如: 检测函数返回function 可判断的数据类型&#xff1a…...

mongostat跟踪Mongodb运行的状态

版本控制 从 MongoDB 4.4 开始,mongostat 现在与 MongoDB 服务器分开发布,并使用自己的版本控制,初始版本为100.0.0. 之前, mongostat 与 MongoDB Server 一起发布并使用匹配的版本控制。 兼容性 mongostat 版本100.7.3支持以下…...

华为数通HCIA-数通网络基础

基础概念 通信:两个实体之间进行信息交流 数据通信:网络设备之间进行的通信 计算机网络:实现网络设备之间进行数据通信的媒介 园区网络(企业网络)/私网/内网:用于实现园区内部互通,并且需要部…...

【设计模式】详解单例设计模式(包含并发、JVM)

文章目录 1、背景2、单例模式3、代码实现1、第一种实现(饿汉式)为什么属性都是static的?2、第二种实现(懒汉式,线程不安全)3、第三种实现(懒汉式,线程安全)4、第四种实现…...

监控和可观察性在 DevOps 中的作用!

在不断发展的DevOps世界中,深入了解系统行为、诊断问题和提高整体性能的能力是首要任务之一。监控和可观察性是促进这一过程的两个关键概念,为系统的健康状况和性能提供有价值的可见性。虽然这些术语经常互换使用,但它们代表了理解和管理复杂…...

论文分享:PowerTCP: Pushing the Performance Limits of Datacenter Networks

1 原论文的题目(中英文)、题目中包含了哪些关键词?这些关键词的相关知识分别是什么? 题目:PowerTCP: Pushing the Performance Limits of Datacenter Networks PowerTCP:逼近数据中心的网络性能极限 2 论…...

浏览器的同源策略 - 跨域问题

1.什么是跨域 跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制: 无法访问其他源下的网页的 Cookies,Storage等;无法访问其他源下的DOM对象和 JS 对象;无法使…...

go 查询采购单设备事项[小示例]V2-两种模式{严格,包含模式}

第一版: https://mp.csdn.net/mp_blog/creation/editor/131979385 第二版: 优化内容: 检索数据的两种方式: 1.严格模式--找寻名称是一模一样的内容,在上一个版本实现了 2.包含模式,也就是我输入检索关…...

c++11 标准模板(STL)(std::basic_filebuf)(八)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_filebuf : public std::basic_streambuf<CharT, Traits> std::basic_filebuf 是关联字符序列为文件的 std::basic_streambuf 。输入序…...

行为型模式之解释器模式

解释器模式&#xff08;Interpreter Pattern&#xff09; 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为设计模式&#xff0c;它用于对语言的文法进行解释和解析&#xff0c;以实现特定的操作。 在解释器模式中&#xff0c;存在以下几个角色&#xff1a; 抽…...

阿里云域名备案

最好的爱情&#xff0c;不是因为我们彼此需要在一起&#xff0c;而是因为我们彼此想要在一起。 阿里云的域名如何备案&#xff0c;域名备案和ICP备案一样吗&#xff1f;&#xff1f; 截至我所掌握的知识&#xff08;2021年9月&#xff09;&#xff0c;阿里云的域名备案和ICP备案…...

Clion开发Stm32之温湿度传感器(DS18B20)驱动编写和测试

前言 涵盖之前文章: Clion开发STM32之HAL库GPIO宏定义封装(最新版)Clion开发stm32之微妙延迟(采用nop指令实现)Clion开发STM32之日志模块(参考RT-Thread) DSP18B20驱动文件 头文件 /*******************************************************************************Copy…...

文档管理NAS储存安全吗?

关键词&#xff1a;私有化、知识管理系统、文档管理、群晖NAS、协同编辑 随着企业不断发展扩大&#xff0c;企业的知识文档也逐渐增多&#xff0c;很多企业方便管理及考虑数据安全问题会将文件数据储存至NAS。 但将企业文档数据放在NAS上就足够安全的吗&#xff1f; 天翎文档管…...

用windeployqt.exe打包Qt代码

首先找到我们编译Qt代码的对应Qt版本的dll目录&#xff0c;该目录下有windeployqt.exe&#xff1a; D:\DevTools\Qt\5.9\msvc2017_64\bin 在这个目录下打开cmd程序。 然后把要打包的exe放到一个单独的目录下&#xff0c;比如&#xff1a; 然后在cmd中调用&#xff1a; winde…...

【Python机器学习】实验04(2) 机器学习应用实践--手动调参

文章目录 机器学习应用实践1.1 准备数据此处进行的调整为&#xff1a;要所有数据进行拆分 1.2 定义假设函数Sigmoid 函数 1.3 定义代价函数1.4 定义梯度下降算法gradient descent(梯度下降) 此处进行的调整为&#xff1a;采用train_x, train_y进行训练 1.5 绘制决策边界1.6 计算…...

【爬虫案例】用Python爬取iPhone14的电商平台评论

用python爬取某电商网站的iPhone14评论数据&#xff0c; 爬取目标&#xff1a; 核心代码如下&#xff1a; 爬取到的5分好评&#xff1a; 爬取到的3分中评&#xff1a; 爬取到的1分差评&#xff1a; 所以说&#xff0c;用python开发爬虫真的很方面&#xff01; 您好&…...

01)docker学习 centos7离线安装docker

docker学习 centos7离线安装docker 在实操前可以先看下docker教程,https://www.runoob.com/docker/docker-tutorial.html , 不过教程上都是在线安装方式,很方便,离线安装肯定比如在线麻烦点。 一、什么是Docker 在学习docker时,在网上看到一篇博文讲得很好,自己总结一下…...

前端 - 实习两个星期总结

文章目录 吐槽总结新人建议项目学习到的 今天已经是菜鸟实习的第二个星期了&#xff0c;怎么说呢&#xff0c;反正就是进的一个不大不小的厂&#xff0c;做着不难不易的事&#xff0c;菜鸟现在主要做的就是适配&#xff01;现在就来总结一下&#xff0c;不过这之前&#xff0c;…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学

一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件&#xff0c;其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时&#xff0c;价带电子受激发跃迁至导带&#xff0c;形成电子-空穴对&#xff0c;导致材料电导率显著提升。…...