首页 > 其他分享 >大模型简单入门及特定环境下的应用

大模型简单入门及特定环境下的应用

时间:2024-12-25 12:02:50浏览次数:5  
标签:入门 训练 demo 模型 学习 任务 特定 数据

大模型简单入门及特定环境下的应用

前排提示,文末有大模型AGI-CSDN独家资料包哦!

什么是大模型

大模型是指包含超大规模参数(通常在十亿个以上)的神经网络模型,具有以下特征:

  1. 巨大的规模:大模型包含数十亿个参数,模型大小可以达到数百GB甚至更大。这种巨大的模型规模为其提供了强大的表达能力和学习能力。

  2. 多任务学习:大模型通常会一起学习多种不同的NLP任务,如机器翻译、文本摘要、问答系统等。这可以使模型学习到更广泛和泛化的语言理解能力。

  3. 强大的计算资源:训练大模型通常需要数百甚至上千个GPU,以及大量的时间,通常在几周到几个月。这可以加速训练过程而保留大模型的能力。

  4. 丰富的数据:大模型需要大量的数据来进行训练,只有大量的数据才能发挥大模型的参数规模优势。

大模型在自然语言处理领域得到广泛应用,并正在彻底改变NLP任务的状态,催生出更强大、更智能的语言技术。大模型是AI发展的重要方向之一。同时,大模型也具有在各种自然语言处理任务中表现出色的能力,例如文本分类、情感分析、摘要生成、翻译等。大模型可以用于自动写作、聊天机器人、虚拟助手、语音助手、自动翻译等多个应用领域。

截止现在,大模型的应用已经不仅局限于语言模型了,音频学习生成模型及视频生成模型的应用都已经达到了很高的可用性,至此,语言、音频、视频三方面的大模型已经基本摆脱了人们对这类技术人工智障的刻板印象。

研究对象

因为现阶段各家大模型百花齐放,且具体的效果也都有所不同,我们通过比较最终选择了清华大学和智谱AI联合研发训练的ChatGLM3-6研究的基础, 官方提供了许多类型的web_demo和训练的示例脚本,使我们的深入研究有了良好的代码示范

硬件要求

本次实验共使用了两种配置的硬件设备

1.Ubuntu操作系统+两张A4000单张显存16G

2.MacOS操作系统+M2max+32G统一内存

经过实测两张显卡都是可以成功跑起来ChatGLM3-6B的模型

基础搭建

官方在GitHub仓库中有基础的demo可以供我们使用https://github.com/THUDM/ChatGLM3

1.下载大模型的权重文件,可以在huggingface.cohttps://huggingface.co/THUDM/chatglm3-6b的下载页面找到

2.下载好之后直接在电脑的环境变量中设置MODEL_PATH,source生效

3.进入demo的项目目录中,先使用conda或本机自带的python环境安装好requirements.txt中的依赖库

4.进入basic_demo中,官方给我们提供了几种不同的命令行demo和web demo

5.直接使用streamlit run web_demo_streamlit.py命令启动一个web demo,浏览器会自动跳转,或者手动用浏览器打开相应的链接,我们就可以获取到一个搭建在本地的ChatGLM了

如何训练大模型

大模型训练的一般步骤

1.数据收集与预处理:

数据收集:收集大量的训练数据,这些数据可以是文本、图像、声音或其他类型的数据。数据的质量和多样性对于训练出一个泛化能力强的模型至关重要。数据预处理:对收集到的数据进行清洗、格式化、归一化等操作,确保数据的质量,并减少训练过程中的噪声。

2.模型选择:

根据任务需求选择合适的模型架构。例如,对于自然语言处理任务,Transformer架构已被证明是非常有效的。

3.训练策略:

分布式训练:由于大模型通常需要巨大的计算资源,因此分布式训练变得必不可少。这涉及到将模型参数分布在多个处理器上,并行地进行计算。优化器选择:选择合适的优化算法,如Adam、SGD等,以及调整学习率、批次大小等超参数。正则化技术:使用如Dropout、权重衰减等技术减少过拟合。损失函数:选择合适的损失函数来评估模型的性能,并根据该函数来指导模型的训练。

