通用大模型研究重点之五:llama family

LLAMA Family

decoder-only类型
LLaMA(Large Language Model AI)在4月18日公布旗下最大模型LLAMA3,参数高达4000亿。目前meta已经开源了80亿和700亿版本模型,主要升级是多模态、长文本方面工作。
模型特点:采用标准的decoder-only,tokennizer的分词表128k,24K的GPU集群,15T的公开数据,非英占5%,包括30种语言。训练数据增加7倍,代码量增加2倍。
个人理解:按照Sacling low的研究,当参数一定条件下,增加数据量可以明显提示模型的表达能力。并且研究发展在一定条件下增加数据比增加参数在知识表示方面效果更加显著。当然在Scaling low研究中openai和google的观点从文献上看是对立的,这种对立统一或者帮助我们在设计模型时给出一个指导,数据不足可以通过参加参数提升效果,数据充足情况下可以通过模型学习SFT,LORA、MOE三种学习范式提升效果。

LLaMA模型3:

  • 优点
    • 最先进的性能:模型3通常是系列中最大规模的模型,提供了最先进的性能,尤其是在复杂的语言任务上。
    • 强大的泛化能力:大量的参数使得模型3在多种任务上都有出色的泛化能力。
    • 更好的多任务学习:由于其规模和设计,模型3适合于多任务学习场景,可以同时处理多种不同的自然语言处理任务。
  • 缺点
    • 高资源消耗:最大的模型规模意味着最高的计算和存储需求,这可能使得在没有高性能计算资源的情况下难以部署。
    • 环境影响:训练和运行如此大规模的模型可能对环境产生较大的影响,因为需要大量的电力和计算资源。

通用异同点:

  • 架构改进:随着版本的提升,LLaMA模型通常会采用更先进的架构设计,以提高效率和性能。
  • 任务适应性:所有版本的LLaMA模型都旨在处理多种自然语言处理任务,如文本分类、问答、文本生成等。
  • 资源效率:尽管规模不同,但LLaMA系列模型的一个共同目标是提高资源效率,即在尽可能少的资源消耗下提供高性能。

LLaMA模型2:

  • 优点
    • 提升的性能:相比于模型1,模型2通常具有更多的参数和更大的规模,这使得它在更广泛的任务上表现更好。
    • 更好的上下文理解:增加的参数和改进的架构有助于模型更好地理解和处理长文本。
  • 缺点
    • 增加的资源需求:相比于模型1,模型2需要更多的计算资源,这可能限制了它在资源受限的环境中的可用性。
    • 可能的过拟合风险:更大的模型规模如果没有适当的正则化,可能在小数据集上出现过拟合。

LLaMA模型1:

  • 优点
    • 较小的规模:相比于其他大型语言模型,LLaMA模型1具有较小的模型尺寸,这使得它在资源有限的环境中更容易部署。
    • 高效的性能:尽管规模较小,但LLaMA模型1在多种自然语言处理任务上展现出了高效的性能。
  • 缺点
    • 有限的上下文理解:由于模型规模的限制,模型1可能在处理非常长文本或需要深层次推理的任务时表现不佳。
    • 较少的参数:较少的参数可能导致模型在一些复杂的任务上泛化能力不足。

请注意,具体的技术细节、性能指标和应用场景可能会随着模型版本的更新而变化。此外,对于每个版本的详细优缺点,通常需要通过实际的基准测试和使用体验来确定。如果需要最新和最详细的信息,建议查阅官方发布的技术文档或相关的研究论文。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他国际知名大模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也有将MoE作为一个独立的层[2],将多个MoE结构堆叠在另一个网络中,一个MoE层的输出作为下一层MoE层的输入,其输出作为另一个下一层的输入,其具体过程如下图所示:
在这里插入图片描述
在这里插入图片描述
MoE代码实现

