大家好啊,之前有小伙伴私信我,想了解下大模型比如 chatGPT 是如何进行训练的。

和他们聊了一下,发现有一个点一直在困惑着大家,那就是——大模型的训练是无监督学习还是有监督学习?在大模型训练过程中,数据的标签是什么?如何计算损失然后进行反向传播的呢?

今天就简单来聊一下这个问题。

1、是有监督还是无监督

事实上,很多自然语言处理(NLP)的模型,尤其是上文提到的大语言模型(如GPT系列),都是通过无监督学习或自监督学习的方式进行训练的。

也就是说它们不需要人工标注的标签来进行训练。

试想一下,训练 GPT 的数据样本大多来自于互联网,如果需要对这些数据进行标注的话,会花费大量的人力,并且很多长文本是没有办法或者很难去标注的。

因此这类模型的训练采用的基本是自监督学习的模式。

自监督学习可以认为是无监督学习的一种特殊方式。

模型通过从输入数据本身生成的伪标签来进行训练,这些伪标签不是由人工标注的,而是由模型根据一定的规则自动生成的。

常见的自监督学习任务模型有以下两种。

第一种是掩码语言模型(Masked Language Model, MLM),这是 BERT 等模型使用的一种训练方法。

它将其中一部分输入词进行随机掩码(替换为一个特殊的掩码符号),模型的任务就是是预测这些被掩码的词。

这样,模型就能学习到词与上下文之间的关系,有点类似于让模型不断进行完形填空的意思。

第二种是因果语言模型(Causal Language Model, CLM),这是 GPT 系列模型使用的一种训练方法。

在这种训练模式下,模型被训练来预测给定前文的下一个词,这样,模型就能学习到文本的顺序结构和语言的生成过程。

说到这你可能还不完全清楚,看下面的例子就明白了。

2、GPT 的训练过程

以因果语言模型的训练为例,假设给模型的输入数据是:The quick brown fox jumps over the lazy" 这句话。

当然实际训练时,输入给模型的数据还会经过 Tokenization、词嵌入和位置编码这些步骤,但是我们这里先绕过,不影响理解。

在 GPT 等模型的训练时,如果给定上述句子作为模型的输入,是希望模型可以预测出下一个词是什么,这是模型的任务。

因此,每给定一个单词(Token),模型都要预测下一个词,然后将预测出来的词加上原来已有的词作为新的输入,继续预测下一个词,如此反复迭代。

将训练过程写出伪代码是如下形式。

ini
# 假设:
# - input_tokens 是输入序列
# - target_tokens 是目标序列
# - transformer_model 是一个Transformer模型
# - optimizer 是用于优化模型参数的优化器
# - loss_function 是损失函数,例如交叉熵损失
for epoch in range(num_epochs):  # 迭代多个训练周期
  for input_tokens, target_tokens in data_loader:
    # 1. 模型输入
    # 将输入token转换为嵌入向量,进行词嵌入和位置编码
    input_embeddings = embedding_layer(input_tokens)
    position_embeddings = get_position_embeddings(input_embeddings)
    transformer_input = input_embeddings + position_embeddings
    # 2. Transformer模型
    # 通过Transformer模型得到输出
    transformer_output = transformer_model(transformer_input)
    # 3. 模型输出和损失计算
    # 将Transformer输出转换为logits
    logits = output_layer(transformer_output)
    loss = loss_function(logits, target_tokens) # 计算损失
    # 4. 梯度下降和反向传播
    optimizer.zero_grad()  # 清除之前的梯度
    loss.backward()  # 反向传播,计算梯度
    optimizer.step() # 更新模型参数

上面的 input_tokens 就可以认为是输入的一句话。

可以看到在计算损失的时候,比较的是模型的输出和 target_tokens 的损失。

模型的输出我们好理解,就是模型预测的下一个词,那么target_tokens 是什么呢?

上面说到自监督学习的时候,说到一句话:“自监督学习中的伪标签是模型通过一定的规则生成的”。

target_tokens 就是伪标签,因为模型需要预测下一个词,因此“一定的规则”就是对输入 token 往后移一位来实现的,如下所示。

input_tokens 是原始句子中的单词序列,而 target_tokens 是这个序列向右移动一个位置的结果。

在训练过程中,模型会试图根据 input_tokens 中的每个词来预测 target_tokens 中的下一个词。

例如,给定输入 “The”,模型应该预测输出 “quick”;然后将 “The” 和 "quick "合成新的输入 “The quick” 给模型,模型应该预测出 “brown”,以此类推。

这样经过大量甚至是海量的文本数据的自监督学习,模型就可以学到很多自然语言的结构和句式了。

大语言模型也就训练完成了。

当然上面的过程说的很粗糙,仅仅是想让大家先搞清楚自监督学习这个概念,以及实际模型训练时,模型是如何自我监督的。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓

在这里插入图片描述

Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