UE5线程进阶(3-2):任务图的相关源码整理

核心内容摘要

计算机毕业设计springboot高校助学管理系统 基于SpringBoot的高校学生资助与勤工俭学一体化服务平台 SpringBoot框架下高校奖助学金管理与勤工助学数字化系统
ClearerVoice-Studio快速上手:Streamlit界面各按钮功能与异常提示解读

4大维度解决视频PPT提取难题:extract-video-ppt让课件整理效率提升8倍

本文详细介绍了Embedding技术它是将文字、图片等复杂事物转化为数字向量的方法使计算机能理解事物间的关系。

文章讲解了Embedding的四步训练过程、相似度计算方法特别是余弦相似度以及向量数据库的应用。

通过实例展示了Embedding在推荐系统、搜索等场景的应用并提供了Python实现代码帮助读者理解这一大模型核心技术。

什么是Embedding大多数同学第一次听说Embedding可能是通过大语言模型相关的知识包括我之前写过一篇关于“词嵌入”的文章也是针对Embedding在大语言模型的应用。

然而它不仅仅可以表示大语言模型中文字间的关系Embedding嵌入 是把现实世界中复杂的事物比如文字、图片、商品、甚至是你自己转化成一串数字向量它的核心目的是让计算机能够通过这些数字“听懂”事物之间的逻辑关系和相似程度。

举个例子——水果的“数字身份证”。

想象一下如果你要向一个从来没见过水果的外星人介绍“苹果”、“香蕉”和“西瓜”。

你可以给每种水果建立一个坐标系用两个特征维度来描述它们甜度从 0 到 1大小从 0 到 1那么这些水果就变成了坐标系上的点苹果甜度

7大小

3 →[

7,

3]西瓜甜度

8大小

9 → [

8,

9]柠檬甜度

1大小

2 → [

1,

2]这个过程就是 Embedding我们把“水果”这个抽象的概念嵌入到了一个数学空间里。

会发现苹果和柠檬在坐标纸上离得比较远而苹果和西瓜在“甜度”这个维度上比较近。

计算机就是通过计算这些数字之间的“距离”来判断谁和谁更像。

在没有 Embedding 之前计算机看词汇就像看孤立的符号。

比如“猫”和“狗”在计算机眼里只是两个不同的字符串。

有了 Embedding 之后Word2Vec词嵌入模型发现这些数字之间甚至可以做算术运算“国王” 的向量 - “男人” 的向量 “女人” 的向量 ≈ “女王” 的向量这意味着 Embedding 不仅仅是给事物打标签它还抓住了事物背后的内在逻辑。

生活中我们每天其实都在被 Embedding 服务抖音/小红书推荐系统把你喜欢的视频转化成 Embedding把你这个人也转化成 Embedding。

当这两个 Embedding 在数学空间里的距离足够近时系统就会把视频推给你。

淘宝搜图你拍一张衣服的照片系统把图片转成一串数字Embedding然后在数据库里寻找数字最接近的商品。

ChatGPT它能和你聊天是因为它把所有的文字都转成了复杂的 Embedding从而理解了你说话的意图。

Embedding 就是一种“翻译官”它把人类能理解的感性世界文字、图片、喜好翻译成计算机能处理的理性世界数字、向量。

它的精髓在于降维把复杂的特征浓缩成一串数字。

保留关系让相关的事物在数字空间里依然靠在一起。

Embedding的训练过程计算机最初并不懂什么是“猫”什么是“狗”在它眼里所有的东西最初都是一堆乱码随机生成的数字。

它通过以下四个步骤把这些乱码磨练成了精准的 Embedding。

第1步设定一个任务计算机不会凭空学习它需要一个目标。

最经典的方法叫做 Word2Vec词转向量它给计算机布置了一个任务“通过上下文猜中间的词”。

比如它读到一句话可爱的[ ? ]正在屋顶上晒太阳发出了喵喵声。

”计算机的任务就是不断地尝试填空。

为了完成这个任务它必须理解词与词之间的联系。

说明如果是中文在进行Word2Vec之前需要进行词拆分一常用工具是jieba如果是英文则一个单词为一个单元无需再次拆分。

