AI_当前大模型的应用方向_技术人员

大模型的能力

 学习、推理、自我修正、感知和处理语言等功能
 每个阶段: 具有强大的自然语言理解和生成能力,可以完成撰写论文、邮件、脚本、文案、翻译、代码等任务

层次

大模型基础架构
     (Transformer/BEV/NeRF)

大模型训练

   大模型的训练整体上分为三个阶段:预训练、SFT(监督微调)以及RL(强化学习	
     预训练 Pre-training   监督微调(SFT,Supervised Fine Tuning)  Reinforcement Learning
	 监督微调(SFT,Supervised Fine Tuning
	 
	   预训练前的大模型参数是随机初始化的,因此往往需要很长的训练轮次与时间才能达到预期效果
    大模型是如何工作的
     分词化(Tokenization)与词表映射
	  评测流程
	  
	模型层内生安全 :
          获取风险Query,生成并人工审核安全Response,以及生成多样化的安全Response		

大模型应用

    大模型应用工程师
	    01.优化提示词
	    02.借助API让大模型自动化处理任务
		03.通过插件增强大模型的能力
		04.通过RAG增强  知识检索增强
		05.借助Agent 智能体
		06.通过微调改善 tunning
	大模型应用开发平台

大模型应用

01.提示词(Prompt)是用户发送给大语言模型的问题、指令或请求
    零样本提示(Zero-Shot Prompting
	少样本提示(Few-Shot Prompting)
	判断:
	   交互形态将突破当前以提示词(Prompt)为核心的“打孔纸带式”输入模式,
	   逐步向更自然、智能、多模态和场景化的方向发展	
       因为大模型是推理型大模型,而不是指令型大模型 未来的交互将不再依赖复杂的提示词设计-跟进时代的脚步
02. API 自动完成一批文本处理任务:
     批处理
03.大模型插件--外挂
     大模型插件是一种软件组件,它们设计用于增强和扩展基础大模型的功能。如网络搜索、视觉生成、语音合成等
      首先接收输入,判断是否需要使用工具及选择合适的工具,然后使用工具并获得返回结果进行后续推理生成
04.检索增强生成(RAG,Retrieval Augmented Generation)方
     建立索引、检索、生成
	   01.经过嵌入模型转换成向量数据(此过程叫做embedding),并将原始语料块和嵌入向量以键值对形式存储到向量数据库中
	   02.计算出用户的问题与向量数据库中的文档块之间的相似度,选择相似度最高的K个文档块
	   03.知识与问题会合并到提示词模板中提交给大模型,大模型给出回复
    对答案做兜底验证的机制-建立评测标准
05.大模型Agent是指基于大语言模型的,能使用工具与外部世界进行交互的计算机程序
      思维链(Chain of Thought,CoT)	思维树ToT(Tree of Thought)
	  思维图GoT(Graph of Thoughts) 
06.tunning	  
  应用层安全机制
     风险识别模型-个人信息-内容安全等

安全合规

安全合规风险来源与治理防控方法		  
	户个人数据、生成内容的安全性及知识产权  
	  匿名化处理 用户可能输入个人信息
从扩散模型中反向提取出训练数据
      扩散模型(如Stable Diffusion)-即生成器和判别器
《个人信息保护法》及GB/T 35273-2020《信息安全技术 个人信息安全规范》进行一般个人信息和敏感个人信息的分类管理
 GB/T 37964-2019《信息安全技术 个人信息去标识化指南》和GB/T 42460-2023《信息安全技术 个人信息去标识化效果评估指南》	

大模型微调

    训练-改良-推理
	  微调--针对性补习
	     1. 数据准备:  需要特定领域的高质量数据,配置合适的参数
		     数据收集和数据清洗
         2.微调代码
		    全参微调与高效微调
			  全参微调(Full Fine Tuning)
			  高效微调 PEFT(Parameter-Efficient Fine-Tuning)技术
		         LoRA 的全称是 "Low-Rank Adaptation"(低秩适应
				 Bias-only or BitFit(只训练偏置向量)、
				 Prefix-embedding tuning (PreEmbed,Prefix Tuning 方法,只优化 embedding 层的激活)、
				 Prefix-layer tuning (PreLayer,Prefix Tuning 方法,优化模型所有层的激活)、
				 Adapter tuning
				 Prompt Tuning方法是在输入嵌入向量中加入prompt tokens向量

模型推理和部署

   模型部署能力

训练和推理

更好的网络结构,更多的训练数据,更快的计算设备 device 
更低的成本-更快的速度-更好的效果

 -数学表达和程序表达之间存在显著的差异和紧密联系
 --优秀的设计,而是实现的糟糕选择--顶层设计上,落到实处上

原始数据

字符-数字-字母-字节-图像等
token      Tokenization
        离散的、高维的文本数据转换为可输入到机器学习模型中的低维数字
           索引化(Indexing) vocabulary: Idx 或 Index:Idx 
		   在NLP任务中通常指的是token的索引。当创建一个词汇表(vocabulary)时,每个唯一的token会被赋予一个整数索引
embedding: Token Embedding   Position Embedding   Segment Embedding
    使用nn.Embedding层的神经网络模型中,输入模型的是Token的Index,模型内部会自动将其转换成相应的Vector
vector

数据

标量-scalar-单独的数(可以是整数、浮点数、复数等。)
向量-vector--向量元素类型
矩阵-matrix--相同特征和维度的对象集合
张量-tensor- 张量指具有任意数量轴的n维数组的通用方法 数组-array ndarray

   names,dimnames  dimensions type length
   数据类型:元素类型
   数据大小:维度--维度名称-维度长度-元素个数  引入形状(shape)  axis
数学上 
     标量(scalar)是0阶张量,向量(vector)是一阶张量,矩阵(matrix)是二阶张量
	 张量可以看作是多维数组,每个维度可以有不同的长度
计算机上
    R语言
        张量通常用于表示数据结构,如图像(二维张量)、视频(三维张量,包括时间维度)和多维数据集。
        数组是存储于一个连续空间且具有相同数据类型的元素集合
        vector  向量是一维数组,可用于存储数值型、字符型或逻辑型数据--向量的位置索引
		matrix  矩阵是二维数组,同样可以存储数值型、字符型或逻辑型数据
        Dataframe 数据框,数据框可以包含不同格式的数据
		列表-Lists

程序表达-张量

张量数据结构.
    数组包装具有梯度等信息的张量(Tensor)
    --自动微分机制 -- 动态计算图	 multi-dimensional matrix 
PyTorch中,张量Tensor是最基础的运算单位	
    PyTorch中,requires_grad  属性用于控制自动微分(autograd)系统是否追踪该张量上的操作
	  torch.Tensor 
	    torch.device Tensor.is_cuda    torch.dtype  torch.Size Tensor.ndim
	backward方法通常在一个标量张量上调用,该方法求得的梯度将存在对应自变量张量的grad属性下	
	    Pytorch本身在求完梯度后会自动挂载到Tensor.grad属性上 
MindSpore		
	mindspore.Tensor 
	
AI 框架都选择
   使用计算图来抽象神经网络计算表达,
   通过通用的数据结构(张量)来理解、表达和执行神经网络模型	
1)基本数据结构张量和 2)基本计算单元算子

算子

 Operator 对张量 Tensor 执行的基本操作集合
 Function 对算子模块的具体实现	

可微编程

自动微分 
    理想中的 自动微分是对数学表达的分解、微分和组合过程
    实际中的 自动微分是对程序表达的分界、微分和组合过程-
	 -数学表达和程序表达之间存在显著的差异
在前向模式中,由于微分过程和原程序计算过程是同步的,因此不会引入额外的存储代价

在 AI 框架中更加常用的 后向自动微分模式为例-额外中间变量存储得越多,会减少重复的计算量,即以空间换时间
    自动微分的实现依赖于表达式追踪机制,表达式追踪是自动微分的基础-利用链式求导法则组合各部分中间变量,生成梯度结果

AI系统

函数-梯度-微分 
 模型训练过程中,通常会用损失函数来衡量模型的预测值与真实值之间的误差,我们的目标就是最小化这个损失函数,找到最优解
  一元函数就是只有一个未知量
         微分-积分
  多元函数--偏导数/偏微分
      多重积分是定积分的一类,它将定积分扩展到多元函数(多变量的函数
	  
        梯度、散度和旋度
	     梯度的方向是函数值增加最快的方向
		 散度(Divergence)-向量场
		 旋度(Curl)-旋度讨论的也是向量场,或者说向量值函数

 梯度-grad 反映函数的变化趋势,通过计算损失函数关于模型参数的梯度
    Gradient Accumulation
        随机梯度下降(Stochastic Gradient Descent)
 
 微分方式有手动微分、符号微分、数值微分和自动微分
    自动微分是介于数值微分和符号微分之间的方法,采用类似有向图的方式来求解梯度,常用的链式求导法则
	    自动微分的实现依赖于表达式追踪机制,
		      表达式追踪是自动微分的基础,可以追踪数值计算过程中的中间变量,表示中间变量之间的依赖关系
	实现梯度累加的方式有显著差异-梯度累加实现的差异
	  01.Tensor为核心的自动微分
	    每个Tensor对象有grad_fn属性用来存储该Tensor参与的反向操作,同时还有grad属性,存储该Tensor对应的梯度。
		计算梯度时通过标量loss.backward()实现
		 Pytorch本身在求完梯度后会自动挂载到Tensor.grad属性上
	  02.函数式自动微分
         正向计算视作输入到Loss的计算函数,通过函数变换获得反向计算函数,并调用反向计算函数来获得梯度
         没有直接挂载到Tensor属性的操作,因此需要单独维护一份和训练参数相同大小的参数进行累加的计算
	pickle进行的序列化处理,实际上.bin文件虽然扩展名似乎叫binary,但是是一个zip文件。	 

结构-数学表达

神经元: 单个神经的本质是 算术乘+累计加		  
神经网络

     大模型时代:
	  几千卡几万卡的集群利用率打上去,大规模数据配上超大规模参数量的模型高效地训练起来

训练与推理

1)前向计算、2)计算损失、3)更新权重参数 
模型优化和推理框架合称为推理引擎		  

参考

  聊聊梯度累加(Gradient Accumulation)	 https://zhuanlan.zhihu.com/p/595716023	  		  
  阿里云大模型工程师ACA认证
posted @   辰令  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示