ThirdAI 的私有和可个性化神经数据库:增强检索增强生成(第 3/3 部分)
这是我们关于使用检索增强生成构建 AI 代理的系列的最后一章 (3/3)。在第 1/3 部分中,我们讨论了断开连接的嵌入和基于矢量的检索管道的局限性。在第 2/3 部分中,我们介绍了神经数据库,它消除了存储和操作繁重且昂贵的嵌入的需要。相反,它使用简单统一的端到端可学习检索系统。我们认为嵌入表示比文本数据本身重 3-25 倍,而神经数据库只需要几十亿个参数网络和简单的整数哈希表(开销小于 20GB),即使是数百 GB 到 TB 的文本,导致内存使用量显着减少。
在第 2/3 部分结束时,我们强调了 ThirdAI 经科学证明的“动态稀疏性”,这是构建和部署 CPU 上神经数据库所需的 LLM 的关键功能。为了使神经数据库广泛适用,具有简单商用的CPU基础设施应该就足以进行训练和部署。
ThirdAI特点:使NeuralDB在商用CPU上具有商业可行性的两大突破
下图说明了ThirdAI的NeuralDB系统的组件。NeuralDB 是一个新概念,它的实现是专业且罕见的,主要存在于 Meta 等特定行业中。然而,为了使NeuralDB商业化,需要一个独特的专家团队来结合制作神经网络的专业知识及其与高度并行化哈希表的检索系统的集成。在做出设计选择和自动化内部流程方面需要多年的经验才能使其广泛访问。
ThirdAI团队一直处于这些想法的最前沿。我们的创始人和团队成员开创了一些关于端到端和高效学习检索系统的最早工作。最后引用了14 NIPS(最佳论文)、NeurIPS 2019、ICLR 2020、KDD 2022的关键论文。
我们的 NeuralDB 需要大型语言模型 (LLM),将文本映射到离散存储桶的大空间中。存储桶的范围可以轻松达到数百万甚至更多,而 GPT 型号通常处理的输出空间仅为 50k。如果没有 ThirdAI 的“动态稀疏”BOLT 引擎,在 CPU 上使用如此大的 LLM 进行训练、微调和执行推理是不可能的。这个独特的软件堆栈由 ThirdAI 开创,是我们方法不可或缺的一部分。
应该注意的是,采用这些能力完全在CPU上运行NeuralDB所有操作至关重要,特别是对于使用NeuralDB的PocketLLM等应用程序。该技术使最先进的神经搜索系统能够在笔记本电脑和台式机上使用,迎合计算资源有限的一般无代码用户。
在我们深入研究ThirdAI的NeuralDB API及其与langchain和ChatGPT的无缝集成之前,我们总结了神经数据库相对于现有生态系统的差异和优势,如上表所示。
ThirdAI的轻量级NeuralDB Python API,适用于任何环境(内部部署或云上)
我们很高兴推出我们的NeuralDB API,这是一个仅限CPU的“语义检索”生态系统。我们的 NeuralDB 提供高级语义搜索和微调功能,以及简单、自动调优的 API,以提供轻松的用户体验。这些功能也可以在笔记本电脑/台式机(Windows和Mac)上使用PocketLLM应用程序提供的无代码UI界面进行访问。
- 对插入的文本进行自动自监督预训练:将任何原始文本插入 NeuralDB 中,并带有一个标志,以便对新数据进行额外的微调。该标志在预训练过程中启动,允许 NeuralDB 专注于理解插入文本中的共现。此过程适用于各种输入,例如日志、代码甚至多语言数据。与现有的固定和预训练嵌入模型不同,自监督预训练使 NeuralDB 能够实现领域专业化,从而在端到端检索方面提供了重大升级。
- NeuralDB 的监督训练:除了自我监督的预训练外,NeuralDB 还可以以监督的方式进行训练。您可以利用文本到文本映射(弱或强)来指定应彼此接近的文本信息,类似于嵌入模型的对比训练。此外,可以使用从文本到已知类别的任何监督映射,例如将用户查询映射到产品的产品搜索引擎。
- 具有人工反馈的实时强化学习:NeuralDB可以使用人工实时反馈进一步完善。NeuralDB API 支持两种形式的人工反馈。首先,可以使用首选项信息,其中用户对几个检索到的选项中的最佳选项竖起大拇指或点赞。其次,可以引导模型以在线方式关联两个不同的文本字符串,类似于监督训练。例如,您可以对齐 NeuralDB 以了解石油行业术语,其中“WOW”与“Wait 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上进行了训练。您可以下载模型,并使用提供的脚本直接将其用于问答。
引用
- BLISS:使用迭代重新分区的十亿级索引。
Gaurav Gupta, Tharun Medini, Anshumali Shrivastava 和 Alex Smola
SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD) 2022. - SOLAR:稀疏正交学习和随机嵌入。
Tharun Medini, Beidi Chen, Anshumali ShrivastavaInternational Conference on Learning Representations (ICLR) 2021. - 使用最小计数草图的日志内存中的极端分类:使用 50M 产品的亚马逊搜索案例研究。
Tharun Medini,Qixuan Huang,Yiqiu Wang,Vijai Mohan,Anshumali ShrivastavaNeural Information Processing Systems (NeurIPS) 2019. - 非对称 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 可判断的数据类型:…...

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 。输入序…...

