《AI 大模型全栈工程师》学习笔记1 - 大模型应用的技术架构

news2025/1/16 18:03:39

目录

1 前言

1.1 课程链接

1.2 名词解释&前置知识

2 大模型应用的技术架构

2.1 Prompt-Response架构

2.2 Agent + Function Calling 架构

2.3 RAG(Retrieval-Augmented Generation)架构

2.4 Fine-tuning架构


1 前言

本文为知乎知学堂课程《AI 大模型全栈工程师》的学习笔记,文章中涉及的一些名词解释,数据表格,流程图、框图等大都来自于课程课件。

课程公开课链接是可以打开的,未购买培训课程时正式课程链接是无法打开的。

本文作者不提供视频、课件等与培训课程一切相关的资料,请知悉!!!

本文是作者个人的理解,不保证正确性,有任何疑问欢迎留言交流讨论。

1.1 课程链接

大模型应用开发技术体系串讲 - 程序员的AI大模型进阶之旅1226期 (zhihu.com)

大模型应用开发基础 - AI 大模型全栈工程师培养计划(第五期) (zhihu.com)

1.2 名词解释&前置知识

  • 大模型:全称「大语言模型」,英文「Large Language Model」,缩写「LLM」
  • 区分开 对话产品  VS 大模型
国家对话产品大模型链接
美国OpenAI ChatGPTGPT-3.5、GPT-4https://chat.openai.com/
美国Microsoft CopilotGPT-4 和未知Microsoft Copilot: 你的日常 AI 助手
美国Google BardGeminihttps://bard.google.com/
中国百度文心一言文心 4.0文心一言
中国讯飞星火星火 3.5讯飞星火认知大模型-AI大语言模型-星火大模型-科大讯飞
中国智谱清言GLM-4智谱清言
中国月之暗面 Kimi ChatMoonshotKimi Chat - 帮你看更大的世界
中国MiniMax 星野abab6星野_星野ai_星野app_星野官网_AI聊天_智能ai
  • 大模型没有联网能力,它的联网能力是通过应用程序获得的

  • 使用对话产品时的重要原则:把AI当人看,把AI当人看,把AI当人看

  • 大模型原理的通俗解释

  • 训练:大模型阅读了人类曾说过的所有的话「机器学习
  • 参数(权重):把一串 token 后面跟着的不同 token 的概率存入「神经网络」。保存的数据就是「参数」,也叫「权重
  • 生产(推理):当给它若干 token,大模型就能算出概率最高的下一个 token 是什么。
  • 迭代输出:用生成的 token,再加上上文,就能继续生成下一个 token。以此类推,生成更多文字

2 大模型应用的技术架构

2.1 Prompt-Response架构

        这种架构是最容易理解的。当我们使用文心一言或者智谱清言等对话类产品时,在对话框中输入一串文字,它作出回应。

        这里提一点Prompt 的表达形式,在使用AI时,我们一定要把AI当人看。既然AI是人,那就要说人能听懂的话。提问时要给出具体明确的指示,明确AI的角色,可参照智谱清言“灵感大全”中的示例:

2.2 Agent + Function Calling 架构

个人理解:

  • 当通过Prompt给大模型发出负责指令时,大模型当前无法回答时,会触发其Agent能力,对应用程序反向提问
  • 应用程序通过调用API获取相关信息,并通过Prompt再次输入给大模型
  • 大模型依据输出给出Response

举一个简单的例子:

我想要知道杭州市民中心停车费时,但是大模型训练时并不包括关于杭州市民中心停车费相关的数据,此时触发其Agent能力。通过Function Calling 向应用程序索要相关信息,应用程序调用api或者上网查询,将得到的信息再次以Prompt形式给到大模型,大模型处理后作出反馈。

下面截图是通过智谱清言测试的过程:

2.3 RAG(Retrieval-Augmented Generation)架构

  • Embeddings:把文字转换为更易于相似度计算的编码。这种编码叫向量
  • 向量数据库:把向量存起来,方便查找
  • 向量搜索:根据输入向量,找到最相似的向量

