哈喽哈喽,大家好,欢迎来到爱物联实验室。我们之前说过物联网的多种通讯方式,很多人对 lore 和 nb 感兴趣,今天我们来分析一下这两种通讯方式。这两种通讯方式都是低功耗,网与网传输距离比较远,速度与功耗方面是差不多的,速度低功耗也低。 在基站方面,劳尔是自建基站,这个是劳尔基站,这个是劳尔终端, nb 都是要依靠运营商基站,每个 nb 设备都需要物联网卡。 lore 的基站比较贵,但是 lore 中端设备比 n b 中端设备要便宜,在传输点分不少的情况下用 n b 比较划算,在传输点分不较多的情况下用 lore 比较划算。基站的成本就可以分摊到每一个中端,但是具体使用中还要根据实际情况来定, 就像运营商的项目一定要选择 n b 的传输方式,具体原因你懂的,抖音。
粉丝1269获赞2881

先介绍一下你做过的大模型相关的项目吧,我主要做的就是大模型微调在行业问答场景的应用,用的是拉马二 c、 b 通过笼络方法做理论设计,目标是让模型能准确回答某个垂直行业的知识库问题, 其中在设置题上面,问答准确率提升了百分之二十五。那你为什么要选择笼络微调而不是全量微调呢?或者说只冻结域训练层,只训练输出层呢?我这里也整理了一份十一万字大模型高频的面试题,感兴趣的小伙伴可以带回家学习。全量微调的话参数量比较大, 就七 b 模型全量训练对显存和算力要求很高,我们之前团队资源有限,支撑不了,就如果只冻结预训练场和只训练输出场的话, 模型的四倍性就不够,因为预训练的通用知识很难和领域知识有效结合。罗纳它就是冻结预训练模型的权重,指训练插入的低值矩阵,现在插入量就小,训练成本很低,而且训练的时候可以把低质矩阵和原始权重合并,就完全不影响它的推理速度。综合来看就是罗纳在效果、成本 还有度数的友好性上,它是一个最优的选。那罗罗的核心原理是什么?低置矩阵的维度你是怎么样确定的?罗罗的核心是假设,就预训练模型在微调的时候,权重更新矩阵具有那个低值特性。具体的做法就是在全时方码的天行层插入两个低置矩阵 a 和 b, 然后 a 的 维度是低层崖, b 就是 r 乘 d, 其中 r 是 d 次维度,训练时就只更新 a 和 b, 原始权重就保持不变。前向传播的时候输出是原始的推选结果加上 a 乘 p 的 增量,然后 d 指维度 r。 我 们选的就是八,一开始试了 r 等于四八十六,然后 r 等于四的时候效果不够, 模型理论和不好涵养的知识, r 等于十六的时候仓数量增加明显,训练的时间就变长了,但效果提升也不明显,所以最后选择了 r 等于八,在效果和成本之间就取得的比较好一些。 ok, 那 其实你回答的这些问题都是有自己的理解的,包括还有数据的支撑。嗯,很不错。

我们很多甲方啊,一直想不明白,哎,你的串口的内六二模块怎么做到了九块九?那么我们这款就是串口的内六二模块啊,我们采用的百分之百纯国产化的元气件,然后做到这种 二点一 k bps 的 条件下,三公里加的这种通讯距离,那售价也就九块九。同样我们带了屏蔽罩,带了 ipx 接口,然后油票孔,然后各类的 啊 at 指令,然后包括它是通过创口来进行通讯的。那有需求欢迎在我们的购物车里面直接进行购买啊,你们拿到手拆开再自己进行分析留言,获取产品资料。


