下一代搜索引擎会什么?

        现在是北京时间2023年11月18日。聊一聊搜索。

        说到搜索,大家首先想到的肯定是谷歌,百度。我把这些定义成上一个时代的搜索引擎。ChatGPT已经火热了有一年的时间了,大家都认为Ai搜索是下一代的搜索。但是AI搜索,需要的是很大算力,需要很大存储空间。至今为止又有多少个公司能够真的去做AI搜索呢?普通的公司又能够做什么呢?

        ChatGPT是大模型,它的数据总是停留在历史的某个时间点上,目前来看,它对新事物的了解还是很慢的,并不能时时刻刻把新的内容加入到知识库中。未来在更强大的算力进步下,或许会实现。但是我觉得下一代的搜索仍然需要和上一代的搜索结合。这会是一个漫长的过渡期。很显然,大家也都是这么玩的。它叫做搜索增强。

        上一代传统搜索

        上一代的搜索引擎的关键是关键词匹配。这里还是以elasticsearch为例,关键词匹配,BM25相关性算法,来决定数据的召回。这种基于关键词的匹配技术,是存在很多弊端的,它的召回能力,效果也有限。大家更喜欢AI搜索这种模式,通常AI搜索给的答案,更接近问题本身。而在传统的搜索模式下,通常就是问一个问题,然后返回你几条数据,然后再在这几条数据中,人工获取答案。悲伤的是,这几条数据里边未必有我们的结果。

       传统搜索与大模型构造增强式搜索引擎

        最简单的玩法就是,把召回的结果,给大模型,然后由大模型总结整理一个答案。其实这个过程就是省去了使用者思考的过程。为使用者带来很大的便利性。这正是被更多人追捧的原因。最典型的就是bing的搜索。它就是这么玩的,这样以来,弥补了大模型的知识停留在历史的某个阶段的问题。

       传统搜索的未来

        除了上述的搜索增强,我觉得下个时代的搜索,还是会有很大变化空间的。有的公司在说神经搜索,有的人在说语义检索,还有人在说跨模态检索。总之,大家都期望搜索能够有更强大的能力。推荐基于深度学习的神经语义搜索 - 智源社区 看看这篇文章,详细了解神经搜索(NLP模型 )。

        其实上述的搜索目标,实现起来都是一种形式。大模型 + 向量,通过大模型将各种模态的数据,图片,文本,声音等等各种形式的内容,映射成向量。但是下个时代的到来,还有几个问题等待解决。第一个是算力问题,把文本或者图片,使用大模型转成向量,需要算力,这个过程是非常慢的。第二个是存储和检索问题,这些转完的向量如何存储,如何高效快速检索。因为通常文本内容,例如一篇文章,通常需要先进行分割,按照行或者按照段落做切分,然后再对切分后的内容使用模型转成向量。每个向量通常是一个512维度甚至更高维度的浮点型数组。这让原本的存储空间变得更大。所以存储是一个问题。除了存储的问题,在向量中做检索,通常是计算完成的。在海量数据中做检索已经很难了,在限量中做计算,需要的算力资源又是一个难题。我在一台128G内存96核心的服务器上使用elasticsearch做存储和检索,亿级数据的检索性能已经是一个比较大的问题了。在千万级向量中检索是毫秒级别。

        未来的搜索如何玩

        想要做起来很容易。选取适合自己的模型,可以在huggingFace上看一看。https://huggingface.co/models

        首先先拿文本来说,需要做文本嵌入,寻找text-vex的模型,这里推荐一个 可以看看。https://huggingface.co/moka-ai/m3e-base

        假如想做多模态搜索,又需要特定的模型。效果较好的例如Clip,https://huggingface.co/openai/clip-vit-base-patch32 

        然后把转好的向量使用向量库存起来。这里我是用的elasticsearch 8.X版本。因为我本来就是做es搜索的,对elasticsearch非常熟悉。其实也调研了非常多的向量数据库,在大规模数据下,es的读写性能都是非常出色的。至少单个节点去解决千万级别的向量数据的存储和检索还是很轻松的,优化万了以后,性能在毫秒级别。

        跑起来总是很容易。想要有更好的效果却是不容易的。对于选模型来说,是一个问题,而且要经过大量的测试对比各个模型的效果才行。并且非常可能面临着模型不符合自己的使用场景的问题,可能又要对模型进行微调。在huggingFace上,模型非常多,但是多数都是用英文语料训练的模型。往往不能够满足我们的需求。此外数据向量化的工程问题,又要去写挺多的代码,跑起来速度又不行,又需要进行调优。关于数据转向量工程化的内容,推荐一下Jina AI · GitHub。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/197594.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Theory behind GAN

假如要生成一些人脸图,实际上就是想要找到一个分布,从这个分布内sample出来的图片像是人脸,分布之外生成的就不像人脸。而GAN要做的就是找到这个distribution。 在GAN之前用的是Maximum Likelihood Estimation。 Maximum Likelihood Estimat…

CI/CD --git版本控制系统

目录 一、git简介 二、git使用 三、github远程代码仓库 一、git简介 Git特点: 速度简单的设计对非线性开发模式的强力支持(允许成千上万个并行开发的分支)完全分布式有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数…

4.Pod详解【四】

