-
VLA:具身智能的“神经中枢”,如何打通机器认知与行动的最后一公里?当机器人听到“请把桌上的红色杯子拿给我”时,它需要瞬间完成环境感知、意图解析、动作规划三重任务——这一看似简单的指令,实则是具身智能(Embodied AI) 落地的终极挑战。而 VLA(Vision-Language-Action Models) 正成为解决这一难题的革命性框架,它将视觉、语言与行动能力熔于一炉,让机器首次真正实现“知行合一”。一、技术实现层:构建“感知→理解→行动”的闭环飞轮传统机器人技术采用模块化堆叠:视觉模块识别物体→自然语言模块解析指令→控制模块生成动作。这种架构存在三大断层:信息衰减:模块间传递数据时丢失关键细节(如杯子的精确位姿);误差累积:视觉定位2mm偏差可能导致抓取失败;响应延迟:多模块串联处理耗时远超人类反射速度(>500ms)。VLA的破局之道:通过端到端Transformer架构,直接将原始像素(Vision)和语言指令(Language)映射为动作参数(Action)。例如处理“拿红色杯子”指令时:视觉编码器实时构建场景的3D语义地图,定位杯子坐标(精度±0.5cm);语言模型解构“拿给我”包含的原子动作:接近→抓握→移动→递送;动作生成器输出关节扭矩序列,同时预测执行风险(如避让障碍物)。突破性案例:谷歌RT-2模型在真实场景的动作成功率提升40%+,关键在感知与执行的联合优化二、能力整合层:统一模型如何克服“行动鸿沟”?具身智能的核心矛盾在于:物理世界的无限复杂性 vs 机器认知的有限性。VLA通过两项革新弥合差距:1. 跨模态对齐:从符号到实体的精准锚定当用户说“红色杯子”时,模型需将语言符号与视觉实体绑定:颜色检测(HSV值过滤干扰反光)材质识别(陶瓷vs塑料影响抓取力度)空间关系(“桌上”排除地面误判)技术支撑:CLIP对比学习使文本-图像嵌入空间对齐误差<3%2. 具身推理引擎:语言指令的物理转化器指令“拿给我”隐含物理约束:抓握策略:杯柄需拇指和食指对捏(避免包裹式抓取遮挡视线)路径规划:移动轨迹避开手部与身体的碰撞人机交互:递送高度匹配人类手臂自然位置(离地70-90cm)行业突破:斯坦福VoxPoser用LLM生成机器人运动代码,实现零编程动作生成三、场景实践:从实验室到真实世界的跨越VLA正催化三大场景的具身智能革命:应用领域传统方案痛点VLA解决方案家庭服务无法理解“清洁洒落的牛奶”视觉定位液体范围→生成吸拭+擦拭动作链医疗手术机械臂需预设千种动作模板听指令“切除2cm肿瘤”实时规划切割深度仓储物流分拣系统依赖固定坐标响应“搬走右侧第三箱货品”自主导航典型案例进化:早期机器人执行“拿杯子”需预设代码200行,如今VLA模型仅凭单次指令:视觉定位:通过多视角3D重建(NeRF技术)克服遮挡触觉校准:电子皮肤反馈力度(陶瓷杯抓取力限0.5-1.2N)防溢策略:动作加速度控制(倾斜角<15°防液体泼洒)四、未来挑战:VLA如何成为具身智能的“终极大脑”?当前仍需突破三大瓶颈:场景泛化:在陌生环境(如布满障碍的厨房)执行长序列任务;物理常识:理解“易碎品轻拿轻放”等抽象约束;实时安全性:10ms级动作中断响应(防止碰撞儿童)。突破方向:仿真训练革命:NVIDIA Omniverse构建百万级物理场景训练集神经符号融合:LLM生成动作逻辑+神经网络微调参数脑机协同:通过EEG信号实时修正动作(杜克大学实验成功率达85%)结语:具身智能追求让机器“像人一样理解并改造世界”,而VLA正在成为实现这一愿景的神经中枢。当视觉识别、语言理解与动作控制不再是割裂的模块,而是同一模型涌现的能力时,我们距离真正自主的智能体已不再遥远——未来十年,每一台接入VLA的机器人,都将成为物理世界的“行动思想家”。
-
VLA:让机器“看懂”世界并行动的革命性技术VLA(Vision-Language-Action Models,视觉-语言-动作模型) 是人工智能领域的颠覆性范式,它通过统一视觉感知、语言理解与物理动作控制,赋予机器“知行合一”的能力。与传统多模态模型仅实现“看与说”不同,VLA的核心在于构建 “感知-认知-执行”的闭环系统,推动机器人、自动驾驶等领域的智能化跃迁。一、VLA是什么?—— 三位一体的认知革命VLA将三大能力融合于单一架构中:视觉感知:解析摄像头、激光雷达等传感器输入的物理世界信息;语言理解:解读人类自然语言指令(如“把红色积木放进蓝色盒子”);动作生成:将抽象指令转化为具体动作序列(如移动、抓取、放置)。本质突破:打破传统AI“感知”与“行动”的割裂,实现“看懂即会做”的类人智能。二、技术架构:从数据到动作的流水线VLA的运作依赖三层核心技术:层级关键技术功能实例感知层多模态Transformer将图像像素与文本指令对齐为统一表征认知层具身推理引擎理解“避开障碍物取水杯”的空间逻辑执行层运动控制神经网络生成机械臂抓取轨迹与力度参数典型案例:谷歌RT-2模型在真实场景中执行“扔掉垃圾”指令的成功率比前代提升48%。三、应用场景:物理世界的智能革命家庭服务机器人:理解“清洁洒在桌面的咖啡渍”并执行擦拭、回收动作;工业自动化:通过语音指令调整机械臂装配流程(如“将螺丝拧紧三圈”);医疗辅助:根据医生指令精准操作手术器械(“切除左下方2cm肿瘤组织”);自动驾驶:响应“在便利店门口靠边停车”的复杂路况决策。四、关键挑战与突破方向挑战类型具体问题前沿探索感知-动作对齐二维图像到三维动作的映射偏差神经辐射场(NeRF)构建3D环境模型长时序规划多步骤任务中的误差累积分层强化学习(HRL)架构物理仿真差异模拟训练与现实执行的性能鸿沟零样本迁移学习(如Open-X Embodiment)突破性进展:斯坦福VoxPoser模型通过大语言模型生成机器人动作代码,实现无需编程的指令响应五、未来展望:从工具到伙伴的进化随着多模态大模型(如GPT-4V)与神经形态硬件(如Loihi芯片)的发展,VLA将经历三重进化:通用化:单一模型适配千万级场景(Meta的Habitat 3.0仿真平台已支持10万+家庭环境);安全可信:建立物理行动的风险预测机制(如动作因果链追溯);人机共生:实现自然对话式协作(“帮我修水管——好的,需要扳手和密封胶”)。结语:VLA不仅是一项技术,更是人机交互范式的重构。当机器能够真正“理解意图并自主行动”,我们将迎来从“工具执行者”到“智能协作者”的文明级转折。
-
寻求一个好用的具身智能平台,可以控制机械臂在真实环境中向人类一样完成物体分拣等操作
-
具身智能的三大核心技术路径:从感知到行动的闭环革命具身智能(Embodied AI)被视为人工智能的“下一跳”,其核心在于让AI像人类一样拥有“身体”,通过与物理世界的实时交互学习进化。要实现这一目标,需突破三大技术路径的协同闭环:多模态感知融合、认知决策建模、动作控制与反馈优化。路径一:多模态感知——物理世界的“五感”重建具身智能需通过传感器阵列(视觉、听觉、触觉等)实时解析环境信息。跨模态对齐:将图像、声音、触觉信号统一编码为可理解的时空表征(如通过Transformer融合RGB-D相机与力反馈数据)。情境建模:构建动态3D场景地图(如NeRF技术),实时追踪物体运动轨迹(如目标检测+SLAM)。痛点突破:解决光线遮挡、噪声干扰下的感知鲁棒性问题,如通过自监督学习补偿缺失信息。案例:MIT研发的“触觉手套”可识别20种物体材质,误差率<5%。路径二:认知决策——从数据到意图的“大脑”进化在感知基础上,AI需理解任务目标并生成行动计划:具身推理引擎:结合知识图谱(如ConceptNet)与物理规律模型(如PyBullet仿真引擎),预判动作后果(如“推倒积木塔是否可行?”)。分层任务规划:将复杂指令拆解为原子动作(如“泡茶”→【拿杯子】【倒水】),通过强化学习优化决策树。人机协作意图理解:通过自然语言指令解析人类意图(如LLMs+视觉定位技术)。进展:谷歌RT-2模型将语言指令转化为机器人动作的准确率提升40%。路径三:动作控制——机械系统的“肢体”协调最终需将决策转化为精准的物理动作:仿生驱动设计:采用柔性执行器(如波士顿动力的液压关节)模拟肌肉弹性,适应非结构化环境。实时运动控制:通过模型预测控制(MPC)调整动作轨迹,应对突发干扰(如行走时地面晃动)。触觉反馈闭环:利用电子皮肤(如斯坦福的神经形态触觉芯片)实现微力控制(如捏鸡蛋不破碎)。难点:机械臂抓取不规则物体的成功率仍不足70%,需继续攻克灵巧操作。未来挑战:打破“三大断层”感知-认知断层:环境动态变化导致决策滞后(如突然出现的障碍物);仿真-现实断层:仿真训练无法完全模拟物理摩擦、形变等复杂效应;单机-群体断层:多智能体协作需分布式强化学习框架支持。结论:具身智能的成熟需构建“感知-思考-行动”的闭环飞轮。随着神经形态计算芯片(如Loihi 3)与多模态大模型(如GPT-4o)的进化,物理智能体的规模化落地已进入倒计时——十年内,我们将见证从“云端大脑”到“实体助手”的颠覆性跨越。
-
NMS超时警告 WARNING ⚠️ NMS time limit 3.600s exceeded1. NMS的作用:NMS作为目标检测后处理的关键步骤,主要用于去除重复的检测框,通过计算检测框之间的IoU(交并比)来保留最有可能的检测结果。当出现超时情况时,通常是由于检测目标数量过多、图像中存在大量重叠检测框或硬件性能限制所导致。为解决这一问题,可以多种优化方案,例如使用适当的设备(如MPS或CPU)、降低输入图像尺寸、限制最大检测数量以及提高置信度阈值等方法,从而有效提升NMS处理效率和整体检测性能。2. 超时原因:检测到的目标数量过多,导致NMS计算时间过长图像中存在大量重叠的检测框硬件性能限制,处理速度跟不上3. 解决方案:确保使用适当的设备(MPS或CPU)import torch device = torch.device("mps") if torch.backends.mps.is_available() else torch.device("cpu") model = YOLO('yolov8n.pt').to(device) 降低输入图像尺寸(imgsz=320或416)限制最大检测数量(设置max_det=50或100)尝试提高置信度阈值(从默认的0.25提高到0.5或更高)
-
想象一下,你是一位顶尖的艺术品修复大师。我给你一幅被完全涂鸦、满是噪点的画布(这相当于加噪过程),你的任务是通过你对世界名画的理解和记忆,一步步地将它恢复成一幅清晰的《蒙娜丽莎》(这相当于去噪过程)。你之所以能完成这个“魔法”,是因为你大脑里已经通过研究成千上万的名画,学会了“一幅名画应该长什么样”的本质规律。扩散模型(Diffusion Model)的核心思想正是如此。它确实包含两个看似矛盾的过程:前向扩散(加噪):这是一个“搞破坏”的过程。系统会拿到一张清晰的图片(比如一只猫),然后按照一个预设的、非常细致的步骤,不断地往图片上添加高斯噪声。每一步都只加一点点,经过几百甚至上千步后,这张图片就彻底变成了一个完全随机的、看起来就像电视雪花屏一样的噪声图。这个过程是固定的、无需学习的,它的唯一目的就是为训练创造“考题”。 它回答了“如果我们想从一张完美图片一步步变成噪声,每一步应该是什么样子”。反向扩散(去噪):这才是模型要学习的核心,即“回忆”或“修复”的过程。模型(通常是一个U-Net结构的神经网络)的任务是学习如何逆转上述过程。在训练时,我们会给它看一张处于中间状态的噪声图(比如第t步的噪声),然后要求它预测出“要恢复到第t-1步,需要从这幅图中减去的噪声是多少”。通过在海量的图片-噪声对上反复训练,这个模型变得越来越聪明,它逐渐学会了“拥有某种特征的图片,在去噪过程中应该呈现怎样的演变路径”。它最终学到的是图像的统计分布规律,即“一只猫”、“一座山”、“一个汉字”在像素空间中的“本质形态”是什么。加噪是为去噪学习创造训练目标和数据的前提。没有这个精心设计的、可量化的“破坏”过程,模型就无法学习如何“重建”。Stable Diffusion:将扩散模型推向时代的聚光灯下原始的扩散模型直接在像素空间中进行“加噪-去噪”,计算量极其巨大,生成一张图片需要GPU算上好几分钟,难以普及。Stable Diffusion 的划时代贡献在于引入了三个关键创新,彻底解决了这个问题:在潜在空间(Latent Space)中操作:Stable Diffusion 并没有直接在数百万维的像素空间里进行昂贵的扩散过程。它先使用一个编码器(VAE的Encoder)将图像压缩到一个高度抽象的、低维的潜在空间中。在这个空间里进行所有的扩散和去噪操作,计算量减少了数十倍。最后,再用解码器(VAE的Decoder)将这个潜在空间里的结果转换回清晰的像素图像。这好比不是直接搬运整栋大楼的砖头(像素),而是先绘制一份极其精确的建筑图纸(潜在表示),只对图纸进行修改,最后再按新图纸重建大楼。引入条件控制(Conditioning):最关键的一步是交叉注意力机制(Cross-Attention)。你的文本提示(Prompt),比如“一只穿着宇航服的柯基犬在月球上”,会通过一个CLIP文本编码器转换成数学向量。在去噪的每一步,U-Net模型都会通过交叉注意力机制去“注视”这个文本向量,确保当前一步去噪出来的潜在特征与文本描述保持一致。这就是文生图(Text-to-Image)的核心实现原理。强大的U-Net架构:负责去噪的模型是一个精心设计的U-Net,它能够同时在多个层次上(从整体轮廓到细节纹理)处理和理解图像信息,确保最终生成的结果既结构合理又细节丰富。正是因为这些改进,Stable Diffusion 得以在消费级GPU上高效地生成高质量图像,从而引爆了AIGC革命。不仅仅是图像生成扩散模型的哲学思想其实广泛存在于各个领域:物理学:它类似于热力学第二定律(熵增,即无序度增加)和试图构建秩序的逆过程。生物学:像蛋白质折叠,从一条无序的氨基酸链(噪声)折叠成有特定功能的精密结构(清晰图像)。人生哲学:很像一个“看山还是山”的悟道过程。先要看遍世间繁华(学习海量数据分布),才能有底气地返璞归真(从噪声中创造出秩序)。最后,扩散模型的“加噪又去噪”,通过一个确定性的、可计算的“破坏”过程,为神经网络设定了一个明确的、可学习的“重建”目标,最终让AI学会了从混沌中创造秩序,从噪声中涌现智慧。
-
MCP (Model Context Protocol) 开发介绍什么是MCPMCP(Model Context Protocol)是一个标准化协议,用于在AI模型和应用程序之间建立安全、高效的通信机制。它允许开发者构建能够与大语言模型进行上下文交互的应用程序。MCP核心特性标准化通信:提供统一的接口规范上下文管理:有效管理对话和应用状态安全性:内置安全机制保护数据传输可扩展性:支持自定义工具和功能扩展MCP开发基础1. 协议结构MCP基于JSON-RPC 2.0构建,支持双向通信:{ "jsonrpc": "2.0", "method": "method_name", "params": {...}, "id": "request_id" } 2. 核心概念Tools:可执行的函数或操作Resources:可访问的数据资源Prompts:预定义的提示模板最佳实践1. 基础MCP服务器实现from mcp.server import Server from mcp.types import Tool, TextContent # 创建MCP服务器实例 server = Server("my-mcp-server") # 定义工具 @server.tool() async def calculate(operation: str, a: float, b: float) -> str: """执行基本数学运算""" if operation == "add": result = a + b elif operation == "multiply": result = a * b else: return "Unsupported operation" return f"Result: {result}" # 启动服务器 if __name__ == "__main__": server.run() 2. MCP客户端使用示例import asyncio from mcp.client import Client async def main(): # 连接到MCP服务器 client = Client("ws://localhost:3000") await client.connect() # 调用远程工具 result = await client.call_tool( "calculate", {"operation": "add", "a": 5, "b": 3} ) print(f"计算结果: {result}") await client.disconnect() # 运行客户端 asyncio.run(main()) 3. 自定义资源访问from mcp.server import Server from mcp.types import Resource server = Server("resource-server") @server.resource("file:///**") async def read_file(uri: str) -> str: """读取文件内容""" file_path = uri.replace("file://", "") with open(file_path, "r") as f: return f.read() # 注册资源 server.register_resource(Resource( uri="file:///example.txt", name="示例文件", description="一个示例文本文件" )) 4. Prompt模板使用from mcp.server import Server server = Server("prompt-server") # 定义prompt模板 server.prompts.append({ "name": "code_review", "description": "代码审查助手", "arguments": [{"name": "code", "description": "待审查的代码"}] }) @server.prompt("code_review") async def code_review_prompt(code: str) -> str: return f""" 请审查以下代码并提供改进建议: ```python {code} ``` 请关注: 1. 代码可读性 2. 性能优化 3. 安全性问题 """ MCP应用场景IDE插件开发:为开发工具提供AI辅助功能企业应用集成:将AI能力集成到业务系统中自动化工具:构建智能工作流和自动化脚本数据分析:提供自然语言数据查询接口在技术实现层面,MCP基于JSON-RPC 2.0标准构建,支持双向通信模式。协议定义了三个核心概念:Tools(可执行的函数或操作)、Resources(可访问的数据资源)以及Prompts(预定义的提示模板)。开发者可以通过这些核心组件构建功能丰富的AI应用。实践示例涵盖了基础服务器实现、客户端使用、自定义资源访问以及Prompt模板应用等多个方面,展示了MCP在实际开发中的灵活性和强大功能,为AI应用开发提供了完整的开发框架和最佳实践指导。
-
“史前时代”(1950年代):在科恩之前,计算机艺术的萌芽已经出现。那时的“艺术家”其实是科学家和工程师。他们在像IBM 704这样的巨型计算机上,用穿孔卡片输入指令,让打印机或绘图仪输出一些简单的图形,比如高斯曲线、抛物线等。这时期的作品更像是“图形可视化”,核心是探索数学之美,创作者的目的并非艺术表达,而是科学实验。代表人物有德国的弗里德·纳克(Frieder Nake)、美国的迈克尔·诺尔(A. Michael Noll) 等。科恩与AARON的登场(1960年代末起):哈罗德·科恩(Harold Cohen)是一位已经成名的英国画家。他在1968年受邀到美国加州大学圣地亚哥分校(UCSD)访问,第一次接触到了计算机。这次相遇改变了他的一生。他不是一个工程师,而是一个想要理解“绘画”这一人类核心创造行为本质的艺术家。这正是科恩和AARON了不起的地方:它的目标不是简单地让机器画画,而是试图编码“绘画”的思维过程本身。 科恩问了一个深刻的问题:一个从没见过世界、没有身体、没有感官的计算机程序,如何才能学会“表现”这个世界?他的答案不是给它输入海量图片去学习(那是今天的深度学习),而是为它建立一套关于“形象”的生成规则。您可以把它想象成教一个机器人所有的语法和词汇,然后让它自己去写诗。AARON的核心知识体系包括:空间与物体的基本关系:科恩为AARON设定了基本的物理规则。比如,一个物体不能浮在空中,它必须有支撑;物体之间会有遮挡关系。程序能理解“在…之上”、“在…之后”这些空间概念。“形象”的生成规则:AARON内部有一个庞大的“规则库”,定义了如何生成各种基本形状(人、植物、石头等)以及如何将它们组合成一个完整的场景。它不是从数据库里调用图片,而是每次从头开始“计算”出一个形象。封闭世界中的开放探索:AARON就像一个在一个设定好物理规则的虚拟世界里自由玩耍的孩子。科恩定义了世界的“物理法则”,但具体画什么、怎么构图,则由程序在这个规则框架内自行决定。因此,AARON的每一幅作品都是独一无二的。从黑白到色彩的进化:早期的AARON只能创作黑白线稿,上色是由科恩手动完成的。后来,科恩花了巨大的精力为AARON设计了色彩系统,教它理解色调、阴影和情感,让它最终能自主进行彩色创作。科恩和AARON的工作,在AI艺术史上的地位是开创性的,他是“符号主义AI”在艺术上的伟大实践者。与今天主流的“连接主义”(神经网络、深度学习)不同,科恩用的是基于规则和逻辑的“符号主义”方法。他试图将艺术创作的“知识”明确地编码出来。他的工作为后来的所有生成艺术和AI艺术奠定了思想和实践的基础。当我们今天看到AI画出精美图片时,其背后依然回荡着科恩在半个多世纪前提出的那个问题:“创造,究竟是如何发生的?”
-
华为CloudMatrix 384超节点于2025年4月10日正式发布。这款超节点是华为云面向AI时代海量算力需求推出的重磅产品,它基于“一切可池化、一切皆对等、一切可组合”的新型高速互联总线设计,实现了从服务器级到矩阵级的资源供给模式转变,具备高密、高速、高效三大特点,在算力、互联带宽及内存带宽等方面实现了全面领先。CloudMatrix 384超节点通过架构创新,旨在解决大模型训练与推理中的算力瓶颈。其最大支持384卡高速互联,并能横向扩展至16万卡集群规模,显著提升了大规模AI计算的效率和稳定性,支持“朝推夜训”等灵活场景,助力企业优化资源利用。无论是驱动更强大的行业大模型,还是加速千行万业的智能化升级,CloudMatrix 384都提供了更澎湃、更可靠的算力底座。它已适配包括DeepSeek在内的160多个第三方大模型,为AI应用落地夯实了基础。大家怎么看超节点技术对未来AI发展的影响?在实际落地中可能会遇到哪些挑战?欢迎交流你的想法!
-
1946年的ENIAC,这台重达30吨的“巨兽”的诞生,绝非偶然。它是二战军事需求的直接产物,但其思想根源却可以追溯到更早。上世纪30-40年代,阿兰·图灵等人已经在理论上奠定了计算的基础,提出了“图灵机”这一伟大模型。与此同时,像康拉德·楚泽在德国、约翰·阿塔纳索夫在美国,也都在独立探索电子计算的可能。ENIAC是这些思想与战时资源结合的巅峰之作。它的伟大之处在于其“通用可编程”性——通过重新接线和设置开关,它能从计算弹道摇身一变,去解决流体动力学甚至氢弹设计的难题。它为AI准备好了第一具真正可用的“身体”,但此时,这具身体还缺少一个关于“智能”的灵魂和梦想。1950年,天才的阿兰·图灵发表了论文《计算机器与智能》,提出了振聋发聩的“图灵测试”。这不仅是一个简单的实验,更是第一次为“机器能否思考”这个哲学命题提供了可操作的、科学化的评判标准。它比达特茅斯会议早六年,为整个AI领域树立了第一座灯塔,指明了终极目标。没有图灵的理论奠基,后来的诸多实践便会失去方向。而1956年的达特茅斯会议完成了从“思想”到“学科”的跳跃。约翰·麦卡锡、马文·明斯基、克劳德·香农等巨擘耗时两月(图灵因故未能出席),不仅正式命名了“Artificial Intelligence”这一领域,更关键的是,他们那份充满乐观的提案,为AI规划了包括神经网络、自然语言处理在内的几乎所有核心研究路线。这是一次“创世记”般的聚会,但它所孕育的乐观情绪,也为其后的挫折埋下了伏笔。在会议之后的十余年里,AI迎来了第一个黄金时代。1960年代,这股乐观主义催生了一系列令人瞠目的预言和早期成功。约瑟夫·维森鲍姆发明了能模拟心理治疗的ELIZA程序,虽简单却首次让大众感觉计算机有了“人情味”;早期的机器人如Shakey开始能感知环境并进行简单规划。然而,现实的铁壁很快降临。1970年代,研究者遭遇了根本无法逾越的“计算墙”和“数据墙”,AI陷入了第一个“寒冬”。詹姆斯·莱特希尔爵士1973年那份著名的报告,几乎给英国的AI研究判了死刑,悲观情绪弥漫全球。寒冬之中,并非没有星火。就在同一时期,另一种范式——专家系统(Expert Systems) 悄然兴起。它放弃了建造“通用智能”的野心,转而专注于在特定领域(如医疗诊断、化学分析)模仿人类专家的决策。在1980年代,专家系统成为了AI第一个成功商业化的分支,带来了短暂的繁荣。然而,因其知识获取的瓶颈和脆弱性,它最终未能挽狂澜于既倒,AI在80年代末迎来了第二次寒冬。真正的转机,藏在一条被主流忽视已久的技术路线上——神经网络。其思想雏形(感知机)在1958年就已出现,但因自身局限性被明斯基等人判了“死刑”。直到1986年,反向传播算法被重新发现并有效应用,才为神经网络带来了复兴的火种。而真正的“奇点时刻”发生在2012年,杰弗里·辛顿的团队采用深度神经网络AlexNet,在ImageNet图像识别大赛中以碾压性优势获胜,错误率骤降。这一标志性事件,彻底引爆了本轮以“深度学习”为代表的AI革命。自此,AI的历史从实验室的编年史,演变成了改变世界的进行时。2016年,AlphaGo击败李世石,不仅展示了AI在复杂决策上的超人能力,更完成了一次全球性的科普;此后,大型语言模型(LLM)迅猛发展,直至2022年底ChatGPT的横空出世,让AI的创造力以一种前所未有的直观方式,呈现在每一个普通人面前。所以,我们可以看到,AI的历史绝非一条直线。它是由理论奠基(1950)、学科创立(1956)、乐观爆发、寒冬反思、商业探索、技术蛰伏(神经网络)、算力催化(GPU与大数据) 最终迎来范式革命(深度学习+大模型) 的螺旋上升史。
-
好奇怪,其他的微认证没这么慢的,一般几个小时,或者隔天就会出来了
-
昇腾平台文生文大模型安装技术洞察 1. 检查环境 1.1 确保NPU设备无异常 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数,用来确认对应卡数已经挂载npu-smi info -t board -i 1 | egrep -i "software|firmware" #查看驱动和固件版本1.2 确保docker无异常 docker -v #检查docker是否安装yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch641.3配置IP转发 vim /etc/sysctl.conf 设置 net.ipv4.ip_forward=1source /etc/sysctl.conf 2. 制作容器2.1 获取镜像 docker pull swr.cn-southwest-2.myhuaweicloud.com/ei_ascendcloud_devops/llm_inference:906_a2_20250821 这是运行大模型服务的镜像。 2.2 启动容器 docker run -itd \--device=/dev/davinci0 \--device=/dev/davinci1 \--device=/dev/davinci2 \--device=/dev/davinci3 \--device=/dev/davinci4 \--device=/dev/davinci5 \--device=/dev/davinci6 \--device=/dev/davinci7 \-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 ${dir}:${container_model_path} \--net=host \--name ${container_name} \${image_id} \/bin/bash --name ${container_name}:容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 {image_id} 为docker镜像的ID,可通过docker images查询 实例:docker run -itd \--device=/dev/davinci0 \--device=/dev/davinci1 \--device=/dev/davinci2 \--device=/dev/davinci3 \--device=/dev/davinci4 \--device=/dev/davinci5 \--device=/dev/davinci6 \--device=/dev/davinci7 \-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 2.3 制作容器环境 运行命令:docker exec -it -u ma-user ${container_name} /bin/bash export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7export VLLM_PLUGINS=ascend # VPC网段# 需用户手动修改,修改方式见下方注意事项;VPC_CIDR为服务器内网ipVPC_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 2.4 运行大模型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 & model为大模型权重文档的路径host为服务器的内网ip,可通过ifconfig查询port为API的端口号,可自定义QwQ-32B.log为写入的日志文档,可自定义 2.5 验证大模型API服务 curl http://${docker_ip}:8080/v1/completions \-H "Content-Type: application/json" \-d '{ "model": "${container_model_path}", "prompt": "hello","max_tokens": 128,"temperature": 0 }'${docker_ip}替换为实际宿主机的IP地址${container_model_path} 的值为大模型路径 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": 128,"temperature": 0.5 }' 返回结果实例: {"id":"cmpl-e96e239e2a3b490da361622879eb9c2c","object":"text_completion","created":1757919227,"model":"/usr/local/data/model_list/model/QwQ-32B","choices":[{"index":0,"text":"light made of?\n\nWhat is moon made of?\n\nPlease tell me if those questions are the same.\nOkay, so I need to figure out what moonlight is made of and what the moon itself is made of. Let me start by breaking down each question.\n\nFirst, \"What is moonlight made of?\" Hmm, moonlight. I know that the moon doesn't produce its own light. So, moonlight must be reflected sunlight, right? Like, the sun shines on the moon, and then the moon reflects that light back to Earth. So, if that's the case, then moonlight is just sunlight that's been reflected","logprobs":null,"finish_reason":"length","stop_reason":null,"prompt_logprobs":null}],"usage":{"prompt_tokens":3,"total_tokens":131,"completion_tokens":128,"prompt_tokens_details":null},"kv_transfer_params":null}
-
例如读取文本信息调用云端多模态大模型对图片进行识别并将检测结果输出为格式化字符串:def jsonOriganiner(self,json_str,PROMPT): ''' 将模型返回的字符串整理成标准JSON格式 参数: json_str: 原始JSON字符串 PROMPT: 提示词 返回: json_data: 整理后的JSON数据 ''' SYSTEM_PROMPT = ''' 我将给你一个字符串,和一个指令。 如果指令是:"list_objs",你就将字符串整理成如下JSON格式: { "function":"list_objs", "objs":[ ["className",[左上角像素坐标x,左上角像素坐标y],[右下角像素坐标x,右下角像素坐标y]], ["className",[左上角像素坐标x,左上角像素坐标y],[右下角像素坐标x,右下角像素坐标y]], ] } 如: { "function":"list_objs", "objs":[ ["apple",[100,100],[300,300]], ["banana",[120,100],[320,300]], ["apple",[120,120],[320,320]], ["banana",[420,400],[820,820]], ] } 2. 如果指令是:"grasp_obj",你就输出: {{ "function":"grasp_obj", "className":"类别名称", "xyxy":[[左上角像素坐标x,左上角像素坐标y],[右下角像素坐标x,右下角像素坐标y]] }} 如: {{ "function":"grasp_obj", "className":"Orange", "xyxy":[[102,505],[324,860]], }} 3. 如果指令是:"descibe_obj"。你就输出: { "function":"descibe_obj", "objs":["类别名称","类别名称","类别名称","类别名称","类别名称"] } 如: { "function":"descibe_obj", "objs":["apple","banana","orange","milk box","mouse"] } 注意: 1. 只需要输出JSON本身,不需要任何其他数据,尤其是JSON前后的```符号 2. 类别要求是英文 我现在给你的字符串是:''' # 调用LLM进行JSON格式整理 json_data = self.ask_LLM(SYSTEM_PROMPT + json_str + "。\n指令是:" + PROMPT) return json.loads(json_data)
-
1. 曼哈顿距离:城市规划师的尺度想象一下你身处纽约曼哈顿的网格状街道中。你想从A点走到B点,你不能直接“穿墙而过”走直线,只能沿着街道的网格,先水平走,再垂直走。曼哈顿距离就是这种路径的总长度。它的数学定义是各维度坐标差值的绝对值之和。公式:在n维空间中,点 x=(x1,x2,...,xn)x=(x_1, x_2, ..., x_n)x=(x1,x2,...,xn) 和点 y=(y1,y2,...,yn)y=(y_1, y_2, ..., y_n)y=(y1,y2,...,yn) 之间的曼哈顿距离为:DManhattan=∑i=1n∣xi−yi∣D_{\text{Manhattan}} = \sum_{i=1}^{n} |x_i - y_i|DManhattan=∑i=1n∣xi−yi∣核心思想:它模拟的是在规则网格(如城市街区、棋盘格)上的移动成本。因此,它又被称为“城市街区距离”或“L1距离”。典型应用:棋盘上车的走法距离、城市规划分析、某些类型的聚类算法(如K-Medians)以及图像处理中计算像素差。2. 欧式距离:我们的直觉空间这是我们最熟悉、最直观的距离概念。它直接源于勾股定理,衡量的是空间中两点之间的直线距离。在一个平面上,它就是连接两点的线段长度。公式:n维空间中的欧式距离为:DEuclidean=∑i=1n(xi−yi)2D_{\text{Euclidean}} = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2}DEuclidean=∑i=1n(xi−yi)2核心思想:它描述的是“最短路径”,是我们对物理世界距离的自然认知。它也被称为“L2距离”。典型应用:其应用无处不在,凡是需要衡量“真实”直线距离的场景都会用到它,例如物理计算、计算机图形学、以及最经典的K-Nearest Neighbors (KNN) 算法。3. 切比雪夫距离:国王的步伐这个名字源于俄国数学家切比雪夫。在国际象棋中,国王可以朝任何方向移动一格,包括斜向。那么,国王从棋盘一格走到另一格所需的最少步数是多少?答案就是切比雪夫距离。它定义为所有维度上坐标差值的绝对值的最大值。公式:DChebyshev=maxi(∣xi−yi∣)D_{\text{Chebyshev}} = \max_i (|x_i - y_i|)DChebyshev=maxi(∣xi−yi∣)核心思想:它衡量的是在任何单一维度上所需的最大变化。只要在一个维度上“追上”了差距,其他维度上的差距可以“顺便”解决(通过斜向移动)。这就像是以所有维度上的最大差距为基准。典型应用:除了象棋,它还常用于仓储物流(例如,起重机移动货物所需时间取决于最长方向的距离)、图像处理(特别是计算像素间的距离,例如在膨胀腐蚀等形态学操作中)。4. 闵可夫斯基距离:统一的数学框架现在,我们来揭示它们之间的联系和渊源。德国数学家赫尔曼·闵可夫斯基(他也是爱因斯坦的老师)提出了一个强大的统一框架——闵可夫斯基距离。公式:DMinkowski=(∑i=1n∣xi−yi∣p)1/pD_{\text{Minkowski}} = \left( \sum_{i=1}^{n} |x_i - y_i|^p \right)^{1/p}DMinkowski=(∑i=1n∣xi−yi∣p)1/p这个公式有一个关键参数:p。这个参数p就像一个“旋钮”,调节着我们对距离的度量方式:当 p=1 时,公式变成了绝对值之和,它就是曼哈顿距离(L1)。当 p=2 时,公式变成了平方和开根,它就是欧式距离(L2)。当 p→∞(趋向于无穷大)时,由于最大的那个坐标差会主导整个求和的结果,公式就退化为了切比雪夫距离。总结与联系这四种距离的提出并非一蹴而就。欧式距离历史最悠久,源自古希腊几何。曼哈顿和切比雪夫距离则源于对现实世界(城市、棋盘)抽象问题的数学建模。而闵可夫斯基站在更高的维度,用一个简洁的公式揭示了这些度量之间的内在统一性,为后来的泛函分析和向量空间理论奠定了基础。
-
2007年,由蒙特利尔大学MILA实验室(Yoshua Bengio教授领导)开发的Theano横空出世。它的核心思想是 “定义一个计算图,然后对其进行编译和优化,以便在CPU或GPU上高效运行”。这在当时是革命性的。Theano允许研究人员用类似数学公式的Python代码定义复杂的数学模型(尤其是神经网络),然后它会在底层将你的代码编译成高效的、可在GPU上运行的机器代码。可以说,Theano是第一个真正意义上被广泛采用的“符号式张量计算编译器”。它奠定了现代深度学习框架的核心范式:定义计算图 -> 自动求导 -> 编译优化 -> 执行。没有Theano,后来的许多框架(包括TensorFlow)的诞生会困难得多。然而,Theano根植于学术界的“基因”也带来了它的局限性。它的API有时显得晦涩难懂,错误信息往往令人费解,其性能优化虽然强大但编译速度可能很慢。更重要的是,它的开发节奏完全由学术实验室的步调所决定,难以满足工业界对快速迭代、大规模部署、生产环境稳定性和强大生态的迫切需求。就在这样的背景下,2015年11月,谷歌大脑团队正式发布了TensorFlow。如果你仔细审视初代的TensorFlow,会发现它的设计理念与Theano惊人地相似:它同样采用“先定义静态计算图,后执行”的符号式范式,同样提供自动求导功能。这绝非巧合,因为TensorFlow的核心开发团队深受Theano等早期工具的影响。事实上,谷歌内部早在2011年就开始使用其前身DistBelief,在吸取了经验和教训后,他们决定打造一个更强大的开源系统。因此,TensorFlow可以看作是Theano思想的“工业化与规模化”版本。它继承了Theano的核心灵魂(静态计算图),并针对Theano的弱点进行了全方位的强化:工业级支持:由谷歌这个世界级的科技巨头全力支持和开发,保证了持续的迭代、维护和生态建设。强大的可扩展性:设计之初就考虑到在数千个设备上训练超大规模模型的需求。全面的生产套件:不仅提供训练工具,还陆续推出了TensorFlow Serving(模型部署)、TensorFlow Lite(移动端和嵌入式部署)、TensorFlow.js(浏览器端)等一整套生产流水线工具。更友好的生态:提供了更高级的API(如Keras),极大地降低了入门门槛。这场“渊源”的结局大家有目共睹。在TensorFlow和另一个动态图框架PyTorch的双重冲击下,作为“前辈”的Theano由于其学术使命已基本完成,MILA实验室在2017年宣布停止主要开发。Theano的历史使命,正是为TensorFlow和PyTorch等框架铺平了道路。 它像一位老师,将自己的思想传授给了学生,而学生们最终走向了更广阔的舞台。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签