首页   >   新闻   >   文章

如何理解“向量化”?
- 2024 -
12/26
19:49
零号员工
发表时间:2024.12.26     作者:Jingyi     来源:ShoelessCai     阅读:13

原标题:如何理解“向量化”?

向量数据库最近很流行,其实顾名思义,就是以向量形式存储的数据库,其物理形式更加偏向非关系型 数据库。点击阅读《了解一些非关系型数据库!》。

具体形式,物理上实际上是一组分布式数据库,依据这种数据库的逻辑划分,用户具有使用和调度的权 限。例如,向量数据库的逻辑层次,从母集到子集依次为,实例、库、集合、文档、字段。

其中,具有操作层面实体的是,库、集合、文档。

/database/create
/database/drop

集合

/collection/create
/collection/drop

集合这个概念,和 SQL 中的“表”在同一层次。

文档

/document/upsert
/document/query
/document/search
/document/delete
/document/update

这个概念是真对一行进行操作。

向量数据库的索引,包括主键索引、向量索引、过滤器索引。

针对向量索引,需要对 raw data 作向量化的操作。

什么是向量化呢?

ShoelessCai 综合部分公开资料:诸如 Python 开发的一系列函数,使得其计算模式更加符 合数学运算规则,而非计算机的运算规则。

举几个提升速度的例子。

1.矩阵乘法 np.dot()

(1)向量化方法

np.dot(x,m.T)
### time = 0.107 seconds

(2)循环方法

for i in range(0,5000000):
    total = 0
    for j in range(0,5):
        total = total + x[i][j]*m[0][j]
    zer[i] = total
### time = 28.228 seconds

2.for + if-else

循环将每行数据分类,遵守 MECE 法则。

(1)向量化方法

df['e'] = df['b'] + df['c']
df.loc[df['a'] <= 25, 'e'] = df['b'] -df['c']
df.loc[df['a']==0, 'e'] = df['d']
### time = 0.28007707595825195 seconds

(2)循环 for + if-else

for idx, row in df.iterrows():
    if row.a == 0:
        df.at[idx,'e'] = row.d
    elif (row.a <= 25) & (row.a > 0):
        df.at[idx,'e'] = (row.b)-(row.c)
    else:
        df.at[idx,'e'] = row.b + row.c
### time = 177 seconds

具体到非结构化数据,例如,文本、图象、声音,这些变量怎么做向量化呢?

将字段分成可分析、可组合的简单线性数值变量。划分方式打包成函数。 例如,我们定义一张 “汽车”图,那么,拍摄时间、地点,都是向量中的两个维度。其他的衍生维度,例如汽车的长宽高, 甚至是对应车型号、重量等等。如何抽取这些维度,由各种模型去定义,不同模型对应不同的向量。

向量化决定了搜索精确度、查全率,以及效率。

参考文献

[1] InfiniFlow(2024),向量+稀疏向量+全文搜索+张量 = 最佳 RAG 搭配 ?,知乎,2024

[2] 刘建平Pinard(2017),典型关联分析(CCA)原理总结,cnblogs,2017

[3] 数据 STUDIO(2022),再见,Python 循环!向量化已超神,知乎,2022

[4] 我是管小亮(2020),从零开始深度学习(七):向量化,腾讯云,2020

[5] 一键难忘(2024),【提升计算效率】向量化人工智能算法的策略与实现,腾讯云, 2024

[6] Oten(2023),神经网络基础篇:向量化(Vectorization),cnblogs,2023

[7] 罗云(2024),从零构建向量数据库[M],2024.8 第一版。



原文链接



长按/扫码,有您的支持,我们会更加努力!









TOP 5 精选

       



回到顶部   回上一级
写文章

最新资讯




直播笔记


热点话题


精品论文


有你的鼓励
ShoelessCai 将更努力





文档免费。保护知识产权,保护创新。