从零开始学习大模型-第四章-如何创建一个大模型

本文详细介绍了大语言模型的创建过程,包括数据收集、预处理、模型架构选择、训练策略,以及如何部署和应用开源模型如GPT。文章还讨论了大模型时代的职业需求和学习路径,强调了实践操作的重要性。
摘要由CSDN通过智能技术生成

本章我们以大语言模型(LLM)为例,来介绍如何创建一个大语言模型,本章前部分主要以理论知识来讲如何创建大语言模型,后部分内容以实际例子来部署运行一个开源大语言模型。

构建一个商业化的大语言模型是一项庞大而复杂的任务,需要大量的计算资源、数据集、专业知识和团队合作。尽管一个人理论上可能进行这样的尝试操作,但在实际中,单个人完成这样的任务是非常困难的。

下面我们简单介绍一下大语言模型是如何实现的:

大模型的创建,需要大量的数据作为训练集,首先要做的是对数据的收集,数据包括公开的网络文本、书籍、学术论文、社交媒体内容、新闻报道等。数据需要多样化,需涵盖各种主题、语境、语法结构和风格。

数据收集完成后,需要对数据进行预处理,对数据进行清洗,去除噪声、格式错误的信息和无关信息。对数据进行分词(Tokenization),将文本转换成模型可以理解的形式。可能还需要进行词汇表构建、填充或截断序列、以及对特殊字符和未知词进行处理。

什么是分词(Tokenization):

分词(Tokenization)在自然语言处理(NLP, Natural Language Processing)领域中是指将连续的文本序列分割成有意义的、可处理的基本单元的过程。这些基本单元通常被称为“tokens”,可以是单个词语、字符、子词或短语等,具体取决于应用场景和目标语言的特点。

Tokenization 的目的是为了将原始文本转化为计算机程序能够理解和处理的形式,使得后续的文本分析、信息检索、机器翻译、情感分析、语法分析等一系列自然语言处理任务得以顺利进行。此外,Tokenization 还包括对特殊符号、数字、标点符号等非词汇元素的识别和处理,它们同样可以被视为独立的 tokens。

完成数据预处理后,我们需要选择一个适合大规模训练的架构,如Transformer(如GPT系列、BERT)或其他先进的神经网络模型。设计模型的层级结构,确定隐藏层、注意力机制、自回归或双向编码器结构等。

自然语言处理架构发展历程:

神经网络语言模型(Neural Network Language Model,NNLM)是一种利用神经网络来建模自然语言的统计模型。它可以用来预测文本序列中下一个词或者一段文本的概率分布,从而实现自然语言的生成、词语预测、文本分类等任务。

多任务学习(Multi-Task Learning,MTL)是一种机器学习方法,旨在通过同时学习多个相关任务来提高整体性能。在多任务学习中,模型被设计成可以同时处理多个任务的输入,并通过共享底层表示来提取数据中的共享信息和模式。

词嵌入(Word Embeddings)是一种将词语映射到连续向量空间中的技术。它是自然语言处理领域中的一项重要技术,被广泛应用于词语表示、文本分类、语义分析等任务中。词嵌入的基本思想是将每个词语表示为一个固定长度的向量,使得相似含义的词语在向量空间中的距离较近,而不相似的词语在向量空间中的距离较远。通过这种方式,词嵌入能够捕捉词语之间的语义和语法信息,提供更丰富的词语表示。

自然语言神经网络,此阶段包含了循环神经网络(Recurrent Neural Networks,RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)、门控循环单元(Gated Recurrent Unit,GRU)、卷积神经网络(Convolutional Neural Networks,CNN)等。

序列到序列模型(Sequence-to-Sequence,Seq2Seq)是一种常用的神经网络架构,用于处理序列数据,特别适用于自然语言处理任务,如机器翻译、文本摘要、对话系统等。

