首页 文章 精选 留言 我的

精选列表

搜索[模力方舟],共10002篇文章
优秀的个人博客,低调大师

阿里达摩院开源具身大脑基模 RynnBrain

阿里巴巴达摩院发布具身智能大脑基础模型 RynnBrain,并一次性开源了包括30B MoE在内的7个全系列模型。同时还开源了全新评测基准 RynnBrain-Bench,用于评测时空细粒度具身任务。 根据介绍,RynnBrain 模型引入了机器人与环境互动所需的两项基本能力:时空记忆和物理世界推理。其中,时空记忆能力可让机器人在其完整的历史记忆中定位物体、目标区域,甚至预测运动轨迹,从而赋予机器人全局时空回溯能力。 物理空间推理不同于传统的纯文本推理范式,RynnBrain 采用文本与空间定位交错进行的推理策略,确保其推理过程紧密扎根于物理环境,大大减弱了幻觉问题。举例来说,运行RynnBrain模型的机器人,在执行A任务中被突然打断要求先做B任务,它能记住A任务的时间和空间状态,等完成B后继续工作。 RynnBrain在Qwen3-VL基础上训练,使用自研的RynnScale架构进行训练优化,同等资源加速两倍,训练数据超过2000万对。结果显示,RynnBrain能力全面,性能领先,在16项具身开源评测榜单上刷新纪录(SOTA),包括环境感知与对象推理、第一人称视觉问答、空间推理、轨迹预测等,超越了谷歌Gemini Robotics ER 1.5、英伟达 Cosmos Reason 2等具身顶尖模型。 RynnBrain还拥有良好的可拓展性,能够快速后训练出导航、规划、动作等多种具身模型,有望成为具身行业的基础模型。以具身规划模型为例,其需要强大预测能力和场景解析能力,但基于RynnBrain为基础,只需几百条数据微调,效果就能超越Gemini 3 Pro,轻松实现SOTA。

优秀的个人博客,低调大师

 一文走进多核架构下的内存模

