大语言模型(LLM)按架构分类

大语言模型(LLM)按架构分类的深度解析


1. 仅编码器架构(Encoder-Only)
原理
  • 双向注意力机制:通过Transformer编码器同时捕捉上下文所有位置的依赖关系
    # 伪代码示例:BERT的MLM任务
    masked_input = "The [MASK] sat on the mat"
    output = encoder(masked_input)  # 预测[MASK]="cat"
    
  • 预训练任务
    • 掩码语言建模(MLM):随机遮盖15%的单词进行预测
    • 下一句预测(NSP):判断两个句子是否连续(后续模型如RoBERTa已移除)
使用场景
  • 理解型任务
    • 文本分类(如情感分析)
    • 命名实体识别(NER)
    • 抽取式问答(如SQuAD)
  • 典型应用
    • Google搜索的BERT集成
    • 金融文档实体抽取
代表模型
  • BERT:首个大规模Encoder-Only预训练模型
  • RoBERTa:优化训练策略(移除NSP,更大batch size)
  • ALBERT:参数共享技术减少内存占用

2. 仅解码器架构(Decoder-Only)
原理
  • 自回归生成:从左到右逐token预测,依赖前文上下文
    # GPT生成示例(伪代码)
    input = "The cat sat"
    for _ in range(max_len):next_token = decoder(input)[-1]  # 预测下一个tokeninput += next_token
    
  • 注意力机制:因果掩码(Causal Mask)确保不泄露未来信息
使用场景
  • 生成型任务
    • 开放域对话(如ChatGPT)
    • 创意写作(故事/诗歌生成)
    • 代码补全(如GitHub Copilot)
  • 典型应用
    • OpenAI的ChatGPT系列
    • Meta的Llama开源模型
代表模型
  • GPT系列:从GPT-1到GPT-4的演进
  • Llama 2:开源可商用的Decoder-Only模型
  • PaLM:Google的大规模纯解码器模型

3. 编码器-解码器架构(Encoder-Decoder)
原理
  • 两阶段处理
    1. 编码器压缩输入为上下文表示
    2. 解码器基于该表示自回归生成输出
    # T5翻译示例(伪代码)
    encoder_output = encoder("Hello world")  # 编码
    translation = decoder(encoder_output, start_token="<translate>")  # 生成"你好世界"
    
  • 注意力桥接:交叉注意力(Cross-Attention)连接编码器与解码器
使用场景
  • 序列到序列任务
    • 机器翻译(如英译中)
    • 文本摘要(如新闻简报生成)
    • 语义解析(自然语言转SQL)
  • 典型应用
    • Google的T5文本到文本统一框架
    • 客服系统的多轮对话管理
代表模型
  • T5:将所有任务统一为text-to-text格式
  • BART:去噪自编码预训练,擅长生成任务
  • Flan-T5:指令微调增强的多任务版本

架构对比图谱
MLM/NSP
自回归
Seq2Seq
输入文本
Encoder-Only
Decoder-Only
Encoder-Decoder
理解任务
生成任务
转换任务
分类/NER/QA
对话/创作
翻译/摘要
技术指标对比
架构类型参数量典型值训练目标硬件需求(训练)
Encoder-Only110M-340MMLM8-16 GPUs
Decoder-Only7B-70B下一个词预测数百-数千GPUs
Encoder-Decoder3B-11B去噪自编码32-256 GPUs

选型建议
  1. 选择Encoder-Only当

    • 需要高精度文本理解(如法律合同分析)
    • 硬件资源有限(可选用ALBERT等轻量版)
  2. 选择Decoder-Only当

    • 需求开放域生成能力(如营销文案创作)
    • 追求零样本/小样本学习(如GPT-3风格应用)
  3. 选择Encoder-Decoder当

    • 处理输入输出长度差异大的任务(如长文档摘要)
    • 需要严格的结构化输出(如自然语言转代码)

:当前趋势显示Decoder-Only架构(如GPT-4、Llama 2)通过指令微调也能实现部分理解任务能力,但专业场景仍推荐专用架构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90048.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL(120)如何进行数据脱敏?