行为型模式之解释器模式
解释器模式(Interpreter Pattern) 解释器模式(Interpreter Pattern)是一种行为设计模式,它用于对语言的文法进行解释和解析,以实现特定的操作。 在解释器模式中,存在以下几个角色: 抽…...

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

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

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

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

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

【爬虫案例】用Python爬取iPhone14的电商平台评论
用python爬取某电商网站的iPhone14评论数据, 爬取目标: 核心代码如下: 爬取到的5分好评: 爬取到的3分中评: 爬取到的1分差评: 所以说,用python开发爬虫真的很方面! 您好&…...

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

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

MySQL——主从复制
1.理解MySQL主从复制原理。 2.完成MySQL主从复制。 1.理解MySQL主从复制原理。 1)、MySQL支持的复制类型 (1)、基于语句( statement )的复制 在主服务器上执行SQL 语句,在从服务器上执行同样的语句。 My…...

报表下载工具
1.需求说明 我有一堆文件的Url地址, 现在需要按照企业,项目和报表类型分类下载到对应的文件夹中 2.相关实体类 企业文件夹定义 package com.vz.utils.report;import lombok.Data; import java.util.ArrayList; import java.util.List; import java.uti…...

树及其遍历
文章目录 树树定义专业术语树分类 二叉树分类存储连续存储(完全二叉树)链式存储一般树的存储森林的存储 线索二叉树哈夫曼树构造步骤 遍历先序遍历中序遍历后续遍历 链式二叉树遍历具体代码已知两种遍历序列求原始二叉树已知先序和中序求后序已知中序和后…...

Qt报错解决办法
anaconda环境安装qt报错解决办法 报错:thresholdGap: 20 pointsShape: 164142 qt.qpa.plugin: Could not find the Qt platform plugin “wayland” in “/home/tianhailong/anaconda3/envs/edge_algorithm/lib/python3.8/site-packages/cv2/qt/plugins” This app…...

Python(四十七)列表对象的创建
❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…...

#systemverilog# 说说Systemverilog中《automatic》那些事儿
前面我们学习了有关systemverilog语言中有关《static》的一些知识,同static 关系比较好的哥们,那就是 《automatic》。今天,我们了解认识一下。 在systemveriog中,存在三种并发执行语句,分别是fork..join,fork...join_any和fork..join_none,其中只有fork...join_none不…...

C/C++ 动态内存分配与它的指针变量
一、什么是内存的动态分配 全局变量分配在内存中的静态存储区。局部变量(包括形参)分配在内存中的动态存储区,这个存储区是一个称为栈的区域。除此之外,C语言还允许建立内存动态分配区域,以存放一些临时用的数据&…...

UE5初学者快速入门教程
虚幻引擎是一系列游戏开发工具,能够将 2D 手机游戏制作为 AAA 游戏机游戏。虚幻引擎 5 用于开发下一代游戏,包括Senuas Saga: Hellblade 2、Redfall(来自 Arkane Austin 的合作射击游戏)、Dragon Quest XII: The Flames of Fate、…...

论文笔记--FEDERATED LEARNING: STRATEGIES FOR IMPROVING COMMUNICATION EFFICIENCY
论文笔记--FEDERATED LEARNING: STRATEGIES FOR IMPROVING COMMUNICATION EFFICIENCY 1. 文章简介2. 文章概括3 文章重点技术3.1 联邦学习(federated learning, FL)3.2 Structured updates3.3 Sketched Update 4. 文章亮点5. 原文传送门 1. 文章简介 标题:FEDERATE…...

STM32MP157驱动开发——按键驱动(异步通知)
文章目录 “异步通知 ”机制:信号的宏定义:信号注册 APP执行过程驱动编程做的事应用编程做的事异步通知方式的按键驱动程序(stm32mp157)button_test.cgpio_key_drv.cMakefile修改设备树文件编译测试 “异步通知 ”机制: 信号的宏定义&#x…...