AscendC从入门到精通系列(五)调用基于工程开发AscendC算子
单算子API调用方式是通过C语言API直接调用已编译的自定义算子。首先,需基于AscendC算子工程完成算子的定义与实现,并通过编译脚本部署。编译后,生成的头文件和动态库支持在应用程序中直接调用算子,包括初始化AscendCL、申请资源、数据传输、计算workspace、执行算子、同步等待及资源释放等步骤。编译算子调用程序时,需正确配置CMakeLists.txt,确保头文件和动态库的路径正确。
AscendC从入门到精通系列(四)使用Pybind调用AscendC算子
本文介绍了如何通过Pybind11在PyTorch框架中调用自定义的Ascend C算子。首先,通过编写算子的C++实现和pybind11封装,将算子功能暴露给Python。接着,构建Python调用脚本,利用torch接口生成数据并调用封装好的算子模块。最后,通过CMake配置文件编译整个项目,实现从算子开发到测试的完整流程。
如何在c++侧编译运行一个aclnn(AOL)算子?
CANN的AOL库提供了一系列高性能算子API,优化了昇腾AI处理器的调用流程。通过两段式接口设计,开发者可以高效地调用算子库API,实现模型创新与应用,提升开发效率和模型性能。示例中展示了如何使用`aclnnAdd`算子,包括环境初始化、算子调用及结果处理等步骤。
Ascend推理组件MindIE LLM
MindIE LLM是基于昇腾硬件的大语言模型推理组件,提供高性能的多并发请求调度与优化技术,如Continuous Batching、PageAttention等,支持Python和C++ API,适用于高效能推理需求。其架构包括深度定制优化的模型模块、文本生成器和任务调度管理器,支持多种模型框架和量化方式,旨在提升大规模语言模型的推理效率和性能。
Ascend上的PageAttention
PageAttention旨在解决大型语言模型(LLM)服务中的内存管理低效问题,如内存碎片化、利用率低及缺乏灵活的内存共享机制。通过借鉴操作系统中的虚拟内存和分页技术,PageAttention实现了块级别的内存管理和灵活的KV cache共享机制,显著提高内存利用率,降低延迟,提升模型处理速度和性能。相比传统注意力机制,PageAttention通过分段处理序列,有效解决了长序列处理时的计算效率低下和内存过度使用问题。
Ascend Extension for PyTorch的源码解析
本文介绍了Ascend对PyTorch代码的适配过程,包括源码下载、编译步骤及常见问题,详细解析了torch-npu编译后的文件结构和三种实现昇腾NPU算子调用的方式:通过torch的register方式、定义算子方式和API重定向映射方式。这对于开发者理解和使用Ascend平台上的PyTorch具有重要指导意义。
哪个模型擅长调用工具?这个7B模型跻身工具调用综合榜单第一
《Hammer: Robust Function-Calling for On-Device Language Models via Function Masking》提出了一种新型基础模型Hammer,通过函数掩码技术显著提升了大型语言模型在工具调用方面的性能,减少了对特定命名约定的依赖,展现了强大的泛化能力和超越现有模型的表现。该研究已开源,旨在促进智能设备的本地AI功能发展。
GraphQL 中的权限与认证:一分钟浅谈
本文介绍了GraphQL中权限与认证的基础概念、实现方法及常见问题。通过JWT认证和基于角色的授权示例,详细展示了如何在GraphQL中实现安全的API访问控制,同时指出了一些常见的易错点及其避免方法。