当前位置: 首页 > news >正文

Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了

Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了!

在这里插入图片描述

在多模态领域,开源模型也超闭源了!

就在刚刚结束的Meta开发者大会上,Llama 3.2闪亮登场:

这回不仅具备了多模态能力,还和Arm等联手,推出了专门为高通和联发科硬件优化的“移动”版本。

具体来说,此次Meta一共发布了Llama 3.2的4个型号:

110亿和900亿参数的多模态版本

10亿参数和30亿参数的轻量级纯文本模型

官方数据显示,与同等规模的“中小型”大模型相比,Llama 3.2 11B和90B表现出了超越闭源模型的性能。

尤其是在图像理解任务方面,Llama 3.2 11B超过了Claude 3 Haiku,而90B版本更是能跟GPT-4o-mini掰掰手腕了。

而专为端侧打造的3B版本,在性能测试中表现也优于谷歌的Gemma 2 2.6B和微软的Phi 3.5-mini。

如此表现,着实吸引了不少网友的关注。

有人兴奋地认为,Llama 3.2的推出可能再次“改变游戏规则”:

端侧AI正在变得越来越重要。

首个视觉🦙
有关Llama 3.2具体能做什么,这次官方也释出了不少demo。

先看个汇总:Llama 3.2 11B和90B支持一系列多模态视觉任务,包括为图像添加字幕、根据自然语言指令完成数据可视化等等。

在这里插入图片描述

举个🌰,丢给Llama 3.2一张图片,它能把图片中的元素一一拆解,告诉你详细的图片信息:
在这里插入图片描述

同样,也可以反过来根据文字指令找出符合用户需求的图片。

在这里插入图片描述

Llama 3.2 11B和90B也是首批支持多模态任务的Llama系列模型,为此,Meta的研究人员打造了一个新的模型架构。

在Llama 3.1的基础之上,研究人员在不更新语言模型参数的情况下训练了一组适配器权重,将预训练的图像编码器集成到了预训练的语言模型中。

这样,Llama 3.2既能保持纯文本功能的完整性,也能get视觉能力。

训练过程中,Llama 3.2采用图像-文本对数据进行训练。训练分为多个阶段,包括在大规模有噪声数据上的预训练,和更进一步在中等规模高质量领域内和知识增强数据上的训练。

在后训练(post-training)中,研究人员通过监督微调(SFT)、拒绝采样(RS)和直接偏好优化(DPO)进行了几轮对齐。

专为端侧打造的“小”模型
至于1B和3B这两个轻量级模型,目的更加清晰:

随着苹果Apple Intelligence的推出,对于电子消费市场而言,手机等终端上的生成式AI已经成为标配。

而脱离云端独立运行在终端上的模型,无论是从功能还是从安全的角度,都是终端AIGC落地的关键。

在这里插入图片描述

Llama 3.2 1B和3B模型由Llama 3.1的8B和70B模型剪枝、蒸馏得到。

可以简单理解为,这俩“小”模型是Llama 3.1教出来的“学生”。

Llama 3.2 1B和3B仅支持文本任务,上下文长度为128K。来自Meta合作方Arm的客户业务线总经理Chris Bergey认为:

明年初甚至今年年底,开发人员就会在应用程序中落地这两个型号的Llama 3.2。

它们拥有更好的效率,能在1W功率下或在8毫秒以内提供答案。

不少网友也为此点赞:

Llama 3.2的轻量级模型能真正改变AI在手机和其他设备上的应用。

Meta首席技术官对Llama 3.2的发布,做了两大亮点总结:

首个既能识别图像,又能理解文本的多模态模型。最重要的是,能够媲美闭源模型

超轻量1B/3B模型,解锁更多终端设备可能性

11B和90B这两款模型,不仅支持图像推理场景,包括图表和图形在内的文档级理解、图像描述以及视觉定位任务,而且还能基于现有图表进行推理并快速给出回答。
比如,你可以问「去年哪个月销售业绩最好?」,Llama 3.2就会根据现有图表进行推理,并迅速给出答案。
轻量级的1B和3B模型则可以帮助不仅在多语言文本生成和工具调用能力方面表现出色,而且具有强大的隐私保护,数据永远不会离开设备。
之所以在本地运行模型备受大家的青睐,主要在于以下两个主要优势:
提示词和响应能够给人瞬间完成的感觉
应用程序可以清晰地控制哪些查询留在设备上,哪些可能需要由云端的更大模型处理