一个常用的Word2Vec工具是gensim它可以从非结构化文本中无监督地学习到隐层的主题向量表达第2步随机初始化在训练开始的第 1 秒计算机给每个词分配的 Embedding 都是随机生成的这里的向量长度由人为指定例如100维、128维等为了简便下面的例子的向量维度为3。

“猫”的向量可能是[

1, -

5,

8]“狗”的向量可能是[-

9,

2,

1]“太阳”的向量可能是[

4,

4, -

3]这时候的向量没有任何意义就像一个完全不懂中文的人在考卷上瞎写。

第3步计算损失函数并进行反向传播这是最关键的一步。

预测计算机用它那组随机数字去猜“[ ? ]”里应该是“苹果”。

纠错算法告诉它“错了正确答案是‘猫’。

”计算差距算法会计算“苹果”和“猫”在数学上的距离差。

微调数字根据这个差距算法会通过一种叫梯度下降Gradient Descent的方法微微修改“猫”和“上下文屋顶、喵喵”的 Embedding 数字。

逻辑是如果“猫”经常出现在“喵喵”和“屋顶”旁边那么在数学空间里就把“猫”的坐标往“喵喵”和“屋顶”的坐标那里挪近一点。

第4步海量练习量变产生质变计算机不是只读一句话它会读完整个维基百科、整个互联网。

当它读了 1 万次关于“猫”和“喵喵”的句子两者的坐标就会靠得很近。

当它发现“狗”也经常出现在“宠物”、“骨头”旁边而“猫”也经常出现在这些词旁边它就会发现“原来猫和狗的社交圈子很重叠啊”于是在数学空间里“猫”和“狗”的距离也会被拉近。

经过几亿次的反复微调每个词的坐标都找到了最合适的位置。

计算机并不真的“认识”猫但它精准地掌握了“猫”这个词在人类语言环境中的生存位置。

小结

总结一下训练的三部曲随机分座位先给每个词随便找个位置坐。

看邻居是谁发现经常在一起玩的词座位应该靠在一起。

反复调整通过成千上万次的挪动最终形成一个逻辑自洽的“座位表”。

Embedding模型将文本等离散数据转换为低维、稠密的向量捕捉其语义信息。

向量空间中的距离如余弦相似度可反映文本间的语义相似度。

关于Embedding模型业内有一个MTEB (Massive Text Embedding Benchmark) 榜单MTEB是一个全面的评测基准它涵盖了分类、聚类、检索、排序等8大类任务和58个数据集。

通过MTEB榜单可以清晰地看到不同模型如BGE系列, GTE, Jina 等在不同任务类型上的性能表现。

例如某些模型在检索任务上表现优异而另一些则可能在聚类或分类任务上更具优势。

这有助于我们根据具体应用场景做出初步的模型筛选。

网站参考https://huggingface.co/spaces/mteb/leaderboard

怎样计算两个目标的相似度计算机判断目标“像不像”的方法其实就是量一下它们之间的距离或角度。

在所有方法中最常用、也最符合直觉的就是余弦相似度Cosine Similarity。

为什么用“角度”而不是“距离”想象你在网易云音乐听歌小明听了 100 遍周杰伦100 遍陈奕迅。

小红听了 1 遍周杰伦1 遍陈奕迅。

小刚听了 100 遍周杰伦0 遍陈奕迅。

如果你计算直线距离欧氏距离小明和小红离得非常远100 vs 1反而小明和小刚更近。

但这显然不符合逻辑——小明和小红的口味比例是一模一样的余弦相似度解决的就是这个问题它不看你跑了多远只看你的箭头指向哪个方向。

数学表达余弦公式在 Embedding 的多维空间里两个向量 A和B的相似度计算公式如下结果为 1角度为 0°两个向量完全重合完全一样。

结果为 0角度为 90°两个向量垂直完全没关系比如“苹果”和“勾股定理”。

结果为 -1角度为 180°两个向量完全相反比如“爱”和“恨”。

实际案例推荐系统是怎么做的假设我们要判断两部电影是否相似它们的 Embedding 简化为两个维度动作指数文艺指数《战狼》: [

9,

1]《红海行动》: [

85,

15]《情书》: [

05,

95]计算过程当你在看《战狼》时后台会对库里几万部电影跑一遍余弦计算。