数据脱敏&#xff08;Data Masking&#xff09;是指通过某种方式对敏感数据进行变形&#xff0c;使其在使用过程中无法识别原始数据&#xff0c;从而保护数据隐私。数据脱敏通常应用在开发、测试和数据分析等场景中。下面我们详细介绍如何在Java应用程序中进行数据脱敏&#xf…

使用 Dockerfile 构建基于 .NET9 的跨平台基础镜像

官方基础镜像准备 微软官方 dotnet sdk 基础镜像&#xff1a; docker pull mcr.microsoft.com/dotnet/sdk:9.0拉取 ubuntu 镜像&#xff1a; docker pull ubuntu:24.04更多资源请参考&#xff1a; dotnet sdk images&#xff0c;https://mcr.microsoft.com/en-us/artifact/mar/…

C++ : 线程库

C : 线程库一、线程thread1.1 thread类1.1.1 thread对象构造函数1.1.2 thread类的成员函数1.1.3 线程函数的参数问题1.2 this_thread 命名空间域1.2.1 chrono二、mutex互斥量库2.1 mutex的四种类型2.1.1 mutex 互斥锁2.2.2 timed_mutex 时间锁2.2.3 recursive_muetx 递归锁2.2.…

idea的使用小技巧,个人向

idea的使用小技巧&#xff0c;个人向 一、前言二、过程1、显示内存的使用情况2、去掉xml文件中的黄色背景3、显示所有打开文件4、显示工具栏到菜单下面5、使用JDK8 一、前言 每次重装idea都需要重新设置一下&#xff0c;这里做个记录。 这些技巧只是个人感觉的好用 演示用的…

debian及衍生发行版apt包管理常见操作

好的&#xff0c;这是 Debian 及其衍生版&#xff08;如 Ubuntu&#xff09;使用的 apt 包管理器的常用命令速查表。 一点说明&#xff1a;apt 是新一代的命令行工具&#xff0c;整合了 apt-get 和 apt-cache 的常用功能&#xff0c;并提供了更友好的交互体验。本表主要使用现…

vue调用函数

好的&#xff0c;我们来讲解如何在 Vue 模板中调用函数。您提供的代码是一个非常棒的、很实用的例子。 在 Vue 模板中&#xff0c;你可以在两个主要地方调用函数&#xff1a; 文本插值中&#xff1a;像 {{ formatDate(date) }} 这样&#xff0c;函数的返回值会作为文本被渲染到…

前端常用构建工具介绍及对比

打包构建工具是现代软件开发中必不可少的,它们帮助开发者自动化构建、打包、部署等流程,提升开发效率。不过,不同时期构建工具略有差异。 每个构建工具都有其擅长的领域,我们需要知道其优势,才能在我们实际开发中选择合适的构建工具进行构建处理。 1. Gulp Gulp 是一个…

Web后端开发-SpringBootWeb入门、Http协议、Tomcat

文章目录Web后端开发简介SpringBootWeb入门HTTP协议HTTP-概述HTTP-请求协议HTTP-响应协议HTTP-协议解析Web服务器-Tomcat简介基本使用SpringBootWeb入门程序解析Web后端开发简介 SpringBootWeb入门 package com.wuxuan.javaweb_wushuang.controller;import org.springframework…

物联网通信技术全景剖析:从LoRa到5G的深度对比与选型指南

物联网通信技术全景剖析&#xff1a;从LoRa到5G的深度对比与选型指南在万物互联时代&#xff0c;选择合适的通信技术如同为设备构建“神经网络”。本文将深入解析七大主流物联网通信技术&#xff0c;助您在技术选型中精准决策。一、低功耗广域网&#xff08;LPWAN&#xff09;技…

俄罗斯方块AI深度解析:从算法原理到实现细节

俄罗斯方块AI深度解析:从算法原理到实现细节 前言 俄罗斯方块,这个诞生于1984年的经典游戏,至今仍然是人工智能研究领域的热门课题。当简单的几何形状在网格中不断下落时,看似简单的规则背后却隐藏着复杂的策略决策问题。本文将深入剖析一个基于Python实现的俄罗斯方块AI…

Spring Boot 框架创建一个简单的后端接口,并介绍如何使用 Apifox 连接该接口

