大白话讲解AI大模型

news2024/9/21 4:29:42

大白话讲解大模型

    • 大模型的发展
        • 重要大模型发展时间线
    • 大模型的简单原理-训练
    • ⼤模型是如何训练并应⽤到场景中的?
      • 如果训练私有化模型

模型:model
语料库:用于训练模型的数据


大模型的发展

详细信息来源:DataLearner

2022年11月底,ChatGPT横空出世,全球都被这样一个“好像”有智能的产品吸引。随后,工业界、科研机构开始疯狂投入大模型。在2023年,这个被称为大模型元年的年份,有很多令人瞩目的AI产品与模型发布。

ChatGPT最主要的贡献是证明了大力出奇迹的可能性。在证明了这个理论之后,各种AI的发展得以快速推进。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重要大模型发展时间线

二月份

  • LLaMA:第一个开源的重要大模型,它推动了整个行业的发展,并且促使我国出现了各种各样的大模型。
  • MOSS:复旦开源的大模型,效果一般。
  • ControlNet:在图片的局部重绘方面地位非常高,能够保持图片的一致性(风格或人物形象)。

三月份

  • Alpaca:重要的里程碑,首次将大模型微调的概念传递给大众,使用简单的方法对LLaMA进行了微调,奠定了微调的基础。
  • 其他重要模型:如ChatGLM、GPT-4、文心一言等。AutoGPT是第一个提出Agent概念的模型,能够自动完成任务,如创建网站等。
  • MidjourneyV5:图片生成的里程碑。

四月份

  • Stable Diffusion XL 1.0:图片生成领域的代表性工作,完全开源。
  • Vicuna 13B:学习大模型微调的开源代码首选,详细说明了transformer模型的搭建。

五月份

  • QLoRA:微调的一种方式。

六月份

  • Runway Gen2:使用AI生成电影的开端。

七月份

  • Llama 2Claude 2新鲜出炉。

八月份

  • 没有特别的模型发布。

九月份

  • Mistral 7B:英文开源大模型,之前的大部分模型都是基于Llama的。

十月份

  • 没有特别的模型发布。

十一月份

  • GPTs:较为失败的模型。
  • Yi-34B:中文开源大模型,效果较好,许多公司选择它。
  • 国内开源大模型:如ChatGLM3=Yi-34B>百川。
  • Pika:生成视频,当时很火。

十二月份

  • Mixtral 8×7B MoE:MoE模型,嵌入了8个Mixtral模型,共同决策的方法论。
  • Phi-2:用更小的模型完成大模型的任务。

大模型的简单原理-训练

简单来说大模型:就是大力出奇迹,就是把一堆数据灌进去,它就形成了你的大脑
在这里插入图片描述

大模型的原理可以简化为“数据灌输形成智能”。目前最常用的模型是transformer神经网络,2017年提出,解决了seq2seq的问题并适用于更复杂的场景。OpenAI验证了“大力出奇迹”的理论。)

当我们问一句话的时候,通过模型进行处理,最后输出结果。首先要考虑的上,当我们肉眼看到我们问的问题的时候我们是能理解它的意思的,那么怎么让机器去理解它的意思就是一个问题。

在12年开始就有人研究这个事情,提出词向量(world wect)使用向量去存储,输入的每句话都可以对应在向量上,我们可以根据向量的加速度比较两句话的意思是否相近,可以在向量空间里表示出来。我们的文字通过transformer能让模型理解我们说的是什么意思。

基于transformer打造的模型例如ChatGpt、文心一言、1000b、2000b等只是区别于他们的大小和transformer每层的参数不一样、层数可能会更多等等宏观的设计上。

我们一般用autoregressive的方式去训练transformer,假设我们现在训练的是“我上一段token”这一句话。那么我们假设“上一段“是一个token,这一段token进入transformer之后,希望他能预测下一个单词—token。假设我先给模型的是上一段t,那么我希望模型预测出来接下来的语句是oken。有点像高中初中的完形填空。最后学出来的模型就是大模型。

在这里就有一个问题为什么这样训练出来的模型就是大模型呢?

举例:我们学习英文一般都是主谓宾宾补等等,但是现在还有一种方式就是我们根本不看这些而是去阅读大量的书籍或者看美剧等等,看的多了说的多了读的多了,当其他人用英文给你聊天的时候你自然而然的就知道他下面要接什么,这就是语感。

