LLM基础模型系列:Embedding模型

图片

Embedding模型概览

Embeddings是自然语言处理技术中很重要的基石。它有很多种模型,从GloVe、word2vec、FastText、Bert、RoBERTa、XLNet、OpenAI ada、Google VertexAI Text Embeddings、Amazon SageMaker Text Embeddings和Cohere。每种模型都有优劣,如何去分析这些Embeddings技术,重点可以关注如下的参数信息:能否在编码中捕获上下文信息、能够处理非词表之外的单词、泛化的能力、预训练的效率、是否免费、最终效果质量。

图片

一般而言在大型文本语料库上经过良好训练并且能够很好地捕获单词上下文的模型,那么GloVe、word2vec 或 FastText都是不错的选择。

图片

若某个业务场景急需更好的捕获单词上下文,而且变现需要优于Bert,那么RoBERTa或XLNet是不错的选择。

图片

图片

其他大公司的Embeddings模型,有免费也有收费的。OpenAI、Google、Amazon都可以按需选择。

Embedding模型和训练数据有关,用于训练模型的训练数据的大小和质量更大更高,则会产生更好的模型。还有一些选择的限制,例如XLNet是问答和自然语言推理的最佳选择,而RoBERTa是文本摘要和机器翻译的最佳选择。

图片

Word2Vec

图片

Word2Vec有两种,CBOW和Skip-Gram,很多资料都没有划对重点。那么接下跟随小鲁来正确打开。

先铺垫下背景,假如已经拥有某个语料库,需要对语料库的词汇进行Embedding(下文统一称为编码)。那么可以将语料库的所有文本串起来。然后预设窗口的大小(下图的示例为5),每个窗口正中的橙色部分即为目标单词,而绿色部则为上下文单词。随着窗口的滑动,就可以获取很多的样本(目标单词,上下文单词)。然后利用这些样本进行编码器的训练。

图片

那么CBOW和Skip-gram的区别就在于CBOW是用上下文的字符去预测目标单词,而Skip-gram则是用目标单词去预测上下文单词。

图片图片

是不是到这里开始有点凌乱了,不是embedding model么,不是学习编码么,怎么变成预测了?其实就是通过刚才获取的样本进行训练编码,以CBOW为例,将这个过程放大如下图。

四个上下文单词输入经过一层的矩阵运算之后,得到了中间变量,然后在通过另外一个矩阵运算算出目标单词,然后将目标单词和预测的结果对比,反过来调整两个矩阵的权重。如此反复直到损失收敛。

图片

这个过程其实就是为了通过训练得到橙色的两个矩阵,前面的矩阵学名为查询矩阵,后面矩阵学名为上下文矩阵。任何的输入通过这两个矩阵就可以编码。回到刚才的两种算法,无论谁预测谁,目标都是为了校正这两个矩阵。

下面是数学版本的推理过程,数学小白可以跳过。输入V维(也就是词汇表为V),每个词汇用N维的向量表示,那么需要学习的矩阵就是一个VN维,一个NV维。

图片

图片

*Co-occurrence Vector*

上一篇文章发布之后,有好学的同学咨询若滑动窗口,按照统计学的方法其实也可以得到一个矩阵,那么是如何计算每个单词的编码。

假如,所拥有的语料就两个文档:

文档1: “all that glitters is not gold”

文档2: “all is well that ends well”

图片所有的词汇一共10个,假定滑动窗口大小为1,那么就可以构造右侧的矩阵。
图片然后针对这个1010(NN,N为总词汇数)的矩阵进行PCA或者SVD算法进行降维分解,形成k-维的向量,进而最终完成编码。例如start的编码就是[0.705,0.484]

图片

*本章小结*

经过编码之后,所有单词对应的编码向量能够反应单词之间的关系。理解和搞清楚Embedding的原理是必须的,它是一切的基石,某种意义也是深度神经网络的灵魂,其实它就是人类所谓的抽象思维。大模型模拟人类解决了将海量的信息进行高效的压缩编码。

Embedding是一种很好的技术与思想,微软和Airbnb已经将它应用到推荐系统。主要参照了把Word Embedding应用到推荐场景的相似度计算中的方法,把每个商品项视为word,把用户行为序列视为一个集合。通过获取商品相似性作为自然语言中的上下文关系,构建神经网描绘商品在隐空间的向量表示。

Airbnb通过Embedding捕获用户的短期兴趣和长期兴趣,即利用用户点击会话和预定会话序列。这里默认浏览点击的房源之间存在强时序关系,即前面查看房源会对影响后面查看房源的印象。通过客户点击或预定方式生成租客类型、房租类型等的Embedding,来获取用户对短期租赁和长期租赁兴趣。

总而言之,Embedding对于时序的场景有着灵活的运用方式,本质上提取时序中前后的关系,进而在N-维的空间中获取内在的联系和逻辑。当然目前为止最出色的还是人脑,对于外界事件的分析、检索和反应几乎在一瞬间完成,而且处于低功耗。

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值