AI大模型四大技术架构演进选型

news2024/9/18 5:22:34

图片

随着人工智能技术的迅猛发展,大模型技术架构也在不断演进和完善。大模型技术架构通过最初的简单交互,逐渐发展为可对已有模型进行能力迁移学习扩展的架构,这个过程包括了四大技术架构的演进,分别为:纯Prompt、Agent + Function Calling、RAG(检索增强生成)和Fine-Tuning(微调技术)。每一种架构都有其独特的特点和应用场景。

1. 纯Prompt:模拟对话的简单交互

纯Prompt技术架构可以看作是最原始、最直观的AI交互方式。它就像与一个人对话,你说一句,AI回应一句,你再继续说,AI再继续回应。这种交互方式的优点在于简单直接,不需要复杂的设置和调用。

图片

核心特性:
  • 即时性:AI模型能够迅速响应用户输入,提供即时反馈。
  • 简洁性:无需复杂的配置,简化了人机交互过程。
  • 场景简易查询:适用于用户进行简单查询,如节日旅游建议等。
  • 技术路由转发模块:负责对用户输入的Prompt进行分类和分发。

应用场景:当你问AI一个问题,比如“过年去哪玩”,AI会根据你的问题直接给出一个答案。这种方式适用于简单的对话场景,但在处理复杂任务时可能显得力不从心。

2. Agent + Function Calling:主动提问与功能调用

在Agent + Function Calling架构中,AI不仅能够被动回答问题,还可以主动提问以获取更多信息,并通过功能调用来完成特定任务。例如,你问AI“过年去哪玩”,AI可能会先反问你有几天假期,通过了解更多背景信息来提供更准确的建议。

图片

核心特性:
  • 多轮交互:AI模型通过多轮对话理解用户需求,提供精准反馈。
  • 功能执行:通过函数调用执行特定功能,如查询、预订等。
  • 场景智能家居控制:AI模型主动获取环境信息,控制家居设备。
  • 技术主动提问:AI模型根据对话上下文,主动提出问题以获取更多信息。

应用场景:这种架构适用于需要多轮交互和功能执行的复杂场景,比如智能家居控制、客户服务等。AI不仅能够理解用户需求,还能主动引导对话和调用具体功能来解决问题。

3. RAG(检索增强生成):结合向量数据库进行检索

RAG架构结合了Embeddings和向量数据库技术。Embeddings是将文字转换为便于相似度计算的向量编码,这些向量存储在向量数据库中,以便于快速查找。当接收到一个输入时,AI会根据输入向量在数据库中找到最相似的向量,从而提供相关信息。

图片

核心特性:
  • 向量检索:利用向量数据库进行高效的相似性比较和数据检索。
  • 生成优化:结合检索结果,生成更准确和相关的回答。
  • 场景学习辅导:在学生遇到难题时,快速提供学习资源和解答。
  • 技术Embeddings技术:将文本转化为高维向量,优化相似性比较。

应用场景:例如在考试时,看到一道题目,可以通过RAG架构在相关资料中找到对应的内容,并结合题目生成答案。这种方法能够显著提高信息检索的效率和准确性。下面简单介绍一下Embeddings如何使用。

嵌入(Embeddings)是机器学习领域中的一个概念,主要用于将高维的数据转化为低维空间,以便于算法更好地处理和理解数据。嵌入通常用于将离散的、高维的特征转换为连续的、低维的向量表示。Embeddings典型的应用场景,例如给社群配套的网站增加搜索能力,目前来讲,最好用的模糊搜索就是将内容向量化之后进行搜索,可以做到语义化搜索。

如下面这个例子,输入的是“制作表情包”,出来的结果是“Meme Generator”,结果里没有出现“制作表情包”五个字中的任何一个字,但依然搜索出来了正确的我们需要的结果。

图片

图片

就是因为将内容向量化之后,就可以跨语言进行语义化搜索。那么原理是什么呢?具体如何实现呢?

要将内容向量化,就需要用到 OpenAI 的 Embeddings 接口,文档地址和接口介绍网址如下:

https://platform.openai.com/docs/guides/embeddings
https://platform.openai.com/docs/api-reference/embeddings

