• [技术干货] 马尔可夫任务示例
    马尔可夫任务示例一、自然语言处理 (NLP) 中的文本生成任务描述:基于一个给定的文本语料库,自动生成一段语法通顺、主题相关的新文本。马尔可夫特性体现:状态定义: 将文本中的词语(或n-gram词组)作为系统的状态。无记忆性应用: 模型只关心“当前词”是什么,然后根据语料库中统计的概率来预测下一个最可能出现的词。它并不需要记住“上上个词”是什么。转移机制: 通过构建一个状态转移矩阵来存储从一个词转移到另一个词的概率。例如,在莎士比亚作品的语料库中,模型会学习到“To be”后面最可能跟“or”,而不是随机跟任何词。实现方式:使用n-gram马尔可夫模型,通过分析大量文本来学习词语之间的转移概率,从而生成新的文本序列。二、金融领域的市场状态预测任务描述:预测股票市场未来一段时间内的走势,例如判断明天是上涨、下跌还是震荡。马尔可夫特性体现:状态定义: 将市场划分为几个离散的状态,如“牛市”、“熊市”和“震荡市”。无记忆性应用: 预测未来的市场状态,主要依据当前所处的市场状态(如当前是“牛市”)以及历史上从“牛市”转移到其他状态的概率。它不直接依赖于过去一年的详细价格走势。转移机制: 利用历史数据计算一个状态转移概率矩阵,该矩阵描述了从一个市场状态转移到另一个状态的可能性。实现方式:采用马尔可夫切换模型(Markov Switching Model),将宏观经济状态视为不可观测的隐马尔可夫过程,以此来分析和预测资产回报的波动性。三、工业物联网 (IIoT) 中的设备故障预测任务描述:通过分析传感器数据,预测工业设备(如发动机、轴承)未来是否会发生故障。马尔可夫特性体现:状态定义: 将设备的健康状况定义为几个状态,如“正常运行”、“轻微磨损”、“严重故障”。无记忆性应用: 预测模型基于设备当前的状态(如“轻微磨损”)和该状态下的故障率,来评估未来进入“严重故障”状态的风险。它不需要回溯设备过去每一小时的具体运行参数。转移机制: 建立一个健康状态转移模型,其中每个状态都有一个与之相关的故障率,用于计算在单位时间内转移到故障状态的概率。实现方式:使用半马尔可夫过程(Semi-Markov Process),该模型不仅考虑状态间的转移,还显式地建模了在每个状态下的驻留时间分布,这对于故障预测非常关键。四、游戏AI的决策与行为模拟任务描述:为游戏中的非玩家角色(NPC)设计智能的、动态的行为模式。马尔可夫特性体现:状态定义: 将游戏中的关键信息,如“玩家与NPC的距离”、“玩家是否在攻击”等,组合成NPC的当前状态。无记忆性应用: NPC的决策逻辑完全基于当前感知到的状态。例如,如果当前状态是“玩家在10米外且未攻击”,NPC可能会选择“巡逻”;如果状态变为“玩家在5米内且正在攻击”,NPC则立即切换到“战斗”状态。它不会因为玩家10分钟前曾路过而改变当前的巡逻路线。转移机制: 通过状态转移表或决策树,定义在不同当前状态下应该采取的行动及其概率。实现方式:使用有限状态机(FSM),这是一种特殊的马尔可夫过程。每个状态代表一个行为模式,状态之间的转换由当前的条件触发。
  • [技术干货] 非马尔可夫行为如何识别?
    非马尔可夫行为如何识别?识别非马尔可夫行为需要检测系统状态转移是否违反“无记忆性”这一核心特征(即未来状态仅依赖当前状态,与历史路径无关)。以下是系统化的识别方法及实际案例:一、理论特征识别法路径依赖性检验统计验证:计算条件概率 ( P(S_{t+1} | S_t) ) 与 ( P(S_{t+1} | S_t, S_{t-1}, …, S_0) ) 的差异。若两者显著不同(如KL散度>0.3),则存在历史依赖。案例:金融时间序列分析中,股价波动若受前3日波动叠加影响(如GARCH模型),则拒绝马尔可夫假设。转移概率矩阵失效构建状态转移矩阵后,若实际观测频次与矩阵预测偏差持续超过阈值(如15%),表明系统动态受隐藏变量或历史状态干扰。工业案例:西门子燃气轮机传感器数据显示,特定故障模式(如轴承磨损)需结合前5小时振动频谱才能准确预测,突破单状态模型限制。二、数据驱动检测技术长程相关性分析计算状态序列的自相关函数(ACF):若滞后k阶自相关系数未指数衰减(如滞后10步仍>0.2),提示长期记忆效应。工具:Hurst指数(H>0.5表示持续性,如交通流预测中拥堵状态的持续传播)。机器学习判别模型特征工程:将历史状态窗口(( S_{t-n} \sim S_t ))作为输入特征训练分类器(如LSTM、Transformer),若预测效果显著优于仅用( S_t )的马尔可夫模型(F1分数提升>20%),则存在非马尔可夫性。医疗应用:在癌症进展预测中,加入患者前3次治疗记录可使模型AUC从0.78提升至0.92。三、领域特异性识别标志1. 复杂系统控制工业设备维护:当设备故障率随连续工作时长非线性上升(如指数增长),需用半马尔可夫模型替代。机器人路径规划:若障碍物分布动态变化且具有时空关联性(如人群移动模式),传统MDP策略失效。2. 金融与经济信用评级迁移:企业评级下调概率若受前次下调时间影响(如“降级后保护期”效应),穆迪模型需引入时间协变量。市场波动聚集:股价大幅波动后常伴随后续波动(波动率聚类),需使用ARCH/GARCH等非马尔可夫模型。3. 人工智能与游戏NPC行为异常:当游戏角色行为模式依赖玩家历史交互(如“曾被攻击后持续躲避”),需扩展状态空间。强化学习失败:在部分可观测环境(POMDP)中,智能体因无法获取历史信息而性能骤降,暴露环境非马尔可夫本质。四、解决方案与模型升级状态空间扩展将关键历史状态编码为当前状态维度(如定义 ( S_t’ = (S_t, S_{t-1}) )),但需警惕维度爆炸问题。切换高级模型隐半马尔可夫模型(HSMM):显式建模状态驻留时间分布,适用于故障预测。记忆增强网络:LSTM或神经图灵机自动学习历史依赖,广泛用于语音识别与医疗时序分析。
  • [技术干货] 马尔可夫链有哪些应用场景?
    马尔可夫链有哪些应用场景?马尔可夫链的核心特性是“无记忆性”——未来状态仅取决于当前状态,这一特性使其在需要建模状态转移规律的场景中广泛应用。以下是典型应用场景的分类解析:一、自然语言处理(NLP)文本生成与预测基于n-gram马尔可夫模型,通过分析语料库中词语转移概率(如“中国→北京” vs “中国→上海”的概率差异),生成连贯文本或预测输入法候选词。技术实现:状态空间为词序列窗口(如3-gram),转移矩阵存储词频统计结果。语音识别隐马尔可夫模型(HMM)建模音素序列到单词的转移过程,例如通过声学特征(MFCC)推断最可能的发音序列。二、金融与经济预测市场状态分析将股票市场划分为牛市、熊市、震荡市等离散状态,通过历史数据计算状态转移概率矩阵,预测未来市场趋势。案例:摩根士丹利使用马尔可夫切换模型(Markov Switching Model)分析标普500指数波动。信用评级迁移穆迪、标普等机构用马尔可夫链建模企业信用评级变化(如AAA→AA的概率),评估债券违约风险。三、工业控制与自动化设备故障预测定义设备健康状态(正常/预警/故障),基于传感器数据构建状态转移模型,提前预测维护时机。数据:西门子燃气轮机监测系统通过此方法将非计划停机减少37%。生产流程优化在半导体制造中,用马尔可夫决策过程(MDP)动态调整生产线调度,响应设备突发故障或订单优先级变化。四、医疗健康疾病进展建模将癌症分期(I-IV期)作为状态,通过临床数据计算转移概率,辅助制定个性化治疗方案。应用:MD安德森癌症中心用于乳腺癌复发风险评估。医疗资源调度急诊室采用马尔可夫链模型实时计算患者状态(候诊/检查/治疗),优化医护人员和设备的动态分配。五、信息技术网页排序(PageRank算法)将互联网视为马尔可夫链,网页为状态,超链接为转移路径,通过随机游走模型计算页面权重。缓存策略优化CDN服务商预测用户请求的内容转移规律(如视频A→B的观看顺序),预加载高概率内容降低延迟。六、游戏与AI游戏AI决策棋类游戏(如国际象棋)中,完全信息状态满足马尔可夫性,蒙特卡洛树搜索(MCTS)依赖当前棋盘状态生成策略。NPC行为模拟开放世界游戏中,NPC根据玩家当前位置/行为(当前状态)切换对话或行动模式。七、交通与物流交通流量预测将道路拥堵状态(畅通/缓行/拥堵)建模为马尔可夫链,结合实时车流数据预测未来15分钟路况。无人机路径规划在已知障碍物分布的静态环境中,基于当前坐标和传感器输入实时调整飞行路径。核心优势总结计算高效:仅依赖当前状态,避免历史数据回溯,适合实时系统(延迟<200ms)。可解释性强:状态转移矩阵直观展示系统动态特性。扩展灵活:可与隐变量(HMM)、强化学习(MDP)等方法结合处理复杂场景。
  • [技术干货] 智能体的场景化决策机制如何实现?
    智能体的场景化决策机制如何实现?智能体的场景化决策机制通过三层技术架构实现动态决策闭环:一、核心决策层动态优先级引擎采用改进型马尔可夫决策过程(MDP),在医疗调度场景中,通过生命体征传感器数据流实时计算创伤指数(TI),当TI>85时自动触发紧急模式,将响应延迟压缩至50ms集成模糊逻辑控制器,对自动驾驶场景的障碍物威胁等级进行0-1连续值评估,当碰撞概率>0.7时启动伦理决策模块二、伦理约束层基于IEEE P7008标准构建的伦理参数矩阵包含128维道德向量,在自动驾驶紧急避让决策时:• 行人年龄权重函数:ω_age=1/(1+e^(-0.1*(age-40)))• 群体保护系数:N²/10(N为涉及人数)• 路权优先级:主干道权重系数比支路高2.7倍通过多目标帕累托优化算法,在300ms内生成符合ASIL-D安全等级的决策方案三、动态适配层采用双网络架构:基础决策网络(ResNet-152架构)处理常规环境输入元学习网络(Transformer-XL架构)分析用户历史行为序列,当检测到连续3次同类查询时,激活知识权重强化机制通过离线强化学习框架,每周使用200万条真实场景数据更新策略网络参数,确保模型持续进化该机制通过专用决策芯片实现硬件加速,在华为Atlas 900集群上实测显示,从传感器数据输入到执行指令输出的端到端延迟稳定在182±15ms,满足ISO 26262功能安全要求。
  • [技术干货] 马尔可夫 vs 非马尔可夫行为详解
    马尔可夫 vs 非马尔可夫行为详解马尔可夫行为与非马尔可夫行为的核心区别在于系统状态是否包含所有影响未来演化的历史信息。以下是两者的深度解析与技术对比:一、马尔可夫行为:当前状态决定未来定义:若系统在时刻 ( t ) 的状态 ( S_t ) 完全决定了 ( t+1 ) 时刻的状态 ( S_{t+1} )(即 ( P(S_{t+1} | S_t, S_{t-1}, \dots) = P(S_{t+1} | S_t) )),则称其具有马尔可夫性。核心特征与技术实现状态完备性状态空间需包含所有关键变量(如机器人定位中的坐标+速度+环境特征),确保无历史依赖。示例:自动驾驶中,激光雷达点云+车辆动力学模型(速度/加速度)构成马尔可夫状态。决策效率优势策略优化仅依赖当前状态,使Q-learning、值迭代等算法复杂度从 ( O(n^t) ) 降至 ( O(n) ) 。应用:医疗急救调度中,创伤指数(TI)实时计算仅需当前生命体征数据流。典型应用场景动态优先级引擎:基于MDP的决策层,在182ms内完成紧急响应(如TI>85时启动急救协议)。游戏AI:棋盘游戏(围棋/象棋)的完全可观测状态满足马尔可夫性。二、非马尔可夫行为:历史依赖的必然性定义:未来状态概率依赖于历史状态序列( ( P(S_{t+1}) ) 受 ( S_t, S_{t-1}, \dots ) 共同影响)。关键成因与应对技术部分可观测性(POMDP问题)案例:无人机仅通过摄像头观测环境,无法直接获取风速或障碍物运动历史。解决方案:引入置信状态(Belief State),使用LSTM或Transformer-XL编码历史观测序列。长程依赖关系示例:金融交易中,股价波动受数月前的政策影响,需回溯长期历史。算法:采用注意力机制(如Transformer)提取关键历史片段,替代全序列记忆。延迟奖励问题场景:机器人抓取任务中,成功抓取取决于此前10步的精准位姿调整。优化:信用分配技术(Credit Assignment)追溯动作链的贡献权重。三、决策机制设计中的工程取舍维度马尔可夫系统非马尔可夫系统状态空间设计需完备感知(如多传感器融合)允许部分观测+历史编码(如LSTM隐状态)计算复杂度低(实时性强,延迟≤200ms)高(序列建模增加30%推理耗时)策略收敛性理论保证(Bellman最优方程)依赖近似算法,可能陷入局部最优典型应用自动驾驶紧急避让、工业控制医疗诊断、自然语言对话系统四、混合架构实践:平衡效率与表达能力分层马尔可夫模型高层决策(目标规划)用非马尔可夫策略,底层控制(运动执行)用马尔可夫策略。案例:仓储机器人路径规划(历史依赖)与实时避障(当前状态依赖)的解耦。元学习适配器基础网络(ResNet)处理即时感知,元网络(Transformer-XL)动态调整历史依赖权重。数据:华为Atlas芯片实测显示,混合架构延迟仅增加15ms,但决策准确率提升22%。伦理约束的时序嵌入自动驾驶的伦理决策矩阵(IEEE P7008)需回溯事故前5秒场景,通过时间卷积网络(TCN)压缩历史信息。结论选择马尔可夫模型:当系统状态可完全观测且历史无关(如棋盘游戏、实时控制系统)。选择非马尔可夫模型:需处理部分观测、长程依赖或延迟奖励的场景(如医疗诊断、金融预测)。工业级实践趋势:通过注意力机制与在线蒸馏技术,将非马尔可夫问题转化为近似马尔可夫表示,兼顾实时性与决策质量。
  • [技术干货] Action Chunking技术的优缺点是什么?
    Action Chunking技术的优缺点是什么?优点减少复合误差在模仿学习任务中,通过将连续动作整合为块,显著降低单步预测误差的累积风险。例如,工业机器人执行“抓取-装配”任务时,动作块可减少机械臂因高频决策导致的定位偏差,提升装配精度。增强动作连贯性捕捉动作间的时序依赖关系,生成更符合人类行为模式的序列。如自动驾驶中“变道超车”动作块,能平滑处理加速、转向等子动作,避免单步决策引发的顿挫感。提升探索效率在强化学习的稀疏奖励场景中,动作块提供结构化行为模板。例如,游戏AI通过复用“连招技能块”,减少无效探索,更快接近高奖励状态。模块化与复用性预定义的动作块可跨任务迁移,如医疗康复机器人将“步态周期块”适配到不同患者的训练中,缩短开发周期。缺点灵活性受限固定长度的动作块难以适应动态环境变化。例如,自动驾驶中若突发障碍,预设的“变道块”可能无法及时终止,需依赖额外中断机制。环境突变容错性低动作块执行期间若环境参数突变(如机器人抓取目标突然移动),可能导致整个块失效,需重新规划。迁移成本较高不同领域动作块的通用性有限。例如,工业焊接机器人的“熔池控制块”难以直接迁移到精密电子装配场景,需重新优化参数。潜在计算延迟生成长动作块可能增加实时决策延迟,对毫秒级响应的场景(如无人机避障)不友好。典型场景对比场景优势体现劣势挑战机器人装配减少10倍决策误差,提升装配成功率固定块长度导致零件尺寸突变时失效自动驾驶变道动作平滑,乘客体验优化突发障碍需强制中断块执行游戏AI连招快速复现高玩操作模式对手反制策略可能使连招块失效未来研究方向包括动态块长度调整、基于元学习的技能迁移优化等,以平衡灵活性与效率。
  • [技术干货] Action Chunking的实际应用场景有哪些?
    Action Chunking的实际应用场景有哪些?动作分块(Action Chunking)通过将连续的低级动作组合成有意义的“动作块”或“技能”,显著提升了智能体在复杂任务中的表现。其实际应用场景广泛,主要集中在以下几个领域:🤖 1. 机器人灵巧操作这是动作分块最核心的应用领域,尤其适用于需要高精度时序协调的任务:工业流水线作业:如“抓取零件→精确对齐→插入装配”的连贯动作序列,避免单步控制导致的累积误差和机械振动。家居服务机器人:例如“开门”动作分解为“接近把手→旋转手腕→推门→避让回退”的原子操作块,提升动作流畅性。复杂工具使用:如使用螺丝刀时,“定位螺丝→垂直下压→连续旋转”作为一个动作块,确保力矩连贯性。技术优势:减少10倍以上的决策频率,显著降低延迟影响,同时动作块可复用至相似任务。🚗 2. 自动驾驶决策优化在动态交通环境中,动作分块用于处理长时序规划问题:变道超车:将“加速逼近→并线→超车→回原车道”整合为单一决策单元,避免频繁转向导致的乘客不适。路口通行:将“减速观察→判断优先级→通过路口→加速恢复”作为整体块,提升复杂场景通过效率。技术优势:解决稀疏奖励问题(如安全通过路口才有奖励),增强策略的时序一致性。🎮 3. 游戏AI与虚拟角色控制在需要复杂连招或策略的游戏中效果显著:格斗游戏:将“防御→闪避→蓄力→必杀技释放”组合为技能链,模拟人类玩家的操作习惯。策略游戏:如《星际争霸》中“侦查→资源调配→兵种生产→突袭”作为战略块,减少单位级微观管理。技术优势:通过离线学习玩家操作录像中的动作块模式,快速复现高水平玩家行为。🏥 4. 医疗康复机器人在辅助患者训练时提供自然动作引导:步态康复:将“抬腿→迈步→重心转移→足跟落地”整合为完整步行周期块,模拟生理步态。上肢复健:如“抓取水杯→移动至嘴边→倾斜倒水→放回桌面”作为生活技能单元。技术优势:动作块包含生物力学约束(如关节角度限值),确保训练安全性。🔧 5. 工业过程自动化在流程化生产中优化控制逻辑:焊接机器人:将“定位焊点→预热→送丝→熔池控制→收弧”作为单一工艺块。分拣系统:“视觉识别→吸盘吸附→分类转运→码垛”动作块减少系统响应延迟。技术优势:通过预定义动作块库,快速适配新产品生产线。⚠️ 实际部署的挑战与解决方案挑战应对策略动作块长度固定动态调整块长度(如ACT算法)环境突变导致块失效加入中断检测机制技能迁移性差元学习框架优化块参数动作分块的价值在于将高频低层控制转化为语义化高层决策,未来在具身智能(Embodied AI)、脑机接口动作合成等场景有更大潜力。当前研究前沿集中于动作块的自动发现(Unsupervised Skill Discovery)与层次化组合。
  • [技术干货] 什么是 Action Chunking?
    什么是 Action Chunking?动作分块(action chunking),是一种在人工智能(AI)领域,特别是在强化学习和模仿学习中广泛应用的技术。其核心思想是将智能体需要执行的一系列连续、有序的单个动作(actions)组合成一个更大的、有意义的“动作块”或“技能”(skill)来处理。这个“动作块”代表了完成某个子任务的连贯行为模式,例如机器人操作中的“抓取-移动-放置”。通过这种方式,策略模型不再像传统方法那样预测和执行单步动作,而是一次性预测并执行一个长度为 h 的动作序列 a_t:t+h。这带来了以下几个关键优势:解决复合误差 :在模仿学习中,尤其是在高频控制任务中,累积的微小预测误差(compounding error)可能导致机器人最终的动作与预期相差甚远。动作分块通过减少策略的决策频率,有效缓解了这一问题。提升时间一致性 :传统的单步策略难以处理动作之间的时间依赖关系。而动作分块能够捕捉这些时序信息,生成更加连贯、平滑且符合人类行为模式的动作序列。增强探索效率 :在强化学习中,对于需要执行一系列复杂动作才能获得奖励的长期稀疏奖励任务,随机探索效率极低。动作分块通过利用离线数据中的时间相干行为模式,可以显著提升策略的探索效率,指导智能体学习更有效的行为。动作分块已成为现代机器人控制算法(如ACT、Q-Chunking等)的关键组成部分,极大地推动了灵巧操作等复杂任务的发展。
  • [技术干货] ACT学习算法:基于Transformer的机器人模仿学习创新
    ACT学习算法:基于Transformer的机器人模仿学习创新在机器人学与人工智能领域,模仿学习(imitation learning)是实现复杂任务自主执行的关键路径之一。然而,传统模仿学习方法常面临“复合误差”(compounding error)问题——即动作预测中的小误差会随时间累积,导致机器人执行任务时偏离预期轨迹。为解决这一挑战,斯坦福大学团队于2023年提出了一种名为 Action Chunking with Transformers(ACT)的新型模仿学习算法。该算法结合了条件变分自编码器(CVAE)与Transformer的序列建模能力,显著提升了机器人在精细操作任务中的性能,成为具身智能(embodied intelligence)研究的重要成果之一。核心原理ACT算法的核心思想是通过动作分块(action chunking)和多模态感知,减少长序列动作预测中的误差累积问题,并增强对人类演示数据中噪声的鲁棒性。其技术架构基于CVAE与Transformer的深度融合,具体分为以下模块:1.编码器(Encoder)编码器负责处理多模态输入(如视觉图像、当前关节状态等),并通过Transformer编码器提取全局特征。输入数据(例如机器人当前的关节位置和多摄像头捕捉的RGB图像)会被编码为一个潜在变量z(latent variable)。该变量由编码器输出的均值(μ)和方差(σ²)构成,通过重参数化技巧(reparameterization trick)从正态分布中采样,确保梯度可回传,实现端到端联合优化。2.解码器(Decoder)解码器是策略生成的核心模块,基于Transformer解码器构建。它以当前观察(图像+关节状态)和潜在变量z为输入,通过交叉注意力机制(cross-attention)融合全局特征与局部时序信息,逐步生成未来k步的关节角度动作序列。这种分块预测(预测k步而非单步)避免了直接预测长序列的复杂性,同时通过加权平均多步预测结果,进一步抑制误差传播。3.损失函数设计ACT的训练目标是最小化重构损失(如均方误差MSE,衡量生成动作与人类演示的差异)和KL散度(约束潜在变量z的分布接近标准正态分布)。这种设计不仅提升了模型对训练数据的拟合能力,还通过正则化潜在空间的结构,增强了泛化性。此外,推理阶段通常采用零潜在变量(zero latent input)策略,即直接使用标准正态分布的均值生成动作,以确保输出的稳定性。应用场景与表现ACT算法已被广泛应用于斯坦福的ALOHA(A Low-cost Open-source Hardware system for Bimanual Teleoperation)项目中,作为其核心控制策略。在ALOHA系统中,ACT通过多摄像头(如Logitech C922x)和低成本双臂机器人(如ViperX 6-DoF机械臂)的结合,实现了对人类操作的高效模仿。例如,在精细操作任务(如打开半透明调味品杯盖、插入288针RAM到计算机主板)中,ACT仅需约10分钟的人类演示(或50条示范轨迹),即可达到80-90%的成功率,远超传统模仿学习方法(需数百次示范)和强化学习(需数千次试错)。此外,ACT在双臂协作任务(如物体转移、双臂插入)和动态动作生成(如人形机器人执行前空翻、后空翻)中也表现出色。其多模态输入能力(视觉+关节状态+环境信息)和实时性(在Jetson AGX Orin等嵌入式平台实现25Hz在线动作生成)使其成为具身智能领域的标杆算法。优势与创新ACT算法的核心优势体现在以下几个方面:数据效率:仅需少量高质量人类示范(如40次演示)即可学习复杂技能,显著降低了数据收集成本。多模态融合:通过整合视觉、关节状态等信息,ACT能够更全面地理解环境,避免传统方法仅依赖关节数据的局限性。误差抑制:动作分块与时间集成技术有效缓解了复合误差问题,提升了长序列任务的执行稳定性。可解释性与泛化性:CVAE的潜在变量z可被解释为“动作风格”或“任务策略”,同时正则化潜在空间的结构(KL散度约束)使其更规整,便于迁移至未知环境。结论与展望ACT算法通过Transformer的序列建模能力与CVAE的生成式策略,为机器人模仿学习提供了全新的解决方案。它不仅在低成本硬件(如ALOHA系统)中实现了高精度操作,还推动了具身智能在复杂任务中的落地应用。未来,ACT有望进一步优化其在复杂干扰环境(如随机风速)中的鲁棒性,并探索更高效的潜在空间建模方法,以应对更广泛的实际场景。
  • [技术干货] ALOHA 硬件系统
    ALOHA 硬件系统ALOHA是一个用于双手远程操作的低成本开源硬件系统,其名称是“A Low-cost Open-source Hardware System for Bimanual Teleoperation”的缩写。它旨在提供一种经济实惠的方式来实现双臂机器人的远程操作系统,适用于教育、科研和个人爱好者等领域。主要特点低成本 :与同类系统相比,ALOHA的成本效益高,整个系统的造价相对较低。例如,初代的Mobile ALOHA造价约为3.2万美元。出色的模仿学习能力 :通过结合名为Action Chunking with Transformers (ACT)的算法,ALOHA具备了强大的模仿学习能力。通常只需十几分钟的人类演示,机械臂就可以学会一个动作,并能自主完成相同或类似的任务。高度灵活 :拥有多个自由度,其双臂设计以及(在Mobile ALOHA版本中)可移动的底座,使得它能够在不同环境中执行各种复杂的任务,如精细操作、动态任务和接触式任务。硬件组成ALOHA系统的硬件部分主要由以下组件构成:机械臂 :通常由两个主要的机械臂组成,例如Trossen Robotics公司生产的ViperX系列和WidowX系列机械臂。这些机械臂具有多个自由度,能够执行精准的动作。移动底盘 :在Mobile ALOHA版本中,机器人被安装在一个移动台座(如AgileX Tracer AGV)上,使其能够在更大的空间范围内移动和操作。摄像头 :配备多个摄像头(如Logitech C922x或Intel RealSense D405)来捕捉环境和任务的视觉信息,为模仿学习提供数据。
  • [技术干货] Softmax的性质与作用
    Softmax是人工智能中用于多分类问题的核心操作,其本质是将一个实数向量映射为概率分布。它的输入是一个任意实数值的向量,输出是一个相同维度的向量,其中每个元素的值在0到1之间,且所有元素之和为1。这一特性使Softmax特别适合表示各类别的预测概率。从数学形式看,Softmax对每个元素进行指数运算然后归一化。指数函数确保所有输出值为正,归一化则保证总和为1。这种设计使Softmax对输入值的大小差异敏感:较大的输入值会获得接近1的概率,较小的输入值则对应接近0的概率。这种非线性特性在神经网络中起到关键作用,它放大了数值差异,使模型能够更明确地区分不同类别。Softmax与深度学习中的交叉熵损失函数结合使用,形成标准的分类训练框架。在反向传播过程中,Softmax的梯度计算具有简洁形式,这源于指数函数的导数特性,使得误差梯度可以高效地传递回前层网络。这种数学性质显著提升了训练效率。在模型推理阶段,Softmax输出的概率分布可与argmax函数结合获得最终分类结果。但需注意,Softmax不改变输入的相对大小顺序,仅调整其尺度至概率空间。这一性质在注意力机制中同样重要,其中Softmax被用于计算注意力权重,帮助模型聚焦于关键信息。虽然Softmax应用广泛,但也存在局限性。当输入值极大时,指数运算可能导致数值溢出,实践中通常通过减去最大值进行数值稳定处理。此外,其输出分布往往趋向尖锐,这可能不利于探索不确定性较高的预测情况。这些特性促使研究者开发了Softmax的替代方案,如Gumbel-Softmax或温度调节机制,以适配不同应用场景的需求。
  • [技术干货] 大语言模型开源项目GPT-NeoX和OPT
    EleutherAI的GPT-NeoX并非一个单一的模型,而是一个用于训练大规模自回归语言模型的开源库,其核心是GPT-NeoX-20B模型。这个项目在开源社区中具有奠基性的地位。在诸如GPT-3这样的强大模型仅提供商业API而未开放权重的时期,EleutherAI的目标是构建一个完全开源的高性能模型。GPT-NeoX库及其模型验证了基于Google的JAX/Flax框架,并参考Megatron-LM的设计,在数千个GPU上稳定训练百亿参数级别模型的可能性。它所采用的旋转位置编码(RoPE) 和并行注意力 等架构选择,为后续众多模型提供了经过实践检验的蓝图。可以说,没有GPT-NeoX在工程实践和架构设计上的探索,后续许多重要的开源模型,包括BLOOM以及Qwen2,其开发门槛会高得多。OPT,即Open Pre-trained Transformer,是Meta AI为了促进AI社区的开放研究而发布的一系列模型。其最引人注目的版本是OPT-175B,这是一个参数规模与GPT-3相当的语言模型。OPT项目的关键贡献不在于架构创新——它基本上遵循了经典的GPT-3架构——而在于其开放性。Meta不仅发布了模型的预训练权重,还完整公开了训练日志和代码。这一举动为学术界和资源有限的研究机构提供了研究超大模型行为、进行微调实验和评估其社会影响的宝贵资源。通过研究OPT,社区得以深入理解百亿级以上参数模型的训练动态、失败模式以及计算需求。将两者联系起来看,GPT-NeoX和OPT代表了开源大模型发展路径上的两个互补方向:GPT-NeoX提供了如何从头开始构建一个现代大模型的工程框架与核心组件,是方法论上的贡献;而OPT则提供了一个已经构建好的、可供深入剖析的顶级模型实例,是资源上的贡献。后来者可以继承GPT-NeoX库中成熟且高效的Transformer层实现、并行训练策略等基础设施,同时参考OPT在模型结构细节上的权衡与选择,从而能够专注于其自身的创新与优化。
  • [技术干货] 昇腾平台的大模型QwQ-32B安装部署
     1. 下载模型权重 安装python环境 conda create -n qwq_model python==3.13.6 conda activate qwq_model pip install modelscope  通过 modelscope SDK下载模型(https://www.modelscope.cn/models/Qwen/QwQ-32B)到制定目录 mkdir -p /usr/local/data/model_list/model/QwQ-32B modelscope download --model Qwen/QwQ-32B --local_dir /usr/local/data/model_list/model/QwQ-32B  2. 部署模型  vim /etc/sysctl.conf  设置 net.ipv4.ip_forward的值为1 source /etc/sysctl.conf  docker pull swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_ascend:pytorch_2.5.1-cann_8.2.rc1-py_3.11-hce_2.0.2503-aarch64-snt9b-20250729103313-3a25129   启动容器 docker run -itd \--device=/dev/davinci0 \--device=/dev/davinci1 \--device=/dev/davinci2 \--device=/dev/davinci3 \-v /etc/localtime:/etc/localtime \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \-v /etc/ascend_install.info:/etc/ascend_install.info \--device=/dev/davinci_manager \--device=/dev/devmm_svm \--device=/dev/hisi_hdc \-v /var/log/npu/:/usr/slog \-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \-v /sys/fs/cgroup:/sys/fs/cgroup:ro \-v /usr/local/data/model_list/model:/usr/local/data/model_list/model \--net=host \--name vllm-qwen \91c374f329e4 \/bin/bash 来到容器环境 docker exec -it -u ma-user ${container_name} /bin/bashdocker exec -it -u ma-user vllm-qwen /bin/bash设置容器里的参数export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 export VLLM_PLUGINS=ascend  # VPC网段# 需用户手动修改,修改方式见下方注意事项VPC_CIDR="192.168.0.0/16" VPC_PREFIX=$(echo "$VPC_CIDR" | cut -d'/' -f1 | cut -d'.' -f1-2)POD_INET_IP=$(ifconfig | grep -oP "(?<=inet\s)$VPC_PREFIX\.\d+\.\d+" | head -n 1)POD_NETWORK_IFNAME=$(ifconfig | grep -B 1 "$POD_INET_IP" | head -n 1 | awk '{print $1}' | sed 's/://')echo "POD_INET_IP: $POD_INET_IP"echo "POD_NETWORK_IFNAME: $POD_NETWORK_IFNAME" # 指定通信网卡export GLOO_SOCKET_IFNAME=$POD_NETWORK_IFNAMEexport TP_SOCKET_IFNAME=$POD_NETWORK_IFNAMEexport HCCL_SOCKET_IFNAME=$POD_NETWORK_IFNAME# 多机场景下配置export RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES=1 # 开启显存优化export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True# 配置通信算法的编排展开位置在Device侧的AI Vector Core计算单元export HCCL_OP_EXPANSION_MODE=AIV# 指定可使用的卡,按需指定export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7# 指定绑核,按需指定export CPU_AFFINITY_CONF=1export LD_PRELOAD=/usr/local/lib/libjemalloc.so.2:${LD_PRELOAD}# 默认启用 ascend-turbo-graph模式,指定启动插件export VLLM_PLUGINS=ascend_vllm# 如果使用 acl-graph 或者 eager 模式,指定启动插件 # export VLLM_PLUGINS=ascend# 指定vllm后端 v1export VLLM_USE_V1=1# 指定vllm版本export VLLM_VERSION=0.9.0  export USE_MM_ALL_REDUCE_OP=1export MM_ALL_REDUCE_OP_THRESHOLD=256 # 不需要设置以下环境变量unset ENABLE_QWEN_HYPERDRIVE_OPTunset ENABLE_QWEN_MICROBATCHunset ENABLE_PHASE_AWARE_QKVO_QUANTunset DISABLE_QWEN_DP_PROJ   source /home/ma-user/AscendCloud/AscendTurbo/set_env.bash  运行API服务 nohup python -m vllm.entrypoints.openai.api_server \--model /usr/local/data/model_list/model/QwQ-32B \--max-num-seqs=256 \--max-model-len=512 \--max-num-batched-tokens=512 \--tensor-parallel-size=4 \--block-size=128 \--host=192.168.0.127 \--port=18186 \--gpu-memory-utilization=0.95 \--trust-remote-code \--no-enable-prefix-caching \--additional-config='{"ascend_turbo_graph_config": {"enabled": true}, "ascend_scheduler_config": {"enabled": true}}' > QwQ-32B.log 2>&1 & port端口号可以自定义,勿与已经使用的端口号冲突 3. 验证API服务  验证服务 curl http://192.168.0.127:18186/v1/completions \-H "Content-Type: application/json" \-d '{ "model": "/usr/local/data/model_list/model/QwQ-32B", "prompt": "What is moon","max_tokens": 64,"temperature": 0.5 }'       
  • [技术干货] 大语言模型评估方法
    以大语言模型评估evaluate_inference 方法为例,它采用分阶段测量策略,将推理过程拆解为预填充和解码两个关键阶段,这种设计源于对Transformer架构特性的深刻理解。预填充阶段负责处理输入序列的并行计算,而解码阶段则涉及自回归生成,两者的性能特征截然不同。该方法通过预热机制确保模型状态稳定,这是深度学习推理评估的标准实践。预热阶段运行5次固定推理,消除冷启动带来的性能波动。在实际测量中,预填充延迟通过生成单个token来捕获,这种方法能够准确反映模型处理输入序列的初始计算开销。解码延迟的测量则采用端到端方式,通过计算平均每个token的生成时间来评估模型的持续生成效率。内存监控机制是该方法的另一重要特征。它跟踪最大分配内存和保留内存,为模型部署时的资源规划提供数据支持。这种内存监控不仅反映模型的理论内存需求,还能捕捉实际运行时的动态内存使用模式。Logits保存机制体现了数值稳定性的验证思路。通过保存每个生成步骤的logits分布,该方法能够进行精确的数值对比,这种对比超越了简单的文本匹配,能够检测模型输出的细微差异。当文本内容不匹配时,logits对比提供了第二层验证保障,确保模型推理的正确性。该评估方法的设计还考虑了实际部署场景的需求。通过支持多组prompt和图像的批量测试,它能够模拟真实应用中的多样化输入情况。时间戳机制和结果文件的规范化命名,为长期性能追踪和版本对比奠定了基础。从工程角度看,该方法在准确性和实用性之间找到了平衡。同步操作的合理使用确保了时间测量的准确性,而异常处理机制则保证了评估过程的鲁棒性。结果汇总功能不仅生成详细的性能报告,还提供了直观的对比结果,便于快速判断模型状态。这种评估方法论的背后,是对大语言模型推理特性的系统化认知。它认识到模型性能不仅取决于硬件能力,还与输入特征、序列长度、生成策略等多个因素相关。通过多维度的性能指标收集,该方法为模型优化提供了全面的数据支撑,是模型部署前不可或缺的验证环节。
  • [技术干货] sglang和AI开发环境介绍
    sglang 是一个专为大型语言模型设计的高效编程语言和运行时系统。1. sglang 的核心定义sglang 的全称是 Structured Generation Language for Large Language Models。它的主要目标是让开发者能够更简单、更快速、更高效地构建和运行复杂的 LLM 应用程序。您可以把它理解为一个“LLM 的编程框架”或“加速引擎”。2. 为什么需要 sglang?在开发基于大语言模型的应用时,我们经常会遇到一些复杂场景,比如:多轮对话智能体(Agent) 的推理和工具调用分支逻辑(例如,根据模型的不同回答执行不同的后续操作)约束生成(要求模型必须按照特定格式,如 JSON,来回答)使用传统的调用方式(比如直接调用 OpenAI API 或使用简单的 LangChain)来处理这些复杂逻辑时,代码会变得冗长、难以维护,并且在性能上(尤其是延迟和吞吐量)可能不是最优的。sglang 就是为了解决这些问题而生的。3. sglang 的主要特点和优势直观的编程模型:它提供了一种类似于编写普通程序的语法(支持分支、循环、函数等),让开发者可以用更结构化和易读的方式描述复杂的 LLM 交互流程。显著的性能优化:这是 sglang 最突出的优势之一。它内置了多种优化技术,例如:RadixAttention:通过缓存注意力矩阵中的键(Key)和值(Value),极大地减少了重复计算。例如,在多轮对话中,历史对话的 KV Cache 可以被有效复用,而不是每次请求都重新计算,从而大幅降低延迟。并行执行:能够智能地识别和并行执行多个独立的 LLM 调用。后端兼容性:sglang 支持多种流行的 LLM 后端,包括 vLLM、NVIDIA TensorRT-LLM 以及 Hugging Face Transformers 等。这意味着您可以将它轻松部署到现有的推理服务上。以镜像名称为例:ubuntu22.04-py3.11-cann8.2rc1-**sglang**-main-notebook,这个镜像是一个为 AI 开发预配置的完整环境,它包含了:操作系统:Ubuntu 22.04编程语言:Python 3.11AI 计算基础:cann8.2rc1(华为的 Ascend CANN 计算平台,通常用于昇腾 AI 处理器)核心组件:sglang(用于在昇腾硬件上高效运行 LLM 应用的框架)应用形式:notebook(Jupyter Notebook,一种交互式编程环境)附sglang检查:$ python3 -c "import sglang; print(sglang.__version__); print(sglang.__file__)" 0.5.2rc1 /home/service/.local/lib/python3.11/site-packages/sglang/__init__.py $ python3 -c "import sglang; print(dir(sglang))" ['Anthropic', 'Engine', 'LazyImport', 'LiteLLM', 'OpenAI', 'Runtime', 'RuntimeEndpoint', 'ServerArgs', 'VertexAI', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', 'assistant', 'assistant_begin', 'assistant_end', 'flush_cache', 'function', 'gen', 'gen_int', 'gen_string', 'get_server_info', 'global_config', 'greedy_token_selection', 'image', 'lang', 'select', 'separate_reasoning', 'set_default_backend', 'system', 'system_begin', 'system_end', 'token_length_normalized', 'unconditional_likelihood_normalized', 'user', 'user_begin', 'user_end', 'utils', 'version', 'video'] $
总条数:7868 到第
上滑加载中