视觉模型

作为首批支持视觉任务的Llama模型,Meta为11B和90B型打造了一个全新的模型架构。
在图像输入方面,训练了一组适配器权重,将预训练的图像编码器集成到预训练的大语言模型中。
具体来说,该适配器:

由一系列交叉注意力层组成,负责将图像编码器的表示输入进大语言模型

通过在文本-图像对上的训练,实现图像表示与语言表征的对齐

在适配器训练期间,Meta会对图像编码器的参数进行更新,但不会更新大语言模型参数。
也就是说,模型的纯文本能力便不会受到任何影响,而开发者也可以将之前部署的Llama 3.1无缝替换成Llama 3.2。

在这里插入图片描述
具体的训练流程如下:
首先,为预训练的Llama 3.1文本模型添加图像适配器和编码器,并在大规模噪声图像-文本对数据上进行预训练。
然后,在中等规模的高质量领域内和知识增强的图像-文本对数据上,再次进行训练。
接着,在后训练阶段采用与文本模型类似的方法,通过监督微调、拒绝采样和直接偏好优化进行多轮对齐。并加入安全缓解数据,保障模型的输出既安全又实用。
这在期间,模型所使用的高质量微调数据,正是来自合成数据生成技术——使用Llama 3.1模型在领域内图像的基础上过滤和增强问题答案,并使用奖励模型对所有候选答案进行排序。
最终,我们就能得到一系列可以同时接受图像和文本提示词的模型,并能够深入理解和对其组合进行推理。
对此,Meta自豪地表示表示:「这是Llama模型向更丰富的AI智能体能力迈进的又一步」。
得到全新Llama 3.2加持的助手Meta AI,在视觉理解力上非常强。
比如,上传一张切开的生日蛋糕图片,并问它制作配方。
Meta AI便会给出手把手教程,从配料到加工方式,一应俱全。

轻量模型

通过利用剪枝(pruning)和蒸馏(distillation)这两种方法,Meta让全新的1B和3B模型,成为了首批能够高效地适应设备的、具有高能力的轻量级Llama模型。

剪枝能够减小Llama的规模,并尽可能地保留知识和性能

在此,Meta采用了从Llama 3.1 80亿参数模型进行单次结构化剪枝的方法。也就是,系统地移除网络的部分内容,并调整权重和梯度的幅度,从而创建一个更小、更高效的大语言模型,同时保留原始网络的性能。

完成剪枝之后,则需要使用知识蒸馏来恢复模型的性能。

知识蒸馏是让一个更大的网络给更小的网络传授知识

也就是,较小的模型可以借助教师模型的指导,获得比从头开始训练更好的性能。为此,Meta在预训练阶段融入了来自Llama 3.1 8B和70B模型的logits(模型输出的原始预测值),并将这些较大模型的输出则用作token级的目标。

后训练阶段,Meta采用了与Llama 3.1类似的方法——通过在预训练大语言模型基础上进行多轮对齐来生成最终的聊天模型。
其中,每一轮都包括监督微调(SFT,Supervised Fine-Tuning)、拒绝采样(RS,Rejection Sampling)和直接偏好优化(DPO,Direct Preference Optimization)。
在这期间,Meta不仅将模型的上下文长度扩展到了128K token,而且还利用经过仔细筛选的合成数据和高质量的混合数据,对诸如总结、重写、指令跟随、语言推理和工具使用等多项能力进行了优化。
为了便于开源社区更好地基于Llama进行创新,Meta还与高通(Qualcomm)、联发科(Mediatek)和Arm展开了密切合作。
值得一提的是,Meta这次发布的权重为BFloat16格式。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Llama Stack发行版

