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协议对接现有设备&#…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...