【智算101】为什么用好大模型,离不开“向量数据库“呢

2024-06-11 12:04

本文主要是介绍【智算101】为什么用好大模型,离不开“向量数据库“呢,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关注【云原生AI百宝箱】公众号,获取更多云原生AI消息

图片

大模型离不开向量数据库回答这个问题之前,我们先来理解一下什么是向量。

图片

这是一个苹果,但在发明苹果这个词之前,人们怎么描述它呢?

图片

颜色、大小、形状、纹理,找到更多的特征,就能对苹果的定义更清晰。

图片

把这些特征用数字表述就可以得到一个数组,就是向量。

图片

当复杂的图形变成了计算机熟悉的数字,它就认识苹果了。当新的苹果出现,计算机还能认出来它吗?当然。

图片

图片

因为这些图像,在向量空间中离得最近,相似性最高。今天让我们惊叹不已的人工智能,往往通过上千个向量维度来学习、训练,他们就像是AI大模型的眼睛。

图片

当AI大模型遇上庞大的向量数据,这组黄金搭档如何让硅基生物更聪明呢?以大语言模型为例,简单来说,在训练时,喂给它的词句都会先转化为向量数据。

当训练数据里出现多组类似的语言时,在向量数据组成的高维空间相近的词汇就会距离更近,语言模型就可以逐渐捕捉到词汇间的语义和语法,比如他会更明白苹果西瓜与异常接近,和公交车相差甚远。

图片

接下来模型要对对上下文进行理解,此时transformer架构就开始发挥作用,从每个词自身出发,观察和其他词之间的关系权重

img

云原生AI百宝箱

行万里路,此处相逢,共话云原生AI之道。 偶逗趣事,明月清风,与君同坐。

63篇原创内容

公众号

图片

图片

例如,这句话里很好吃,和关系权重最大,权重结果被当做新的维度记录下来,一句更复杂的话,也转化成了带权重的向量。

图片

语言模型经过查询、计算,生成权重最高的答案输出给你,一次问答就完成了。

实际上,大模型训练推理过程更为复杂,他们需要处理如文本、图像、音视频等大量非结构化数据,并转化为向量数据进行学习。这些数据的规模动辄过亿,向量的维度可能高达数千。

图片

在选择数据库时,传统数据库只能进行行列检索,一一对应,再输出精准的答案。

向量数据库则是专门为非结构化数据检索而设计,它将向量数据组成一个立体高维空间,在空间中进行模糊检索,能够快速输出权重最高的答案。

推荐阅读

  • 叮,你收到一份来自CNCF的云原生景观简介
  • 要魔改Kubernetes,我们可以从哪里扩展
  • 问题排查太烦心,试试GPT的超能力
  • Copa:无需重建镜像,直接修补容器漏洞
  • 玩转K8s网络:16张图带你从小白到专家
  • 1000节点集群,5秒搭建好
  • 流量何处来又往何处去,这次一目了然
  • Kubernetes CNI 插件选型和应用场景探讨
  • 块/文件/对象存储难统一管理,试试这个集大成者
  • GPU越来越难买,如何提高利用率
  • 监控外部服务太复杂?ServiceMonitor 和 PrometheusRule有妙招
  • 容器快了,却不安全了,Rootless 安排上
  • 还在Jenkins点点,快来体验Tekton的灵活自动化
  • 懒人福音:LazyDocker轻松驾驭容器,操作高效省心

这篇关于【智算101】为什么用好大模型,离不开“向量数据库“呢的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1051118

相关文章

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数