当前位置: 首页 > news >正文

大白话讲解AI大模型

大白话讲解大模型

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

模型: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: 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。

相关文章:

大白话讲解AI大模型

大白话讲解大模型 大模型的发展重要大模型发展时间线 大模型的简单原理-训练⼤模型是如何训练并应⽤到场景中的&#xff1f;如果训练私有化模型 模型&#xff1a;model 语料库&#xff1a;用于训练模型的数据 大模型的发展 详细信息来源&#xff1a;DataLearner 2022年11月底…...

pandas+pywin32操作excel办公自动化

import pandas as pd import re import win32com.client as win32 from win32com.client import constants import os import os.path as osp #读取表格 pathos.getcwd() fposp.join(path,fuck_demo.xlsx) dfpd.read_excel(fp,header1,usecols[序号,光缆段落名&#xff08;A端…...

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

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

Java使用POI导出后数字类型为常规类型,不能计算

今日日常撸码&#xff0c;甲方提出来excel导出后&#xff0c;数字类型那一列是常规类型&#xff0c;并不是数字&#xff0c;无法进行计算&#xff0c;如下图&#xff1a; 这里和导出的字段类型有关&#xff0c;我用的是POI进行excel的导出&#xff0c;需要在实体类上标注出需要…...

项目进度管理(5-1)常见的缓冲区监控方法

缓冲区监控是一种项目管理技术&#xff0c;主要用于关键链项目管理系统&#xff08;Critical Chain Project Management, CCPM&#xff09;中。它的核心理念是识别和管理项目中的不确定性和依赖性&#xff0c;以提高项目完成的可靠性。 缓冲区监控方法主要是针对项目进度计划执…...

构造函数语意学(The Semantics of Constructors)

1、“Default Constructor” 的构造操作 下面4种情况编译器会生成默认构造函数&#xff1a; 成员类对象带有默认构造函数父类带有默认构造函数带有虚表的类带有虚基类的类 1.1、 成员类对象带有默认构造函数 如果一个类没有任何构造函数&#xff0c;但它的一个成员对象带有…...

香橙派5plus上跑云手机方案二 waydroid

前言 上篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)说了怎么跑带GPU加速的redroid方案&#xff0c;这篇说下怎么在香橙派下使用Waydroid。 温馨提示 虽然能运行&#xff0c;但是体验下来只能用软件加速&#xff0c;无法使用GPU加速&#xff0c;所有会很卡。而且…...

600Kg大载重起飞重量多旋翼无人机技术详解

600Kg大载重起飞重量的多旋翼无人机是一种高性能的无人驾驶旋翼飞行器&#xff0c;具有出色的载重能力和稳定的飞行特性。该无人机采用先进的飞行控制系统和高效的动力系统&#xff0c;能够满足各种复杂任务的需求&#xff0c;广泛应用于物资运输、应急救援、森林防火等领域。 …...

LlamaFactory可视化微调大模型 - 参数详解

LlamaFactory 前言 LLaMA Factory 是一个用于微调大型语言模型的强大工具,特别是针对 LLaMA 系列模型。 可以适应不同的模型架构和大小。 支持多种微调技术,如全参数微调、LoRA( Low-Rank Adaptation )、QLoRA( Quantized LoRA )等。 还给我们提供了简单实用的命令行…...

最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…...

C语言笔记31 •单链表经典算法OJ题-3.反转链表•

反转链表 1.问题 给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.代码实现&#xff1a; //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …...

网桥与以太网交换机:功能与区别解析

在传统的共享式局域网中&#xff0c;所有站点共享一个公共的传输媒体。随着局域网规模的扩大、网络中站点数目的不断增加&#xff0c;这样的网络通信负载加重&#xff0c;网络效率急剧下降。随着技术的发展、交换技术的成熟和成本的降低&#xff0c;具有更高性能的交换式局域网…...

动态引用的艺术:在Postman中实现自动化的终极指南

&#x1f300; 动态引用的艺术&#xff1a;在Postman中实现自动化的终极指南 在API开发和测试中&#xff0c;Postman是一个强大的工具&#xff0c;它提供的动态引用功能可以帮助我们实现自动化和更高效的测试流程。本文将深入探讨如何在Postman中使用动态引用&#xff0c;通过…...

Qt:15.布局管理器(QVBoxLayout-垂直布局、QHBoxLayout-水平布局、QGridLayout-网格布局、拉伸系数,控制控件显示的大小)

目录 一、QVBoxLayout-垂直布局&#xff1a; 1.1QVBoxLayout介绍&#xff1a; 1.2 属性介绍&#xff1a; 1.3细节理解&#xff1a; 二、QHBoxLayout-水平布局&#xff1a; 三、QGridLayout-网格布局&#xff1a; 3.1QGridLayout介绍&#xff1a; 3.2常用方法&#xff1a…...

图论---无向图中国邮路的实现

开始编程前分析设计思路和程序的整体的框架&#xff0c;以及作为数学问题的性质&#xff1a; 程序流程图&#xff1a; 数学原理&#xff1a; 本质上是找到一条欧拉回路&#xff0c;考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路&#xff0c;涉及到欧…...

Rockchip RK3588 - Rockchip Linux SDK脚本分析

---------------------------------------------------------------------------------------------------------------------------- 开发板 &#xff1a;ArmSoM-Sige7开发板eMMC &#xff1a;64GBLPDDR4 &#xff1a;8GB 显示屏 &#xff1a;15.6英寸HDMI接口显示屏u-boot &a…...

【C++中resize和reserve的区别】

1. resize的用法 改变当前容器内含有元素的数量&#xff08;size()&#xff09;比如&#xff1a; vector<int> vct;int num vct.size();//之前的元素个数为num vct.resize(len);//现在的元素个数为len如果num < len &#xff0c;那么容器vct新增len - num个元素&am…...

计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设

本论文的主要研究内容如下&#xff1a; 了解基于Spark的TapTap游戏数据分析系统的基本架构&#xff0c;掌握系统的开发方法&#xff0c;包括系统开发基本流程、开发环境的搭建、测试与运行等。 主要功能如下&#xff1a; &#xff08;1&#xff09;用户管理模块&#xff1a…...

Python面试题:如何在 Python 中进行正则表达式操作?

在 Python 中&#xff0c;正则表达式操作可以通过 re 模块来实现。以下是一些常用的正则表达式操作和示例&#xff1a; 1. 导入模块 import re2. 常见操作和示例 a. 匹配 使用 re.match() 来检查字符串的开头是否匹配某个模式。 pattern r\d # 匹配一个或多个数字 strin…...

C#面:简述什么是中间件(Middleware)?

中间件是组装到应⽤程序管道中以处理请求和响应的软件。 每个组件&#xff1a; 选择是否将请求传递给管道中的下⼀个组件。 可以在调⽤管道中的下⼀个组件之前和之后执⾏⼯作。 请求委托&#xff08;Request delegates&#xff09;⽤于构建请求管道&#xff0c;处理每个HTTP请…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...