文章目录 4. Pod详解4.1 Pod介绍4.1.1 Pod结构4.1.2 Pod定义 4.2 Pod配置4.2.1 基本配置4.2.2 镜像拉取4.2.3 启动命令4.2.4 环境变量4.2.5 端口设置4.2.6 资源配额 4.3 Pod生命周期4.3.1 创建和终止4.3.2 初始化容器4.3.3 钩子函数4.3.4 容器探测4.3.5 重启策略 4.4 Pod调度4.…

Sectigo证书——全球SSL证书第一品牌

随着互联网技术的发展和网络安全意识的提升,SSL证书已经成为确保网络数据传输安全的重要工具。而在众多SSL证书品牌中,Sectigo无疑是其中的佼佼者,被誉为“全球证书第一品牌”。 Sectigo是一个有着超过二十年行业经验的老牌认证机构&#xff…

卷积神经网络(CNN)衣服图像分类的实现

文章目录 前期工作1. 设置GPU(如果使用的是CPU可以忽略这步)我的环境: 2. 导入数据3.归一化4.调整图片格式5. 可视化 二、构建CNN网络模型三、编译模型四、训练模型五、预测六、模型评估 前期工作 1. 设置GPU(如果使用的是CPU可以…

图像分类(六) 全面解读复现MobileNetV1-V3

MobileNetV1 前言 MobileNetV1网络是谷歌团队在2017年提出的,专注于移动端和嵌入设备的轻量级CNN网络,相比于传统的神经网络,在准确率小幅度降低的前提下大大减少模型的参数与运算量。相比于VGG16准确率减少0.9%,但模型的参数只…

Swin Transformer

Swin Transformer 简介 下采样的层级设计,能够逐渐增大感受野。采用window进行注意力计算,极大降低了内存消耗,避免了整张图像尺寸大小的qkv矩阵滑窗操作包括不重叠的 local window,和重叠的 cross-window。不重叠的local window…

leetcode34.排序数组中查找元素第一个和最后一个位置两种解题方法(超详细)

34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/?envTypelist&envIdZCa7r67M这道题,读者可能会说这道题有什么好…

云计算(Docker)

Docker简介 Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从 Apache2.0 协议开源。它可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 可用于开发…

详解ssh远程登录服务

华子目录 简介概念功能 分类文字接口图形接口 文字接口ssh连接服务器浅浅介绍一下加密技术凯撒加密加密分类对称加密非对称加密非对称加密方法(也叫公钥加密) ssh两大类认证方式:连接加密技术简介密钥解析 ssh工作过程版本协商阶段密钥和算法…

程序员如何做事更细致?

最近在工作中老是犯一些小错误,哦,当然也不是最近了,其实我一直是个马虎的人,我很讨厌做一些细活,因为这会让我反复改动多次在会成功,而平时的代码由于有debug,即便出错了,再改回来即…

基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0809实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0809实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍模数芯片ADC0809介绍通过模数芯片ADC0809把电压模…

Java Swing商品信息查询系统

内容要求 1) 本次程序设计是专门针对 Java 课程的,要求使用 Java 语言进行具有一定代码量的程序开发。程序的设计要结合一定的算法,在进行代码编写前要能够设计好自己的算法。 2)本次程序设计涉及到 Java 的基本语法,即课堂上所…

redis高级案列case

案列一 双写一致性 案例二 双锁策略 package com.redis.redis01.service;import com.redis.redis01.bean.RedisBs; import com.redis.redis01.mapper.RedisBsMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; imp…

基于STC12C5A60S2系列1T 8051单片机的模数芯片ADC0832实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0832实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍模数芯片ADC0832介绍通过模数芯片ADC0832把电压模…

【python】OpenCV—Rectangle, Circle, Selective Search(1.2)

文章目录 1 画框画圈1.1 画矩形框1.2 画圆 / 点1.3 椭圆 2 Selective Search3 Resize 1 画框画圈 1.1 画矩形框 # Copy the image img_rgb_copy img_rgb.copy()# Draw a rectangle cv2.rectangle(img_rgb_copy, pt1 (405, 90), pt2 (740, 510),color (255, 0, 0), thickne…

4种经典的限流算法

0、基础知识 1000毫秒内,允许2个请求,其他请求全部拒绝。 不拒绝就可能往db打请求,把db干爆~ interval 1000 rate 2; 一、固定窗口限流 固定窗口限流算法(Fixed Window Rate Limiting Algorithm)是…

文件传输客户端 SecureFX mac中文版支持多种协议

SecureFX mac是一款功能强大的文件传输客户端,可在 Mac 操作系统上使用。它由 VanDyke Software 公司开发,旨在为用户提供安全、可靠、高效的文件传输服务。 SecureFX 支持多种协议,包括 SFTP、SCP、FTP、FTP over SSL/TLS 和 HTTP/S。它使用…

支持4KHz回报还能无线充电,简约不简单的雷柏VT3S游戏鼠标上手

这两年国产鼠标的表现很让人惊喜,不仅外观做工越来越精细,配置也越来越强大,当然价格依然亲民。现在很容易找到一款搭载高端传感器、响应速度快、电池续航时间长,并且还支持无线充电的全能型鼠标。 我之前用雷柏的鼠标比较多&…