大模型中的RAG(检索增强生成)技术,是近年来在自然语言处理领域迅速发展的一项技术。它主要解决的是大语言模型(Large Language Model, LLM)在实际应用中遇到的一些问题。
首先,大语言模型虽然在处理语言任务时表现出色,但它们存在着一些固有的局限性。例如,它们可能产生“幻觉”,即在回答问题时提供不准确或误导性的信息。这是因为模型的训练数据是有限的,它们可能无法涵盖所有的事实和信息。此外,模型的知识是固定的,无法实时更新,这使得它们在处理最新的信息时可能产生误差。
RAG技术的核心思想是通过检索技术来增强生成过程。具体来说,它首先从各种数据源中检索出与待解答问题最相关的信息,然后将这些信息作为背景知识融入到问题的生成过程中。这样,大语言模型在生成答案时就可以参考这些真实、准确的信息,从而提高答案的质量和可靠性。
RAG技术在实际应用中表现出色,受到了广泛关注。它不仅可以应用于问答系统,还可以用于聊天机器人、文本生成等众多领域。同时,RAG技术也推动了向量搜索领域的发展,很多初创公司基于RAG技术提供了向量数据库服务。
总的来说,大模型中的RAG技术,通过结合检索和生成技术,有效地解决了大语言模型在实际应用中遇到的一些问题,提高了模型的性能和可用性。

2.4 Fine-tuning架构

大模型的Fine-tuning是指在使用大规模预训练模型(如GPT-3、LLaMA、GPT-4等)的基础上,通过少量的样本进行微调,以适应特定的任务或数据集。这种方法可以充分利用预训练模型中的通用知识,同时避免从头开始训练一个全新的模型,从而节省计算资源和时间。
在大模型上进行Fine-tuning通常面临以下挑战:
1. 计算资源消耗:大模型通常具有数十亿甚至千亿的参数,直接进行Fine-tuning需要大量的计算资源,如GPU或TPU集群。
2. 存储需求:训练大量的模型副本会占用大量的存储空间。
3. 模型调整复杂性:大模型可能有复杂的结构和多个层,对模型的调整和管理也更为复杂。
为了解决这些问题,可以采用以下策略:
1. 参数高效Fine-tuning:通过仅微调模型中的一部分参数(如Adapter Tuning、Prefix Tuning、Prompt Tuning等),减少需要更新的参数数量,从而降低计算资源的需求。
2. 知识蒸馏:将大模型的知识通过蒸馏过程转移到一个小模型中,这样可以在保持性能的同时减少模型的规模和计算需求。
3. 模型剪枝和量化:通过剪枝去除模型中不重要的参数,并进行量化以减少模型的复杂性和计算资源的需求。
4. 动态Fine-tuning:根据任务的动态需求调整模型的规模和计算资源,例如,在任务繁忙时增加模型规模,闲暇时减少。
大模型的Fine-tuning是一个平衡通用性和任务特异性的过程,需要根据具体的任务需求和计算资源限制来权衡不同的策略。

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

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

相关文章

[机器学习]简单线性回归——梯度下降法

一.梯度下降法概念 2.代码实现 # 0. 引入依赖 import numpy as np import matplotlib.pyplot as plt# 1. 导入数据(data.csv) points np.genfromtxt(data.csv, delimiter,) points[0,0]# 提取points中的两列数据,分别作为x,y …

2024最新拼多多砍价群免费互帮助力群二维码秒进

拼多多天天领现金、现金大转盘、免费领商品等活动都是真实的,很多的网友都是体现成功了的,但是,这个钱想要领也是需要方法的,大家需要大量的群和新用户才可以完成操作。那我们怎么参加呢?今天小编就教大家几种方法&…

计算机毕业设计 | vue+springboot 超市账单管理系统(附源码)

1,绪论 1.1 开发背景 世界上第一个购物中心诞生于美国纽约,外国人迈克尔库伦开设了第一家合作商店,为了更好地吸引大量客流量,迈克尔库伦精心设计了低价策略,通过大量进货把商品价格压低,通过商店一次性集…

【Spark系列1】Spark作业执行原理

本文字数在7800字左右,预计时间在15分钟 一、整体流程 每个Aciton操作会创建一个JOB,JOB会提交给DAGScheduler,DAGScheduler根据RDD依赖的关系划分为多个Stage,每个Stage又会创建多个TaskSet,每个TaskSet包含多个Tas…

python简单socket demo

socket说明 socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。除了常见的http请求之外,一些敏感的数据传输常用socket套接字层直接传输数据。一个简单的domo用于熟…

基于Micropython利用ESP32-C3墨水屏电子时钟方法

本篇笔记介绍一下我们设计制作的墨水屏时钟。 1、所需硬件 1)合宙的ESP32-C3: 2)电子价签拆出来的2.9寸墨水屏: ——电子价签型号为:Stellar-L,墨水屏型号为:E029A01。 3)自己设计…

我的2023年度总结

