检索增强生成(RAG)是生成式 AI (GenAI)中的一类应用,支持使用自己的数据来增强 LLM 模型(如 ChatGPT)的知识。
RAG 通常会用到三种不同的AI模型,即 Embedding 模型、Rerankear模型以及大语言模型。本文将介绍如何根据您的数据类型以及语言或特定领域(如法律)选择合适的 Embedding 模型。
1
文本数据:MTEB 排行榜
HuggingFace 的 MTEB leaderboard 是一个一站式的文本 Embedding 模型榜!您可以了解每个模型的平均性能。
您可以将“Retrieval Average”列进行降序排序,因为这最符合向量搜索的任务。然后,寻找排名最高、占内存最小的模型。
-
Embedding 向量维度是向量的长度,即 f(x)=y 中的 y,模型将输出此结果。
-
最大 Token 数是输入文本块的长度,即 f(x)=y 中的 x ,您可以输入到模型中。
除了通过 Retrieval 任务排序外,您还可以根据以下条件进行过滤:
-
语言:支持法语、英语、中文、波兰语。(例如:task=retrieval,
Language=chinese)
-
法律领域文本。
(例如:task=retrieval,Language=law)
值得注意的是,由于部分训练数据最近才得以公开,一些 MTEB 上的 Embedding 模型可能是看似合适但实际不合适的模型,排名虚高,实际表现可能会有所不同。因此,HuggingFace 发布了一篇博客,介绍了判断模型排名是否可信的要点。点击模型链接(称为“模型卡片”)后:
-
寻找解释模型如何训练和评估的博客和论文。仔细查看模型训练使用的语言、数据和任务。同时,寻找由知名公司创建的模型。例如,在 voyage-lite-02-instruct 模型卡片上,您会看到其他的 VoyageAI 模型列出,但不包括这个。这是一个提示!该模型是一 个overfitting 模型,不应使用!
-
在下面的截图中,我会尝试来自 Snowflake 的新模型“snowflake-arctic-embed-1”,因为它排名较高,体积小到足以在我的笔记本电脑上运行,并且模型卡片上有博客和论文的链接。
使用 HuggingFace 的好处就是,在选择完 Embedding 模型后,如果您需要更换模型,只需要在代码中修改 model_name 即可!
import torch``from sentence_transformers import SentenceTransformer`` ``# Initialize torch settings``torch.backends.cudnn.deterministic = True``DEVICE = torch.device('cuda:3' if torch.cuda.is_available() else 'cpu')`` ``# Load the model from huggingface.``model_name = "WhereIsAI/UAE-Large-V1" # Just change model_name to use a different model!``encoder = SentenceTransformer(model_name, device=DEVICE)`` ``# Get the model parameters and save for later.``EMBEDDING_DIM = encoder.get_sentence_embedding_dimension()``MAX_SEQ_LENGTH_IN_TOKENS = encoder.get_max_seq_length()`` ``# Print model parameters.print(f"model_name: {model_name}")``print(f"EMBEDDING_DIM: {EMBEDDING_DIM}")``print(f"MAX_SEQ_LENGTH: {MAX_SEQ_LENGTH_IN_TOKENS}")
2
图像数据:ResNet50
有时候您可能想要搜索与输入图像相似的图片。比如,您可能在寻找更多苏格兰折耳猫的图片。在这种情况下,您可以上传一张苏格兰折耳猫的图片,并要求搜索引擎找到类似的图片。
ResNet50 是一种流行的 CNN 模型,最初由微软在 2015 年使用 ImageNet 数据训练。
同样,对于视频搜索,ResNet50 仍然可以将视频转换为 Embedding 向量。然后,对静态视频帧进行相似性搜索,返回给用户最相似的视频作为最匹配结果。
3
音频数据:PANNs
类似于以图搜图,您也可以基于输入的音频片段搜索相似音频。
PANNs(预训练音频神经网络)是常用的音频搜索 Embedding 模型,因为 PANNs 基于大规模音频数据集预训练,并且擅长音频分类和标记等任务。
4
多模态图像与文本数据:
SigLIP 或 Unum
近几年,涌现了一批针对多种非结构化数据(文本、图像、音频或视频)混合训练的 Embedding 模型。这些模型能够在同一向量空间内同时捕获多种类型的非结构化数据的语义。
多模态 Embedding 模型支持使用文本搜索图像、为图像生成文本描述或以图搜图。
OpenAI 在 2021 年推出的 CLIP 是标准的 Embedding 模型。但由于其需要用户自行进行微调,难以使用,所以到了 2024 年,谷歌推出了的 SigLIP(Sigmoidal-CLIP)。该模型在使用 zero-shot prompt时取得了不错的表现。
小型 LLM 模型如今变得越来越流行。因为这些模型不需要大型云计算集群,可以在笔记本电脑上运行。小模型占用的内存较少,延时更低,运行速度比大型模型更快。Unum 提供了多模态小型 Embedding 模型。
5
多模态文本、音频、视频数据
多模态文本-音频 RAG 系统大多使用多模态生成型 LLM。这类应用首先将声音转换为文本,生成声音-文本对,然后将文本转换为 Embedding 向量。之后您可以像往常一样使用 RAG 来检索文本。在最后一步,文本被映射回音频。
OpenAI 的 Whisper 可以将语音转录为文本。此外,OpenAI 的 Text-to-speech (TTS) 模型也可以将文本转换成音频。
多模态文本-视频的 RAG 系统使用类似的方法首先将视频映射到文本,转换为 Embedding 向量,搜索文本,并返回视频作为搜索结果。
OpenAI 的 Sora 可以将文本转换成视频。与 Dall-e 类似,您提供文本提示,而 LLM 生成视频。Sora 还可以通过静态图像或其他视频生成视频。
**Milvus目前已经集成了主流的Embedding模型,欢迎大家体验:**https://milvus.io/docs/embeddings.md
随着大模型的持续爆火,各行各业都在开发搭建属于自己企业的私有化大模型,那么势必会需要大量大模型人才,同时也会带来大批量的岗位?“雷军曾说过:站在风口,猪都能飞起来”可以说现在大模型就是当下风口,是一个可以改变自身的机会,就看我们能不能抓住了。
那么,我们该如何学习大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
以上的AI大模型学习资料,都已上传至CSDN,需要的小伙伴可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。