大模型专栏介绍
😊你好,我是小航,一个正在变秃、变强的文艺倾年。
🔔本文为大模型专栏子篇,大模型专栏将持续更新,主要讲解大模型从入门到实战打怪升级。如有兴趣,欢迎您的阅读。
💡适合人群:本科生、研究生、大模型爱好者,期待与你一同探索、学习、进步,一起卷起来叭!
🔗篇章一:本篇主要讲解Python基础、数据分析三件套、机器学习、深度学习、CUDA等基础知识、学习使用AutoDL炼丹
🔗篇章二:本篇主要讲解基本的科研知识、认识数据和显卡、语言模型如RNN、LSTM、Attention、Transformer、Bert、T5、GPT、BLOOM、LLama、Baichuan、ChatGLM等系列、强化学习教程、大模型基础知识及微调等
🔗篇章三:本篇主要讲解智能对话、大模型基础实战如Ollama、Agent、QLoar、Deepspeed、RAG、Mobile Agent等、大模型领域前沿论文总结及创新点汇总
目录
- 数据
- 显卡
数据
🔗论文:Datasets for Large Language Models: A Comprehensive Survey
预训练数据:提供通用性
的能力。
- 原因:
大量的文本数据
可以帮助模型更好地学习语言的语法、语义和上下文信息,从而实现对自然语言的普遍理解,此外其可增强泛化能力
。 - 处理流程:
- 数据收集:收集阶段的数据处理质量和分布直接影响模型后续的性能。
- 定义数据需求
- 选择数据源
- 制定收集策略
- 数据爬取和收集
- 数据提取和解析
- 语言检测
- 数据备份
- 数据过滤:筛选和清理数据收集阶段获得的数据。
- 目标:提高数据质量
- 方法
- 基于模型的方法:通过训练
筛选模型
来过滤低质量数据。- 正面样本:高质量的预训练语料库
- 负面样本:需要过滤的污染文本
- 基于启发式的方法:设置相应的
启发式规则
,有选择性地删除语料库中不需要保留的句子- 通过语义和标点过滤不完整的句子,评估句子的完整性
- 移除涉及个人隐私的内容或用其他文本替换隐私信息
- 删除与暴力、色情等有关的危害内容
- 移除异常符号
- 删除HTML、CSS、JavaScript等标识符。
- 删除包含花括号的句子
- 删除过短的句子
- 移除冗余内容,如点赞按钮、导航栏和其他无关元素
- 删除包含特定词语的文本
- 基于模型的方法:通过训练
- 数据去重:移除
重复或高度相似的文本
- 确定性去重:命中一些明确的公共子串或模板
- 模糊去重:使用哈希算法计算文本相似性
- MinHash:估计
两个集合之间的相似性
。文本通过随机哈希处理,获得一组最小哈希值。然后通过比较这些最小哈希值来估计相似性。这种方法在计算和空间上都是高效的。 - simHash:用于
计算文本相似性
。文本特征向量被哈希生成固定长度的哈希码。通过比较文本哈希码之间的汉明距离来估计相似性,距离越小表示相似性越大。
- MinHash:估计
- 数据标准化:减少模型训练时的
噪声
,提高语言模型的准确性和效率- 句子分割:对提取的文本进行句子分割。
中文文本
使用简单的正则表达式
进行分割。其他文本
则使用NLTK工具包
的句子标记化模块。
- 简化中文:将所有繁体中文字符转换为简体中文。
- 拼写校正:使用现成的训练模型来执行文本的拼写校正。
- 移除停用词:移除通常缺乏实质性信息价值的高频词。此外,中文文本中的空格或者我和他等主观次没有意义。
- 句子分割:对提取的文本进行句子分割。
- 数据收集:收集阶段的数据处理质量和分布直接影响模型后续的性能。
- 常见大模型的数据分布:
指令微调数据:指令微调数据集由一系列文本对组成,包括“指令输入”和“答案输出”
。“指令输入”代表人类对模型提出的请求,包括分类、摘要、改述等多种类型。“答案输出”是模型遵循指令后生成的响应,符合人类的期望。
- 类别:
- 推理:从已知前提推导出新的判断涉及逻辑推理和做出推断性假设包括链式思考(CoT)、类比推理、归纳推理等过程。
- 数学:指令包含数学计算或数学推理。可以根据难度级别进行分类
- 头脑风暴:围绕特定主题产生新想法,提出创新方法。答案通常以项目符号格式提供。提供建议、给出推荐以及类似需求都属于头脑风暴
- 封闭式问答:根据提供的提示和问题选择正确的选项,或者直接或间接地从提供的文字信息中获得答案。
- 开放式问答:开放式问答指令的问题没有选项,并且答案不能直接在问题中找到。必须依靠自己的知识库来制定回答。这些问题可以包括有标准答案的常识查询或没有预定义解决方案的开放式询问。
- 代码:涉及代码的问题,包括但不限于代码生成、代码修正和代码理解。
- 提取:从给定内容中提取关键信息,包括命名实体识别(NER)、关系提取(RE)、事件提取等。
- 生成:生成原始内容,如根据问题的要求创作广告文案或文章。获取答案涉及从头开始创造某物的过程。
- 改写:根据要求处理文本,包括词语转换、风格转换、文本排序、文本简化和扩展、上下文改写、句子改写、文本校正等。
- 摘要:概括和压缩文本内容,或将内容提炼成标题。在摘要时可以应用特定限制。
- 分类:根据指定要求对信息进行分类或评级,如主题分类、质量评分等。
- ·翻译:不同语言之间的翻译,包括各种民族语言之间的翻译,以及简体和繁体中文之间的翻译、方言翻译、文言文翻译等。
- 角色扮演:让模型扮演某个角色以完成任务。它可以扮演传统的角色如专家、名人,或非传统角色,如疯子、动物、编译器等。
- 社会规范:社会规范指令指的是道德和伦理问题、个人隐私、偏见歧视等。要求是提供符合安全规范并符合人类价值观的答案。
- 其他:这个类别可以涉及指示模型使用搜索引擎进行实时信息检索或者提供不合逻辑的指令,如“向右转”或”重复我说的话”
- 构建指令微调数据集:
-
类别
- 人工生成的数据集
- 方式
- 直接由公司员工、志愿者、注释平台人员等根据给定的要求和规则创建指令文本集
- 从网页上收集人为生成的真实问答数据,并将其标准化为指令格式
- 优点
- 高质量:数据集经过专业注释者的处理和审查,结果质量更高,更纯净
- 可解释性:经过人工处理后,数据集更易于解释,并且与人类理解很好地吻合。
- 灵活控制:研究人员对训练样本有灵活的控制权,允许根据不同任务进行调整。
- 缺点
- 高成本和低效率:创建人为生成的数据集需要大量的人力和时间投入与模型构建的替代方案相比,效率较低。
- 主观性:人类的主观判断可能会向数据集中引入偏见和不一致性。
- 方式
- 模型构建的数据集
- 方式
引导LLM
输出符合预期的指令:通常,LLM被赋予某种身份 (例如,专家问题设置者) ,以及指令生成的要求和示例。这允许模型在回答问题或生成新的指令样本时遵循规则。- 使用人类和LLM之间的
真实互动对话
作为指令数据集。 - 使用
多个LLM代理进行对话
以获得对话数据。
- 优点
- 数据丰富。LLMs能够生成大量的指令,特别是对于在现实世界场景中不常出现的内容。
- 成本效益高且高效。它减少了人力成本和时间,能够在短时间内获得大量数据。
- 缺点
- 质量不一。生成内容的质量可能并不总是很高。模型可能产生幻觉导致指令不准确或不适当。同时,模型本身可能存在固有偏见,其输出可能不一定符合人类价值观。
- 方式
- 使用多种混合方法创建的数据集
- 优点
多样性和全面性
:生成的数据集具有丰富的数据来源、多样化的任务类型和广泛的领域覆盖。- 大规模:选择的数据集越多,规模就越大
- 节省时间:它减少了数据集构建所需的时间
- 缺点
- 质量和格式
标准化
:有必要全面考虑源数据集的质量并标准化数据的格式。 - 数据集
许可
证:重要的是要注意不同源数据集的许可证,以避免隐私和法规问题。
- 质量和格式
- 优点
- 现有数据集的收集和改进
- 人工生成的数据集
-
领域微调数据集:医疗、代码、法律、数学、教育、其他(金融、地球科学、心理健康、生物学、信息技术、社会规范、交通)
-
常见微调的数据集格式
- ShareGPT格式
- Alpaca格式
- Vicuna格式
-
偏好数据:用于大型模型的对齐阶段,目的是帮助将模型的输出与人类的偏好和期望更加紧密地对齐。
- 与人类偏好的对齐
- 实用性:具备遵循指令的能力;
- 诚实性:避免编造;
- 安全性:避免生成非法或有害的信息
- 偏好数据集中的反馈信息通常通过
投票、排序、评分或其他形式
的比较来体现- 投票(Voting):在这种方法中,一组人类评估者或模型对一系列选项进行投票,以确定最符合偏好的结果。这种方法简单直接,但可能受到群体动态的影响。
- 排序(Sorting):评估者或模型需要对一系列结果进行排序,从最偏好到最不偏好。排序能够提供偏好的相对顺序,但可能难以处理具有相同偏好级别的多个选项。
- 打分(Scoring):每个选项根据一个或多个标准被赋予一个数值分数打分方法可以提供量化的偏好度量,便于比较和分析。
- 其他方法(Other):可能包括开放式反馈、定性分析、情景模拟等,这些方法可以提供更丰富的数据,但通常需要更复杂的数据处理和分析技术。
评估数据集:一组经过精心策划和注释的数据样本,用于评估LLM在各种任务上的表现。
- 评估任务
- 评估方法
- 代码评估:涉及从大型语言模型(LLMs) 中提取响应,并使用代码来统计计算预定的评估指标。因此通过这些指标的数值来衡量LLMs的有效性。突出的评估指标包括准确率、F1分数、BLEU(Papineni等人,2002年)、ROUGE(Lin,2004年)、精确匹配60皮尔相关系数61等某些评估数据集不仅提供自定义计算方法,还提供相关代码,便于直接应用于LLMs性能的评估和分析。这种评估方法通常用于客观问题和具有预定义答案的简单主观问题,如基础知识查询和翻译练习。虽然其简单性是有益的,
但对于评估开放式主观问题(如涉及生成和头脑风暴的问题)可能效果不佳
。 - 人类评估:通常涉及由众包个体、训练有素的志愿者、具有相关专业知识的学生或专家小组评估LLM输出。评估方法包括质量评分、质量比较评估和类似技术。这种手动评估方法是多功能的,适用于各种问题类型,特别是开放式主观询问和缺乏标准答案的复杂问题。然而,其局限性在于成本高昂,需要大量的人力资源,并且可能存在主观偏见。
- 模型评估:强调选择当前性能高的LLMs,并提供合适的评估指令。它的优势在于能够替代大量的人工努力,从而实现更快的评估过程。然而,局限性在于依赖于LLMs的性能,并且可能不总是与人类的价值观和判断相符。
- 代码评估:涉及从大型语言模型(LLMs) 中提取响应,并使用代码来统计计算预定的评估指标。因此通过这些指标的数值来衡量LLMs的有效性。突出的评估指标包括准确率、F1分数、BLEU(Papineni等人,2002年)、ROUGE(Lin,2004年)、精确匹配60皮尔相关系数61等某些评估数据集不仅提供自定义计算方法,还提供相关代码,便于直接应用于LLMs性能的评估和分析。这种评估方法通常用于客观问题和具有预定义答案的简单主观问题,如基础知识查询和翻译练习。虽然其简单性是有益的,
🔗常用数据集搜集:https://paperswithcode.com/datasets
显卡
- 介绍:显卡又称显示卡( Video card),承担输出
显示图形
的任务,它起到桥梁的作用,将CPU通过主板发送的显示信息转化成能够让显示器直接显示的信号,我们可以将其作用理解为帮助电脑“显示输出图形”的设备,他只负责图像处理。 - 分类
- 集成显卡:将显示芯片、显存及其相关电路都
集成在主板上
,与其融为一体的元件。 - 独立显卡:将显示芯片、显存及其相关电路
单独做在一块电路板上
,自成一体而作为一块独立的板卡存在。 - 核芯显卡:Intel产品新一代图形处理核心,和以往的显卡设计不同,Intel 凭借其在处理器制程上的先进工艺以及新的架构设计,
将图形核心与处理核心整合在同一块基板上
,构成一个完整的处理器。
- 集成显卡:将显示芯片、显存及其相关电路都
- 显卡公司:AMD(超威半导体)、Intel(因特尔)、Nvidia(英伟达)
- AMD显卡:俗称A卡
- 背景:最早A卡并不是AMD的而是ATI的,ATI在2006年被AMD以54亿美元的巨资收购了,成为了AMD的一部分,此后AMD宣布放弃ATI品牌,将旗下所以显卡都统一更名为AMD。
- 分类
- 前缀:RX(近几年)、R9(高端),R7(中端),R5、R3(低端)、HD(很早之前的)
- 例如:RX580、RX5700、RX6900
- 中间数字:RX580就表示第5代,这个数字越大越好。后面的数字也是越大越好;
- 例如:RX580性能高于RX570,RX570性能高于RX550。
- 后缀:X表示完整核心,X2表示双芯片,XT表示超级版,XT PRO表示加强版,D表示核心阉割
- 例如: R9 295 X2
- 前缀:RX(近几年)、R9(高端),R7(中端),R5、R3(低端)、HD(很早之前的)
- 评价:不如Nvidia对于AI生态的适应,追求性价比选A卡
- Nvidia显卡:俗称N卡
- 背景:英伟达(NVIDIA)是美国一家专业的计算机图形芯片制造商,英伟达显卡市场份额占据全球第一的位置,英伟达的显卡产品系列涵盖GeForce、Quadro、Tesla、NVS、GRID等,满足不同领域的应用需求。
- 分类:
- GeForce显卡:
- 功能:用于高性价比的家庭娱乐,比如游戏、影音、图形设计等
- 型号:GTX1050、GTX1050ti、GTX1060、GTX1070、GTX1080、GTX1080ti、RTX2060、RTX2070、RTX2080、RTX2080ti、RTX3080(90)、RTX4080(90)等。
- Quadro显卡:
- 功能:针对设计、建模、视觉分析等专业领域,其优势在于高计算性能、低功耗、低延迟等,无论是专业的设计师还是专业的游戏玩家都可以通过Quadro显卡体验更好的绘图流畅度。
- 型号:Quadro K620、Quadro K1200、Quadro K2200、Quadro K4000、Quadro K4200、Quadro K5000、Quadro K5200、Quadro P400、Quadro P600、Quadro P1000、Quadro P2000、Quadro P4000、Quadro P5000、Quadro P6000等。
- Tesla显卡:
- 功能:用于超级计算机的深度学习,比如图像处理、语音识别、机器学习、物体检测等,相比GeForce显卡的性能更加强悍,可以支持更高的计算速度。
- 型号:NVS 310、NVS 315、NVS 510、NVS 810、NVS 510M、NVS 810M等。
- NVS显卡:
- 功能:用于多显示器的驱动,比如工程设计、金融分析、智能展示等,可以支持多达8个显示器的显示,而且支持4K分辨率,支持三明治拼接等,可以满足多显示器的高端需求。
- 型号:NVS 310、NVS 315、NVS 510、NVS 810、NVS 510M、NVS 810M等。
- GRID显卡:
- 功能:针对虚拟化技术而设计的,可以支持虚拟桌面、虚拟机器学习等,可以支持多个用户同时访问一台服务器,而且支持虚拟桌面可以支持多屏显示,可以满足大规模的虚拟化部署。
- 型号:GRID K1、GRID K2、GRID M60-1Q、GRID M60-2Q等。
- GeForce显卡:
- 评价:搞AI选N卡,性能好、稳定、有光追。
- AMD显卡:俗称A卡
- 🔗显卡天梯榜(实时更新):https://topic.expreview.com/GPU
- 显卡牌子:华硕、微星、技嘉、七彩虹、影驰、索泰、蓝宝石(即采用了英伟达或者AMD显示芯片的显卡)
- 结构:
- 电容:电容是显卡中非常重要的组成部件,因为显示画质的优劣主要取决于电容的质量,而电容的好坏直接影响到显卡电路的质襞。
- 显存:显存负责存储显示芯片需要处理的各种数据,其容量的大小,性能的高低,直接影响着电脑的显示效果。新显卡均采用DDR6/DDR5的显存, 主流显存容量一般为2GB ~ 4GB。
- GPU及风扇:GPU即显卡芯片,它负责显卡绝大部分的计算工作,相当于CPU在电脑中的作用。GPU风扇的作用是给GPU散热。
- 显卡接口:通常被叫做金手指,可分为PCI、 AGP和PCI Express三种,PCI和AGP显卡接口都基本被淘汰, 市面上主流显卡采用PCI Express的显卡。
- 外设接口:显卡外设接口担负着显卡的输出任务,新显卡包括一个传统VGA模拟接口和一个或多个数字接口(DVI、HDMI和DP)。
- 桥接接口:中高端显卡可支持多块同时工作,它们之间就是通过桥接器连接桥接口。
- 性能指标
- 显卡频率
- 核心频率:显示核心的工作频率
- 显存频率:显存的速度
- 显示存储器(显存):暂时储存显示芯片处理过或即将提取的渲染数据,类似于主板的内存
- 显存类型:显卡存储器采用的存储技术类型
- 显存位宽:一次可以读入的数据量,即表示显存与显示芯片之间交换数据的速度
- 流处理器单元:在DX10时代首次提出了“统一渲染架构”,显卡取消了传统的“像素管线”和“顶点管线”,统一改为流处理器单元,它既可以进行顶点运算也可以进行像素运算,这样在不同的场景中,显卡就可以动态地分配进行顶点运算和像素运算的流处理器数量,达到资源的充分利用。
- 显卡频率
📌 [ 笔者 ] 文艺倾年
📃 [ 更新 ] 2024.9.11
❌ [ 勘误 ] /* 暂无 */
📜 [ 声明 ] 由于作者水平有限,本文有错误和不准确之处在所难免,
本人也很想知道这些错误,恳望读者批评指正!