假设我们现在有已经训练好的模型了

那么假设我现在输入给大模型“大模型简单”,那么大模型会根据这几个字往后面跟什么给我做一个补充。它背后会有一个分布,就是下一个词的概率,例如 吗?-70%概率,死了-20%概率等等词,并且所有单子概率加在一起等于1,所以它是具备随机性的。然后还有一个标准比如遇到一个句号停止生成,或者到达某个标准停止生成。例如限制它的token等等。

因为我们获取结果的方式上在分布里去采样,如果我们想发散率小一点那么我们只需要取前面概率大的,如果我们想发散率高一点那么我们可以取概率小的。所以我们可以在文字生成的时候可以对大模型进行控制也就是gpt等AIP中的参数

⼤模型是如何训练并应⽤到场景中的?

大模型的构造和应用那个环节上最重要的(加粗)

1、数据

2、模型数据(transformer)

3、模型训练(大模型微调 deepspeed对齐)标准化,以后会有一些软件可以直接可视化训练不需要技术

4、benchmark(评测标准用来评测模型训练的好坏)

5、moeory内存(让大模型根据PDF、数据库、企业的数据回答一些问题)

6、搜索技术(在向量数据库中搜索一些相似的,还有一些query优化等等)

7、RAG

如果解决企业中遇到的一些问题

  1. 基于现有模型(如GPT-4、通义千问)—缺点:大模型越狱可能会胡言乱语
    • App通过prompt去限制访问GPT4
    • App通过prompt先去向量数据库中做查询然后跟prompt合并,在请求GPT4
    • Agent 就是让大模型可以按照我们任务的描述一步步生成我们想要的东西最后合并
  2. 训练私有模型

如果训练私有化模型

假设我们现在要构建一个保险领域的大模型–从0开始

  1. 预训练(Pre-training)

    1. model Design:
      • 确定模型的规模(Size)
      • 设计模型的结构,包括层数和每层的架构(architecture)
      • 构建词库,尤其是保险领域的术语
      • 决定模型是中文模型还是英文模型
    2. 确认应用场景
      • 明确模型需要具备的能力
      • 目标是垂直领域(保险领域),而非通用领域
      • 设定目标:使模型在保险领域的表现超越或达到GPT的水平
    3. 设计评测标准(Benchmark Design):
      1. 设计评测标准,用于确保和验证模型的能力
    4. 数据设计
      • 什么样的数据能够满足模型的应用场景呢(学什么的数据)
        1. 中文占多数
        2. 英文少量
        3. 数据量(语料库处理完之后剩下大概 1T token—> 1000b token —>1w亿的token)
          1. 为了抽取这些token我们要大概多少数据Row->Token
          2. 100G -->理想情况能抽取10B token
          3. 数据配比 都是玄学必须实战
            1. 重要数据比例最大 但是占用到底上多少需要测试
            2. 垂直数据和通用数据之间的数据配比 (一般通用比垂直稍微多一点点)
            3. 数据源配比
      • 金融领域的数据 vertical
      • 保险领域的数据 vertical
      • 通用领域的数据 --通用的知识 general vertical
      • 举例:通用数据奠定了基本能力(本科),专业领域数据奠定了入职前的的能力(硕士),然后才能开始工作 ---->gap
    5. 数据清洗
      • 重复数据要干掉
      • 符号等等
    6. 语料库最后转行为 100B Token
    7. 模型预训练
      • 使用100B Token进行模型学习,得到基础能力模型(Pre-trained model)
      • 例如,ChatGLM-7B-Base是一个预训练模型
      • 预训练需要至少200-300张GPU卡
      • 初步训练后的模型能进行基本对话,但效果有限
      • 相当于一个刚出学校的大学生什么都会,但是有不太会,产出不了一些价值
  2. 微调FineTune LLM-Base(底座 预训练模型) LLM-Chat(微调过的模型)

    1. 金融本科生(PreTrain) + 能力(跟客户的沟通能力,保险常见问题回答)FineTranel----->产出价值 (保险领域智能客服)
    2. FineTranel最主要要了解从PreTrain到保险领域智能客服 到底需要哪些东西
      1. 沟通
        1. General 沟通 —> 收集大量对话
        2. Vertical 沟通 ----->保险领域对话
      2. 常见问题回答 ---->常见问题解决方案
      3. 将上面的对话–业务场景相关 等等多样化数据 将不同场景都要覆盖到 Diverse数据做成Date<input,output>
      4. 将Date进行数据清理 然后进行训练
      5. 使用LoRA的方式用最少的数据出最大的成功进行训练,不影响第一次训练
      6. instruction following能力 能按照用户的要求完成一些任务
    3. 模型的推理inference
  3. 对齐Alignment (培养规范人才) ->human preference

    1. 微调完毕后,模型可能仍会产生不符合预期的输出。

      1. Hallucination(幻觉):模型生成虚假或不相关的内容。

      2. Safety(安全性):确保模型不会生成有害或不适当的内容。

    2. 需要通过对齐技术(如SFT,Supervised Fine-Tuning,即监督微调)进一步训练模型,使其能够按照预期解决问题。

    3. 使用强化学习技术(如PPO,Proximal Policy Optimization)DPO进行对齐,确保模型按规范处理问题。

    4. PreTrain(本科未毕业)---->SFT(Superxxxxxx)培训具备能力解决实际问题---->Alignment具备了能力但是不按规范办事

  4. 得到一个最终的通用金融Model

  5. 开发

    1. 将公司的专属文档切分为trunk,然后存在一个向量数据库,为我们的大模型进行服务
      1. 产品文档
      2. 规范文档
      3. 造价
      4. 等等
  6. 应用

