大白话讲解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 2和Claude 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
如果解决企业中遇到的一些问题
- 基于现有模型(如GPT-4、通义千问)—缺点:大模型越狱可能会胡言乱语
- App通过prompt去限制访问GPT4
- App通过prompt先去向量数据库中做查询然后跟prompt合并,在请求GPT4
- Agent 就是让大模型可以按照我们任务的描述一步步生成我们想要的东西最后合并
- 训练私有模型
如果训练私有化模型
假设我们现在要构建一个保险领域的大模型–从0开始
-
预训练(Pre-training)
- model Design:
- 确定模型的规模(Size)
- 设计模型的结构,包括层数和每层的架构(architecture)
- 构建词库,尤其是保险领域的术语
- 决定模型是中文模型还是英文模型
- 确认应用场景
- 明确模型需要具备的能力
- 目标是垂直领域(保险领域),而非通用领域
- 设定目标:使模型在保险领域的表现超越或达到GPT的水平
- 设计评测标准(Benchmark Design):
- 设计评测标准,用于确保和验证模型的能力
- 数据设计
- 什么样的数据能够满足模型的应用场景呢(学什么的数据)
- 中文占多数
- 英文少量
- 数据量(语料库处理完之后剩下大概 1T token—> 1000b token —>1w亿的token)
- 为了抽取这些token我们要大概多少数据Row->Token
- 100G -->理想情况能抽取10B token
- 数据配比 都是玄学必须实战
- 重要数据比例最大 但是占用到底上多少需要测试
- 垂直数据和通用数据之间的数据配比 (一般通用比垂直稍微多一点点)
- 数据源配比
- 金融领域的数据 vertical
- 保险领域的数据 vertical
- 通用领域的数据 --通用的知识 general vertical
- 举例:通用数据奠定了基本能力(本科),专业领域数据奠定了入职前的的能力(硕士),然后才能开始工作 ---->gap
- 什么样的数据能够满足模型的应用场景呢(学什么的数据)
- 数据清洗
- 重复数据要干掉
- 符号等等
- 语料库最后转行为 100B Token
- 模型预训练
- 使用100B Token进行模型学习,得到基础能力模型(Pre-trained model)
- 例如,ChatGLM-7B-Base是一个预训练模型
- 预训练需要至少200-300张GPU卡
- 初步训练后的模型能进行基本对话,但效果有限
- 相当于一个刚出学校的大学生什么都会,但是有不太会,产出不了一些价值
- model Design:
-
微调FineTune LLM-Base(底座 预训练模型) LLM-Chat(微调过的模型)
- 金融本科生(PreTrain) + 能力(跟客户的沟通能力,保险常见问题回答)FineTranel----->产出价值 (保险领域智能客服)
- FineTranel最主要要了解从PreTrain到保险领域智能客服 到底需要哪些东西
- 沟通
- General 沟通 —> 收集大量对话
- Vertical 沟通 ----->保险领域对话
- 常见问题回答 ---->常见问题解决方案
- 将上面的对话–业务场景相关 等等多样化数据 将不同场景都要覆盖到 Diverse数据做成Date<input,output>
- 将Date进行数据清理 然后进行训练
- 使用LoRA的方式用最少的数据出最大的成功进行训练,不影响第一次训练
- instruction following能力 能按照用户的要求完成一些任务
- 沟通
- 模型的推理inference
-
对齐Alignment (培养规范人才) ->human preference
-
微调完毕后,模型可能仍会产生不符合预期的输出。
-
Hallucination(幻觉):模型生成虚假或不相关的内容。
-
Safety(安全性):确保模型不会生成有害或不适当的内容。
-
-
需要通过对齐技术(如SFT,Supervised Fine-Tuning,即监督微调)进一步训练模型,使其能够按照预期解决问题。
-
使用强化学习技术(如PPO,Proximal Policy Optimization)DPO进行对齐,确保模型按规范处理问题。
-
PreTrain(本科未毕业)---->SFT(Superxxxxxx)培训具备能力解决实际问题---->Alignment具备了能力但是不按规范办事
-
-
得到一个最终的通用金融Model
-
开发
- 将公司的专属文档切分为trunk,然后存在一个向量数据库,为我们的大模型进行服务
- 产品文档
- 规范文档
- 造价
- 等等
- 将公司的专属文档切分为trunk,然后存在一个向量数据库,为我们的大模型进行服务
-
应用
推荐资料
GitHub - HqWu-HITCS/Awesome-Chinese-LLM: 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。
相关文章:
大白话讲解AI大模型
大白话讲解大模型 大模型的发展重要大模型发展时间线 大模型的简单原理-训练⼤模型是如何训练并应⽤到场景中的?如果训练私有化模型 模型:model 语料库:用于训练模型的数据 大模型的发展 详细信息来源: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[序号,光缆段落名(A端…...
防火墙(ensp USG6000v)---安全策略 + 用户认证综合实验
一. 题目 1) 拓扑 2)要求 1. DMZ区内的服务器,办公区仅能在办公时间内(9:00 -- 18: 00)可以访问,生产区的设备全天可以访问 2.生产区不允许访问互联网,办公区和游客区允许访问互联网 3.办公区设备10.0.2.10不充许…...
Java使用POI导出后数字类型为常规类型,不能计算
今日日常撸码,甲方提出来excel导出后,数字类型那一列是常规类型,并不是数字,无法进行计算,如下图: 这里和导出的字段类型有关,我用的是POI进行excel的导出,需要在实体类上标注出需要…...
项目进度管理(5-1)常见的缓冲区监控方法
缓冲区监控是一种项目管理技术,主要用于关键链项目管理系统(Critical Chain Project Management, CCPM)中。它的核心理念是识别和管理项目中的不确定性和依赖性,以提高项目完成的可靠性。 缓冲区监控方法主要是针对项目进度计划执…...
构造函数语意学(The Semantics of Constructors)
1、“Default Constructor” 的构造操作 下面4种情况编译器会生成默认构造函数: 成员类对象带有默认构造函数父类带有默认构造函数带有虚表的类带有虚基类的类 1.1、 成员类对象带有默认构造函数 如果一个类没有任何构造函数,但它的一个成员对象带有…...
香橙派5plus上跑云手机方案二 waydroid
前言 上篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)说了怎么跑带GPU加速的redroid方案,这篇说下怎么在香橙派下使用Waydroid。 温馨提示 虽然能运行,但是体验下来只能用软件加速,无法使用GPU加速,所有会很卡。而且…...
600Kg大载重起飞重量多旋翼无人机技术详解
600Kg大载重起飞重量的多旋翼无人机是一种高性能的无人驾驶旋翼飞行器,具有出色的载重能力和稳定的飞行特性。该无人机采用先进的飞行控制系统和高效的动力系统,能够满足各种复杂任务的需求,广泛应用于物资运输、应急救援、森林防火等领域。 …...
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,请你反转链表,并返回反转后的链表。 2.代码实现: //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …...
网桥与以太网交换机:功能与区别解析
在传统的共享式局域网中,所有站点共享一个公共的传输媒体。随着局域网规模的扩大、网络中站点数目的不断增加,这样的网络通信负载加重,网络效率急剧下降。随着技术的发展、交换技术的成熟和成本的降低,具有更高性能的交换式局域网…...
动态引用的艺术:在Postman中实现自动化的终极指南
🌀 动态引用的艺术:在Postman中实现自动化的终极指南 在API开发和测试中,Postman是一个强大的工具,它提供的动态引用功能可以帮助我们实现自动化和更高效的测试流程。本文将深入探讨如何在Postman中使用动态引用,通过…...
Qt:15.布局管理器(QVBoxLayout-垂直布局、QHBoxLayout-水平布局、QGridLayout-网格布局、拉伸系数,控制控件显示的大小)
目录 一、QVBoxLayout-垂直布局: 1.1QVBoxLayout介绍: 1.2 属性介绍: 1.3细节理解: 二、QHBoxLayout-水平布局: 三、QGridLayout-网格布局: 3.1QGridLayout介绍: 3.2常用方法:…...
图论---无向图中国邮路的实现
开始编程前分析设计思路和程序的整体的框架,以及作为数学问题的性质: 程序流程图: 数学原理: 本质上是找到一条欧拉回路,考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路,涉及到欧…...
Rockchip RK3588 - Rockchip Linux SDK脚本分析
---------------------------------------------------------------------------------------------------------------------------- 开发板 :ArmSoM-Sige7开发板eMMC :64GBLPDDR4 :8GB 显示屏 :15.6英寸HDMI接口显示屏u-boot &a…...
【C++中resize和reserve的区别】
1. resize的用法 改变当前容器内含有元素的数量(size())比如: vector<int> vct;int num vct.size();//之前的元素个数为num vct.resize(len);//现在的元素个数为len如果num < len ,那么容器vct新增len - num个元素&am…...
计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设
本论文的主要研究内容如下: 了解基于Spark的TapTap游戏数据分析系统的基本架构,掌握系统的开发方法,包括系统开发基本流程、开发环境的搭建、测试与运行等。 主要功能如下: (1)用户管理模块:…...
Python面试题:如何在 Python 中进行正则表达式操作?
在 Python 中,正则表达式操作可以通过 re 模块来实现。以下是一些常用的正则表达式操作和示例: 1. 导入模块 import re2. 常见操作和示例 a. 匹配 使用 re.match() 来检查字符串的开头是否匹配某个模式。 pattern r\d # 匹配一个或多个数字 strin…...
C#面:简述什么是中间件(Middleware)?
中间件是组装到应⽤程序管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递给管道中的下⼀个组件。 可以在调⽤管道中的下⼀个组件之前和之后执⾏⼯作。 请求委托(Request delegates)⽤于构建请求管道,处理每个HTTP请…...
AWS Glue 与 Amazon Redshift 的安全通信配置
1. 引言 在 AWS 环境中,确保服务间的安全通信至关重要。本文将探讨 AWS Glue 与 Amazon Redshift 之间的安全通信配置,特别是为什么需要特定的安全组设置,以及如何正确实施这些配置。 2. 背景 AWS Glue:全托管的 ETL(提取、转换、加载)服务Amazon Redshift:快速、完全…...
nginx访问控制
最近部署consul服务,发现consul认证配置比较麻烦,于是上网查询发现nginx支持路由认证,在此做个记录。 1.Nginx访问控制模块类型 基于IP的访问控制:http_access_module基于用户的信任登录:http_auth_basic_module 2.…...
高效应对网络攻击,威胁检测响应(XDR)平台如何提升企业应急响应能力
在数字化时代,企业面临的网络攻击威胁持续增加,如恶意软件、勒索软件、钓鱼攻击、DDoS攻击等。这些威胁不仅危及企业数据安全、系统稳定,还损害了品牌形象和市场信任。随着云计算、大数据、物联网的广泛应用,企业网络攻击面扩大&a…...
多线程问题
什么是线程 线程是cpu调度和执行的单位,一个程序的运行伴随着的是一个进程的执行,而一个进程是由一个或多个线程来完成的,通过cpu调度资源在很短时间切换主线程和子线程并行,交替执行来做到看似多个线程同时进行的状态࿰…...
自动优化:SQL Server数据库自动收缩配置指南
自动优化:SQL Server数据库自动收缩配置指南 在数据库管理中,随着数据的增删,数据库文件的大小会不断变化,导致空间浪费和性能下降。SQL Server提供了自动收缩功能,帮助数据库文件保持最佳状态。本文将深入探讨如何在…...
华为机考真题 -- 密码解密
题目描述: 给定一段"密文"字符串 s, 其中字符都是经过"密码本"映射的,现需要将"密文"解密并且输出映射的规则 (a - i)分别用(1 - 9)表示;(j - z)分别用(10* - 26*)表示约束:映射始终唯…...
ScrapySharp框架:小红书视频数据采集的API集成与应用
引言 随着大数据时代的到来,数据采集成为了互联网企业获取信息的重要手段。小红书作为一个集社交和电商于一体的平台,其丰富的用户生成内容(UGC)为数据采集提供了丰富的资源。本文将介绍如何使用ScrapySharp框架进行小红书视频数…...
PostgreSQL 数据库监控项
在维护和优化 PostgreSQL 数据库时,采集并监控数据库的各种静态和动态指标非常重要。这些指标包括数据库的配置信息、资源使用情况、性能指标等,能够帮助数据库管理员及时发现并解决潜在的问题,从而提高数据库的稳定性和性能。本文提供了一系…...
用python生成词频云图(python实例二十一)
目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.词频云图 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&a…...
HTML 标签简写和全称及其对应的中文说明和实例
<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…...
公司网站做地图地址/东莞网站推广方案
在老师的建议下,我利用假期两周的时间阅读了整本书,初读一次不解其中之味,当我读完第二遍的时候,我才品味出蒋涛老师为什么称《大道至简》闪烁着独立思考的光芒。 蒋涛老师在序言中提到“虽千化万端,而理为一贯”在学习…...
做一个网站一般需要多少钱/青岛网站排名提升
[转]POI大数据量Excel解决方案参考文章: (1)[转]POI大数据量Excel解决方案 (2)https://www.cnblogs.com/justbeginning/p/3833041.html 备忘一下。...
网站建设应用权限/百度搜索推广登录入口
为什么要写这个内容? 随着工作经历的积累,越来越感觉到,大量的关系型数据库的性能问题,其根源在于统计信息。这里说的是根源,其实很多时候大家觉得的那些什么索引失效等都只是表象。当然,不能一概而论&…...
百度网站公司信息推广怎么做的/搜索软件排行榜前十名
浮动元素脱离文档流,不占据空间。浮动元素碰到包含它的边框或者浮动元素的边框停留。1.使用空标签清除浮动。这种方法是在所有浮动标签后面添加一个空标签 定义css clear:both. 弊端就是增加了无意义标签。2.使用after伪对象清除浮动该方法只适用于非IE浏览器。具体…...
如何快速自己做网站/品牌营销的四大策略
一)概念pendingIntent字面意义:延迟的intent,等待的,未决定的Intent。 主要用来在某个事件完成后执行特定的Action。 pendingIntent是一种特殊的Intent。 主要的区别在于Intent的执行是立刻的, 而pendingIntent的执行不…...
wordpress登录界面能改吗/企业网站制作开发
文章目录一. 用户关系重新梳理二. 功能分析2.1 普通用户写日报2.2 查日报2.3 普通用户查日报2.4 boss查全体成员日报一. 用户关系重新梳理 考虑到日报系统的多部门多用户多boss情况, 下面分情况讨论 用户部门职位A部门1bossB部门1bossC部门1员工D部门1员工E部门1员工F部门1员…...