Llama Stack API是一个标准化接口,用于规范工具链组件(如微调、合成数据生成等)以定制Llama大语言模型并构建AI智能体应用。
自从今年7月Meta提出了相关的意见征求之后,社区反响非常热烈。
如今,Meta正式推出Llama Stack发行版——可将多个能够良好协同工作的API提供者打包在一起,为开发者提供单一接入点。
这种简化且一致的使用体验,让开发者能够在多种环境中使用Llama大语言模型,包括本地环境、云端、单节点服务器和终端设备。

完整的发布内容包括:
Llama CLI:用于构建、配置和运行Llama Stack发行版

多种语言的客户端代码:包括Python、Node.js、Kotlin和Swift

Docker容器:用于Llama Stack发行版服务器和AI智能体API供应商

多种发行版:
单节点Llama Stack发行版:通过Meta内部实现和Ollama提供

云端Llama Stack发行版:通过AWS、Databricks、Fireworks和Together提供

设备端Llama Stack发行版:通过PyTorch ExecuTorch在iOS上实现

本地部署Llama Stack发行版:由Dell提供支持

系统安全

这次,Meta在模型安全方面主要进行了两个更新:
1.Llama Guard 3 11B Vision
它支持Llama 3.2的全新图像理解能力,并能过滤文本+图像输入提示词或对这些提示词的文本输出响应。
2. Llama Guard 3 1B
它基于Llama 3.2 1B,并在剪枝和量化处理之后,将模型大小从2,858MB缩减至438MB,使部署效率达到前所未有的高度。

在这里插入图片描述

参考链接:
[1]https://ai.meta.com/blog/llama-3-2-connect-2024-vision-edge-mobile-devices/
[2]https://www.cnet.com/tech/mobile/meta-and-arm-want-to-bring-more-ai-to-phones-and-beyond/#google_vignette
[3]https://news.ycombinator.com/item?id=41649763

相关文章:

Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了

Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了! 在多模态领域,开源模型也超闭源了! 就在刚刚结束的Met…...

系统缺失mfc140.dll的修复方法,有效修复错误mfc140.dll详细步骤

mfc140.dll丢失原因分析 1 系统文件损坏或病毒感染 系统文件损坏或被病毒感染是导致mfc140.dll丢失的常见原因之一。根据用户反馈和安全研究报告,大约有30%的mfc140.dll丢失案例与系统文件损坏或病毒感染有关。病毒、木马或其他恶意软件可能会破坏或删除系统中的m…...

移动app的UI和接口自动化测试怎么进行?

标题:从0到1:移动App的UI和接口自动化测试 导语:移动App的快速发展使得UI和接口自动化测试成为了确保应用质量的重要环节。本文将从零开始介绍移动App的UI和接口自动化测试的基本概念以及如何进行测试。 第一部分:了解移动App自动…...

Unity实现自定义图集(二)

以下内容是根据Unity 2020.1.0f1版本进行编写的   实现一个自定义图集,该怎么入手呢。首先简单思考一下unity是怎么实现图集的。 因为unity的ui部分是开源的,所以我们可以看到UGUI的源代码,另外,Unity的内置Shader也是开源的,可以直接在官网下载(在下载的网页选择Built…...

智能码二维码zhinengma.cn的动态数据更新是如何实现的?

智能码二维码的动态数据更新功能是通过其背后的技术原理实现的,主要依赖于服务器和二维码的链接结构。以下是具体介绍: 动态数据更新的实现原理 链接嵌入:动态二维码中嵌入了一个链接,该链接指向服务器上的数据源。数据请求与更…...

uniapp view怎么按长度排列一行最多四个元素,并且换行后,每一行之间都有间隔

推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...

Android列表组件api

目录 1.ListView控件 1)android:divider 2)android:dividerHeight 3)android:entries 4)android:footerDividersEnabled 5)android:headerDividersEnabled 6)android:listSelector 7)android:sc…...