推荐资料

GitHub - HqWu-HITCS/Awesome-Chinese-LLM: 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。

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

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

相关文章

【STM32学习】stm32cubemx基础配置,点亮/闪烁一个LED灯

1、cubemx开始 打开cubemx&#xff0c;在help栏中&#xff0c;点击&#xff0c;选择安装你所需要的stm32芯片版本&#xff0c; 打开后&#xff0c;选择你所配置的芯片型号&#xff0c;如我配置的是stm32f4系列&#xff0c;勾选&#xff0c;点击Install。 安装好后&#xff0c;…

防火墙配置安全策略以及用户认证综合实验

一、拓扑图&#xff1a; 二、实验需求&#xff1a; 1、DMz区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18&#xff1a;00)可以访问&#xff0c;生产区的设备全天可以访问&#xff1b; 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3、办公…

如何挑选适合的需求池管理系统?10款优质工具分享

本文将分享10款优质需求池管理工具&#xff1a;PingCode、Worktile、Teambition、Epicor Kinetic、TAPD、SAP IBP、Logility、RELEX Solutions、JIRA、明道云。 在管理项目和产品需求时&#xff0c;正确的工具能够大幅提高效率与透明度。如何从众多需求池工具中选择最适合团队的…

昇思25天学习打卡营第17天|基于MobileNetv2的垃圾分类

今天学习的内容是利用视觉图像技术&#xff0c;来实现垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 本章节主要包括8部分内容&#xff1a; 1、实验目的 1、了解熟悉垃圾分类应用…

基于Python的哔哩哔哩数据分析系统设计实现过程,技术使用flask、MySQL、echarts,前端使用Layui

背景和意义 随着互联网和数字媒体行业的快速发展&#xff0c;视频网站作为重要的内容传播平台之一&#xff0c;用户量和内容丰富度呈现爆发式增长。本研究旨在设计并实现一种基于Python的哔哩哔哩数据分析系统&#xff0c;采用Flask框架、MySQL数据库以及echarts数据可视化技术…

前端--第一个前端程序

第一个前端程序 第一步&#xff1a; 使用记事本&#xff0c;编写代码 在你的一个磁盘里面创建一个文件夹&#xff0c;名为前端&#xff0c;然后在里面新建一个记事本&#xff0c;在里面写如下代码&#xff0c;注意一定要使用英文&#xff0c;然后把后缀名称改为.html。 第二…

MGRE环境下的OSPF实验

1、IP进行分配&#xff0c;并配置 配置各个路由器上的换回地址 配置接口地址 将缺省路由配出来 2、R1/4/5全连的MGRE以R1为中心 R1配置 进入隧道接口并配置ip 将协议配置为MGRE 并配置源接口IP 配置nhrp的id R3配置 R4配置

隔离计数器卡 脉冲编码器模块USB2392 采集48V电压 北京阿尔泰科技

1、简介&#xff1a; 2、主要系统框图&#xff1a; 2.3、规格参数&#xff1a; 3、板卡外形图&#xff1a;

Qt+MySQL实现社团管理系统