4.评估与调优:

在训练过程中定期评估模型的性能,使用验证集来调整超参数。实施早停(Early Stopping)策略,当模型在验证集上的性能不再提升时停止训练,以防止过拟合。

5.模型压缩与优化:

训练完成后,可能需要对模型进行压缩,如知识蒸馏,以减少模型的大小,使其更易于部署。对模型进行优化,如使用量化和剪枝等技术,以减少模型在推理时的资源消耗。

6.安全与隐私:

在训练过程中确保数据的安全和隐私,特别是在处理敏感数据时。对模型进行鲁棒性测试,确保其不会受到对抗性攻击的影响。

7.伦理与偏见:

检查模型是否存在偏见,确保模型的决策是公正的。遵循伦理标准,确保模型的用途符合社会主义核心价值观。

大模型训练方式

大模型训练在训练方式上简单可分为两大类

1.全量训练

全量训练是指从零开始训练一个模型,通常使用大规模的数据集。这个过程包括以下几个步骤:数据准备:收集并预处理大量的数据,确保数据的质量和多样性。模型设计:设计模型的架构,选择合适的层数、神经元数量等。参数初始化:随机初始化模型的权重。训练:使用优化算法(如SGD、Adam等)训练模型,通过多次迭代调整权重。评估与调优:在训练过程中定期评估模型性能,并根据需要对模型进行调优。全量训练通常需要大量的计算资源和时间,因为模型需要从随机权重开始学习所有必要的特征。这种方法适用于没有预训练模型可用或者任务非常特殊的情况。

2.微调

微调是利用已经在大规模数据集上预训练好的模型,在特定任务的较小数据集上进行再训练的过程。微调的步骤通常包括:预训练模型:选择一个在大规模数据集上预训练好的模型,如BERT、GPT等。任务特定数据集:准备一个针对特定任务的数据集,这个数据集通常比预训练数据集小很多。模型适配:根据任务需求对预训练模型进行适当的修改,如添加或移除顶层、调整输出层等。再训练:使用较小的学习率在任务特定数据集上对模型进行训练,以适应新的任务。性能评估:评估模型在新任务上的性能,并进行必要的调优。微调的好处是可以利用预训练模型已经学到的丰富特征,通常只需要较少的数据和计算资源就可以达到较好的性能。这种方法在自然语言处理、计算机视觉等领域非常流行。

垂直领域训练的难点

在我们现在接触到的大模型中,大部分都是通用大模型,可以对我们提出的大部分问题进行回答,且能保证一定的准确性,但是这样的大模型在对处理与我们工作强相关的专项内容会出现很多问题,且大模型回答问题中会包含一个“思考”的过程,这种场景对于我们问的比较宽泛的问题会有好处,比如说我们对大模型说“你好”,在多种对话场景下,大模型的回答可能会因为语境或者历史问题的记录出现不同的答案。但是这对于我们在特定的场景下,例如唯一的问题对应唯一的答案,大模型的“思考”对于我们来说就是一种灾难。

曲线救国的解决方案

基于垂直领域训练的一些痛点,比如说需要大量的问题设置、需要更强的GPU,都是我们现阶段暂时不太好处理的问题,且我们需要的是一个一个精确化的问题尽量对应一个精准的答案,在这种场景下,将语言大模型接入langchain,加载本地文件,切分为向量数据库,形成一个知识库就变成了现阶段解决方案了

简单来说

1.我们先将开始的ChatGLM3-6B以api的形式启动,让他作为一个后端的接口

2.使用langchain来加载我们本地的文件

3.将本地的文件进行语句切分,生成一个向量数据库

4.使用langchainRetrievalQA模块对问题进行封装

5.使用ChatGLM3-6B查询向量数据库中的相关内容

最终效果

我们将等级保护的指导书文件夹导入,加载到向量数据库

然后他的回答会跟我们预期一样,唯一的问题对应唯一的答案,且稳定性很高,不会出现同样的问题问多次会出现不同的答案。

相比之下经过我们微调的模型的表现就有点差强人意,找不到问题和答案的对应关系,回答的问题时对时错

以上问题的原始数据是这样的,孰强孰弱大家自行辨别

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