ToB项目身份认证AD集成(完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法介绍

在前面的两篇文章中,我详细的介绍了使用ldap与window AD服务集成,实现ToB项目中的身份认证集成方案,包括技术方案介绍、环境配置: ToB项目身份认证AD集成(一):基于目录的用户管理、LDAP和Active…...

SpringBoot+SeetaFace6搭建人脸识别平台

前言 最近多个项目需要接入人脸识别功能,之前的方案是使用百度云api集成,但是后续部分项目是内网部署及使用,考虑到接入复杂程度及收费等多种因素,决定参考开源方案自己搭建,保证服务的稳定性与可靠性 项目地址&…...

MySQL-06.DDL-表结构操作-创建

一.DDL(表操作) create database db01;use db01;create table tb_user(id int comment ID,唯一标识,username varchar(20) comment 用户名,name varchar(10) comment 姓名,age int comment 年龄,gender char(1) comment 性别 ) comment 用户表; 此时并没有限制ID为…...

在Visual Studio中使用CMakeLists.txt集成EasyX库的详细指南

EasyX库是一款专为Windows平台设计的轻量级C图形库,适合初学者和教育领域使用。结合Visual Studio和CMake工具链,用户可以轻松创建C项目,并集成EasyX库,实现丰富的图形编程效果。本文将详细介绍如何在Visual Studio中通过CMakeLis…...

CRC码计算原理

CRC8这里先以CRC8来说明CRC的计算过程1、CRC8在线计算器通过CRC在线计算器可以看见CRC8的特征多项式:x8+x2+x+1,初始值为0000’0000。CRC计算的核心是:反转+异或+移位(此处的CRC8没有涉及反转,见后面CRC16)。2、CRC8计算过程(1)、取值从高到低依次取需校验数据的位,这里…...

对高危漏洞“Docker Engine API is accessible without authentication”的修复

一.背景 之前文章maven项目容器化运行之1-基于1Panel软件将docker镜像构建能力分享给局域网_1panel 构建镜像-CSDN博客将1Panel软件的Doocker端口给到了局域网,安全组兄弟扫描认为是高危漏洞,可能导致攻击者获取对Docker主机的完全控制权。 二.修复的建…...

两种方式创建Vue项目

文章目录 引言利用Vue命令创建Vue项目准备工作安装Vue CLI创建Vue项目方法一:使用vue init命令方法二:使用vue create命令启动Vue项目 利用Vite工具创建Vue项目概述利用Vite创建项目启动项目 结语 引言 大家好,今天我将向大家展示如何使用不…...

深入理解 C/C++ 指针

深入理解 C 指针:指针、解引用与指针变量的详细解析 前言 在 C 编程语言中,指针 是一个非常强大且重要的概念。对于初学者来说,指针往往会让人感到困惑不解。本文将通过形象的比喻,帮助大家深入理解指针、解引用与指针变量的概念…...

有什么方法可以保护ppt文件不被随意修改呢?

在工作或学习中,我们常常需要制作powerpoint演示文稿,担心自己不小心改动了或者不想他人随意更改,我们可以如何保护PPT呢?下面小编就来分享两个常用的方法。 方法一:为PPT设置打开密码 为PPT设置打开密码是最直接有效…...

[C#]项目中如何用 GraphQL 代替传统 WebAPI服务

在现代应用程序开发中,传统的 WebAPI 通常使用 RESTful 设计风格,然而近年来 GraphQL 作为一种新的 API 查询语言逐渐获得广泛应用。GraphQL 允许客户端精确地查询所需的数据,减少了过度请求和不足请求的问题。本文将详细讨论在项目中用 Grap…...

对后端返回的日期属性进行格式化(扩展 Spring MVC 的消息转换器)

格式化之前 格式化之后: 解决方式 方式一 在属性中加上注解,对日期进行格式化 JsonFormat(pattern "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;//JsonFormat(pattern &quo…...

踩坑记录-用python解析php Laravel8生成的jwt token一直提示 Invalid audience

import jwtdef token_required(token):with open(storage/oauth-public.key, r) as f:public_key f.read()try:# 尝试使用当前算法解码 token,同时指定受众decoded jwt.decode(token, public_key, algorithms[RS256], options{"verify_aud": False})# p…...

使用IOT-Tree Server制作一个边缘计算设备(Arm Linux)

最近实现了一个小项目,现场有多个不同厂家的设备,用户需要对此进行简单的整合,并实现一些联动控制。 我使用了IOT-Tree Server这个软件轻松实现了,不外乎有如下过程: 1)使用Modbus协议对接现有设备&#…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...