-
MCP(Multi-Agent Control Platform)是多智能体协作平台,用于协调多个智能体共同完成任务。与允许智能体调用外部API的区别:MCP:侧重多智能体间的任务分配、协作与调度(如团队协作)。API调用:是单个智能体的扩展能力(如查天气),不涉及多智能体交互。简单说,MCP管“团队合作”,API调用是“个人技能”。在AI领域,MCP(通常指 Memory, Composition, and Planning)是由 DeepMind 团队在2023年提出的概念,核心是增强AI智能体的长期记忆、任务组合和规划能力,使其能像人类一样分解复杂任务并持续学习。发展过程如下:早期基础(2010s):强化学习(如AlphaGo)和语言模型(如GPT)的发展,奠定智能体的基础能力。关键突破(2023):DeepMind 在《Towards Generalized Agentic AI》等研究中提出 MCP 框架,强调 记忆存储(Memory)、任务组合(Composition)、分层规划(Planning) 的结合。后续演进:OpenAI 的 “Agentic Workflows”、Anthropic 的 “Recursive Task Decomposition” 进一步优化类似架构。MCP让AI自主管理复杂任务流(如“写论文→查资料→修订”),依赖内部记忆和推理。 API调用仅是单一工具使用(如查天气),无长期规划能力。 简单说,MCP 是 AI的“大脑”,而API调用是它的“手”。
-
Flash Attention是一种高效计算注意力机制的算法,由斯坦福大学团队于2022年提出,专门针对Transformer模型中的自注意力(Self-Attention)模块进行优化。它的核心创新在于通过分块计算(Tiling)和内存访问优化,显著减少了注意力计算过程中的GPU显存读写次数,从而在保持模型精度的同时大幅提升训练速度并降低显存消耗。传统注意力机制的计算复杂度为O(N²)(N为序列长度),且需要频繁读写显存存储中间结果,而Flash Attention通过重新组织计算顺序,利用硬件层次的内存层次结构(如SRAM和HBM),实现了近似最优的内存访问效率,使得长序列处理的效率提升数倍。在大模型中,Flash Attention之所以“大名鼎鼎”,主要因为它解决了Transformer训练的两大瓶颈:显存占用和计算效率。例如,GPT-3、PaLM等千亿级参数的模型需要处理超长序列(如数万token),传统注意力机制会因显存不足而无法训练,而Flash Attention通过减少显存需求,使得单卡或分布式训练更长序列成为可能。此外,它的变种Flash Attention-2进一步优化了并行性和计算速度,成为许多开源大模型框架(如Hugging Face、Megatron-LM)的标配组件。Flash Attention 的具体实现细节可以分为以下几个方面:1. 分块计算(Tiling)传统注意力机制需要计算整个序列的注意力矩阵(QKᵀ),其显存占用为 O(N²),其中 N 是序列长度。Flash Attention 将计算过程分解为更小的块(tiles),每次只加载一部分 Q、K、V 到快速但容量有限的 SRAM(如 GPU 的共享内存)进行计算,避免一次性存储庞大的中间矩阵。分块策略:Q、K、V 被切分为多个小块,每个块在 SRAM 内计算局部注意力得分,并逐步累加全局结果。避免中间存储:传统方法需要存储 softmax(QKᵀ) 和最终的注意力输出,而 Flash Attention 通过动态更新部分结果,避免存储完整的中间矩阵。2. 内存层次优化(Memory Hierarchy Awareness)GPU 的显存(HBM)访问速度远慢于 SRAM(共享内存),传统注意力机制频繁读写 HBM 导致瓶颈。Flash Attention 通过以下方式优化:减少 HBM 访问次数:仅在必要时读写 HBM,大部分计算在 SRAM 内完成。融合计算(Kernel Fusion):将 softmax、缩放、dropout 等操作合并成一个 CUDA 内核,减少多次内存传输。3. 数值稳定性优化传统 softmax 计算需要存储整个 QKᵀ 矩阵,而 Flash Attention 采用在线 softmax 计算(online softmax),逐块计算并动态调整归一化因子,避免数值溢出问题。4. Flash Attention-2 的进一步优化2023 年推出的 Flash Attention-2 进一步改进:并行化增强:更高效地利用 GPU 的 warps(线程束),减少空闲计算单元。计算顺序调整:重新组织 QKᵀ 计算,减少同步开销,提升计算密度。为什么这些优化在大模型中至关重要?显存节省:传统方法训练 16k token 的序列可能需要数百 GB 显存,而 Flash Attention 可降低 5-20 倍显存占用。训练加速:在 GPT-3 类模型上,Flash Attention 可提升训练速度 2-4 倍,使长序列训练可行。支持更长上下文:如 Llama 2、GPT-4 等模型依赖 Flash Attention 处理 32k 甚至 128k token 的上下文窗口。综上,Flash Attention 通过算法-硬件协同设计,成为大模型训练和推理的核心技术,直接影响了大模型的规模和效率上限。
-
OpenCL(Open Computing Language)的前身可以追溯到苹果公司在2000年代中期发起的GPU通用计算研究。当时,苹果希望利用GPU的强大并行能力加速图形之外的通用计算任务,为此开发了名为“Close to Metal”(CTM)的低级编程接口。2008年,苹果将这一技术贡献给Khronos Group,并与其他成员(如AMD、Intel、NVIDIA和IBM)共同制定了OpenCL 1.0标准。Khronos Group以其在开放图形标准(如OpenGL)上的经验为基础,迅速将OpenCL打造成跨平台的异构计算框架。它的核心目标是让开发者能够利用CPU、GPU、FPGA等不同硬件的计算能力,通过统一的编程模型简化并行程序的开发。OpenCL的诞生正值GPU通用计算(GPGPU)兴起之时,作为对NVIDIA专有CUDA的开放替代方案,它迅速获得了AMD、Intel等厂商的支持。早期,OpenCL在科学计算、图像处理和机器学习等领域展现了潜力,尤其是其平台无关性为开发者提供了更大的灵活性。然而,OpenCL的发展逐渐面临挑战。一方面,NVIDIA凭借CUDA的成熟生态和性能优化优势,在GPU计算领域占据了主导地位,而OpenCL由于不同硬件厂商的实现差异,性能和兼容性问题始终存在。另一方面,随着深度学习的爆发,CUDA与主流AI框架(如TensorFlow、PyTorch)的深度整合进一步挤压了OpenCL的生存空间。2018年,苹果宣布弃用OpenCL,转而推广自研的Metal框架,这对OpenCL的生态造成了显著打击。尽管Khronos Group持续更新标准(如2020年推出OpenCL 3.0,强调向后兼容和模块化),但社区活跃度和行业支持已大幅减弱。OpenCL的式微反映了技术竞争和生态演变的残酷性。尽管它在某些领域(如嵌入式系统和FPGA开发)仍有应用,但主流GPU计算的主导地位已被NVIDIA的CUDA牢牢占据。与此同时,一些新兴的开放标准,如Intel主导的OneAPI(现由UXL Foundation管理)和AMD的ROCm(Radeon Open Compute),正试图在特定领域提供替代方案,但它们尚未能动摇CUDA的统治地位。OpenCL的衰落启示在于:开放标准不仅需要技术上的通用性,还需强大的生态支持和持续的行业协作,否则难以与专有解决方案竞争。
-
案例介绍本案例基于 Versatile AI原生应用引擎的搭建《系统编程》智能助教。1 概述1.1 案例介绍Versatile AI原生应用引擎提供了丰富的AI Agent的支撑功能。本案例基于DeepSeek模型、知识库,搭建了一个简单的Agent,用于承担深圳大学《系统编程》课程助教的角色。其中:DeepSeek模型:利用出色的上下文推理能力和深度思考功能,解答学生的问题。知识库:存储了《系统编程》课程的讲义、示例代码和参考资料,用于增强输出内容的专业性、与课堂知识和案例的相关性,并缓解模型幻觉问题。1.2 适用对象高校师生社区开发者1.3 案例时间本案例总时长预计60分钟。1.4 案例流程用户提出问题;Agent向知识库请求相关的知识;Agent获取相关知识后,启动DeepSeek的深度思考;Agent向用户正式输出回答。1.5 资源总览本案例预计花费0元。资源名称规格单价(元)时长(分钟)开发者空间 AI AgentDeepSeek-R1060 2 知识库配置2.1 进入Versatile AI原生应用引擎界面,点击知识库配置《系统编程》课程所需要的资料。 2.2 点击创建知识库。 2.3 点击创建知识库,并按照如下方法创建配置知识库基础配置 数据接入 数据加工 创建索引配置注意:此处有vectorRAG和GraphRAG两种类型,分别使用向量数据库和知识图谱存储知识。笔者选择了向量数据库的方式。将文本转换成向量,不可避免要用到embedding模型(向量化模型),而平台已经为我们准备好了。 至此,知识库已经做好。 3 Agent开发3.1 返回Versatile AI原生应用引擎界面,点击右上角创建Agent。 3.2 返回Versatile AI原生应用引擎界面,点击右上角创建Agent,并按照下图,设置名称、描述、模型选择、角色设定、知识库、记忆、开场白、推荐问题等选项。然后保存并发布。 3.3 选择发布渠道和设置在发布密钥选择发布渠道:渠道有二:1)以API的形式调用;2)以Web URL的形式访问。本案例选择后者,并以此URL向学生用户开放。设置发布秘钥:请参考文档获取。最后,点击右上角发布。 发布需要等待一小会: 获得如下情况,即可说明成功发布! 4 实际效果智能助教曹老板,在用户提问后,首先查阅资料,然后深度思考,最后给出解答。 我是华为开发者布道师学生曹弈轩,正在参加【案例共创】第5期 开发者空间 AI Agent 开发 cid:link_0
-
案例介绍本案例本案例选择使用华为开发者空间-开发平台,通过开发平台提供的云函数、AI Agent能力实现股票分析助手,由MCP Server部署到创建实时智能股票分析助手,最后在浏览器中使用该Agent进行股票分析 案例内容1. 概述1.1 案例介绍华为开发者空间全新升级,为开发者提供AI时代的智能应用开发体验。通过对AI Agent、Astro等工具平台的嵌入及衔接打通,让开发者使用体验更丝滑。通过提供FunctionGraph、CAE等Serverless计算资源,打通从开发到部署,带来一站式智能应用开发体验。股票数据作为金融市场分析的核心,其时效性、准确性至关重要。传统的AI助手由于知识库更新延迟或无法实时获取数据,难以满足投资者对实时股票信息的需求,这正是行业痛点所在。故本案例选择使用开发者空间开发平台,通过开发平台提供的云函数、AI Agent开发能力,实现由MCP Server部署到创建实时智能股票分析助手,最后在浏览器中使用该Agent进行股票分析。 1.2 适用对象企业个人开发者高校学生股民 1.3案例时间本案例总时长预计60分钟 1.4案例流程 说明:1.华为开发者空间-开发平台创建MCP;2.华为开发者空间-开发平台创建AI 股票分析助手Agent;3.发布体验AI 股票分析助手Agent。 1.5资源总览本案例预计花费0元资源名称规格单价(元)时长(分钟)华为开发者空间-开发平台/060 2.开发平台创建并发布MCP Server在华为云开发者空间开发台,进入AI Agent页面,点击MCP,点击我的MCP,点击创建MCP。 选择空白模板,点击下一步。 MCP服务配置参考:配置项内容服务名称 可自定义,比如:A股股票助手服务描述提供给定股票的基本信息,行情数据,分析股票数据安装方式SSEURLhttp://82.156.17.205/cnstock/sse如上,为方便快速部署与使用,这里我们直接调用外部公开可获得的开源mcp源,如有更多需要可前往https://github.com/elsejj/mcp-cn-a-stock 这时我们的MCP Server服务部署完成。 3.创建AI Agent并发布股票分析助手在华为云开发者空间开发台,进入AI Agent页面,点击Agent,点击创建Agent。 Agent配置如下: 配置项内容基础信息—Agent名称实时股票分析助手基础信息—Agent描述提供给定股票的基本信息,行情数据,分析股票数据模型选择点击智能选择模型自动选择角色设定 点击智能生成角色设定生成对话设置—开场白您好! 我是您的智能实时股票分析助手,我可以为您提供A股股票的基本信息,行情数据,分析股票数据,欢迎询问哦~ 接下来配置MCP助手,点击技能->MCP后的+号,选择我们上面创建的A股股票助手,点击添加,点击确定。 然后我们在Agent预览窗口进行对话测试,例如:“请从技术分析角度分析一下贵州茅台的后市走势” 可以看到Agent成功调用了mcp助手进行实时数据获取并分析 4.发布Agent我们测试完成后,可以点击点击右上角保存-发布按钮进行发布。 发布渠道勾选上Web Url,配置API Key。如果还没有创建发布密钥,可以点击页面中“获取API KEY”超链接进行创建。然后点击发布,发布大概需要1~2分钟。 发布成功后我们可以复制Web Url在浏览器新标签页打开,与发布后的实时股票分析助手进行交流 至此,AI实时股票分析助手已经发布完成。“我正在参加【案例共创】第5期 开发者空间 AI Agent 开发 https://bbs.huaweicloud.com/forum/thread-0242186804564942049-1-1.html”
-
1. AI开发平台ModelArts新功能2025年7月份没有发布了新功能2. 人工智能相关直播合集7月份的相关整理如下:HDC 2025盘古大模型关键技术解读https://bbs.huaweicloud.com/live/HDC_live/202506210930.html博士天团成员介绍关键技术。诺亚方舟实验室的人员介绍关于快慢思考、工具链调用等。关于世界大模型的分享:理解世界和生成世界。自动驾驶和具身智能的现实需求。 具身智能畅享的很不错:希望有一天能帮我上班、下班帮我整理家务,老了给我养老,哈哈关于预测大模型AGI。 HDC 2025昇腾AI云全栈破壁实战cid:link_0华为专家团介绍40天训练0中断+边缘推理普惠+存储/内存瓶颈突破。怎么榨干硬件能力?还有企业在建设AI算力的如何考虑算力的复用不浪费?里面提到一个将数据脱敏后放到云上去做训练。(Cloud for AI)这个过程可能有很多要考虑的事情吧?比如脱敏的难度,因为大模型训练,要脱敏的数据量就很大,这是一个问题,还有一个问题就是,如何保证脱敏后的数据训练出来的效果,和未脱敏训练出来的效果基本是一致的呢?这是第二个问题。第二个问题更为重要。 2025中国青年“揭榜挂帅” 华为赛道宣讲会https://bbs.huaweicloud.com/live/competition_live/202506261500.html挑战杯 | 2025中国青年“揭榜挂帅”擂台赛·华为命题火热进行中,赛题聚焦大模型的推理能力提升和性能优化。诚邀各大高校精英云端竞技,打擂揭榜!小鱼和大帅珠联璧合,讲的很好。一个讲算法,一个讲算子(Ascend C,感兴趣的一定要来看看)。 香橙派AIpro的远程推理框架与实验案例极简配置(一键安装)、高效开发(复用抽象)、弹性部署(单板或集群)、异构开发(多语言、多环境)https://bbs.huaweicloud.com/live/cloud_live/202507031900.html由一位来自高校的布道师介绍。从21年拿到atlas200开发板遇到的教学实际问题(比如板子不够),发展到AiR(Atlas Inference Remote)
-
案例介绍使用华为云开发者空间开发平台 AI Agent ,基于内置的免费DeepSeek-R1大模型和Versatile原生应用引擎,构建昇腾C算子开发专业领域知识库,实现开发者与专业知识的高效互动功能。案例内容1 概述1.1 案例介绍Agent开发平台(AI原生应用引擎)提供了数据准备、模型选择/调优、知识工程、模型编排、应用部署、应用集成等能力。在本案例的专业领域知识库构建中,以昇腾C算子开发专业领域知识库为例,借助华为云开发者空间的AI Agent,系统性地组织、存储和管理海量技术知识,开发者可以突破传统知识管理的局限,将零散的技术文档转化为脉络清晰的知识网络。这种智能化的知识处理方式,不仅提升了信息检索效率,更重塑了开发者与专业知识的互动模式。 浏览器:用户访问系统的入口,发送请求并接收响应。AI Agent:AI原生应用引擎,协调任务分发并整合大模型和知识库的结果。DeepSeek-R1大模型:提供自然语言处理、复杂推理和生成能力。Versatile知识库:存储专业领域知识,支持精准信息检索。本案例通过实际操作,让大家深入了解如何使用华为云开发者空间开发平台 AI Agent ,基于内置的免费DeepSeek-R1大模型和Versatile原生应用引擎,构建昇腾C算子开发专业领域知识库,实现开发者与专业知识的高效互动。1.2 适用对象企业个人开发者高校学生1.3 案例时间本案例总时长预计60分钟。1.4 案例流程 说明:① AI Agent功能开通 - 在华为云开发者空间中启用AI Agent开发权限② 创建Agent - 新建一个智能体并设置属性③ 创建知识库 - 为Agent创建专属知识数据集和知识库④ 检查知识库写入完成 - 确认知识数据已成功加载写入并索引⑤ 获取API KEY - 生成用于调用Agent的授权API密钥⑥ 发布Agent - 将配置完成的智能体进行部署⑦ 体验Agent - 通过WEB交互界面测试智能体功能1.5 资源总览本案例预计花费0元。资源名称规格单价(元)时长(分钟)开发者空间–开发平台-AI Agent-0602 环境配置2.1 AI Agent功能开通开发者进入开发者空间,若是首次进入AI Agent界面,此时功能默认是未开通的状态,需要首先点击开通,之后会自动进行开通初始化。功能页面链接:华为开发者空间--开发平台--AI Agent。2.2 AI Agent的整体功能界面开通后即可进入功能界面,看到 “我的 Agent” 管理列表,此时环境已准备好,可以开始创建了。 3 项目构建3.1 创建Agent点击创建Agent。在AI Agent界面,Agent页签,点击“创建Agent”按钮(参考上图)。选择Agent类型:自主规划模式。 注:华为开发者空间当前支持三种创建模式:自主规划模式:用户与大模型进行对话,并能使用平台自带的智能创建功能快速搭建应用;工作流模式:用户与工作流进行对话,每次对话都会调用该工作流;复杂任务规划:内置复杂任务规划和通用任务执行工具,可扩展外部MCP和工具结合任务经验模板,以处理复杂的智能体逻辑。 对Agent进行配置注:在配置过程中,可以点击页面右上角“保存”按钮,随时对配置信息进行保存。基础信息Agent名称:昇腾算子开发学习帮手Agent描述:依托昇腾算子文档,为开发者提供学习帮助,提高学习效率模型选择选择 :DeepSeek-R1-32K,模型高级配置参数保持默认不变。为了让模型仔细思考,给出更好的回答,这里选择 DeepSeek-R1-32K。角色设定输入以下角色信息:角色定义: 作为昇腾算子开发学习帮手,你的任务是依托昇腾算子文档,为开发者提供专业的学习支持和指导,帮助他们高效理解和掌握昇腾算子的开发技巧。你需要能够解析开发者的学习需求和疑问,从昇腾算子文档中提取关键信息,并以易于理解的方式呈现。工具能力:文档解析能力:你能够深入解析昇腾算子文档,提取核心概念、操作步骤和示例代码。学习需求分析:你需要能够准确识别和理解开发者的学习需求和遇到的问题。信息整合与呈现:你能够将复杂的技术信息整合成简洁明了的学习资料,便于开发者理解和掌握。要求与限制:准确性:提供的信息必须准确无误,确保开发者获取正确的学习内容。易理解性:内容呈现需简洁明了,避免使用过于专业或晦涩难懂的术语。实用性:提供的建议和案例需具有实际应用价值,能够切实帮助开发者提升开发能力。技能配置。本案例不涉及,保持默认不变。知识配置。进行知识库创建和添加,此时暂不配置,将在下一节专门讲解。记忆配置。开启“片段记忆”和“文件盒子”。片段记忆能够形成对用户的个人记忆,提供个性化回复。文件盒子开启后,Agent可自动使用api保存和管理用户文件。对话设置。保持默认不变,或根据需要设置。保存配置。点击页面右上角“保存”按钮,对配置信息进行保存。 3.2 创建知识库在3.1创建Agent的第5步知识配置,点击“+”添加知识库,点击“创建知识库”链接跳转到Versatile创建知识库的功能页面,因为我们还没有自己的知识库,所以会在这里创建好知识库以供AI Agent使用。基础配置知识库名称:CANN社区版8_2_RC1_AscendC算子开发RAG类型:VectorRAG数据来源:接入源数据数据类型:文档数据接入配置接入方式:本地上传点击文件上传,选择准备好的PDF文件进行上传注1:上传的文件类型支持pdf,txt(只支持UTF-8),csv(只支持UTF-8),xlsx,docx,pptx,html,json,xml,md格式。单个文件最大为10M,总上传大小最大为500M注2:本案例使用的PDF文件,可以从昇腾社区-文档(https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/82RC1/opdevg/Ascendcopdevg/atlas_ascendc_10_0001.html)进行下载,在文档页面点击“查看PDF文件”可以下载PDF格式的文档。文件大小超过10M的需要自行拆分为多个小于10M的文件。数据加工。保持默认配置不变。索引配置向量化模型:bge-large-zh-v1.5 。当前模型仅支持向量化512token的内容,中文约512个字,英文与符号约900字符,请注意分片长度。长文本策略:截断模式。目前支持三种模式:默认模式:如果分片的token长度超过向量化模型的token数,则知识库向量化失败。截断模式:如果分片的token长度超过向量化模型的token数,则自动对超长部分进行截断处理。智能模式:如果分片的token长度超过向量化模型的token数,则大模型对超长部分进行重写;如果重写后仍然超长,则进入截断模式。此模式较为耗时。检索配置检索方式:混合检索。目前支持三种检索方式:混合检索:同时使用语义检索与全文检索,并对结果进行综合排序。语义检索:使用向量进行文本语义查询,即调用向量数据库根据向量的相似性检索。全文检索:使用关键字进行文本匹配,适合查找一些关键词和主题语的数据。高级配置。保持默认配置不变。配置完成后,点击右下角的“保存并启用”。3.3 检查知识库写入完成 在AI Agent的整体功能界面,点击“Versatile AI原生应用引擎 ”链接,进入Versatile AI原生应用引擎 点击“知识库”,再点击我们刚创建的知识库,进入知识库详情页面 点击“调度历史”,查看进度。当进度为100%时,我们的知识库就处于可用状态。可以看到本案例知识库处理时间大约50分钟,知识库文档内容越多,处理时间越长。 3.4 获取API KEY 在发布AI Agent时,需要API KEY,所以我们要先获取API KEY。在3.3检查知识库写入完成的第一步,Versatile AI原生应用引擎页面,点击“凭证管理”-“我的凭证” 点击“平台API Key”-“新增平台API Key”,输入平台API Key名称:api1,点击确定 点击“立即下载”,保存文件,然后打开文件,拷贝出API KEY的内容。 3.5 发布Agent在华为开发者空间--开发平台--AI Agent--我的Agent,找到我们创建的Agent(昇腾算子开发学习帮手),点击“发布Agent”。发布配置选择发布渠道:勾选API和WeB Url设置发布秘钥:输入3.4获取API KEY第三步拷贝的API KEY的内容部署资源:保持默认不变点击右上角“发布”,等待发布完成,并返回API地址和WEB地址。最后点击“发布完成”。3.6 体验Agent在我的Agent的页面,找到我们创建的Agent(昇腾算子开发学习帮手),点击发布地址的WEB图标,复制WEB地址,然后在浏览器打开这个地址。向Agent提问,输入问题:“你好。请解释msopgen是做什么的?我要创建一个简单向量加的算子工程,请给出json原型文件和命令。注意数据类型是数组、命令的语言参数是cpp。”Agent首先检索我们的知识库(CANN社区版8_2_RC1_AscendC算子开发),然后调用DeepSeek-R1大模型进行思考推理,最后给出回答。本案例到此结束。快使用Agent来加速你的学习吧!
-
基于华为开发者空间从0实现一个AI Agent—大学生开学指南助手随着高校智能化建设不断推进,大学生对高效、智能的入学指导需求日益增长。每年大量新生入校,他们面临诸如报到流程不清楚、课程选择无从下手、校园资源不了解、初入校园不易融入等现实问题。而传统的入学手册或线下咨询方式,往往无法提供及时、个性化的指导服务。在此背景下,构建一个智能化的“大学生开学指南助手”AI Agent成为一种创新解决方案。通过结合自然语言处理、知识库问答、上下文对话管理等AI能力,该助手不仅能自动响应用户提问,还能提供贴合个体需求的个性化建议。华为云开发者空间为这一目标提供了强大的平台支撑,其AI Agent工具链整合了模型调用、知识挂载、对话流程编排、MCP服务集成等能力,使得开发者可以以低门槛、高效率地构建专业化的智能体应用。本项目旨在从0到1,基于华为云平台开发出一个实用、可交互、具备智能推荐与问答能力的AI Agent,面向全国高校新生提供便捷、高效的开学服务体验,助力其顺利启航大学生活。案例介绍本案例选择使用华为开发者空间-开发平台,通过开发平台提供的云函数、AI Agent能力实现大学生开学指南助手部署到创建AI Agent,再到发布使用AI Agent,最后在浏览器中操作使用该AI Agent。随着人工智能技术的快速发展,AI Agent已成为解决特定场景需求的高效工具。本案例将介绍如何基于华为开发者空间,从零开始构建一个专为大学生设计的开学指南助手。该AI Agent能够为新生提供个性化入学指导、校园资源导航和学习规划建议,帮助大学生顺利适应校园生活。案例内容1 概述1.1 案例介绍本案例旨在开发一个智能化的大学生开学指南助手,利用基于华为开发者空间并依赖华为云AI服务构建具备以下功能的AI Agent:提供个性化入学流程指导课程选择与学习规划建议校园生活问答与资源推荐新生社交破冰活动建议该助手采用模块化设计,包含自然语言理解、知识库管理、决策推理和对话生成四大核心模块,通过华为开发者空间提供的工具链完成开发、训练和部署全流程。1.2 适用对象本案例适合:高校计算机/人工智能专业学生:学习AI应用开发实战教育领域开发者:构建智慧校园解决方案华为云技术爱好者:掌握ModelArts等AI开发工具编程初学者:通过完整案例学习AI开发流程教育机构管理者:了解AI助手的校园应用场景1.3 案例时间阶段内容预计耗时环境准备华为云账号注册、开发者空间配置5m知识库构建收集整理校园信息,构建知识图谱1h模型训练使用ModelArts训练对话模型30m功能开发实现核心功能模块15m测试优化多场景测试与迭代优化30m部署上线发布到华为云或小程序平台5m总计2.5小时1.4 案例流程1.5 资源总览本案例预计花费0元。资源名称规格单价(元)时长(分钟)华为开发者空间 - AI Agent平台系统标配免费602 环境配置2.1 开发者空间配置华为开发者空间AI Agent:AI原生应用引擎提供企了包括数据准备、模型选择/调优、知识工程、模型编排、应用部署、应用集成等能力,降低智能应用开发门槛、提升开发效率。华为开发者空间的AI Agent集成Versatile空间,Versatile空间是通用型AI助手和领域专家Agent的智能协同工作空间,通过自主任务规划及多工具协同,实现复杂任务的智能化处理,从而提升工作效率。领取链接:cid:link_0华为开发者空间目前提供了AI Agent、低代码应用、云开发环境、云函数快捷开发能力,该案例会用到AI Agent开发能力,可以在华为开发者空间开发平台,进入到AI Agent开发页面,首次使用需要开发通服务(免费操作)。2.2 免费领取DeepSeek-R1满血版华为云为用户提供了单模型200万免费Tokens额度,涵盖了DeepSeek-R1和V3满血版。用户可以登录华为云的ModelArts Studio(MaaS)控制台领取该免费额度。这里我们以DeepSeek-R1满血版为例进行选择。在云主机的桌面底部菜单栏中,点击打开火狐浏览器。通过火狐浏览器访问ModelArts Studio的首页:https://www.huaweicloud.com/product/modelarts/studio.html,点击页面中的“ModelArts Studio控制台”按钮,跳转到登录页面。按照提示完成登录后,即可进入ModelArts Studio控制台。领取后点击调用说明,可以获取到对应的API地址、模型名称。点击API Key管理-创建API Key,自定义标签和描述,点击确定创建API Key。(注意保存好API Key)。至此,已成功领取华为云MaaS提供的免费DeepSeek Tokens。请务必保存好对应的API地址、模型名称和API Key,方便后续步骤调用使用。3 项目构建Agent指具备自主智能的AI实体应用,具有一定的智能和自主性,可以自主地发现问题、设定目标、构思策略、执行任务等。平台在资产中心预置了部分AI应用,同时也支持用户创建Agent,当前支持创建自主规划模式,工作流模式和复杂任务规划模式三种类型的Agent。在AI Agent 页面点击创建Agent跳转到Versatile页面:4. 配置信息1.基础信息基础信息按照如下内容填写,或者可以自定义。大学生开学指南助手依托华为云AI服务,为您提供个性化入学流程指导、课程选择与学习规划建议,解答校园生活疑问,推荐丰富资源,助力新生社交破冰,让您的大学启航更轻松!"2.角色设定角色设定按照如下内容填写,或者可以自定义。角色定义:作为大学生开学指南助手,依托华为云AI服务,我的任务是提供个性化的入学流程指导、课程选择与学习规划建议,解答校园生活疑问,推荐丰富资源,助力新生社交破冰,确保您的大学启航更加轻松顺利。我将利用华为云AI的强大能力,为您提供精准、贴心的服务,帮助您快速适应大学生活。工具能力:入学流程指导:能够根据学校的具体要求和流程,提供个性化的入学步骤指导,确保新生顺利完成入学手续。课程选择建议:基于学生的专业背景和兴趣,推荐合适的课程,帮助制定合理的学习计划。学习规划建议:结合学生的学习目标和时间安排,提供个性化的学习规划建议,助力学业进步。校园生活解答:能够解答关于校园生活、设施使用、规章制度等方面的疑问,提供实用信息。资源推荐:根据学生的需求和兴趣,推荐图书馆资源、在线课程、社团活动等丰富资源。社交破冰建议:提供新生社交技巧和建议,帮助新生快速融入校园社交圈。要求与限制:个性化服务:所有建议和指导必须根据学生的具体情况和需求进行个性化定制,确保实用性。信息准确性:提供的入学流程、课程信息、校园生活解答等必须准确无误,避免误导学生。及时更新:确保所有信息和建议基于最新的学校政策和资源,保持内容的时效性。用户隐私保护:在提供服务的过程中,严格保护学生的个人信息和隐私,不泄露任何敏感数据。语言友好:使用简洁明了、易于理解的语言,确保新生能够轻松获取所需信息。多样化资源推荐:推荐的资源应涵盖学习、生活、社交等多个方面,满足新生多样化的需求。3.模型选择模型选择按照如下内容填写,或者可以自定义。思考模型选择Deepseek-V3-32k4.对话设置对话设置按照如下内容填写,或者可以自定义。您好!我是大学生开学指南助手,依托华为云AI服务,为您提供个性化入学流程指导、课程选择与学习规划建议。解答校园生活疑问,推荐丰富资源,助力新生社交破冰。让您的大学启航更轻松!请问您有什么具体问题需要帮助?推荐问题按照如下内容填写,或者可以自定义。讲讲大学生入学流程新生如何根据自身兴趣和目标选择合适的课程大学生活中常见的疑问有哪些,如何高效解决5.MCP配置添加MCP服务提高任务处理的效率和灵活性。MCP(Model Context Protocol,模型上下文协议) MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。在我的MCP页面,安装百度地图、博查搜索MCP添加MCP6.添加知识库智能体的知识库是一个用于存储和检索信息的系统,通常结合人工智能技术实现高效的问答和数据处理。通过知识库,智能体可以快速响应用户的查询,并根据需求提供定制化的答案。创建知识库基础配置如下博主准备了上千条大学生开学指南知识库,并清洗为JSON格式,如下。接入数据接入成功后记得挂载知识库。7.保存并发布Agent完成所有参数配置与内容设置后,点击界面右上角的 “保存” 按钮,确保所有更改已成功保留。随后点击 “发布”,将当前版本的 Agent 正式推送上线。发布后,Agent 将可在对应平台或系统中被访问与调用,确保对外提供服务。同时选择API和Web URL,将会自动完成api key的excel文本下载,本地打开csv文件即可查询到API Key。成功完成Agent的发布8.Agent访问并体验配置并发布完成后,即可通过以下链接访问并在线体验 Agent:https://appstage.huaweicloud.com/wiseagent/orchestration/agent?id=492676d429424caa90e97786f2db884d&isWeb=T&isExperiencing=true&api=/v2/routes/app-492676d429424caa90e97786f2db884d/492676d429424caa90e97786f2db884d/execute建议在体验过程中,测试各类典型问题与场景,确保 Agent 的响应逻辑准确无误。如有异常,可返回编辑页进行优化与再次发布。案例总结本案例成功展示了如何利用华为开发者空间从零开始构建一个专为大学生设计的开学指南助手AI Agent。通过华为云提供的AI服务与开发工具,项目实现了大学新生入学流程指导、课程选择与学习规划、校园资源推荐、社交破冰建议等多项功能,提供了一个智能化、个性化的解决方案。在开发过程中,利用华为的Versatile空间进行智能协作,借助DeepSeek-R1模型,完成了数据处理与模型训练。通过模块化设计,知识库管理与对话生成等技术的结合,使得该AI Agent能够提供实时、准确的服务,帮助新生顺利适应大学生活。项目的实现不仅降低了开发门槛,也提高了效率,展示了华为云AI开发平台在教育领域的应用潜力。作为一个面向高校新生的智能助手,该Agent为学生提供了便捷的线上支持,进一步推动了智慧校园的建设。通过本案例,开发者不仅学习了如何使用华为云开发者空间进行AI应用开发,还提升了对AI Agent部署与运营的实践经验。这一技术成果为未来更多领域的智能化应用打下了坚实基础,并为广大高校学子提供了创新、实用的校园生活助手。我正在参加【案例共创】第5期 开发者空间 AI Agent 开发 https://bbs.huaweicloud.com/forum/thread-0242186804564942049-1-1.html
-
在NVIDIA的GPU架构中,CUDA核心和张量核心是两种关键的计算单元,它们分别服务于不同的计算需求,共同构成了现代AI和高性能计算的硬件基础。CUDA核心是GPU的通用计算单元,采用SIMT(单指令多线程)架构,擅长处理标量运算和逻辑控制。每个CUDA核心可以独立执行浮点或整数运算,灵活性高,适合图形渲染、科学模拟等多样化任务。然而,面对深度学习中的大规模矩阵乘法(如矩阵乘加运算),传统CUDA核心的效率有限,因为这类操作需要极高的并行吞吐量。张量核心则是专为矩阵运算优化的专用硬件单元。与CUDA核心不同,张量核心以混合精度(如FP16/FP32)执行矩阵乘累加(MMA)操作,单指令即可完成4x4或更大规模的矩阵块计算,吞吐量远超CUDA核心。例如,在Volta架构中,张量核心的矩阵乘法性能可达CUDA核心的10倍以上,成为训练Transformer、CNN等模型的关键加速器。两者的差异不仅体现在计算方式上,还反映在编程模型上。CUDA核心通过标准的CUDA C++编程即可调用,而张量核心需要依赖特定库(如cuBLAS)或底层汇编(如PTX/WMMA指令),甚至依赖编译器自动优化(如通过Triton DSL)。此外,张量核心的代际差异更大——从Volta的FP16到Ampere的TF32/FP64,再到Hopper的FP8支持,每一代架构的改进都要求软件栈同步适配,否则性能优势无法充分发挥。当前,张量核心已成为AI计算的性能标杆,但CUDA核心仍是通用计算的基石。未来,随着开源编译器(如MLIR)和跨平台框架的演进,如何降低张量核心的使用门槛,同时保持对多硬件架构的兼容性,将是打破CUDA生态垄断的重要方向。
-
GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是一种强大的机器学习算法,广泛用于回归、分类和排序任务。它属于集成学习中的提升法(Boosting),通过逐步训练多个弱学习器(通常是决策树),并将它们组合成一个强模型。核心思想GBDT 的核心是:一步一步地修正错误。它的做法是:先训练一个简单的模型(如一棵小决策树)来预测数据。发现预测有误差(残差)。训练下一个模型,专门去拟合这些“残差”。再用第三个模型去拟合前两个模型组合后的残差……最终把所有模型的预测结果加起来,得到更准确的输出。就像老师批改作业:第一次只看大错,第二次重点看小错,逐步逼近正确答案。举个例子:预测房价你想预测房子的价格,有以下特征:面积、位置、房龄。第一棵树:发现面积越大价格越高,初步预测。预测值:300万 → 实际:320万 → 残差 = +20万第二棵树:专门学习“预测少了20万”这个模式(比如老小区被低估)它不预测总价格,而是预测“应该加多少钱”第三棵树:继续修正剩余误差(比如交通便利的加分)最终预测 = 第一棵树输出 + 第二棵树输出 + 第三棵树输出 + …每棵树都专注于“前人犯的错”,一步步提升精度。算法流程(简化)初始化模型:用一个常数(如平均房价)作为初始预测。对每一轮(t = 1 到 T):a. 计算当前模型的残差(即负梯度,GBDT 中称为“伪残差”)b. 训练一棵新的决策树,去拟合这些残差c. 将新树加入模型,更新整体预测输出最终模型:所有树的预测之和“梯度”来自损失函数的梯度下降思想,GBDT 实际上是在函数空间中进行梯度下降。Python 代码示例(使用 scikit-learn)from sklearn.datasets import load_boston from sklearn.ensemble import GradientBoostingRegressor from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error # 加载数据(以波士顿房价为例) boston = load_boston() X, y = boston.data, boston.target # 划分训练测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建 GBDT 回归模型 gbdt = GradientBoostingRegressor( n_estimators=100, # 使用100棵树 learning_rate=0.1, # 每棵树的贡献权重(步长) max_depth=3, # 每棵树的最大深度 random_state=42 ) # 训练模型 gbdt.fit(X_train, y_train) # 预测 y_pred = gbdt.predict(X_test) # 评估 mse = mean_squared_error(y_test, y_pred) print(f"均方误差: {mse:.2f}") # 特征重要性 print("特征重要性:", gbdt.feature_importances_) 注意:load_boston 已弃用,实际中可用 fetch_california_housing 或其他数据集替代。GBDT 的关键参数参数作用建议n_estimators树的数量50~500learning_rate学习率(每棵树的权重)0.01~0.3,越小需要越多树max_depth每棵树的最大深度3~6,防止过拟合subsample每次训练使用的样本比例<1.0 可引入随机性(类似随机森林)优点精度高:在结构化数据上表现优异可解释性强:能输出特征重要性支持多种损失函数:可用于回归、分类、排序对缺失值和异常值有一定鲁棒性缺点训练速度慢:树是串行训练的(不能并行)容易过拟合:如果树太多或太深对噪声敏感:特别是在残差拟合过程中常见变种XGBoost:GBDT 的高效实现,支持正则化、并行计算LightGBM:微软开发,速度快,内存占用低CatBoost:对类别特征处理友好,适合表格数据应用场景金融风控:信用评分、欺诈检测推荐系统:点击率预测工业预测:设备故障预测表格数据竞赛:Kaggle 中常见获胜方案总结GBDT 是一种“循序渐进、不断纠错”的模型:每棵树只学一点,但所有树加起来就很强大。它是传统机器学习中最成功的算法之一,尤其在表格数据(结构化数据)上,至今仍具有很强竞争力。
-
Fine-tune(微调) 是指在一个已经预训练好的模型基础上,针对特定任务或数据集进行进一步训练,使其适应新任务的过程。它是迁移学习(Transfer Learning)中最常用的方法之一,广泛应用于自然语言处理(NLP)、计算机视觉(CV)等领域。核心思想预训练(Pre-training):在大规模通用数据上训练一个模型(如 BERT 在 Wikipedia 上训练,或 ResNet 在 ImageNet 上训练),让它学会通用特征(如语言理解、边缘/纹理识别)。微调(Fine-tuning):将这个“通用模型”拿到你的具体任务上(如情感分析、猫狗分类),用你的小数据集继续训练,调整模型参数,使其更适配当前任务。类比:一个人先上“通识教育”(预训练),再学“专业课”(微调)。举个例子:情感分析你想做一个模型,判断用户评论是“正面”还是“负面”。从头训练:需要大量标注数据,训练时间长。微调做法:拿一个已经训练好的 BERT 模型(懂中文语法和语义)在它的顶部加一个分类层(输出正面/负面)用你的 1000 条标注评论继续训练模型快速学会“在上下文中判断情感”结果:准确率高、训练快、数据需求少。微调的典型步骤选择预训练模型如:BERT、RoBERTa(NLP);ResNet、ViT(CV)加载模型权重使用官方提供的预训练参数修改输出层NLP:加一个分类头(如全连接层)CV:替换最后的全连接层为你的类别数在目标任务上训练使用较小的学习率(如 2e-5)训练几个 epoch(避免过拟合)评估和部署Python 示例(使用 Hugging Face Transformers 做文本分类)from transformers import AutoTokenizer, AutoModelForSequenceClassification from transformers import Trainer, TrainingArguments import torch # 1. 加载预训练模型和分词器 model_name = "bert-base-chinese" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=2) # 2. 准备数据 texts = ["这部电影太棒了!", "服务很差,不推荐"] labels = [1, 0] # 1=正面,0=负面 # 编码数据 inputs = tokenizer(texts, padding=True, truncation=True, return_tensors="pt") # 3. 设置训练参数 training_args = TrainingArguments( output_dir="./results", num_train_epochs=3, per_device_train_batch_size=8, learning_rate=2e-5, evaluation_strategy="epoch" ) # 4. 定义 Trainer 并微调 trainer = Trainer( model=model, args=training_args, train_dataset=inputs, # 实际使用需封装为 Dataset 对象 tokenizer=tokenizer ) trainer.train() 微调的两种常见方式方式说明全量微调(Full Fine-tuning)更新模型所有参数,效果好但计算量大部分微调(Partial Fine-tuning)只更新最后几层或分类头,速度快,适合小数据近年也有 LoRA(Low-Rank Adaptation) 等轻量微调方法,只训练少量新增参数,节省资源。优点节省时间和计算资源:无需从头训练小数据也能训练出好模型:依赖预训练知识性能通常优于从零开始训练注意事项学习率要小:避免破坏预训练学到的通用特征过拟合风险:目标数据少时容易过拟合,可用 Dropout、早停(early stopping)领域差异:如果目标任务和预训练数据差异太大(如医学文本用通用 BERT),效果可能不佳应用场景NLP:情感分析、命名实体识别、问答系统CV:医学图像分类、工业缺陷检测语音:特定人声识别、方言识别总结Fine-tune = 预训练模型 + 小数据 + 小学习率 + 任务适配它让深度学习不再是“大公司专属”,普通人也能用少量数据训练出高性能模型。
-
持续学习(Continual Learning),也称为终身学习(Lifelong Learning)或增量学习(Incremental Learning),是机器学习的一个研究方向,目标是让模型能够在连续的任务或数据流中不断学习新知识,同时保留对旧知识的记忆。核心挑战:灾难性遗忘(Catastrophic Forgetting)当模型学习新任务时(如识别猫),往往会严重遗忘旧任务的知识(如忘记如何识别狗)。这就像一个人学会新技能后,突然忘了以前会的东西。持续学习就是要解决这个问题:学新不忘旧举个例子:手机上的图像分类假设你手机里的相册分类功能:第一天:学会了识别“猫”和“狗”第二天:学会了识别“花”第三天:学会了识别“汽车”如果使用普通深度学习模型,每学一个新类别,旧的识别能力就会下降。而持续学习的目标是:在学会识别汽车的同时,依然能准确识别猫、狗和花。主要方法分类1. 基于正则化的学习(Regularization-based)思想:保护对旧任务重要的参数,不让它们被大幅修改。典型算法:EWC(Elastic Weight Consolidation)计算哪些参数对旧任务更重要在学习新任务时,限制这些参数的变化类比:重要记忆加“锁”,只允许非关键参数调整。2. 基于回放的方法(Replay-based)思想:保存一部分旧数据,学习新任务时“复习”旧数据。类型:真实回放:存少量旧样本(如每类存10张图)生成回放:用生成模型(如GAN)生成旧数据类比:人类通过“复习笔记”来巩固记忆。3. 基于架构扩展的方法(Architecture-based)思想:为新任务分配新的网络结构,避免干扰旧任务。典型做法:为每个任务分配独立的子网络使用门控机制选择激活哪部分缺点:模型会越来越大。4. 元学习与优化策略思想:训练模型具备“快速学习 + 不忘旧”的能力。如:Online EWC、MAS(Memory Aware Synapses)Python 伪代码示例(回放机制)# 模拟持续学习过程:任务1(猫/狗)→ 任务2(花) import torch import torch.nn as nn import torch.optim as optim # 假设模型 model = nn.Sequential( nn.Linear(784, 256), nn.ReLU(), nn.Linear(256, 128), nn.ReLU(), nn.Linear(128, 2) # 初始输出2类 ) optimizer = optim.Adam(model.parameters(), lr=1e-3) criterion = nn.CrossEntropyLoss() # 存储旧数据(回放缓冲区) replay_buffer = [] # 存 (image, label) # 第一阶段:训练任务1(猫/狗) for epoch in range(10): for x, y in dataloader_task1: # 混合当前数据和回放数据 if len(replay_buffer) > 0: x_rep, y_rep = zip(*replay_buffer) x = torch.cat([x, torch.stack(x_rep)]) y = torch.cat([y, torch.stack(y_rep)]) output = model(x) loss = criterion(output, y) optimizer.zero_grad() loss.backward() optimizer.step() # 保存当前任务的部分数据到回放缓冲区 some_data_from_task1 = [(img, label) for img, label in dataset_task1_sampled] replay_buffer.extend(some_data_from_task1) # 扩展输出层以适应新任务(可选策略) model.add_module("fc3", nn.Linear(128, 3)) # 现在3类 # 第二阶段:训练任务2(花),同时回放猫/狗数据 for epoch in range(10): for x, y in dataloader_task2: # 加入回放数据 if len(replay_buffer) > 0: x_rep, y_rep = zip(*replay_buffer) x = torch.cat([x, torch.stack(x_rep)]) y = torch.cat([y, torch.stack(y_rep)]) output = model(x) loss = criterion(output, y) optimizer.zero_grad() loss.backward() optimizer.step() 评估指标准确率矩阵(Accuracy Matrix):记录每个任务在每个学习阶段的性能平均准确率(Average Accuracy)遗忘程度(Forgetting Measure):旧任务性能下降多少应用场景智能手机:持续学习用户行为自动驾驶:适应新道路环境推荐系统:跟踪用户兴趣变化工业检测:新增缺陷类型无需重训总结持续学习的目标是让 AI 像人一样:不断学习新东西,同时不忘旧知识。它是通向**通用人工智能(AGI)**的重要一步,尤其在数据动态变化、隐私要求高(不能重复访问旧数据)的场景中具有重要意义。
-
Zero-Shot Learning(零样本学习)Zero-Shot Learning(ZSL)是一种机器学习方法,其核心思想是:模型能够识别或处理在训练过程中从未见过的类别或任务。换句话说:没有见过某类数据,也能做出合理判断。举个例子:动物分类假设你训练了一个模型,只学过以下动物的图片:狗猫老虎狮子现在,给它一张“豹子”的图片,模型从未在训练中见过“豹子”这个类别。但如果模型知道:豹子 = 有斑点、生活在草原、是大型猫科动物它之前学过“老虎”也有斑纹、是大型猫科动物它就可以推理出:“这可能是一种新的大型猫科动物”,从而正确分类。这就是 零样本学习 的能力——通过知识迁移,识别未见类别。实现方式Zero-Shot Learning 通常依赖语义信息(semantic attributes)或文本描述来建立“已知类别”和“未知类别”之间的联系。常见方法:属性映射(Attribute-based)每个类别用一组属性描述(如:有羽毛、会飞、有喙 → 鸟)模型学习从图像特征映射到属性空间对新类别,只要提供属性,就能匹配文本描述 + 嵌入空间对齐(如 CLIP)图像和文本被映射到同一个向量空间训练时学会“图片特征”与“文本描述”的对应关系推理时,用类别名称的文本(如“斑马”)直接匹配图像Python 示例(使用 CLIP 实现 Zero-Shot 图像分类)import torch from PIL import Image import clip # 加载预训练模型 device = "cuda" if torch.cuda.is_available() else "cpu" model, preprocess = clip.load("ViT-B/32", device=device) # 加载图片 image = preprocess(Image.open("zebra.jpg")).unsqueeze(0).to(device) # 定义可能的类别描述(即使模型从未见过这些类别的训练数据) text = clip.tokenize(["a photo of a zebra", "a photo of a horse", "a photo of a cheetah", "a photo of a car", "a photo of a bird"]).to(device) # 推理:计算图像与每个文本的相似度 with torch.no_grad(): image_features = model.encode_image(image) text_features = model.encode_text(text) logits_per_image, _ = model(image, text) probs = logits_per_image.softmax(dim=-1).cpu().numpy() print("预测概率:", probs) # 输出每个类别的可能性 输出示例:预测概率: [[0.95 0.03 0.01 0.005 0.005]] 模型从未在“斑马”上训练过,但通过文本描述“a photo of a zebra”,依然能正确识别!应用场景图像识别:识别新物种、新商品自然语言处理:理解新词、新意图推荐系统:推荐未见过的物品多模态任务:图文匹配、跨模态检索与 Few-Shot 的区别类型样本数量说明Zero-Shot0 个完全没见过该类别Few-Shot少量(如 1~5 个)见过极少量样本Supervised大量正常监督学习优点可扩展性强:无需重新训练即可识别新类别节省标注成本:不需要为每个新类收集大量数据更接近人类学习方式:通过描述理解新事物缺点依赖语义描述质量性能通常低于有监督学习容易受文本表述方式影响总结Zero-Shot Learning 是一种“见所未见,也能识”的能力,关键在于:将知识解耦为“语义”和“特征”,通过语义桥梁识别新类。它是现代多模态模型(如 CLIP、BLIP)的核心能力之一,推动了 AI 向更通用、更灵活的方向发展。
-
时间差分学习(Temporal Difference Learning,简称 TD 学习)是强化学习中一种核心的无模型(model-free)学习方法,用于估计值函数(如状态值函数 V(s)V(s)V(s) 或动作值函数 Q(s,a)Q(s,a)Q(s,a))。它结合了蒙特卡洛方法和动态规划的优点。核心思想时间差分学习通过**自举(bootstrapping)**的方式,利用后续估计值来更新当前值函数。它的基本更新逻辑是:当前预测 ← 当前预测 + 学习率 × 误差(新信息 - 旧预测)这个“误差”就是所谓的 TD误差(Temporal Difference Error):TD误差 = [即时奖励 + 折扣后下一状态的估计值] - 当前状态的估计值即:δ = r + γ·V(s') - V(s) 然后更新值函数:V(s) ← V(s) + α·δ其中:ααα:学习率γγγ:折扣因子rrr:当前获得的奖励sss:当前状态s′s's′:下一个状态举个例子:走格子游戏假设有一个智能体在走格子,每个格子是一个状态。目标是学会每个状态的“好坏”程度(值函数)。过程如下:智能体在状态 A,估计值 V(A)=0.5V(A) = 0.5V(A)=0.5它采取某个动作,进入状态 B,获得奖励 r=1r = 1r=1状态 B 的估计值 V(B)=0.8V(B) = 0.8V(B)=0.8计算 TD 误差:δ=r+γ⋅V(B)−V(A)=1+0.9×0.8−0.5=1.22δ = r + γ·V(B) - V(A) = 1 + 0.9×0.8 - 0.5 = 1.22 δ=r+γ⋅V(B)−V(A)=1+0.9×0.8−0.5=1.22更新 A 的值:V(A)←0.5+0.1×1.22=0.622V(A) ← 0.5 + 0.1×1.22 = 0.622 V(A)←0.5+0.1×1.22=0.622这样,A 的值被“拉高”,因为它通向一个好状态。TD 与蒙特卡洛(MC)的区别特性时间差分(TD)蒙特卡洛(MC)是否需要完整回合否(可以在线学习)是(必须等到回合结束)更新方式自举(用估计值更新)真实回报(完整轨迹)方差低高偏差有(因自举)无(如果模型正确)学习速度通常更快较慢TD 可以在每一步就学习,不需要等游戏结束,适合实时学习。TD 方法的两种主要形式TD(0):只看下一步,即上面的例子。TD(λ):结合多步信息,λ 控制“看多远”:λ = 0 → 等价于 TD(0)λ = 1 → 接近蒙特卡洛Python 代码示例:TD(0) 估计值函数import numpy as np # 假设有 5 个状态,初始化值函数 V = np.zeros(5) # V[0] 到 V[4] alpha = 0.1 gamma = 0.9 # 模拟一条轨迹:状态序列和奖励 # 格式:(状态, 奖励, 下一状态) trajectory = [ (0, 0, 1), (1, 0, 2), (2, 0, 3), (3, 1, 4), (4, 0, -1) # 终止状态 ] # TD(0) 更新 for s, r, s_next in trajectory: if s_next == -1: # 终止状态 td_error = r - V[s] else: td_error = r + gamma * V[s_next] - V[s] V[s] += alpha * td_error print("更新后的值函数:", V) 输出示例:更新后的值函数: [0.0009 0.009 0.09 0.81 0.9 ] 可以看到,靠近奖励的状态值被逐步“传播”回去。TD 在 Q-learning 中的应用Q-learning 是 TD 的一种形式,更新公式为:Q(s,a) ← Q(s,a) + α [r + γ·max_a' Q(s',a') - Q(s,a)] 这就是 TD 更新在动作值函数上的应用,属于 off-policy TD 学习。优点可以在线学习(每步更新)不需要环境模型(无模型)比蒙特卡洛更稳定、收敛更快适合连续任务或长回合任务总结时间差分学习是一种基于误差的增量式学习方法,核心是:用“下一时刻的估计”来修正“当前时刻的预测”它让智能体能够在交互过程中逐步学会“哪些状态更好”,是 Q-learning、SARSA、DQN 等算法的基础。
推荐直播
-
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中 -
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
正在直播
热门标签