面试官问 laura 的 原理是什么?你是不是上来就说 laura 就是 冻结原始权重,然后加一个低质分解的旁路,训练的时候只更新这个旁路的参数,让模型学会新的能力。这个回答对不对?对! 但这个回答面试官早就听腻了。面试官真正想考的是,你有没有理解 laura 背后的两个核心问题,第一,为什么把一个小矩阵加到原权重上就能注入新的能力?第二,为什么这个小矩阵可以是低质的? 今天我把这道题拆成三层来讲,听完之后你就知道怎么答才能让面试官真正满意。第一层,先把基础讲准, 全参数微调的时候,我们更新的是整个权重矩阵,算力和显存的资源消耗特别大。罗尔的做法是把维度为 d 乘以 d 的 权重的更新量分解成两个小矩阵的乘积 a 和 b 矩阵维度 d 乘以 r 的 这个 r 远远小于 d, 但是相乘后维度仍然是 d 乘以 d。 训练的时候,原始权重 w 完全冻结,只更新 a 和 b, 资源消耗远小于全参数微调。而且有一个重要的初式化细节, b 矩阵被初化为全零。这意味着训练刚开始的时候更新权重等于零,模型的行为和预训练时完全一致。 新的修正是在训练过程中逐渐学出来的。推理的时候把 b 乘 a 的 结果加回原来的权重矩阵就行了,不增加任何推理开销。那凭什么这个加法就能让模型学会新东西?这就到了第二层,也是最关键的一层。我们先来说清楚这个加法到底在干什么。 你要理解神经网络里的每一个权重矩阵,本质上是一个映射函数,输入一个向量,经过矩阵输出另一个向量。这个向量的方向和大小决定了这一层往下游传递什么信息。 你可以把矩阵想象成一个棱镜,输入信息是光打进来之后,棱镜把它折射到特定的方向,下一层,再接住这束光继续处理。加了 laura 之后,推理时的计算变成了权重矩阵,加上更新矩阵,然后乘以输入。 展开来看就是 w x 加上 delta w 乘以 x。 前半部分 w, x 是 原始模型的输出,后半部分是 laura 旁路产生的一个修正向量。这个修正向量具体在干什么呢? a 矩阵先把输入 x 压缩到一个 r 维的低维空间里,相当于在问这个输入在任务相关的几个关键特征上的响应是什么。然后 b 矩阵把这另一个特征的响应重新映射回原来的高维空间,生成一个修正方向,这个修正方向叠加到原来的输出上,就形成了一个新的输出方向。这里有一个非常关键的几何直觉, delta w 的 指示 r, 这意味着它只能在高维输出空间中的 r 个方向上产生修正。假设输出空间是四千零九十六维的,而 r 等于八,那么 laura 只修改了其中八个方向,剩下四千零八十八个方向上的输出和原来完全一样。 这八个方向不是随便固定的坐标轴,而是必在训练过程中学出来的模型,自己决定该往哪几个方向上做调整。所以 lora 的 修正是高度定向的,它不是漫无目的的改动参数,而是在训练过程中学习到几个最关键的方向,然后精准地在这几个方向上做调整。 你可能会觉得只改八个方向能有多大影响?这就涉及到 transformer 的 层叠结构了,每一层的输出是下一层的输入,你在某一层的八个方向上做了偏移,这个偏移传到下一层之后,经过非限性激活和注意力计算,它的影响会扩散到更多的方向上。经过几十层的传递,最初几个方向上的小偏移可以显著改变模型最终的输出行为。 就像一条河在上游被轻轻推了一下,经过层层弯道之后,到下游已经走向了不同的方向。同时,因为每一层的 lora 都只修改少数几个方向,绝大部分的表征空间没有被干扰。 这就是为什么 lora 微调后的模型相比全三微调更不容易出现灾难性遗忘。注意原因,不是原始权重没被动过这么简单。 推理时用的就是 w 加 delta w 权重确实变了。真正的原因是低质约束限制了修改的范围,让变化只集中在一个低维子空间里,大部分原始能力自然就保留了。而且在工程上,你随时可以把 delta w 摘掉,百分之百恢复原始模型,这是全餐微调做不到的。 好理解了加法为什么能注入新能力?之后,面试官会追问第二个问题,为什么 delta w 可以 是低质的?你只用质为八的矩阵就能达到接近全餐微调的效果? 凭什么?答案在于一个叫做内在维度的概念,英文叫 intrinsic dimensionality。 虽然大模型的参数空间有几十亿维,但在微调的时候,真正起作用的参数变化方向只集中在一个非常低维的子空间里。为什么会这样?因为预训练阶段模型已经在海量数据上学到了非常好的通用表征。 当你微调去适配一个具体任务的时候,不需要重建整个表征空间,只需要在几个关键方向上做调整就够了。就像你已经有了一张画的很好的世界地图,现在只需要在某个区域加几个标注,而不是重新画一整张地图。二零二零年有一篇论文专门验证了这个现象,发现很多下游任务微调的内在维度只有几百甚至几十。 也就是说,全餐微调时,绝大部分参数更新是涌现的,真正有效的更新集中在一个极低维的子空间里。 laura 就是 在利用这个性质, a 矩阵负责找到那几个关键方向, b 矩阵负责把这些方向上的调整映射回完整的参数空间质位 r 就 意味着你认为任务适配只需要 r 个方向就够了。 所以低质分解不是无奈的妥协。它之所以有效,恰恰是因为微调这件事本身就具有低质的数学性质。理解了这两层本质之后,就到了第三层实操判断。 面试官会问你, rank 到底怎么选?很多人觉得越大越好,不过是精度和效率的权衡嘛。但实际情况是, rank 过大的时候,你引入了太多可训练参数,在数据量不够大的情况下,反而容易过你核。 而且 rank 超过一定预值之后,效果提升非常小,因为你已经覆盖了内在维度的主要方向,多出来的维度捕获的都是噪声。实际选择上,简单任务,比如情感分类、意图识别 rank 取四到八就够了。 复杂任务,比如多领域指令微调,或者全新输出格式的学习,可以上到十六甚至三十二,超过六十四基本不会有明显收益。如果六十四还不够,说明你的任务可能已经不适合 laura 了,该考虑全餐微调。还有一个进阶问题, laura 应该加在哪些层?原始论文的结论是,加在注意力层的 q 和 v 投影上效果最好。 但后来大量工程实践发现,把 laura 加在所有限性层上,包括 k 投影、输出投影以及 ffm 里的上下投影,整体效果往往更好。 代价就是可训练参数量多几倍,需要根据显存预算取舍。最后总结一下这道题的回答框架。第一步讲机制冻结原始权重,用两个低质矩阵的乘积捕获参数更新量 b 出使化为零,保证训练起点和预训练一致,推理时合并回原权重,没有额外开销。第二步讲加法为什么有效。每个权重矩阵是一个硬设函数, laura 的 修正向量在少数几个方向上改变每一层的输出,这种改变通过层叠结构逐层传递放大,最终显著改变模型行为。 同时低质约束保证大部分原始表征空间不受干扰,所以抗遗忘能力远强于全餐微调。第三步讲低质为什么成立?微调的内在维度很低,预训练已经学好了,通用表征任务适配只需要在低维子空间里调整。 第四步,展示你的实操经验。 rank 怎么选?加在哪些层?什么场景用 lora, 什么场景该上全餐微调达到第四步,面试官就知道你不是被论文来的,而是真正理解了 lora 的 设计逻辑,并且在实际项目里用过思考过。

