总而言之,模型视图投影矩阵=投影矩阵×视图矩阵×模型矩阵,模型矩阵将顶点从局部坐标系转化到世界坐标系中,视图矩阵将顶点从世界坐标系转化到视图坐标系下,而投影矩阵将顶点从视图坐标系转化到规范立方体中。 观察者的位置和方向会变化,看上去就好像整个世界的位置和方向发生变化了一样,所以我们将世界里的所有模型看作一个大模型,在所有模型矩阵的左侧再乘以一个表示整个世界变换的模型矩阵,就可以了。 这个表示整个世界变换的矩阵又称为「视图矩阵」,因为他们经常一起工作,所以将视图矩阵乘以模型矩阵得到的矩阵称为「模型视图矩阵」。 观察者缩小的情形曾经使我困惑: 一方面,即使人和猫咪的眼睛在同一个位置,人看到的世界和猫咪看到的世界应当是一样尺寸的(虽然人比猫大);但是直觉告诉我,如果你喝了变猫药水,你应该会觉得整个世界在膨胀,就像视图矩阵所表现的那样 视图矩阵实际上就是整个世界的模型矩阵,这给我一点启发:一个模型可能由多个较小的子模型组成,模型自身有其模型矩阵,而子模型也有自己的局部模型矩阵。
大模型产品层出不穷,面对各种声称“最强”的模型,我们该如何快速理清技术路线和核心差异?本文从基础架构出发,带你一站式浏览国内外主流大模型厂商及其代表产品,最后给出个人使用建议,帮你少走弯路。 一、三大技术路线概览大部分大模型都基于 Transformer 架构,按照编码与解码模块的不同可分为三类:自回归模型(Decoder‑only)仅用解码器生成文本,典型代表 GPT 系列优势:对话、生成 )同时具备编码和解码模块,代表 T5、GLM 系列优势:翻译、摘要、生成式问答等需要双向理解与生成的场景二、国际阵营·标杆大模型1. GoogleBERT / LaMDA:Transformer 和对话模型的开山鼻祖PaLM-E:多模态场景下的融合式大模型Bard 系列:面向消费级对话应用3. /3、SEER、data2vec开源自回归模型,社区活跃,跨模态方向布局三、国货之光·大模型1.
腾讯云助力友邦保险“春日绽放歌会”增添AI新亮点|100位总裁征集,免费定制鹅厂数智人 | 一图看懂「腾讯云生成式AI产业应用峰会」|腾讯云发布三大AI大模型引擎,5分钟开发一款企业级知识应用|腾讯云吴运声 :打造大模型时代原生工具链,助力客户一站式构建AI原生应用|治愈大模型“健忘症” | 腾讯混元发布256k长文模型 | 来,1亿Tokens免费赠,模型任选!
二维平面只包含缩放和平移的模型矩阵 [ sx 0 0 tx ] ← X轴缩放(sx)与X轴平移(tx) [ 0 sy 0 ty ] ← Y轴缩放(sy)与Y轴平移 ty) [ 0 0 1 0 ] ← Z轴不缩放、不平移(保持1) [ 0 0 0 1 ] ← 齐次坐标标识(固定为1) 二维平面包含缩放、旋转和平移的模型矩阵 0 ty ] [ 0 0 1 0 ] [ 0 0 0 1 ] 二维平面视口大小与窗口大小一致,生成投影矩阵 // 创建二维正交投影矩阵 Matrix4 projectionMatrix = Matrix4.CreateOrthographicOffCenter( left: 0, 窗口大小适配:当窗口大小改变时,需重新计算投影矩阵(通常在 OnResize 事件中更新)。
正文 通常来说,模型矩阵(R)的一种比较好的级联方式为:先缩放(S),再旋转(R),最后平移(T): \textbf{R} = \textbf{T} * \textbf{R} * \textbf{S} 如果不考虑缩放变换,那么模型变换实际上是一种刚体变换。 此时四维模型矩阵的左上角3X3矩阵就是旋转矩阵,第四列就是平移量。但是加上缩放变换,就变成一个复杂的问题了。 PrintVec4(const glm::vec4& v) { printf("%lf\t%lf\t%lf\t%lf\n", v.x, v.y, v.z, v.w); } int main() { //平移矩阵 除了缩放、旋转和平移,GLM提供的模型矩阵分解的函数接口glm::decompose()还提供一个skew参数和perspective参数,暂时没弄明白其具体含义,留待以后研究。 2.
矩阵分解模型做如下假设: 1.每个用户可描述为n个属性或特征。比如,第一个特征可以对应某个用户对动作片的喜好程度。 2.每个物品可描述为n个属性或特征。 假设我们的用户和物品数目分别是U和I,那对应的“用户-物品”矩阵的维度为U*I。那对应的两个低阶矩阵分别是用户的U*k矩阵,和物品的I*k矩阵。这两个矩阵也被称为因子矩阵。因子矩阵通常是稠密的。 由于对“用户-物品”矩阵直接建模,用这些模型进行预测也相对直接:要计算给定用户对某个物品的预计评级,就从用户因子矩阵和物品因子矩阵分别选取相应的行(用户因子向量)与列(物品因子向量),然后计算两者的点积即可 因子分解类模型的的利弊: 利:求解容易,表现出色 弊:不好解释,吃资源(因子向量多,训练阶段计算量大) 2.隐式矩阵分解 隐式矩阵就是针对隐式反馈数据。 它将输入的评级数据视为两个矩阵:一个二元偏好矩阵P和一个信心权重矩阵C。 隐式模型仍然会创建一个用户因子矩阵和一个物品因子矩阵。但是,模型所求解的是偏好矩阵而非评级矩阵的近似。
,本文即讨论这种模型的机理。 2 小孔成像 机器视觉成像采用小孔成像模型,如下图所示 再次简化为下图 图中 X X X是一个空间点, x x x为该空间点在图像中的成像点, C C C为镜头光心(camera centre 后面的各个坐标系及其相互关系都是基于这个小孔成像模型推出。 3 坐标系 说到机器视觉测量模型,就少不了先要了解整个模型中涉及的几个坐标系。 f f f、像元尺寸 d x d y dxdy dxdy、中心像素 u 0 v 0 u_0v_0 u0v0有关,这都是相机和镜头的内部参数,相机及镜头确定后这个矩阵就被确定,所以被称为内参矩阵。 M 2 M_2 M2与相机的位姿有关,称为外参矩阵。
OpenGL在设置场景时,要用到两个矩阵:投影矩阵 和 模型视图矩阵通过glMatrixMode来指定下面的矩阵操作是针对哪一个矩阵进行的。 ,但之后可能出错,若设置glMatrixMode(GL_MODELVIEW);glLoadIdentity();
本应该将视图模型矩阵单位化,即消除之前视点矩阵所产生的视点变换,但是之前的视点矩阵保存到了投影矩阵中 />gluLookAtUp(); // E 视点矩阵
glTranslate(); // T 模型矩阵
glScale(); // S 模型矩阵
glRotate(); // R 模型矩阵
因为实际的变换顺序与代码的顺序是相反的,设顶点v
模型视图矩阵的顺序依次为 I, E, ET, ETS, ETSR, 经过变换的顶点是 (OpenGL为列主序矩阵,转置)
但可以在绘图之前的任何时候执行投影变换和视口变换。
视锥体的设置:
投影变换创建了一个六面体,位于视锥体内的模型才能被看到,而外面的模型则被裁剪掉。
在大模型场景中,β通常取0,即仅保留矩阵乘法结果,无需累加初始矩阵C,核心简化为D = A×B,而累加操作会间接体现在后续激活函数的输入计算中。2. 重要作用 GEMM是大模型的核心,体现在Transformer架构的核心模块(自注意力机制、前馈神经网络)均以GEMM为核心运算,主要源于三大优势:并行度极高:矩阵运算可通过GPU张量核心 这一公式是大模型算力测算公式的底层核心,大模型中的GEMM运算本质是高维矩阵乘法,其运算量直接决定了整体算力需求,后续算力测算的简化与校准均基于此公式展开。 大模型中的高维GEMM运算 大模型中,输入数据、模型参数均以高维张量(矩阵的扩展形式)存在,GEMM运算需适配高维场景。 通过模拟大模型中典型的矩阵维度(1024×4096 与 4096×1024),分别执行100次矩阵乘法并记录耗时。
GPU的片上共享内存有限,完整的大矩阵的运算会导致内存溢出,对矩阵分块应用并行计算是必备的优化方法,那如何对矩阵分块,分块后如何并行计算?了解以上问题可以加深对涉及大量矩阵运算算法的理解。 若矩阵 A 为 1000×1000,Tile Size 选 16(1000÷16=62.5,需补零至 1008)需要注意大矩阵和小Tile 的平衡,当大矩阵时,使用较大 Tile Size(如 32)减少分块数 更多精彩: 历史文章: 显卡知识-算力开挂的GPU 大模型量化-roofline性能分析工具 大模型推理-Flash attention 访问内存优化 大模型推理-page attention 内存分页术 大模型推理-极致化的批处理策略介绍 大模型推理- PD分离部署,势在必行! 大模型推理-高效推理必备KV cache 大模型训练-混合专家系统MoE 大模型训练-Nvidia GPU 互联技术全景图 大模型训练-流水线并行PP 大模型训练-张量并行TP
在前面的文章中我们讲到了回归模型和分类模型的评估指标,区分了准确率和精确率的区别,并且比较了精确率和召回率内在的联系。 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。 其中矩阵的行表示真实值,矩阵的列表示预测值,下面我们先以二分类为例,看下矩阵表现形式,如下: 二分类混淆矩阵 现在我们举个列子,并画出混淆矩阵表,假如宠物店有10只动物,其中6只狗,4只猫,现在有一个分类器将这 10只动物进行分类,分类结果为5只狗,5只猫,那么我们画出分类结果混淆矩阵,并进行分析,如下(我们把狗作为正类): 猫狗分类混淆矩阵 通过混淆矩阵我们可以轻松算的真实值狗的数量(行数量相加)为6=5+ 至此,关于模型评估个各指标已全部介绍完毕,后面的文章我们将开始讲解一些经典算法的推导及使用,喜欢的小伙伴请点击关注!
对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵、KS曲线、ROC曲线、AUC面积等。也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率、覆盖率。 混淆矩阵是用于评价分类模型效果的NxN矩阵,其中N是目标类别的数目。矩阵将实际类别和模型预测类别进行比较,评价模型的预测效果。 对全部样本数据进行统计,可以判断模型预测对了的样本数量和预测错了的样本数量,从而可以衡量模型的预测效果。 二、混淆矩阵有关的三级指标 ? 1 一级指标 以分类模型中最简单的二分类为例。 2 二级指标 对于预测性分类模型,我们希望模型的预测结果越准越好,即混淆矩阵中TP、TN的值越大越好,相应FP、FN的值越小越好。 F1-Score的取值范围(0~1),越接近1说明模型预测效果越好。 三、计算混淆矩阵的实例 ?
导读:在《推荐算法概述》一文中,我们介绍了推荐算法分为基于用户、基于物品、基于模型的协同过滤方法,矩阵分解模型是典型的基于模型的方法之一,本文将从基本概念、原理、实践几个角度进行介绍。 2 原理简述 矩阵分解指将一个大的矩阵转化为两个小矩阵相乘: ? 对应在推荐场景中,大矩阵表示用户对物品的评分,将大矩阵转化为用户矩阵和物品矩阵相乘,小矩阵的维度k解释为隐含的兴趣点,原本缺失的地方通过两个矩阵相乘也得到了取值,该取值就是预测的分数。 ? 模型训练的目标是使输入输出矩阵误差最小,并且为了避免过拟合加入了正则项。应用显示信息和隐式信息的目标函数分别如下: ? ? als.getItemCol()).distinct().limit(3) movieSubSetRecs = model.recommendForItemSubset(movies, 10) 4 优缺点 矩阵分解将大矩阵转化为两个低维矩阵的乘积
模型视图投影矩阵,也就是常说的MVP,有很多的书和资料,参考资料中会列出我推荐的相关资料,会详细介绍推导过程。之所以还要写这一篇,是因为它比较重要,也为了保证‘坐标系与矩阵’系列文章的完整性。 ,我们称为模型矩阵,记为 ? : ? 不难理解, ? 和 ? 在不同场景下都有意义和不同的优势。装饰后我们拍一张家居图,就要选一个合适的角度来拍摄了,所谓的横看成岭侧成峰。 至此,我们介绍了模型视图矩阵,这里,多插一句,就是法线的转换。已知: ? 此时,已知一点 ? ,对应的法线 ? 。该点经过矩阵 ? 转换到新的坐标系下,对应的法线 ? : ? 可见,正交投影符合欧几里得的平行线不相交特性,更符合几何体在空间中的客观存在方式,比如乐高积木;而在透视投影下平行线则会相交,更符合人眼‘近大远小’的特点,比如‘鸽子为什么这么大’。 ? ? 这样,最终的透视投影矩阵以及投影矩阵有两种情况: ? 这样,我们可以得到最终的模型视图投影矩阵,实现将3D空间下的 ? 映射到2D平面: ?
随着深度学习模型规模的不断扩大,模型微调在保持性能的同时面临着计算成本和内存消耗的双重挑战。 SingLoRA作为一种创新的低秩适应方法,通过摒弃传统的双矩阵架构,采用单矩阵对称更新策略,在简化模型结构的同时显著提升了训练稳定性和参数效率。 这种双矩阵设计虽然减少了参数量,但矩阵间的尺度不匹配问题往往导致训练过程不稳定,需要精细的超参数调整。 大语言模型微调实验 在LLaMA-7B模型的MNLI任务评估中,SingLoRA展现出了更为突出的优势: 方法 | 准确率 (%) | 参数量 (百万) -----------|-- 该方法具有以下核心优势:参数效率显著提升,单一矩阵设计减少了参数量和实现复杂度;训练稳定性从设计层面得到保障,无需额外的数值稳定化处理;广泛的模型适用性,在文本和图像模型上均表现出色;良好的扩展性,可与
Model,LFM) 矩阵分解(MF) LSA、pLSA、LDA 基于贝叶斯网络 基于SVM 协同过滤方法分为两大类,一类为上述基于邻域的方法,第二类为基于模型的方法,其中有基于隐语义模型的,而矩阵分解模型是隐语义模型最为成功的一种实现 ,这也使得矩阵分解成为了当时个性化推荐研究领域中的主流模型之一,时至今日仍旧在推荐领域发光发热。 隐语义 矩阵分解的一大特点便是隐语义的学习,这使得该算法能够挖掘出更深的用户和物品之间的联系,为我们提供了User与Item的向量形式。 所以评分预测的最终目的是:得到两个低维矩阵,通过这两个小矩阵的乘积来补全大矩阵中没有评分的位置。 ,这便是该有监督模型的目标函数,具体的目前函数形式如下所示: 其中rui为User-Item矩阵中的原始评分值,pu是用户矩阵,qi是商品矩阵,pu · qi 是代表两个矩阵进行点积,获得其预测的评分值
在人工智能这个充满无限可能的领域内,通用大模型和垂直大模型各有千秋。就我个人而言,在二者之间的选择上,并不存在偏向某一方的倾向。我觉得应当依据实际应用场景的具体需求,来挑选最为契合的大模型。 通用大模型通用大模型,乃是旨在应对多种任务与数据类型的庞然大物级人工智能模型。 在知识覆盖的广度方面,通用大模型无疑具有明显的优势。当我们对于当下所需模型所涉及的精确专业领域的界限感到模糊不清时,选择通用大模型无疑是一种明智之举。垂直大模型接下来谈谈垂直大模型。 然而,由于垂直大模型的训练内容聚焦于当前行业,其涉猎的范围更集中,数据针对性更强,所以在提供专业咨询时往往更加精准、细致,这也正是垂直大模型的独特价值所在。 因此,对于通用大模型或者垂直大模型,更倾向于哪一方不取决于个人想法,而是取决于用户需要。
大模型超越AI 目前所指的大模型,是“大规模深度学习模型”的简称,指具有大量参数和复杂结构的机器学习模型,可以处理大规模的数据和复杂的问题,多应用于自然语言处理、计算机视觉、语音识别等领域。 本文将探讨大模型的概念、训练技术和应用领域,以及与大模型相关的挑战和未来发展方向。 大模型是指具有庞大参数数量的机器学习模型。传统的机器学习模型通常只有几百或几千个参数,而大模型则可能拥有数亿或数十亿个参数。 训练大模型的挑战 训练大模型需要应对一系列挑战,包括: 以下是与大模型相关的一些代码示例: 计算资源需求: import tensorflow as tf # 指定使用GPU进行训练 with tf.device 更智能的模型压缩技术:模型压缩和加速技术将继续发展,以减小大模型的计算和存储开销。 更好的计算平台支持:为了支持训练和部署大模型,计算平台将继续改进,提供更强大的计算资源和工具。
最后引用了作者团队的Benchmark结果,以及说明为何不是直接保存吸收后的大投影矩阵,而是在forward里面重新计算两个矩阵的吸收。 然后,开源社区大佬确实出手很快,在知乎的《如何看待 DeepSeek 发布的 MoE 大模型 DeepSeek-V2?》 我会在下一大节再仔细讨论这个原理。 qk_nope_head_dim + qk_rope_head_dim)] = [1536, 128*(128+64)] = [1536, 24576] # 对应上述公式中的W^UQ和W^QR合并后的大矩阵 最后引用了作者团队的Benchmark结果,以及说明为何不是直接保存吸收后的大投影矩阵,而是在forward里面重新计算两个矩阵的吸收。 0x6.
混合线性模型,有两大重点,一是估算方差组分,二是矩阵求解。 估算方差组分有很多方法,最常用的是基于REML的方法。 矩阵求解有两种方法,直接法和间接法。 这篇文章通过R语言代码的形式,介绍给定方差组分的情况下,如何根据两种矩阵求解的方法分别计算BLUE值和BLUP值。 1. 混合模型矩阵求解 混合线性模型 ? BLUE和BLUP计算公式 ? 2. 2.2 模型介绍 模型介绍 固定因子:Herd 随机因子:Sire 观测值:Yield 2.3 固定因子矩阵X和随机因子Z 固定因子矩阵X X = model.matrix(~Herd-1,data 2.4 V矩阵构建 因为这里没有系谱,关系矩阵为单位矩阵I,这里假定sire的方差组分为0.1, 残差方差组分为1. MME 混合线性方程组求解 V矩阵随着数据量的增大,对其进行求解不现实,而混合线性方程组MME,只需要对A的逆矩阵,大大降低了运算量。 ? ? 5.1 等式左边计算 计算MME方差的左边矩阵 ?