具体使用也很简单,我们假设有100段要被搜索的文字,那么我们每一段文字都调用一次 Embeddings 接口,每调用一次就得到一组向量,100段文字就得到了100组向量。
在这里插入图片描述

input 中放入文字,model 目前能用的只有一个,就是 text-embedding-ada-002 ,Embeddings 模型价格也很便宜,23年时opean ai价格是 $0.0001 / 1K tokens ,而且各大AI公司大模型"价格战"热火朝天,全模型矩阵降价。

返回的结果格式如下:

在这里插入图片描述

data 数组中的第一个数据里的 embedding 数组就是我们得到的向量数组,这个数组长度是1536,也就是目前 OpenAI 的向量维度是 1536 维。得到向量之后,最简单的我们可以把向量数组存储为一个一个的文本文件,也即是纯文本保存。

更复杂一点的,可以存储到专门的向量数据库里,OpenAI 官方推荐了一些:

1.Chroma:Chroma 是一个开源的嵌入式存储库。它主要用于存储和检索向量嵌入。

2.Elasticsearch:Elasticsearch 是一个非常受欢迎的搜索/分析引擎,同时也是一个向量数据库。它可以用于全文搜索、结构化搜索和分析,并且支持向量数据的存储和相似性搜索。

3.Milvus:Milvus 是为可扩展的相似性搜索而构建的向量数据库。它提供了高效的大规模向量检索能力。

4.Pinecone:Pinecone 是一个完全托管的向量数据库,用户无需关心底层的维护和管理,可以专注于其应用的开发。

5.Qdrant:Qdrant 是一个向量搜索引擎,专门为高效的向量检索而设计。

6.Redis:虽然 Redis 主要是一个内存数据结构存储,但它也可以作为一个向量数据库来使用,存储和检索向量数据。

7.Typesense:Typesense 是一个快速的开源向量搜索工具,它提供了简单易用的 API 来进行向量数据的存储和检索。

8.Weaviate:Weaviate 是一个开源的向量搜索引擎,它支持语义搜索和自然语言查询。

9.Zilliz:Zilliz 是一个数据基础设施,由 Milvus 提供支持。它提供了一系列的数据解决方案,包括向量搜索和分析。

这些向量数据库在不同的应用场景中都有其独特的优势,大家可以根据自己的需求选择合适的数据库进行使用。但是不建议一上来还没搞懂原理就用这些向量数据库,可以先直接存为文本文件形式,每次要搜索时,把向量数组载入内存中进行搜索。

搜索第一步,先把用户输入的内容也调用 Embeddings 接口得到一个搜索向量数组,我们命名为向量数组A。

搜索第二步,把所有待搜索的向量数组都载入内存,来一个循环,我们把循环到的每一个待搜索向量数组命名为Bn,第1个就是B0,第2个就是B1,……,第100个就是B99。

用A与B0到B99都进行一次余弦相似度计算,然后得到余弦距离B0到B99,再从小到大排序,取出前10作为搜索结果,余弦距离越小表示越相似。

图片

4. Fine-Tuning:深入学习与长期记忆

Fine-Tuning是一种对大模型进行微调的技术,传统的机器学习模型需要通过大量数据进行训练,而Fine-Tuning则利用了在庞大数据集上训练好的大型深度学习模型。用我们自己的理解方式来叙述微调的含义:在原有模型的基础上,通过补充一些数据,用这些补充的数据对原有模型进行训练,训练的过程对原有模型的部分参数进行调整,从而使模型能在某些特定的场景下表现更优。

通过针对特定任务或领域进行进一步训练,使模型能够长期记住并活学活用这些知识。与前面提到的方法不同,Fine-Tuning能够使AI在特定领域表现得更加专业和准确。在预训练模型的基础上进行额外训练,使其适应特定任务或领域。这一过程包括选择预训练模型,准备目标任务的数据,调整模型结构,进行微调训练,以及评估和部署。

图片

核心特性:
  • 领域专业化:使AI模型在特定领域展现出更高的专业性。
  • 长期记忆:通过微调,模型能够记住并运用长期知识。
  • 场景医疗诊断领域:提供精确的医疗诊断建议。
  • 技术预训练与微调:结合预训练模型和领域特定数据进行微调。

应用场景:这种技术适用于需要高准确度和专业知识的领域,如医学诊断、法律咨询等。通过Fine-Tuning,AI可以提供更加专业、可靠的建议和服务。