MoE,即Mixture of Experts它允许模型在不同的任务和数据集上进行训练和微调。MoE结构是一种将多个专家网络结合起来,以便处理各种输入的技术。每个专家网络可以专门处理一种类型的任务或数据,而主网络则负责将输入分配给最合适的专家网络。MoE结构的代码简化的MoE结构的概念性伪代码示例原理:

```python
import torch
import torch.nn as nn

class Expert(nn.Module):
    def __init__(self, size):
        super(Expert, self).__init__()
        self.fc = nn.Linear(size, size)
    
    def forward(self, x):
        return self.fc(x)

class MixtureOfExperts(nn.Module):
    def __init__(self, size, num_experts, top_k_experts):
        super(MixtureOfExperts, self).__init__()
        self.experts = nn.ModuleList(Expert(size) for _ in range(num_experts))
        self.top_k_experts = top_k_experts
    
    def forward(self, x):
        # 假设x是我们的输入,我们将其分发到不同的专家
        expert_outputs = [expert(x) for expert in self.experts]
        
        # 选择top-k专家的输出
        top_k_indices = torch.topk(expert_outputs, self.top_k_experts, dim=0)[1]
        
        # 将选择的专家输出合并起来
        selected_expert_outputs = [torch.index_select(expert_output, 0, top_k_indices) for expert_output, expert in zip(expert_outputs, self.experts)]
        
        # 将所有选定的专家输出相加
        combined_output = torch.stack(selected_expert_outputs).sum(0)
        
        return combined_output

# 假设我们的输入大小为256,我们有5个专家,并且我们选择top-2专家
model = MixtureOfExperts(256, 5, 2)

# 假设输入数据batch的大小为32
input_data = torch.randn(32, 256)

# 前向传播
output_data = model(input_data)
Grok

MoE类型

Mistral

MoE类型

Gemma
VLA研究领域(智能体、具身智能)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试八股之Java异常处理完成后,Exception对象会发生什么变化

Java异常处理完成后,Exception对象会发生什么变化 这个题的难度在于,看到题之后可能不知道面试官想问什么。在面试中,如果实在没明白,可以让面试官再深入阐述一下。 Java异常处理完成后,Exception对象失去了程序中的…

自定义Blazor单文件Web程序端口

#接 上篇 Mysql快速迁移版的制作过程# 上一篇《Mysql8快速迁移版的制作过程》完成了快速迁移的数据库的准备,今天接着讲基于Blazor的Web程序快速迁移版的制作。 单文件发布的难点不在发布而是因为程序系统默认给了个5001的端口,而是如何能够让用户自定…

Leetcode 11.盛最多水的容器(暴力->双指针)

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 …

Postman调用OpenApi接口

首先你需要科学上网。。。。。 请求方式:post 请求地址:https://api.openai.com/v1/chat/completions 请求头: Authorization : Bearer key Content-Type : application/json Body : { "messages": [{ "role": &quo…

【精简改造版】大型多人在线游戏BrowserQuest服务器Golang框架解析(1)——功能清单

1.匿名登录 2.服务连接 3.新手引导 4.随机出生点 5.界面布局 6.玩法帮助 7.NPC会话 8.成就系统 9.成就达成 10.用户聊天 11.战斗&信息展示 12.药水使用 13.副本传送 14.玩家死亡 15.超时断开

OpenHarmony 视图缩放组件—subsampling-scale-image-view

简介 深度缩放视图,图像显示,手势平移缩放双击等 效果图(旋转、缩放、平移) 下载安装 ohpm install ohos/subsampling-scale-image-view OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包 使…

Servlet第四篇【request对象常用方法、应用】

什么是HttpServletRequest HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。 简单来说,要得…

mysql四种引擎区别

MySQL 提供了多种不同的数据库引擎,其中最常见的有 MyISAM、InnoDB、MEMORY 和 BLACKHOLE。这四个引擎分别有以下特点: 1. MyISAM MyISAM 是 MySQL 的默认引擎。它对于只有较少的修改、大量读取的应用场景具有良好的性能。它不支持事务处理,也…

理解字符串常量池(JVM)

大纲 思考 如何查看字符串常量池(StringTable)? 使用 jclasslib 插件打开字节码,选择 常量池 -> 显示所选 -> CONSTANT_String_info,左侧过滤后的内容即为字符串常量池 字符串常量池、方法区、永久代和元空间的…

Dynamic Wallpaper for Mac:动态壁纸让桌面更生动

Dynamic Wallpaper for Mac是一款为苹果电脑用户精心设计的动态壁纸软件,它以其丰富的功能和精美的壁纸库,为用户带来了更加生动和个性化的桌面体验。 Dynamic Wallpaper for Mac v17.8中文版下载 这款软件支持多种动态壁纸,用户可以根据自己…

unity学习(86)——细节优化

东西已经做出来了,现在需要的是优化,说得简单,做起来难。 1.122包的优化,避免重复创建! 2.为何会出现一边动,一边不动的情况。重复登录后依旧是unity可以看到移动,但是exe那边看不到移动&#…

数据结构PT1——线性表/链表

1:顺序存储实现(数组实现) Data: a1 a2 .....ai ai1 .... an .... typedef struct LNode *List; //指向LNode的指针,这是typedef的,你可以随时声明,而不加typedef只是创建一个 struct LNode{ //结构体成员ElementT…

Vue.js------Vue组件基础

能够理解Vue组件概念和作用能够掌握封装创建组件能力能够使用组件之间通信能够完成todo案例 一.Vue组件创建和使用 1.折叠面板-实现多个 创建一个文件夹demo 具体步骤请参考vue.js---vue基础 ⚫ 解决方案: 采用vue提供的单.vue文件-组件方式来封装一套然后复用 在component…

Jackson 2.x 系列【24】Spring Web 集成

有道无术,术尚可求,有术无道,止于术。 本系列Jackson 版本 2.17.0 源码地址:https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. Spring Web3. Jackson2ObjectMapperBuilder4. Jackson2ObjectMapperFa…

探索传感器世界:类型与应用详解

传感器是一种能感知并测量特定物理量、化学量或其他参数,并将其转换为可供处理、记录或控制的电信号的装置。 物联网传感器设备种类繁多,以下是一些常见的类型: 一、 温度传感器 1、热电阻温度传感器:利用金属的电阻随温度变化的…

Java编程题 | 数组元素交换

大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~ 题目描述 编写一个Java程序,输入一个整数数组,将最大的元素与第一个元素交换,最小的元素与最后一个元素交换,然后输出修改后的数组…

PHP定时任务框架taskPHP3.0学习记录4宝塔面板bash定时任务(轮询指定json文件字段后确定是否执行、环境部署、执行日志、文件权限)

一 需求说明 宝塔面板中,读取指定 /www/wwwroot/lockdata/cron/webapp.json文件;配置定时任务脚本task.sh;当读取webapp.json中,如果cron_task1,则执行任务php start.php start命令行;完成命令后,执行cron…

Vue3基本功能介绍

文章目录 Vue3组件中的模板结构可以没有根标签div组合式APIRefReactive函数回顾Vue2响应式Vue3实现响应式对比reactive和refSetup注意点计算属性与监听computedWatchWatchEffectVue3生命周期自定义hook函数toRef其他组合APIshallowReactiveshallowRefreadonly和shallowOnlyToRa…

PostgreSql-Install

PostgreSql源码安装 一、源代码下载二、操作系统配置三、编译安装四、启动数据库五、相关命令 PostgreSQL是一个强大的 开源对象关系数据库系统,它使用并扩展了SQL语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载。 一、源…

Targeted influence maximization in competitive social networks

abstract 利用口碑效应的广告对于推销产品是相当有效的。在过去的十年中,人们对营销中的影响力最大化问题进行了深入的研究。影响力最大化问题旨在将社交网络中的一小群人识别为种子,最终他们将引发网络中最大的影响力传播或产品采用。在网络营销的实际场…
最新文章