开发环境 ● Qt 5.14.1 ● Win10 ● Mysql 5.7.28 系统介绍 系统主要实现的功能如下图所示 社团管理系统主要包含了以下几个亮点功能 轮播图显示社团信息支持excel形式的导入导出学生信息权限控制&#xff08;管理员、超级管理员、用户&#xff09; 系统效果展示 登录界面…

Python-找客户软件

软件功能 请求代码&#xff1a; 填充表格&#xff1a; 可以search全国各个区县的所有企业信息&#xff0c;过滤手机号、查看是否续存/在业状态。方便找客户。 支持定-制-其他引-留-阮*件&#xff08;XHSS&#xff0c;DYY&#xff0c;KS&#xff0c;Bi-li*Bi-li&#xff09; V*…

Open3D 四元数法实现对应点集配准

目录 一、概述 1.1 基本思想 ​1.2详细步骤 二、代码实现 三、实现效果 3.1原始点云 3.2配准后点云 3.3变换矩阵 一、概述 在点云配准中&#xff0c;四元数法是一种精确计算旋转和平移变换的方法。其目标是找到一个刚体变换&#xff0c;使源点云和目标点云的对应点集之…

电厂数字孪生能源数据可视化运维平台开发炫酷且性价比更高

3D数据可视化大屏平台是我们为工厂车间提供的线上展示自定义工具&#xff0c;深度融合了web3D开发建模、AI和图形图像技术&#xff0c;完美还原车间产线布局&#xff0c;让复杂的生产流程和设备运行数据在大屏上直观呈现。 3D可视化数据大屏采用全景3D视角和虚拟现实技术&#…

Matlab中如何添加OptiluX?

1、打开Matlab&#xff0c;依次点击“新建”&#xff0c;“工程”&#xff0c;“从SVN”。 2、存储库路径输入&#xff1a; p/optilux/code - Revision 80: /trunk 同时在“源代码控制集成”菜单中选择“SVN (1.9)” 3、沙盒选择一个自己建的文件夹即可。 来源&#xff1a;Opt…

1290. 二进制链表转整数

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1&#xff1a; 输入&#xff1a;head [1,0,1] 输出&#xff1a;5 解释&#xff1a;二进制数 (101) 转化为十进制…

【中项第三版】系统集成项目管理工程师 | 第 4 章 信息系统架构⑤ | 4.8 - 4.9

前言 第4章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于技术相关的内容&#xff0c;学习要以教材为准。本章分值预计在4-5分。 目录 4.8 云原生架构 4.8.1 发展概述 4.8.2 架构定义 4.8.3 基本原则 4.8.4 常用架构模式 4.8.5 云原生案例 4.9 本章…

防火墙(ensp USG6000v)---安全策略 + 用户认证综合实验

一. 题目 1&#xff09; 拓扑 2&#xff09;要求 1. DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00 -- 18: 00)可以访问&#xff0c;生产区的设备全天可以访问 2.生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3.办公区设备10.0.2.10不充许…

链表 OJ(一)

移除链表元素 题目连接&#xff1a; https://leetcode.cn/problems/remove-linked-list-elements/description/ 使用双指针法&#xff0c;开始时&#xff0c;一个指针指向头节点&#xff0c;另一个指针指向头节点的下一个结点&#xff0c;然后开始遍历链表删除结点。 这里要注…

【React Hooks原理 - useState】

概述 useState赋予了Function Component状态管理的能力&#xff0c;可以让你在不编写 class 的情况下使用 state 。其本质上就是一类特殊的函数&#xff0c;它们约定以 use 开头。本文从源码出发&#xff0c;一步一步看看useState是如何实现以及工作的。 基础使用 function …

高盛开源的量化金融 Python 库

GS Quant GS Quant是用于量化金融的Python工具包&#xff0c;建立在世界上最强大的风险转移平台之一之上。旨在加速量化交易策略和风险管理解决方案的开发&#xff0c;凭借25年的全球市场经验精心打造。 它由高盛的定量开发人员&#xff08;定量&#xff09;创建和维护&#…

Java内存划分详解:从基础到进阶

Java内存划分详解&#xff1a;从基础到进阶 1. 程序计数器&#xff08;Program Counter Register&#xff09;2. Java虚拟机栈&#xff08;Java Virtual Machine Stack&#xff09;3. 堆&#xff08;Heap&#xff09;4. 方法区&#xff08;Method Area&#xff09;5. 运行时常量…