标签:入门,训练,demo,模型,学习,任务,特定,数据
From: https://blog.csdn.net/lvaolan/article/details/144715728

相关文章

  • 大语言模型(LLM)学习资料汇总
    大语言模型(LLM)学习资料汇总前排提示,文末有大模型AGI-CSDN独家资料包哦!0x00学习路径本文分为四个章节,各章节的学习目标如下。请注意本文主要是面向工程界撰写,学术部分较少。入门篇:了解大语言模型的基础知识和常见术语。学会使用编程语言访问OpenAIAPI等常见大语......
  • ​如何从零开始学习大模型等人工智能算法
    学习人工智能可以分为几个关键步骤。以下是一个从零开始学习人工智能的指南:前排提示,文末有大模型AGI-CSDN独家资料包哦!建立数学和统计基础:学习线性代数,了解矩阵、向量、矩阵运算等基本概念。掌握微积分,包括导数和积分,对于理解机器学习算法中的优化过程很重要。理解......
  • AI大模型应用入门实战与进阶:构建你的第一个大模型:实战指南
    2017年是机器学习领域历史性的一年。GoogleBrain团队的研究人员推出了Transformer,它的性能迅速超越了大多数现有的深度学习方法。著名的注意力机制成为未来Transformer衍生模型的关键组成部分。Transformer架构的惊人之处在于其巨大的灵活性:它可以有效地用于各种机器......
  • 如何学习语言大模型
    如何学习语言大模型需要掌握以下关键概念和技术:前排提示,文末有大模型AGI-CSDN独家资料包哦!1.编程和数据处理Python:学习基本语法、数据结构、文件操作和常用库(如NumPy、Pandas)的使用。资源建议:PythonforEverybody提供了一个很好的Python入门教程,专注于数据处......
  • 零基础大语言模型学习笔记
    ChatGPT的横空出世惊艳了世人,让人们对大语言模型(LargeLanguageModel,LLM)和生成式人工智能(ArtificialIntelligenceGeneratedContent,AIGC,或者GenerativeAI)的兴趣飙升,而LLM表现出的卓越的泛化能力,也被视为实现通用人工智能(ArtificialGeneralIntelligence,AGI)的潜在希......
  • 【NLP】关于大模型训练常见概念讲解
    随着LLM学界和工业界日新月异的发展,不仅预训练所用的算力和数据正在疯狂内卷,后训练(post-training)的对齐和微调等方法也在不断更新。下面笔者根据资料整理一些关于大模型训练常见概念解释。前排提示,文末有大模型AGI-CSDN独家资料包哦!1Pre-training(预训练)预训练是指在模型......
  • 英伟达最新提出ComfyGen,利用大模型自动生成Comfyui工作流,Comfyui再无难度
    StableDiffusion大家都知道,但是想玩好SD,并且玩出花样,那Comfyui肯定得会用。Comfyui相对于去年已经越来越成熟,五花八门的工作流有着五花八门的功能。越来越成熟的背后,却是越来越多的节点,乱糟糟的看着就头疼。要不说英伟达服务好呢,生产芯片也不忘了给用芯片的人提供一些有趣......
  • Java Web入门到精通:简单留言板开发(附代码)
    ......
  • 全网最全,保姆级Stable Diffusion系列入门使用教程下篇(图生图、LoRA、提示词权重)
    前言:在上一篇文章中,我们带领大家了解了StableDiffusion的基础操作。接下来,下篇教程将深入探讨图生图、LoRA、提示词权重等高级功能,为大家提供全网最全、保姆级的StableDiffusion使用指南,助你轻松驾驭这款强大的图像生成工具。让我们一起开启创作之旅!一、LoRA1、什么是L......
  • PCIe扫盲——PCIe总线物理层入门
    前面的文章简单的介绍了一些关于PCIe总线事务层(TransactionLayer)和数据链路层(DataLinkLayer)的一些基本概念。这篇文章来继续聊一聊PCIe总线的最底层——物理层(PhysicalLayer)。在PCIeSpec中,物理层是被分为两个部分单独介绍的,分别是物理层逻辑子层和物理层电气子层,其中后者一般......