一、走进多核编程 CPU 发展早期阶段,性能的提升主要来自于主频的提升和架构的优化,当这条优化途径出现瓶颈后,多核 CPU 开始流行起来。多核心同时执行任务极大地提高了系统整体性能,但也对硬件架构和软件编写提出了更大的挑战。各个核心都有自己的 Cache,以及不同层级的 Cache,彼此共享内存。一个典型的多核 CUP 架构如下图所示: 利用多核心的优势在各个核之间互相配合完成任务,如何进行各个核心间的数据同步(各个核心所属 L1 Cache/L2 Cache 数据的同步)是问题的关键所在。虽然发展出多种数据同步方式,以及流水线乱序执行的模式,但数据在各个核之间的一致性和可见性并不是那么理想;再加上编译器也会做优化,最终导致各个核的指令执行顺序和各个变量值的可见性变得不确定。 这种现象可以通称为重排,即原本应该有全序的内存读写操作被打乱。不过无论产生什么样的重排,都会保证对于单线程内部的执行结果不会有任何区别。下面是一个简单例子: 1.//Thread1 2.//readywasinitializedtofalse 3.p.init(); 4.ready=true; 1.//thread2 2.if(ready){ 3.p.bar(); 4.} 对于 Thread 1 内部,p 和 ready 没有关联,完全可以被重排而不影响正确性,而 Thread 2 依赖 ready 做标识位,一旦重排,Thread 2 在看到 ready 为 true 的时候 p 都可能没有 init,显然这是有问题的。 二、多核编程中临界区保护 利用多线程做并发的任务中通常都会有公共的临界区,比如最常用的一种数据结构:并发队列,生产者和消费者需要访问队列的公共内存进行写入和读取。目前对于临界区的保护方式通常可以分为三个级别:互斥、Lock-free 和 Wait-free。 1、互斥 互斥,顾名思义每个线程访问临界区之前都需要获得互斥锁,如果被别的线程占用了就阻塞等待。当进入临界区的线程发生阻塞,或被操作系统换出时,会出现全局阻塞,因为获得锁的线程被换出无法执行操作,而未获得锁的线程也只能一同等待,出现了阻塞传播。如果另一个线程先进入临界区,有可能反而可以更快的顺利完成。因为存在全局阻塞的可能性,采用互斥技术进行临界区保护的算法有着最低的阻塞容忍能力。 2、Lock-free Lock-free 允许单个线程阻塞,但是会保证系统整体层面上的吞吐。如果当程序线程运行足够长时间的情况下,至少有一个线程取得了进展,那么就可以说这个算法是 Lock-free 的。如果一个线程被挂起,那么 Lock-free 算法保证剩余的线程仍然可以进行。 使用锁的代码一定不是 Lock-free 的,因为一个线程加锁后如果被系统切出去了,其他所有线程都处于等待中。但是没用锁也不一定是 Lock-free,因为普通的代码逻辑也可能会导致一个线程夯住另一个线程。锁之所以在高并发的时候表现很差,主要原因是加锁的线程会夯住其他等待加锁的线程,Lock-free 可以很好地解决这一问题。 在实现上一般先假设临界区不存在竞争,各个线程直接开始在临界区的执行,执行过程中通过良好的程序设计,让这段预先的执行是无冲突并且是可回滚的。最终有一个需要同步的提交操作,一般基于原子变量 CAS 操作,或者版本校验等机制完成。在提交阶段如果发生冲突,那么被仲裁为失败的各方需要对临界区预执行进行回滚,并重新发起一轮尝试。 注意,并不是说 Lock-free 的算法就一定比加锁的算法好,Lock-free 需要处理更多更复杂的 race condition 移机 ABA 等问题,编写出合理的 Lock-free 代码也需要更深厚的技术功底,需要对底层有更多地了解,完成相同目的的代码会比用锁更复杂,执行时间可能更长,代码也更难理解。 很多场景下合理地使用锁就能很好的胜任,Lock-free 和锁之间在应用场景上更多的是一种互补的关系。Lock-free 算法的价值在于其保证了一个或所有线程始终在做有用的事,而不是绝对的高性能。但 Lock-free 相较于锁在并发度高(竞争激烈导致上下文切换开销变得突出)的某些场景下会有很大的性能优势,比如实现一个多线程的 Lock-free queue。总的来说,在多核环境下,Lock-free 是很有意义的。 3、Wait-free Lock-free 技术主要解决了临界区内的阻塞传播问题,但是本质上,依然是多个线程排队顺序经过临界区。而 Wait-free 和 Lock-free 的主要区别也就体现在系统吞吐上。在无全局停顿的基础上,Wait-free 进一步保障了执行任意算法的线程,都应该在有限的步骤内完成。不只是整体算法时时刻刻都存在有效计算,每个线程依然是需要持续进行有效的计算。这就要求多线程在临界区内不能被细粒度地串行起来,而必须是同时都能进行有效计算。虽然理论角度存在不少有 Wait-free 的算法,但大多并不具备工业使用的价值。 4、相关技术 Lock-free 和 Wait-free 编程中最重要的两个相关技术就是原子操作和控制 Memory Order。 CPU 保证没有线程能观察到原子操作的中间态,也就是说一个原子操作对于所有的线程来说要么做了要么没做。原子操作主要包括赋值原子操作、Read-Modify-Write(比如C++ 11里的fetch_add)、Compare-And-Swap(比如 C++ 11 里的 Compare_exchange_strong)等操作。原子操作保证了各线程在进行共享内存的存取的时候能读到完整的值。 Memory Order 即内存排序,指 CPU 访问主存的顺序。可以是编译器在编译时产生,也可以是 CPU 在运行时产生。为了充分利用不用内存的总线带宽,现代处理器大多是乱序执行的。无锁算法没有显式的锁,将会直接观察到这些和代码顺序不一致的重排,C++ 11 引入的 MemoryOrder给使用者提供了一种跨平台的通用方法来限制上述两种重排。 三、Memory Order Memory Model 内存模型,定义了特定处理器上或者工具链上的重排情况。某个处理器或者工具链对代码的重排会严格遵循对应的 MemoryModel。这里讨论的重排只是针对单个线程内部在单个核内的指令的执行顺序问题。可以理解为指定 Memory order,就是通过限制重排来保证共享数据的可见性和正确同步。 1、Reorder 类型和 MemoryOrder的强弱 对内存的操作可以概括为读和写,可以表示为 Load 和 store 操作,因此 Reorder 也就可以整体上分为以下四种类型: Load-load reorder:两个读操作之间重排; Load-store reorder:原来在写操作之前的读操作重排到之后; Store-load reorder:原来在读操作之前的写操作重排到之后; Store-store reorder:两个写操作之间重排。 MemoryModel既有软件层面的 Software Memory Model,又有硬件平台的 Hardware Memory Model,下图中是几种 CPU 架构下的 Hardware Memory Model。 DEC Alpha 架构下,上述四种 Reorder 都有可能发生,只保证不改变单线程内部的执行正确性。 ARM 架构下的 CPU 也允许四种 Reorder 的发生,额外保证了数据依赖顺序。 X86/X64 平台属于强 MemoryModel的范畴,只可能发生 Store-load reorder。 C++11 中原子操作的内存序属于 Software Memory Model 的范畴,在软件层面进行相关限制,让 CPU 实现相应操作的效果。 2、Compiler Barrier 与 Runtime Memory Barrier 无论是哪种 MemoryModel中涉及的重排,都是指的在没有其他限制的情况。为了能够保证程序的正确性,CPU 和编译器(语言)的设计者都预留了手方法来改变这些重排,这类方法可以抽象成一个统一的概念 Barrier:屏障。需要使用者用代码来限制编译阶段和运行阶段的重排,因此可以分为 Compiler Barrier 和 Runtime Memory Barrier。 Compiler Barrier,编译器层面的屏障,可以防止编译器在将源码转换成机器码的过程中重排。简单的例子如下: inta,b;intmain(){ a=b+1;//asmvolatile("":::"memory");b=0;return0;} 对于以上代码,使用 gcc 4.9.4 整体不开启优化进行编译,得到汇编代码如下: $ gcc -S main.cpp $ cat main.s ...movl_b(%rip),%eaxaddl$1,%eaxmovl%eax,_a(%rip)movl$0,_b(%rip)movl$0,%eaxpopq%rbp... 同样使用 gcc 4.9.4 整体开启优化进行编译,得到汇编代码如下: $gcc–O2-Smain.cpp$catmain.s...movl_b(%rip),%eaxmovl$0,_b(%rip)addl$1,%eaxmovl%eax,_a(%rip)xorl%eax,%eax... 如果想要整体开启优化,但是对于部分代码不想要重排,那么就可以使用 Compiler Barrier,在 gcc 里,asm volatile("" ::: “memory”)就是这么一个 Compiler Barrier。在使用 Compiler Barrier 后,使用使用 gcc 4.9.4 整体开启优化进行编译,得到汇编代码如下: $gcc-O2-Smain.cpp$catmain.s...movl_b(%rip),%eaxaddl$1,%eaxmovl%eax,_a(%rip)movl$0,_b(%rip)xorl%eax,%eax... 可以看到和未开启编译优化时的结果保持一致。 Compiler Barrier 只能保证编译阶段不重排。在多核系统里,光做到这一点还不够,因为它没法对 CPU 核心运行时的重排做出限制。因此,在多核编程中,通常需要同时对编译重排和运行时重排做出限制,需要使用到 Runtime Memory Barrier。 后续的技术博客会继续深入介绍 C++ 11 中的 MemoryOrder,敬请期待。