目录 一、配置 二、使用 IntelliJ IDEA 创建 Spring Boot 项目 1.打开 IntelliJ IDEA&#xff0c;选择 File > New > Project 2.在左侧面板选择 Spring Initializr&#xff0c;项目名称设置为HelloWorldAPI 3.点击 Create 完成项目创建 三、创建控制器类 四、运行项…

CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署

一、安装 CICD[软件安装]&#xff1a;docker安装gitlab-CSDN博客 CICD[软件安装]&#xff1a;ubuntu安装jenkins-CSDN博客 CICD[软件安装]&#xff1a;ubuntu安装私有镜像仓库-Harbor-CSDN博客 CICD[软件安装]&#xff1a;ubuntu24安装Docker-CSDN博客 二、镜像执行 CICD[…

深度学习图像分类数据集—蘑菇识别分类

该数据集为图像分类数据集&#xff0c;适用于ResNet、VGG等卷积神经网络&#xff0c;SENet、CBAM等注意力机制相关算法&#xff0c;Vision Transformer等Transformer相关算法。 数据集信息介绍&#xff1a;蘑菇识别分类&#xff1a;[Agaricus, Amanita, Boletus, Cortinarius, …

iOS 多线程导致接口乱序?抓包还原 + 请求调度优化实战

在一次性能优化过程中&#xff0c;我们将 iOS App 内多处请求改为并行处理&#xff0c;以提高页面加载速度。但上线后却收到部分用户反馈&#xff1a;进入页面后数据加载错乱&#xff0c;有时展示前一次页面内容&#xff0c;有时同一个接口请求重复返回不同内容。 日志仅显示正…

PDFBox 在 Linux 报 “No glyph for U+535A (博)” —— 一次子集化踩坑与完整排查清单

PDFBox 在 Linux 报 “No glyph for U535A (博)” —— 一次子集化踩坑与完整排查清单关键词&#xff1a;PDFBox、PDType0Font、子集嵌入&#xff08;subset embedding&#xff09;、SimHei、思源黑体、字体回退1. 背景业务场景 后端使用 Apache PDFBox 填充含 AcroForm 的中文…

网安系列【8】之暴力破解入门

文章目录 引用资料一 什么是暴力破解&#xff1f;二 暴力破解的工作原理三 暴力破解的类型3.1 传统暴力破解3.2 字典攻击3.3 混合攻击3.4 彩虹表攻击 四 暴力破解实战演示4.1 环境和工具4.2 破解操作 五 防御暴力破解的策略六 暴力破解的相关法律七 延伸学习总结 引用资料 Bur…

使用tensorflow的线性回归的例子(四)

与经典线性回归比较 import matplotlib.pyplot as plt %matplotlib inline import tensorflow as tf import numpy as np from sklearn.linear_model import LinearRegression #from sklearn.datasets.samples_generator import make_regression Xdata np.array([4.0, …

服务器中故障转移机制是指什么意思?

在企业服务器和数据中心当中&#xff0c;电源冗余机制和故障转移机制是保障系统高可用性和稳定性的重要组成部分&#xff0c;电源故障转移系统可以帮助企业有效减少服务器因为硬件故障导致业务中断的情况&#xff0c;本文就来详细了解一下服务器中故障转移机制。服务器中的故障…

rook-ceph的osd没有启动rook-ceph-osd-prepare状态异常处理

rook-ceph搭建好ceph之后&#xff0c;查看ceph集群状态&#xff0c;发现三节点只有两个osd状态正常注&#xff1a;这里是已经恢复后的截图。 使用kubectl get pod -n rook-ceph查看pod都是处于运行状态 rook-ceph-osd-prepare也都是Completed没问题&#xff0c;实际使用kubectl…

ubuntu手动编译VTK9.3 Generating qmltypes file 失败

​在Ubuntu上手动编译VTK 9.3时&#xff0c;可能会遇到 Generating qmltypes file失败的问题。这个问题通常与VTK在处理Qt依赖时发生的错误有关。以下是解决该问题的详细步骤和相关解释。一、确保系统依赖正确安装在编译VTK之前&#xff0c;需要确保所有依赖项已经正确安装&…