注意力机制_(Attention Mechanism)是一种用于神经网络模型的技术,主要用于处理序列数据和对应关系。它允许模型动态地分配注意力(权重)给输入序列中的不同部分,以便模型在处理序列时能够更加关注重要的部分,从而提高模型性能和泛化能力。_Transformer是一种基于注意力机制的神经网络架构,由Vaswani等人于2017年在论文《Attention is All You Need》中提出。它在自然语言处理领域取得了巨大的成功,并成为了一种广泛应用于序列建模任务的标准架构之一。Transformer的核心思想是完全抛弃了传统的循环神经网络(RNN)或者卷积神经网络(CNN),而是采用了自注意力机制(Self-Attention Mechanism)。自注意力机制允许模型在计算序列的表示时,对序列中的不同位置进行加权,从而能够更好地捕捉长距离依赖关系,并且能够并行地处理输入序列中的所有位置。

预训练语言模型(Pre-trained Language Models)是指在大规模文本数据上进行预训练的神经网络模型,旨在学习丰富的语言表示。这些模型通常采用无监督或半监督的方式,在海量的文本数据上进行自监督学习,从而学习到了丰富的语言知识和语义表示预训练语言模型的兴起始于2018年,随着Transformer架构的发展,以及更大规模的数据和更强大的计算资源的可用性,预训练语言模型在自然语言处理领域引起了巨大的关注和重大的进展

完成模型的选择后,我们需要对模型进行配置及训练准备,首先要定义模型参数量,根据可用计算资源决定模型大小,准备硬件设备或云计算资源,大模型通常需要GPU集群或者专门的AI加速器(如TPU)。设置训练参数,如学习率、优化器、损失函数、批次大小等。

在准备完成上述操作后,我们使用准备好的数据集来训练模型,这需要大量的计算资源和时间,以及合适的超参数调优。大量数据需要在分布式环境中训练,通过数据并行、模型并行等方式加速训练过程。持续监控训练过程,调整超参数以达到最佳性能。

进行模型训练之后,我们使用验证集或测试集来评估模型的性能,并对模型进行调试和优化。这可能涉及到对模型进行微调、调整超参数等操作。

最后我们对模型部署及应用模型,将训练好的模型集成到应用程序中,提供API服务或是嵌入到终端产品中。需要考虑模型的推理速度、内存占用及实际应用中的伦理、隐私和社会影响等问题。

我们经常用的GPT(Generative Pre-trained Transformer)是基于Transformer架构的。GPT是由OpenAI提出的一系列预训练模型,其核心架构是Transformer。Transformer是一个使用自注意力机制来处理序列数据的深度学习模型,它在2017年的论文《Attention is All You Need》中被提出,并在自然语言处理领域取得了巨大的成功。

GPT模型使用了Transformer的编码器-解码器结构,但在解码器部分采用了自回归(autoregressive)的方式,使得模型能够生成连续的文本序列。GPT系列模型在预训练阶段使用大规模文本数据进行训练,然后通过微调或迁移学习来适应特定的自然语言处理任务。因此,可以说GPT是建立在Transformer架构之上的,并在此基础上做出了进一步的创新和优化。

论文首页截图:

讲述概念性知识后,我们要动手实践一下,我们先安装一个大模型,来体验大模型的使用效果,后续再讲其工作原理。

我们使用开源的大模型ollama,此模型支持CPU及GPU部署。

ollama支持的模型如下:

模型安装:

ollama的官网地址为https://ollama.com,如下图:

此大模型支持macOS,Linux,和Windows,点击下载按键,选择合适你的操作系统版本下载。

或者我们采用Docker安装:

安装CPU版本:

docker pull ollama/ollama``   ``docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama``   

如果您主机存在Nvidia GPU,则执行如下安装命令:

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \`    `| sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo``   ``   ``sudo yum install -y nvidia-container-toolkit``   ``sudo nvidia-ctk runtime configure --runtime=docker``sudo systemctl restart docker``   ``docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

用户界面安装:

我们使用open-webui作为用户接口,

github地址:

https://github.com/open-webui/open-webui

电脑本机部署环境要求

🐰 Node.js >= 20.10 or Bun >= 1.0.21

🐍 Python >= 3.11

可以参考官网文档部署步骤:

https://docs.openwebui.com/getting-started/

用户界面docker部署:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

大模型岗位需求

大模型时代,企业对人才的需求变了,AIGC相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。

-END-


👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值