那其实我卖罗尔模块也卖了十年了啊,那在这个十年过程中,那最常见的问题就是,哎,你的这个罗尔模块怎么在我的条件下,一测试是三百米,是五百米,是七百米,对吧?那这种距离跟很多因素有关系,那首当其冲的是环境啊。那再次是这个 模块的性能,对吧?就发射功率,接受灵敏度,杂散,然后还有这个天线,呃,天线的增益, 还有一个就是我用的视频参数啊,在不同的视频参数条件下表现不一样,这是一款 spi 的, 那跟甲方 自己做的软件还有一定的关系,那刚好我们有个客户在问,这两天在问,而我测了只有三百米啊,或者我在空旷条件下测了只有七百米,那我问他要了他的具体参数, s f 九 b w 五百,然后胶棒天线四七零和四三三还有差异,对吧?那 我这样一看,其实也不正常,这个距离我估计能通过一公里或者或者两公里左右,都算比较正常的,那我们就协助他来排查,对吧?那我近距离的时候打印一下 r s s i 吧,看一下他到底是不是正常。那近距离一看是负十四, 那这是正常的。那距离拉远了过后就比他拉到七百米,拉到八百米过后,那低于这个信号,低于这个负一百过后他就不打印了,那主要的问题点在这,对吧?同样我们这款 二五五 l 零三系列的模组提供了这种拉锯的固件,提供了这种底板,然后提供了天线,所以它的售价 九块九啊,你可以拿到手过后把它接到 mcu 上,拿我的固件刷到你的 mcu 里面,然后直接来词句,很好定位,一键三连,私信获取产品资料手册。


大家好,我是杰森 lara, 这个技术其实我很早就用过,最早在疫情期间拿它来做电表的采集,当时成本很低,几十块钱就能搞上套,用的是最简单的吐出来方式,刚开始觉得很香,但真正用起来之后,体验可以说是相当的一般。在一个大于两千平的工厂车间, 数据经常传输,断断续续丢包是常态,有时候甚至完全收不到数据。尤其是在天气不好的时候,比如起雾或者暴雨,通讯的质量会明显下降,严重的直接失联。后来在一个鱼塘的互联网项目中,我又用了一次罗尔,换了另一家的大功率模块, 本来以为会改善,但结果基本一样,甚至更糟。鱼塘的环境湿度比较大,水面蒸发形成水雾,只要雾气一上来,通讯就开始不稳定。更夸张的是, 在进行工作的时候,溅起的水花居然也会对信号造成明显的影响,甚至会导致数据中断,后来复牌。其实不是模块的问题,而是技术本身的局限,偶尔的频段理论上传出距离很远,功耗很低,但是他对环境非常敏感, 尤其是水汽、雾雨、高湿的环境,这些都会对信号产生明显的吸收和衰减。在叠加工业的环境中,金属结构、设备反射等因素很容易出现多种干扰 和信号衰减,导致通信质量大幅下降。那么 loran 到底适合什么场景?比如一些空旷的干燥,干扰比较少,环境表现还是不错的,比如在西北地区林场、农田或者草原。