网上关于Fine-Tuning的介绍和入门例子还是比较多的,不过大多都是python语言的,github上也有很多学习的开源项目,大家也可以参考一下。

https://github.com/topzcb/starcoder

https://github.com/topzcb/peft

https://github.com/topzcb/fine-tuning

总结

大模型技术架构从纯Prompt的简单对话,到Agent + Function Calling的主动交互,再到RAG的高效检索,最终到Fine-Tuning的深入学习,每一种架构都有其独特的优势和应用场景。理解这些技术架构的特点和适用范围,有助于我们更好地利用人工智能技术来解决实际问题,提升工作和生活的效率,并推动AI技术的发展和应用。

图片

既然大模型现在这么火热,各行各业都在开发搭建属于自己企业的私有化大模型,那么势必会需要大量大模型人才,同时也会带来大批量的岗位?“俗话说站在风口,猪都能飞起来”可以说大模型这对于我们来说就是一个机会,一个可以改变自身的机会,就看我们能不能抓住了。

紧密跟踪科技前沿成果和产业动向,有幸受邀参加微软AI Day,众多业内人士聚集在北京国际饭店宴会厅,在当前经济形势下,或许只有AI有这么大的影响力和热度。

图片

图片

在会上还演示了部分功能,还是挺有特色,避免做广告嫌疑,好用不好用,感兴趣的同学自己试用就知道,反正我也没体验过。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1825175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

香橙派AIpro测试SPI通信

香橙派AIpro开发板上有一个SPI接口,如下图红框所示, 系统启动后,其对应的设备是 /dev/spidev0.0 一 硬件回环测试 香橙派AIpro上的系统自带spidev_test工具,非常方便,可以查看其帮助信息,如下&#xff0c…

这个网站有点意思,可做SPRINGBOOT的启动图

在 SpringBoot 项目的 resources 目录下新建一个 banner.txt 文本文件,然后将启动 Banner 粘贴到此文本文件中,启动项目,即可在控制台展示对应的内容信息。 下面这个工具很好用,收藏精哦

MySQL概述——DDL

1.SQL通用语法 1.SQL语句可以单行或多行书写,以分号结尾。 2. SQL语句可以使用空格/缩进来增强语句的可读性。 3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。 4.注释: (1)单行注释:--注释内容或#注释内容(MySQL特…

我用AI绘画Stable Diffusion 一个月后,竟然能做出惊艳所有人的效果!

大家好,我是设计师阿威 如今要拍摄一组写真,需要服装、道具、灯光、场地、布景、拍摄、后期等过程。整个过程需要统一才能形成好的写真效果。现在有了AI绘图技术,我们可以实现通过AI绘图,只用计算机计算就得到一组接近真实的写真照…

P450Rdb: CYP450数据库--地表最强系列--文献精读24

P450Rdb: A manually curated database of reactions catalyzed by cytochrome P450 enzymes P450Rdb: 一个人工整理的细胞色素P450酶催化反应数据库 http://www.cellknowledge.com.cn/p450rdb/ 还有一篇类似CYP450综述-20年-地表最强系列-文献精读-4 要点: P450…

Postman简介

目录 1.概述 2.诞生背景 3.历史版本 4.安装和卸载 5.菜单和菜单项 6.使用 7.应用场景 8.示例 8.1.简单的GET请求 8.2.POST请求提交数据 8.3.查询参数 9.未来展望 10.总结 1.概述 Postman是一款用于API开发、测试和文档管理的综合性工具。允许开发者和测试人员创建…

1.PyQt6库和工具库QTDesigner安装

1.安装PyQT6和pyqt6-tools 1. PyQt6库是PyQt的开发库 2.pyqt6-tool时QTDesigner设计器工具支持库 pip install PyQt6 pip install pyqt6-tools 2.在Pycharm中配置外部工具QTDesigner和PYGIC 配置外部工具QTDesigner 1. QTDesigner是QT界面设计器 2.打开Pycharm->Settin…

牛客仓鼠的鸡蛋

分析一下判断语句 如果能放就输出位置 不能放就输出-1 不能放的条件是最大值小于要放的鸡蛋数量,线段树维护最大值 放的位置用线段树二分 每个篮子不能放超过k堆鸡蛋,记录一下每个篮子放的次数,次数等于k后给最大值附上0即可 // Proble…