优秀的个人博客,低调大师

微软推出多模协作智能体 Critique,让 GPT 与 Claude 联手干活

微软为Microsoft 365 Copilot的Researcher产品发布了新功能Critique,可让GPT与Claude协作完成研究任务。在这一创新机制下,GPT负责生成初稿,Claude则按照学术标准核查准确性、完整性等指标,未来还将支持双向互审。这一多模型协作模式标志着AI助手从单一模型向多智能体协同的重要转变。 与此同时,微软还推出了多模型"理事会"机制。在该机制下,多个模型独立进行研究后,由裁判模型对比评估成果。DRACO测试显示,这种协作效果优于单一模型,可有效减少AI幻觉、提升内容质量。这一技术突破对于需要高可靠性输出的企业级应用场景具有重要意义。 此前,微软已引入Copilot Cowork智能体,并与英伟达、Anthropic深化合作,还向其投资,展现AI领域多方合作的战略布局。微软的这一系列动作表明,未来的AI竞争不再是单一模型的较量,而是生态系统之间的博弈。 业内分析认为,多模型协作模式将成为AI发展的重要趋势。不同模型各有所长,GPT在生成能力上表现突出,Claude在安全性和准确性方面更具优势,通过协作可以取长补短,提供更优质的服务。这种模式也为企业用户提供了更多选择,可以根据具体需求灵活配置AI能力。 值得注意的是,微软此次推出的Critique功能特别针对研究场景进行优化,这意味着AI助手正在从通用型工具向专业化方向演进。未来,我们可能会看到更多针对特定行业、特定任务的专用AI代理出现。

优秀的个人博客,低调大师

阿里推出长上下文推理模 QwenLong-L1-32B

阿里巴巴已于近日发布全新 AI 模型 QwenLong-L1-32B,一款基于强化学习(RL)优化的长上下文推理模型。 根据介绍,QwenLong-L1-32B 的最大亮点在于其惊人的13万个 Token 上下文长度。这一能力使其能够处理超大规模的文本输入,轻松应对复杂、多层次的信息整合任务。相比传统模型,QwenLong-L1-32B 在长上下文处理上实现了从短上下文到长上下文推理能力的无缝迁移,展现了强大的泛化能力。 在七项长上下文问答(DocQA)基准测试中,QwenLong-L1-32B 展现了非凡的实力。其性能不仅超越了 OpenAI 的 o3-mini 模型和阿里巴巴自家的 Qwen3-235B-A22B,甚至接近了 Claude-3.7-Sonnet-Thinking 的水平。这一成绩彰显了阿里巴巴在长上下文推理领域的深厚技术积累。 QwenLong-L1-32B 专为处理高复杂度任务设计,适用于以下场景: 多段文档综合分析:能够高效整合多篇文档的信息,提取关键点并进行深入分析。 跨文档跳跃推理:在多个文档间进行逻辑推理,快速捕捉关联信息。 金融、法律与科研场景:为需要高精度推理的复杂领域提供强大支持,例如合同分析、财务报表解读和学术研究。 QwenLong-L1-32B 基于强化学习(RL)技术进行优化,通过先进的算法设计,成功实现了从短上下文到长上下文的推理能力迁移。这种创新方法不仅提升了模型的性能,还为其在多样化场景中的应用奠定了坚实基础。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册