没用的知识天天讲,今天讲一下 wifi d 六 b, 蓝牙、 lara 还有 n d 这些东西呢?呃, wifi 啊,蓝牙 d 六 b 这种属于长链接。什么叫长链接?就是说只要我入到网入网里进行通讯啊, 不管我进行有效数据通讯还是进还是不通讯,我都要一直跟这个我的服务端或者是网外端进行保持链接,一直占用着这个通讯的这个新到资源,这个就叫长链接。 而像这个 lora 呀,或者是 nba, 它实际上就属于这种不需要长连接的,也就是说我要发送数据了,我就直接发出去了,我不管你,你这个网管服务在不在,属于广播式的 啊,不会占用这个网络资源。另外一点就是大家在用这个 lora, 这个 bnb 或者是蓝牙这些其实不要害怕啊,这个实际上大家都是一样的水,这个官方给的资源基本你在网都是有的, 在开发的过程中大家都是不断的去修复他的 bug 就 行,至于怎么保持链接,怎么建立链接,这基本上代码都是 ok 的, 不必慌。

特斯拉 fsd v 十四要入华了嘛?也是趁这个时候来聊了一些跟智驾相关的话题,我先抛出四个你一定听过但很少有人讲透的问题,为什么华为的 ads 四点零到四点一, 特斯拉的 fsd v 十四点二点五点五升级到 v 十四点三, 网上都说能力提升非常巨大,但是版本号却只动了一点点。第二问题,为什么都说端到端模型的前期开发成本极高,后续的维护成本极低? 第三个问题是为什么后发厂商会很快的追上头部,比如说像小米,像领跑,业界都预测他们会很快接近甚至达到头部厂商的能力,技术的差距可能从几年缩短到只有几个月甚至更低。 第四个是为什么以前很难做的驾驶风格的选项,大模型时代可以随便做?这四个问题 并不是因为端到端技术本身有多神奇,而是大模型普及之后,有一项关键技术极大的提升了这种模型的可用性跟动态改变的能力。 那就是我这一次要说的 rola 模型。比如说现在特斯拉 fsd v 十四正式入华,在中国落地,适配中国驾驶者的驾驶风格,中国的道路情况、中国的交通规则,很快的事情背后,其实也都是有 rola 模型这套 工作方式跟逻辑在支撑。那我在讲罗亚之前,先讲讲大模型的一个基本的架构,比如说一个神经网络有一些技术参数,我们说维度啊、层数啊,神经网络本身就是一堆矩阵,维度就是每一层矩 阵从前往后延伸,每一层的计算,其实就是矩阵在做一些变换, 比如说我们举个简单的例子吧,认识一条狗,在低维的部分,把这个狗的图像分割成一小块,让模型的低维去识别这些块 终点文字的输出。这个东西是条狗中间的过程,我们就可以通过训练把输入跟输出对应起来,在中间的不同的层就会通过学习自己形成一些权重参数,这个就是一个 ai 输入的过程,输出的过程就是我们输入一条狗,在高维的只是一个字, 然后通过网络传到那边,就变成了一个狗的图像,但这个跟实际的工作可能稍微有点区别,让大家大概理解一下。基于这一点,我们就可以在高维稍微改变一下网络的内容传递到低维的时候, 输出的内容会有极大的改变。这个其实就是包括 rola, 包括 in bedding 这种改变大模型能力的小模型的基本逻辑。 rola 的 全称是 low rank adaptation 低智适配模型这个东西其实是微软开发出来的一个框架, 它的核心逻辑就是说不动主干的大模型,只增加一个非常小的旁路适配器,在推理的时候 就有一部分的权重就会从罗拉模型走,就极大的改变了模型本身的工作状况和能力。也是举一个 ai 绘图的例子,比如说模型本身不会画特定的一个角色,我们通过训练一个罗拉模型之后,在大模型上加载这个很小的罗拉模型, 就可以让模型具备画特定角色的能力。这个就是罗拉模型能干的用在支架上,比如说这个支架模型可能原来在某个 特定的场景比较弱,通过罗拉模型我们就可以快速提升大模型在这种场景下的能力。刚才讲的比较 概念跟枯燥,下面我就结合一个实际的案例吧,跟大家讲讲如果你是一个 ai 工程师,然后你怎么利用罗拉模型来解决现实中存在的问题。 我会结合特斯拉在二零二二 ai 队上公布的工程路径,带大家完整的走一遍流程。 前阵子我看一个一些评测,看到天生之眼 b 五点零的测试,有的博主提到他在一些博弈的场景会很弱,比如说右转之后汇入车流啊,从这个停车位出发,加塞环岛无保护, 左转这种博弈场景基本上很保守,只会倾向又让通行效率比较低。我们要怎么解决问题?第一步我们先训练一个小的模型,专门用来识别我们车上的这样模型,在哪里犹豫了,哪里不敢决策, 就是一个困难场景的评估模型,同时他还负责抓取这些场景。第二步就是我们把模型推送到有医院参加测试的这些 用户的车端嘛,遇到困难场景它就会自动的记录,自动的回传,可能也会提示车主,比如说这个时候需要你的帮助啊,你要接管一下,给 ai 做个示范这种。第三步就是利用回传过来的数据,训练一个小的鲁亚模型, 这个鲁亚模型的功能其实就是让模型在博弈的时候会更加主动啊,更加积极的去进行博弈, 因为他模仿的都是现实的场景,驾驶者会做出的决断,所以也是比较拟人的,不会出现人工智能瞎弄,特别具有攻击性这种情况。那第四步就是把大模型推送到车段,因为大模型体积很小,尤其是我们设置的层数比较小的,只有几十兆,几秒钟就下完了, 在车上加载的时候也是可以热加载的,不需要对车上进行重启什么的,实时推送可以实时生效。当然实际当中肯定也没有这么简单,因为我们前面也提到了,这个只是针对 参加测试的小部分车辆,在进行正式版本的推送之前,肯定要经过更多的测试,尤其安全性方面的测试才可以啊。到正式推送的阶段,其实我们还可以给多拉加一个权重的滑块, 生效的百分比多少?比如说百分之百会非常积极主动的去博弈,追求最高的通行效率,权重调到最低就大模型原来本身的能力比较保守,比较礼让,比较安全, 中间我们可以设一个百分之二十五,百分之七十五,会根据百分比会出现不同的积极程度。这个词就是我们在很多车上看到的并道策略,可以有一二三四档可以选 这么来的。那我们再回到一开始的四个问题,其实答案刚才的介绍里面都已经呼之欲出了,比如说为什么前期的成本高,后续的维护成本低, 前期需要训练一个大的底座,模型是从零开始训练的,如果要追求全站字眼,各种各样的造轮子训练技术,模型的成本可能就是数以百万美元计的。如果是要 自建算仪中心的话,那投入更是海了去了,可能几千万美元起步啊,但是后期制作模型训练出来之后,可以很长时间都不动, 只是通过蒸馏把它放车端,放车端之后,再通过训练罗拉模型差不多打补丁的方式改变或者说修正或者提升车端模型的能力 就可以了。只用一两个 rola 是 不太会影响系统的效能啊,等 rola 用多了也不行。所以这种补丁积累到一定程度之后,我们再重新训练一个包含 rola 的 模型,再完整地推送到 车上,这个就是一个比较大版本的更新。第二问题是,为什么自家的能力暴涨,但版本号只有一点点提升?其实就是因为底层的大模型是没有变的,只是小模型变了,为什么后发厂商能快速追上?两三年前拼的是代码库,拼的是哪家的工程师在背后没日没来干,那现在首先主干大模型, 只要愿意花钱的,都很容易能达到一定的基础能力,这个基础能力在模型时代是很容易通过蒸馏其他一些模型来获得的。 具备了基础的比较可靠的驾驶能力之后,他的风格或者拟人化这些东西通过微调都是很容易实现的。 那这些场景的短板可以很快的通过洛拉来补齐跟先发厂商的差距,可能几个月就可以补上几年的差距,这个就是后发优势的底层逻辑,因为后发的厂商不需要再去进行路线范式的探索了,摸着先行者过河就行了。 第四点,为什么驾驶风格忽然变得很好做?我们其实在前面就已经完整的介绍了这一套工程落地的流程。