Python连接Redis(简单连接、连接池连接、存取数据示例)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

【2024最新精简版】MyBatis面试篇

文章目录 mybatis内部实现过程mybatis延迟加载请说说MyBatis的工作原理mybatis接口里的方法,参数不同时能重载吗mybatis分页插件的原理是什么?mybatis的一级、二级缓存👍mybatis如何实现多表查询mybatis如何实现批量插入👍mybatis动态SQL标签…

【最新鸿蒙应用开发】——关于鸿蒙MVVM模式的理解

MVVM模式 MVVM(Model-View-ViewModel)是一种软件设计模式,主要用于分离应用程序的用户界面(UI)和业务逻辑。这种模式可以帮助开发者更高效地开发和管理复杂的用户界面。 程序的状态数据通常包含了数组、对象&#xff0…

Linux内存从0到1学习笔记(8.15 MMU/IOMMU/SMMU概览)

一, 什么是MMU? MMU(Memory Management Unit 内存管理单元),即内存管理单元,是计算机硬件中的一个重要组件,主要负责处理中央处理器(CPU)的内存访问请求。 其工作原理如下: 当程序发出内存访问请求,包括读取或写入操作以及逻辑地址(虚拟地址)。然后,MMU根据页表…

自动化测试git的使用

git是一款分布式的配置管理工具。本文主要讲git如何在自动化测试中安装,上传及拉取下载代码。 1 、git 介绍 每天早上到公司,从公司的git服务器上下载最新的代码,白天在最新的代码基础上,编写新的代码,下班时把“代码…

[Java基本语法] 异常

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀线程与…

Linux 内核 (十二)进程间通讯 之 消息队列

前言 这个系列的上一篇介绍了进程间通讯关于管道相关的内容及代码实例,本章要介绍关于消息队列相关的内容. 消息队列交互图示 函数原型 #include <sys/msg.h> #include <sys/ipc.h> //创建 or 打开队列 成功返回队列ID,失败返回-1 int msgget(key_t key,int fla…

探索AIGC与3D技术的融合:从图像到可探索的3D动态场景

随着人工智能和计算机图形技术的飞速发展,AIGC(人工智能生成内容)与3D技术的结合正在为我们打开一扇全新的创意之门。最近,我深入研究了几个令人兴奋的AIGC+3D方案,它们不仅展示了从单张图片或文本提示生成3D点云的强大能力,还进一步实现了AI虚拟试穿和生成高保真3D数字人…

Qt信号槽的回调机制

问&#xff1a;Qt强大的地方在哪里&#xff1f; 答&#xff1a;跨平台、信号槽。。。 问&#xff1a;信号槽是什么&#xff1f; 答&#xff1a;回调函数 问&#xff1a;怎么个回调法子 答&#xff1a;。。。 成果 信号槽本身实现过程是有些复杂的&#xff0c;所以本人参考…

CDN绕过技术

DNS域名信息收集 简介 Dns域名信息的手机&#xff0c;需要收集域名对应IP&#xff0c;域名注册人&#xff0c;DNS记录&#xff0c;子域名等一系列与域名相关的信息。 Cdn技术简介 Cdn是一个内容分发网络&#xff0c;类似于dns服务器一样&#xff0c;用户发送数据直接发送到…

AI Assistant 2024 震撼登场:AI补全功能惊艳来袭,替换GitHub Copilot Chat最友好的方式!

哈喽!欢迎来到程序视点。 前言 在之前的文章中&#xff0c;我们提到过“JetBrains 2024.1 中&#xff0c;AI Assistant 插件已被解绑&#xff0c;现在作为单独的插件在 JetBrains IDE 中可用”。 这一变化的驱动力是&#xff0c;需要在使用 AI 驱动的技术时提供更大的决策灵活…

【C语言习题】30.使用指针打印数组内容

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 使用指针打印数组内容 作业内容 写一个函数打印arr数组的内容&#xff0c;不使用数组下标&#xff0c;使用指针。 arr是一个整形一维数组。 2.解题思路 先定义一个数组&#xff0c;使用指针打印数组内容那就是说我们…