《战狼》vs《红海行动》角度非常小余弦值接近

99 - 强力推荐《战狼》vs《情书》角度接近 90°余弦值接近

08 - 不推荐。

Python实现计算目标相似度仅需一行代码from sklearn.metrics.pairwise import cosine_similarity import numpy as np # 假设这是两部电影的 Embedding 向量 movie_a np.array([[

9,

1]]) movie_b np.array([[

85,

15]]) # 计算相似度 similarity cosine_similarity(movie_a, movie_b) print(f这两部电影的相似度是: {similarity[0][0]:.4f}) # 输出结果通常是

9986

向量数据库

向量数据库概要介绍向量数据库AI时代的核心记忆体与传统的关系型数据库不同向量数据库用于存储和查询由非结构化数据如文本、图片、音视频转化而来的高维向量嵌入Embeddings。

这些向量在多维空间中的距离代表了原始数据的语义相似度。

向量数据库的核心能力是高效的相似性检索。

向量数据库的

核心价值为大模型提供长期记忆弥补LLM上下文窗口Context Window长度限制和知识更新延迟的问题。

实现私有知识库的问答与搜索将企业内部文档、产品信息等转化为向量实现基于语义的智能检索。

赋能推荐系统、以图搜图等多种应用通过计算用户、物品的向量相似度提供更精准的推荐。

不同向量数据库对比分析向量数据库与传统数据对比特性向量数据库 (Vector DB)传统数据库 (SQL/NoSQL)存储内容Embedding 向量一串数字组成的坐标文本、数字、日期、布尔值结构化搜索逻辑相似度搜索 (Similarity Search)精确匹配 (Exact Match)查询方式距离计算 (余弦相似度, 欧氏距离)SQL 语句 (WHERE price

索引技术ANN 算法 (如 HNSW, IVF, PQ)B-Tree, Hash 索引结果准确性概率性近似找最像的可能有细微偏差100% 准确是就是不是就不是擅长领域图片搜图、AI 聊天、个性化推荐银行转账、员工管理、库存记录

Embedding数据的存储与检索过程以FAISS数据库为例介绍一下Embedding数据的存储与检索过程Step1, 数据清洗与准备确保原始数据如文本文档、图片的质量进行必要的预处理。

Step2, 生成向量使用预训练的Embedding Model将原始数据转换成向量。

Step3, 创建元数据存储将生成的向量及与其关联的元数据Metadata一同存入向量数据库。

Step4, 构建 FAISS 索引使用faiss.IndexFlatL2 创建一个基础的索引这里使用L2距离欧氏距离进行精确搜索。

用faiss.IndexIDMap 将基础索引包装起来这样就可以添加带有自定义ID的向量了。

Step5, 添加数据到索引将生成的向量和对应的ID即元数据列表的索引添加到IndexIDMap中。

Step6, 执行搜索 对一个新的查询文本生成向量在FAISS 索引中搜索最相似的向量FAISS 会返回最相似向量的ID。

Step7, 检索元数据 使用返回的ID从元数据存储中查找到原始文本和元数据。

AI大模型从0到精通全套学习大礼包我在一线互联网企业工作十余年里指导过不少同行后辈。

帮助很多人得到了学习和成长。

只要你是真心想学AI大模型我这份资料就可以无偿共享给你学习。

大模型行业确实也需要更多的有志之士加入进来我也真心希望帮助大家学好这门技术如果日后有什么学习上的问题欢迎找我交流有技术上面的问题我是很愿意去帮助大家的如果你也想通过学大模型技术去帮助就业和转行可以扫描下方链接大模型重磅福利入门进阶全套104G学习资源包免费分享

从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点​

AI大模型学习路线图还有视频解说全过程AI大模型学习路线​

学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的

大模型面试题目详解

这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。

目前我正在和鲁博士共同进行人工智能的研究。

所有的视频由智泊AI老师录制且资料与智泊AI共享相互补充。

这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。

智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌构建起前沿课程智能实训精准就业的高效培养体系。

课堂上不光教理论还带着学员做了十多个真实项目。

学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。

零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。

业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。

获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】

妲己直播官方版-妲己直播官方版应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123