今天和去年一样,没有目录,正文开始: 距离上次更新博客已经过去很久了 我们还是不忘初心,先推荐一本书《培根随笔》。最近有想看马克思的著作,马哲才是世界大法。 这一年,过得很快。如果没有保持写日记的习惯…

多文件开发

当所有的类都写在main.m这个源文件之中、将不利于后期的维护和团队开发 推荐的方式 把1个类写在1个模块之中,而1个模块至少包含两个文件 h头文件 1.写的类声明因为要用到Foundation框架中的类NS0 bject所以在这个头文件中要引入 Foundationa 2.框架的头文件 3.然后…

1.23神经网络框架(sig函数),逆向参数调整法(梯度下降法,链式法则(理解,及处理多层神经网络的方式))

框架 输入层 隐藏层 存在一个阈值,如果低于某一阈值就不激活;高于了就激活 输出层 逆向参数调整方法 初始阶段,随机设置权重值w1,w2 依据训练集 两个数学方法 (梯度下降、链式法则) 调参借助两个数学方法 当导数为…

【归并排序】【图论】【动态规划】【 深度游戏搜索】1569将子数组重新排序得到同一个二叉搜索树的方案数

本文涉及知识点 动态规划汇总 图论 深度游戏搜索 归并排序 组合 LeetCoce1569将子数组重新排序得到同一个二叉搜索树的方案数 给你一个数组 nums 表示 1 到 n 的一个排列。我们按照元素在 nums 中的顺序依次插入一个初始为空的二叉搜索树(BST)。请你统…

了解OpenCV的数据类型

OpenCV是一个开源的计算机视觉库,广泛应用于图像和视频处理领域。在OpenCV中,数据类型扮演着非常重要的角色,它们决定了数据的存储方式和操作方式。本文将介绍OpenCV中常见的数据类型,包括图像数据类型、矩阵数据类型和轮廓数据类…

线程调度(Java Android)

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览2.1、线程的属性 三、…

Dockerfile简介和基础实践

文章目录 1、Dockerfile简介1.1、Dockerfile解决的问题1.2、docker build 构建流程1.3、关键字介绍 2、Dockerfile 实践2.1、基本语法实践 --- golang2.1.1 问题检查 2.2、基本语法实践 --- gcc 总结 1、Dockerfile简介 Dockerfile是一个创建镜像所有命令的文本文件, 包含了一…

C++进阶(七)AVL树

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、AVL树的概念二、AVL树的旋转1、左单旋2、右单旋3、左右双旋4、右左双旋 三、AVL树的基本实…

PCL Kdtree 使用示例

PCL Kdtree 使用示例 文章目录 PCL Kdtree 使用示例一、关于 KDTree二、关于最近邻搜索三、复杂度分析四、C代码示例五、关键函数说明nearestKSearch 函数说明 一、关于 KDTree 点云数据主要是, 表征 目标表面 的海量点集合, 并不具备传统实体网格数据的…

Hive中left join 中的where 和 on的区别

目录 一、知识点 二、测试验证 三、引申 一、知识点 left join中关于where和on条件的知识点: 多表left join 是会生成一张临时表。on后面: 一般是对left join 的右表进行条件过滤,会返回左表中的所有行,而右表中没有匹配上的数…

【Git】项目管理笔记

文章目录 本地电脑初始化docker报错.gitignoregit loggit resetgit statusgit ls-filesgit rm -r -f --cached拉取仓库文件更新本地的项目报错处理! [rejected] master -> master (fetch first)gitgitee.com: Permission denied (publickey).error: remote origin already e…

linux进程(上)

目录 进程的概念 进程的状态 进程状态的理解 特殊的进程 本期我们将进行linux进程的学习。 进程的概念 我们或多或少都听说过进程的概念,但是在操作系统中,进程到底是什么呢? 进程就是程序的一次执行过程。 一个程序要被执行&#xff…

NLP自然语言处理的发展:从初创到人工智能的里程碑

自然语言处理(Natural Language Processing,NLP)人工智能领域中备受关注的重要分支之一。它使得计算机能够理解、解释和使用人类语言。随着技术的不断发展,NLP经历了从初创时期到深度学习时代的巨大演变,推动了互联网产…

AWS云用户创建

问题 需要给工友创建AWS云的用户,这里假设使用分配给自己AWS开发者IAM账号,给别人创建aws IAM账号。 登录系统 打开页面:https://xxx.signin.aws.amazon.com/console,使用分配的开发者账号登录。如下图: 创建用户…