自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万有文的博客

视觉SLAM 深度学习 目标检测 行为识别 三维视觉 移动机器人 单片机 python自动化

  • 博客(157)
  • 资源 (7)
  • 收藏
  • 关注

原创 图像分割网络架构搜索算法 SEGMENTATION-Adelaide-EA-NAS 遗传算法应用于图像分割网络架构的搜索 遗传算法中,个体被编码为基因型,通过遗传操作(如交叉和变异)来生成新的个体

SEGMENTATION-Adelaide-EA-NAS是图像分割网络架构搜索算法。该搜索算法是在Adelaide沈春华老师研究的Fast-NAS基础上改进的,并将搜索策略从原算法的强化学习(RL)改为遗传算法(EA)搜索,因此命名为SEGMENTATION-Adelaide-EA-NAS。需要了解更多的细节可以看arxiv上的文章。

2024-05-04 13:00:00 477

原创 网络交互协议 资源 代码 端到端、服务到服务、端到服务之间的交互协议规范 数据传输模型 网络通信协议

网络交互协议、资源、代码、端到端、服务到服务、端到服务之间的交互协议规范、数据传输模型以及网络通信协议都是网络技术和计算机科学中非常重要的概念。下面,我将分别对这些概念进行解释。在设计和实现网络交互协议时,需要考虑到协议的效率、安全性、可靠性以及兼容性等方面。同时,随着网络技术的不断发展,新的协议和规范也在不断涌现,以适应更加复杂和多样化的网络应用场景。总之,网络交互协议、资源、代码以及数据传输模型和网络通信协议共同构成了网络技术和计算机科学的基础,它们为各种网络应用和服务提供了强有力的支持。

2024-05-04 11:30:00 381

原创 AutoFIS 针对推荐场景的自动特征选择算法 一种有效的自动特征选择算法,可以帮助推荐系统提高预测精度并降低计算复杂度 通过自动学习有效的特征交互并屏蔽噪声

AutoFIS是推荐场景的自动特征选择算法。推荐场景的神经网络预测模型(包括但不限于CTR预测)可简单分为三个模块:Embedding Layer,Interaction Layer以及MLP Layer,其中Interaction Layer是整个预测模型的关键模块,它需要有效的对特征交互建模。现有预测模型主要基于FM(Factorization Machines)对特征交互建模,在二阶的情况下,即为所有二阶特征交互建模,总数目为O(N2)。

2024-05-03 15:30:00 797

原创 容器虚拟机 资源 容器自动化构建 动手写docker OCI开放容器标准 云原生技术 k8s

容器和虚拟机都是用于资源隔离和管理的技术,它们在资源管理和使用上有所不同。虚拟机是一种基于软件的模拟技术,可以使得一台物理计算机同时运行多个操作系统和应用程序。虚拟机技术具有资源隔离、灵活性和迁移能力等特点。通过虚拟机,可以实现物理资源的动态分配和高效利用,同时也方便进行系统维护和资源调度。容器技术则是一种基于操作系统能力的隔离技术,它通过一组受到资源限制的技术来创建独立的运行环境。与虚拟机相比,容器更加轻量级,启动速度更快,并且资源消耗更低。

2024-05-03 11:30:00 420

原创 Auto-Lane 车道线 车道线架构搜索算法 车道线检测的端到端架构搜索算法 解决现有车道线检测模型计算量大、不适宜实际应用 路径规划、道路偏移预警等功能,并为精确导航提供参照

车道线作为路面最主要的指示信息之一,可以有效地引导智能车辆在约束的道路区域内行驶。实时地检测出路面的车道线是智能车辆辅助驾驶系统中的重要环节,有利于协助路径规划、进行道路偏移预警等功能,并且可为精确导航提供参照。auto_lane旨在解决现阶段车道线检测模型计算量大不适宜落地的问题,而设计的一种端到端的车道线架构搜索算法,算法架构如下图所示:auto_lane分为backbone module,feature fusion module和 head三大组件。

2024-05-02 18:00:00 944

原创 中间件 相关资源 代码 对象存储 容错分布式系统 大数据 搜索引擎 分布式追踪 消息队列 RPC OPC 单点登录(Single sign-on) LDAP

OAuth2是一种授权框架,提供了一套详细的授权机制(指导)。用户或应用可以通过公开的或私有的设置,授权第三方应用访问特定资源。它基于 X.500 标准下更简单的子集标准开发,因此有时 LDAP 也被称之为 X.500-lite,即轻量级 x.500。三个角色:用户/客户端(Browser),应用服务(CAS Client),单点登录服务器(CAS Server)单点登录(Single sign-on)是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。身份访问管理 (IAM)

2024-05-02 13:30:00 840

原创 Tensor Core 基本原理 CUDA Core Tensor Core RT CoreAI 工作负载 线程束(Warp) CNN GEMM 混合精度训练

当 NVIDIA 的架构演进到 Volta 架构时,它标志着对深度学习优化的重大突破。Volta 架构的一个显著特点是引入了大量的 Tensor Core,这一变化对于加速深度学习应用产生了革命性的影响。在 Tensor Core 出现之前,CUDA Core 是实现深度学习加速的核心硬件技术。CUDA Core 可以处理各种精度的运算。如上图 Volta 架构图所示,左侧有 FP64、FP32 和 INT32 CUDA Cores 核心,右侧则是许多 Tensor Core 核心。CUDA Core。

2024-05-01 14:30:00 1262

原创 人工智能相关资源 代码 论文 教程Tutorials 等 Prompt-Engineering 深度学习 辅助驾驶 语言模型 文本生成图片 开源实现 OCR 通用聊天机器人

深度学习是神经网络的深层神经网络。强化学习是独立于机器学习之外的分支,强化学习严格来说不属于机器学习,机器学习的任务是通过已知的训练集来学习目标函数,而强化学习不需要训练集。

2024-05-01 11:30:00 1165

原创 网络加密认证算法 HTTP授权认证 角色访问控制模型 身份和访问管理 JWT一种认证协议 编码算法 加密算法 对称加密 加密、解密、签名、验签,密钥,证书 消息摘要 哈希散列算法

生成数据的唯一密文,不可逆哈希 (Hash Algorithm) 散列算法,是将任意长度的数据映射为固定长度数据的算法,也称为消息摘要(主要用于数据完整性校验和加密/签名)。一般情况下,哈希算法有两个特点:原始数据的细微变化(比如一个位翻转)会导致结果产生巨大差距运算过程不可逆,理论上无法从结果还原输入数据密码哈希(Password Hash)MDMD2MD4MD5SHASHA-0SHA-1SHA-2SHA-256SHA-384SHA-512SHA-3。

2024-04-30 15:30:00 479

原创 C++ 编程语言设计 回顾 C++ 模型 技术上的成功 内存模型 类型推导 简化使用 移动语义 编译期编程 泛型编程 元编程(

编程语言设计的最终目的,是在程序员交付有用的程序的同时,改进他们的思考方式和工作方式。尽管有些程序语言被视为“只是实验性的”,但是一旦程序语言被用于和语言本身无关的实际工作,这门语言的设计者们就应对他们的用户承担相应的责任。正确、合适、稳定性和足够的性能就成为重要的课题。对 C++ 来说,这些事情在 1979 年仅用了 6 个月就发生了。C++ 已经茁壮成长了 40 年之久。为什么能成功?又是如何成功的?编程语言设计的核心目标在于优化程序员的工作效率和思维方式,同时确保所编写的程序能够高效、稳定地运行。

2024-04-30 12:00:00 723

原创 2020 年的 C++ 教育和科研 编程风格 核心指南 嵌入式系统 游戏开发 网络应用 操作系统、编译器和数据库管理系统

在二十一世纪的第二个十年,也就是2010年至2020年期间,C++作为一种高效、灵活的编程语言,在多个领域得到了广泛的应用。其强大的底层控制能力和高效的性能使得C++成为系统级开发、应用软件开发、游戏开发、嵌入式系统开发以及网络应用开发等领域的理想选择。首先,在系统软件开发方面,C++常被用于开发操作系统、编译器和数据库管理系统等。由于其能够直接访问硬件并高效管理内存,C++成为系统级软件开发的重要工具。其次,在应用软件开发领域,C++同样发挥了重要作用。

2024-04-29 16:30:00 911

原创 GPU 架构概述 费米(Feimi)、开普勒(Kepler)、麦克斯韦(Maxwell)、帕斯卡(Pashcal)和伏特(Volt)架构

本节主要回顾了从 2010 年到 2017 年 NVIDIA GPU 架构的发展,其中有几个比较重要的时间节点和技术创新:2010 年提出 Fermi 架构,开启了架构演进的进程,属于首个完整的 GPU 计算架构,里面提出的新概念一直沿用至今;2016 年提出 Pascal 架构,首次提出 NVLink,双向互联带宽达到 160 GB/s 对 AI 领域产生重大影响,是具有历史性意义的里程碑架构;

2024-04-29 11:45:00 1333

原创 C++20:方向之争 C++20 特性 模块 协程 无栈协程 编译期 计算支持 静态反射 模式匹配

C++20作为C++语言的一个新标准,带来了许多新的特性和改进,同时也引发了一些关于发展方向的争议。这些争议主要集中在如何平衡语言的复杂性、性能、易用性以及与其他编程语言和技术的集成等方面。首先,C++20引入了一些新的语言特性和库,如concepts(概念)、ranges(范围)、coroutines(协程)等,这些特性旨在提高代码的可读性、可维护性和性能。然而,这些新特性的引入也增加了语言的复杂性,使得学习和掌握C++变得更加困难。

2024-04-28 13:54:51 1041

原创 GPU 架构与 CUDA 关系 并行计算平台和编程模型 CUDA 线程层次结构 GPU 的算力是如何计算的 算力峰值

本文主要包含 NVIDIA GPU 硬件的基础概念、CUDA(Compute Unified Device Architecture)并行计算平台和编程模型,详细讲解 CUDA 线程层次结构,最后将讲解 GPU 的算力是如何计算的,这将有助于计算大模型的算力峰值和算力利用率。GPU 硬件基础概念GPU 架构与 CUDA 的关系紧密相连,两者共同构成了 NVIDIA 在并行计算领域的核心技术。

2024-04-28 12:21:08 790

原创 C++17:大海迷航 缺省比较 “太空船”运算符 统一调用语法 点运算符 网络库 条件的显式测试 文件系统 并行 STL

在经过 C++14 这个小版本标准之后,C++17 [Smith 2017] 原本被看作是一个大版本。C++17 有很多新的特性,但没有一个我认为称得上重大。尽管我们已经有给 C++11 和 C++14 带来成功的工作流程,标准社区也更丰富、更强大、更热情,但对于 C++17 的关键问题是:为什么所有的辛劳却没有带来更显著的改进?C++17 作为一个重要的标准更新,确实引入了许多新的特性和改进,但相对于之前的 C++11 和 C++14,它可能没有带来那种一眼就能看到的“重大”改变。

2024-04-27 12:30:00 667

原创 C++ 错误处理 异常处理 RAII 是一种资源管理的技术 断言

C++ 的错误处理确实是一个复杂且多面的议题,它涉及到性能、通用性、可靠性等多个方面的权衡。在 C++ 社区中,由于存在多种不同的解决方案和观点,很难找到一个能够满足所有人需求的终极方案。C++ 提供了多种错误处理机制,包括但不限于异常处理、错误码、断言以及使用 RAII(资源获取即初始化)进行资源管理。每种机制都有其适用的场景和优缺点。异常处理是 C++ 中处理错误的首选方式之一。它允许将错误信息从错误发生的位置传播到可以处理它的位置,从而提供了一种结构化的错误处理方式。

2024-04-27 11:15:00 905

原创 C++关键概念 泛型编程 模板的元编程 印第安纳 得克萨斯

(x==y);// Iter 必须有 value_type 成员:// ...某些人(印第安纳)认为概念和类之间的相似性是一种优势。但是,概念中指定的函数并不完全类似于类中定义的函数。例如,在一个class中定义的运算符具有隐式参数(“this”),而concept中声明的运算符则没有。将概念定义为一组操作的方法中存在一个严重的问题。void f(X);void f(X&);暂时不考虑volatile,因为它在泛型代码参数中很少见到,但是我们仍然有四种选择。在一个concept。

2024-04-26 18:10:36 946

原创 为什么 GPU 适用于 AI 卷积计算 cnn GPU 线程分级 计算强度 FP32 和 FP64

为什么 GPU 适用于 AI 计算或者为什么 AI 训练需要使用 GPU,而不是使用 CPU 呢?本节内容主要探究 GPU AI 编程的本质,首先回顾卷积计算是如何实现的,然后探究 GPU 的线程分级,分析 AI 的计算模式和线程之间的关系,最后讨论矩阵乘计算如何使用 GPU 编程去提升算力利用率或者提升算法利用率。GPU之所以适用于AI计算或AI训练,主要是因为它具备一些独特的特性和优势,使得它在处理大规模并行计算任务时比CPU更为高效。

2024-04-26 18:03:10 790

原创 GPU 工作原理 图形处理单元 核心、内存和控制单元 内存架构 指令集 带宽(Bandwidth)、延时(Lantency)和吞吐(Throughput)

前面的章节对 AI 计算体系和 AI 芯片基础进行讲解,在 AI 芯片基础中关于通用图形处理器 GPU 只是简单地讲解了主要概念,本章将从 GPU 硬件基础和英伟达 GPU 架构两个方面讲解 GPU 的工作原理。英伟达 GPU 有着很长的发展历史,整体架构从 Fermi 到 Blankwell 架构演变了非常多代,其中和 AI 特别相关的就有 Tensor Core 和 NVLink。本节首先讲解 CPU 和 GPU 架构的区别,之后以AXY。

2024-04-25 14:15:00 1028

原创 C++11:感觉像是门新语言 内存模型 auto 和 decltype constexpr lambda unique_ptr 并发支持 泛型编程 静态类型 标准库组件 多核、缓存、推测执行、指令乱

用户定义字面量”是一个非常小的功能。但是,它合乎我们的总体目标,即让用户定义类型得到和内建类型同等的支持。内建类型有字面量,例如,10是整数,10.9是浮点数。我试图说服人们,对于用户定义类型,显式地使用构造函数是等价的方式;举例来说,就是complex的字面量等价形式。然而,许多人认为这还不够好:写法并不传统,而且不能保证构造函数在编译期被求值(尽管这还是早年间的事)。对于complex,人们想要1.2+3.4i。与其他问题相比,这似乎并不重要,所以几十年来什么都没有发生。

2024-04-25 12:30:00 1019

原创 C++ 标准委员会 国际C++标准委员会 C++作为一种开源且广泛应用的编程语言 标准的作用 委员会的组织 委员会的结构对 C++ 设计的影响

国际C++标准委员会,正式名称为ISO/IEC JTC1/SC22/WG21,确实是C++语言发展的重要推手。这个组织自1991年成立以来,一直在推动C++标准的制定和演进。在此之前,C++的开发工作主要由美国国家标准学会(ANSI)的C++标准委员会负责。C++作为一种开源且广泛应用的编程语言,没有特定的资金提供来源或所有者,因此其发展在很大程度上依赖于企业开发、开源项目以及社区的努力。对于来自不同组织和公司的开发者来说,WG21和各国的标准委员会成为了他们共同讨论、解决问题和推动C++发展的平台。

2024-04-24 14:30:00 972

原创 劫持linux系统函数 malloc free linux打桩hooking

在Linux中,“打桩”(stubbing)或"钩子"(hooking)是一种修改程序行为的技术,通常用于测试、调试或功能增强。对于malloc和free这样的函数,打桩通常用于追踪内存分配和释放情况,或用于在内存管理中加入额外的逻辑。

2024-04-24 12:15:00 1389

原创 C++ 历史 1979–2006的C++ 现代C++的文艺复兴 走进编程:C++的发展历程 C++的演化历史

C++编程语言走到今天已经有将近40年的历史了,那么我们今天就来看看这个发展历程,看我们从一代又一代的C++标准之中能发现什么秘密吧!我们走进C++的世界······C++ 从 1979 年到 2006 年的历史记录在我的 HOPL 论文中 [Stroustrup 1993, 2007]。在那段时间里,C++ 从一个单人的研究项目成长为大约有 300 万程序员的社区。从1979年到2006年,C++的历史是一段令人瞩目的成长和演变过程。

2024-04-23 14:00:00 1007

原创 2020 年的 C++ 用来做什么 爱立信、华为和西门子 Space X TensorFlow LLVM ADAS 嵌入式系统 元编程 编码指南 静态分析

C++ 的使用领域绝大部分与 2006 年相同(虽然有一些新的领域,但在大多数情况下,我们看到的 C++ 还是在相同或类似的领域中被更加广泛和深入地使用。C++ 没有突然成为一种面向 Web 应用开发的语言,虽然即使在那种场景下仍有人用 C++ [Obiltschnig et al. 2005]。对于大多数程序员来说,C++ 依然是某种隐没在后台的东西,稳定、可靠、可移植、高性能。最终用户是看不见 C++ 的。编程风格则有更加巨大的变化。比起 C++98,C++11 是门好得多的语言。

2024-04-23 11:45:00 1001

原创 无人驾驶 自动驾驶汽车 环境感知 精准定位 决策与规划 控制与执行 高精地图与车联网V2X 深度神经网络学习 深度强化学习 Apollo

Apollo开源自动驾驶平台.

2024-04-22 19:23:23 1549

原创 CPU 指令集架构 复杂指令集架构(CISC)和精简指令集架构(RISC) ARM、MIPS、RISC-V和Alpha 指令集架构(Instruction Set Architecture,ISA)

我们深入了解了CPU的核心功能和其在各种应用场景中的重要性。CPU作为计算机系统的核心组件,通过执行指令集来驱动和控制整个计算过程。它不仅能够处理各种复杂的运算任务,还能够管理内存、控制硬件设备,并与其他处理器协同工作以实现更高效的计算性能。我们详细探讨了指令集在计算机中的作用,以及不同指令集架构(如CISC和RISC)的特点和优劣。指令集作为硬件和软件之间的接口,使得我们可以使用更高层次的抽象语言来编写程序,而不必直接操作硬件。CISC架构提供了丰富的指令集,但可能导致硬件设计复杂和功耗较高;

2024-04-22 19:13:11 953

原创 CPU 基础 冯诺依曼架构 Intel AMD 80586 奔腾 算术逻辑单元ALU、存储单元Memory Unit和Control Unit控制单元 Cache缓存 SIMD

CPU是Central Processing Unit(中央处理器)的简称,它负责执行指令和计算,控制着计算机的所有组件。CPU从无到有,从弱小到强大,经历了漫长发展过程,其间发生了无数的故事。在本节将着重介绍CPU基础内容,从CPU的发展历史入手,看看世界上第一块CPU是怎么诞生的,再到当代CPU的组成,为什么CPU能为我们的电脑处理那么多的事情?带着这些疑问我们开始今天的内容。

2024-04-21 13:45:00 574

原创 # AI计算模式 神经网络模型 深度神经网络 多层感知机 卷积神经网络 循环神经网络 长短期记忆网络 图像识别、语音识别、自然语言 轻量化模型和模型压缩 大模型分布式并行

AI技术发展至今,主流的模型是深度神经网络模型。近20年来,神经网络模型经过多样化的发展,模型总体变得越来越复杂和庞大,对硬件设备的计算速度、存储能力、通信速度的要求越来越高。尽管学者已经提出了许多方法优化模型结构,降低模型的参数量,但是伴随着人们对AI能力的要求越来越高,模型变得更大是不可避免的。原先单CPU可进行模型的训练与推理,如今需要使用GPU、TPU等设备,并通过分布式并行的方式完成计算。因此,如何高效地训练和部署深度神经网络模型已经成为研究热点。

2024-04-21 11:45:00 572

原创 AI 系统与程序代码关系 Python PyTorch 计算图的构建与优化 自动微分 内存管理与优化 分布式训练 AI 训练流程原理 前向传播 算子实现的系统问题 AI 系统遇到的问题

本章主要通过 PyTorch 的实例启发大家建立 AI 系统各个章节之间的联系,由于系统的多层抽象造成 AI 实践和算法创新的过程中已经无法感知底层系统的运行机制。希望能够结合后面章节的学习后,看到 AI System 底层的作用和复杂性,从而指导上层 AI 作业、算法、代码更加高效的执行和编写。在PyTorch等AI框架的抽象之上,底层的系统实际上在进行着大量的操作和计算,这些操作对于上层开发者通常是透明的,但它们的存在和高效运行对于整体系统的性能至关重要。

2024-04-20 14:30:00 997

原创 AI 系统全栈架构 什么是 AI 系统 CPU、GPU、FPGA、ASIC PyTorch、MindSpore 系统设计目标 高效编程语言、开发框架和工具链 系统设计、实现和演化

AI系统是一个集成了硬件、软件和数据,用于执行人工智能任务的复杂系统。它涵盖了从数据收集、预处理、模型训练、推理到最终应用部署的整个过程。AI系统的核心在于通过机器学习算法和深度学习模型,使计算机能够模拟人类的智能行为,从而实现自主决策、推理和识别等任务。硬件层包括高性能计算设备(如CPU、GPU、FPGA、ASIC等)、存储设备(如硬盘、内存)和网络设备等。这些硬件为AI系统的运行提供了必要的计算能力和数据存储能力。数据层涉及数据的收集、清洗、标注和存储。

2024-04-20 11:45:00 936

原创 chatchat加载ptuning指南 训练语言模型(PLM) 高效微调(PEFT) langchain fastchat chatchat peft文件夹修改 代码修改

P-tuning虽然是一种peft方法,但并不能于huggingface的peft python包兼容,而fastchat在多处以字符串匹配的方式进行硬编码加载模型,因此导致fastchat和chatchat不能兼容p-tuning,经langchain-chatchat开发组多次尝试,给出如下指南进行p-tuning加载。P-tuning 是一种针对预训练语言模型(PLM)的参数高效微调(PEFT)方法,它允许我们仅调整少量的参数来实现高效的模型调整。

2024-04-19 15:30:00 742

原创 行动决策与环境感知的任务协同分析 Agent ReAct chain-of-thought CoT 推理(Reason)和行动(Act) 监督学习 强化学习 Act-only 低维嵌入

在讨论“chain-of-thought”推理方法及其与ReAct模块的关系时,我们首先需要明确每种方法的核心特点和局限性。Chain-of-thought(CoT)方法通过引入一种中间推理步骤来增强模型的解释性和性能,特别是在解决复杂数学问题时。然而,正如你提到的,CoT仍然是一个静态的过程,它主要依赖于模型内部的表征来生成推理,而不是基于外部世界的实时信息。这使得它在适应新的推理场景或更新知识方面存在一定的局限性。

2024-04-19 12:45:00 538

原创 AI 发展驱动力 人工智能、机器学习、深度学习和神经网络 技术进步与算法创新 AI 算法的进步 精度超越机器学习 Scale Up算力与体系结构进步 Cube NPU TPU SIMT GPGPU

AI 起源于上世纪五十年代,经历了几次繁荣与低谷,直到 2016 年谷歌旗下的 DeepMind 发布 AlphaGo 程序赢得与世界围棋冠军的比赛,大众对 AI 的关注与热情被重新点燃。其实 AI 技术早在这个标志事件之前已经在工业界很多互联网公司中得到了广泛应用与部署。例如,搜索引擎服务中的排序、图片的检索、广告推荐等功能,背后都有 AI 模型的支撑。在媒体中经常看到词汇:人工智能、机器学习、深度学习和神经网络。那么他们之间的关系是什么?

2024-04-18 15:30:00 1021

原创 大模型LLM 分布式训练技术原理 数据并行 FSDP DDP ZeRO 模型并行 MLP切分 流水线并行 层间并行 序列并行sequence parallelism MoE 混合专家模型

分布式训练技术的核心原理之一是利用多个计算节点或机器来协同完成模型的训练任务,从而加速训练过程。其中,数据并行是分布式训练中的一种重要策略。

2024-04-18 13:30:00 748

原创 大模型技术栈-算法与原理 tokenizer方法 position encoding 位置编码 注意力机制 分布式训练 Prompt Engineering 微调 压缩 剪枝 量化 embeddin

大模型技术栈中的算法与原理涉及多个方面,其中Tokenizer方法是大模型处理文本数据的关键步骤之一。Tokenizer负责将原始文本转化为模型能够理解的数值表示形式,其方法的选择直接影响到模型的性能和效率。以下是对word-level、char-level以及subword-level中的多种Tokenizer方法的介绍:Word-level Tokenizer是最直观的方法,它将每个单词作为独立的标记。这种方法简单易懂,但存在一些问题。

2024-04-17 15:30:00 995 3

原创 大模型推理优化策略 Qunatized KV Cache MQA/GQA FlashAttention PagedAttention 算子融合 延迟优化 No Padding优化 动态批次处理

首先,大模型推理优化策略的目标是提高模型的推理速度,同时尽量保持模型的性能。以下是一些常见的优化策略:使用低精度数据类型:如float16或bfloat16,可以降低计算成本,提高推理速度,同时减少内存消耗。这种方法能在保证模型性能的前提下,显著提高推理速度并减少内存消耗。模型量化:通过降低模型权重和激活的精度来减小模型大小并加速推理。但需要注意的是,量化可能会降低模型的预测质量,因此需要在性能和精度之间找到平衡。

2024-04-17 13:15:00 1315

原创 大模型应用技术原理 RAG(Retrieve-And-Generate) 基于检索和生成的方法 向量数据库 cloud-native 云原生

大模型应用技术原理中的RAG(Retrieve-And-Generate)是一种基于检索和生成的方法,它结合了搜索算法和大型语言模型(LLM)来回答查询并提供相关信息。RAG通过在大规模数据上进行预训练,然后在特定任务上进行微调,从而提高了模型的性能和应用范围。在RAG中,向量数据库扮演着关键角色。向量数据库是一种专门用于存储多维向量数据的数据库,这些向量可以表示特定特征或质量信息。

2024-04-16 15:30:00 718

原创 大模型技术栈-实战与应用 训练框架 deepspeed Megatron Megatron-LM Megatron-DeepSpeed colossal-ai 推理框架 triton 向量数据库

大模型技术栈的实战与应用是一个涉及多个层面和领域的复杂任务。以下是一些关键方面的概述:一、技术栈概述大模型技术栈主要包括一系列用于构建和训练大型人工智能模型的技术和工具。这些模型通常涉及深度学习、自然语言处理、计算机视觉等领域。随着数据规模的增加和计算能力的提高,大模型的性能和应用范围也在不断扩大。二、实战开发在实战开发过程中,开发人员需要深入理解模型架构,合理选择技术栈,并关注应用的实际需求。这包括数据收集与预处理、模型选择与训练、模型优化与部署等多个环节。

2024-04-16 12:15:00 1310

原创 AI计算模式 神经网络模型 全连接网络 卷积神经网络 循环神经网络 注意力机制 LeNet-5 门控循环单元网络GRU AI计算模式思考 轻量化网络模型设计 模型轻量化与模型压缩

AI技术发展至今,主流的模型是深度神经网络模型。近20年来,神经网络模型经过多样化的发展,模型总体变得越来越复杂和庞大,对硬件设备的计算速度、存储能力、通信速度的要求越来越高。尽管学者已经提出了许多方法优化模型结构,降低模型的参数量,但是伴随着人们对AI能力的要求越来越高,模型变得更大是不可避免的。原先单CPU可进行模型的训练与推理,如今需要使用GPU、TPU等设备,并通过分布式并行的方式完成计算。因此,如何高效地训练和部署深度神经网络模型已经成为研究热点。

2024-04-15 16:04:05 1005

原创 FastMoE 系统 易用且高效的基于 PyTorch 的 MoE 模型训练系统 Megatron-LM

FastMoE 是一个易用且高效的基于 PyTorch 的 MoE 模型训练系统.

2024-04-15 15:48:36 1204

DeMat差分进化算法,matlab遗传算法,数学建模大赛,遗传优化算法 DEMO文件夹为示例 差异进化算法的 示例解决方案

DeMat差分进化算法,matlab遗传算法,数学建模大赛,遗传优化算法 DEMO文件夹为示例 差异进化算法的 示例解决方案 作业在 /demo/PID 以及 /demo/PID_simulink下 包含三个文件 目标函数 objfun.m 画图函数 PlotIt.m 主程序 Rundeopt.m 运行前需要导入 主文件目录 addpat

2024-04-06

tvm节点属性更新方案

tvm节点属性更新方案 暴露c++的节点属性更新方法 python 导入 介绍如何在 TVM(TVM 是 Apache 的开源机器学习编译器堆栈)中更新节点属性,以及如何在 Python 中导入和使用 C++ 暴露的节点属性更新方法时,我们通常遵循几个步骤: 了解 TVM 的架构和节点属性: TVM 的计算图由节点(通常是计算操作)和边(表示数据流)组成。每个节点可能有多个属性,这些属性在编译和运行时用于优化和配置。 C++ 端暴露节点属性更新方法: 在 TVM 的 C++ 实现中,你可能需要定义一个接口来更新节点的属性。这通常涉及到修改 TVM 的 C++ 代码,以暴露一个函数或方法,该函数或方法允许你修改特定节点的属性。创建 Python 绑定: 一旦在 C++ 端实现了更新节点属性的方法,你需要创建 Python 绑定,以便在 Python 中调用这个方法。这通常涉及到使用 Pybind11 或其他类似的库来创建 C++ 和 Python 之间的接口。 在创建绑定时,你需要确保 Python 代码能够正确地调用 C++ 函数,并处理任何必要的类型转换。

2024-02-23

onnx计算图优化 计算图匹配 计算图融合 layerNorm融合 groupNorm融合

onnx计算图优化 计算图匹配 计算图融合 layerNorm融合 groupNorm融合 计算图匹配: 计算图匹配是图优化的一种技术,它通过搜索和匹配计算图中的特定模式或子图,然后应用预定义的优化规则来替换这些模式。这种方法通常用于识别并优化常见的、可以简化的图结构。 计算图融合: 计算图融合是一种高级的图优化技术,它可以将多个独立的操作融合成一个更复杂的操作。这种融合可以减少计算图中的节点数量,降低内存访问开销,以及减少计算过程中的数据拷贝次数,从而提高模型的执行效率。 LayerNorm 融合: Layer Normalization(层归一化)是一种常用的归一化技术,用于加速模型训练和提高模型性能。LayerNorm 融合是将 LayerNorm 操作与其相邻的操作(如卷积、全连接层等)融合到一起,从而减少计算图中的节点数量,提高计算效率。 GroupNorm 融合: Group Normalization(分组归一化)是另一种归一化技术,用于当通道数较少时避免批量归一化(Batch Normalization)的性能下降。GroupNorm 融合与 LayerNorm

2024-02-23

python tensorflow 深度学习 学习示例程序

变量 线性回归 手写字体 逻辑回归 多层感知机 多层网络 卷积神经网络 tensorboard 显示优化记录 自编码 原理与PCA相似 长短时记忆 lstm 单词转词向量 中英文 保存和载入网络模型

2018-05-22

python 机器学习

# PyML # python 机器学习实战 # 包含目录: # 1 KNN 最近邻 # 2 DT 决策数 # 3 NB 朴素贝叶斯 # 4 LoR 逻辑回归 # 5 SVM 支持向量机 # 6 AB 集成学习 adaboost元算法 # 7 LiR 线性回归 # 8 RT 数回归 # 9 KM 聚类 # A AP 关联算法 # B FP FP树频繁项挖掘 # C PCA 主成分分析 数据压缩降维 # D SVD 奇异值矩阵分解 数据降维 # E MR 多机器协调处理 # F SKL 集成学习库实战

2018-05-22

libconfig 配置文件使用示例程序

配置文件很重要,INI 太弱,XML 太繁复,Linux *.conf 很酷。 找了好几种相关的类库,发觉还是 hyperrealm libconfig 最强大最好用,相关细节可参考 官方手册。 源中的版本是 1.3.2-1,也可以去官方文章下载最新版本。 $ sudo apt-get install libconfig8 libconfig8-dev 源码安装 : 去 https://hyperrealm.github.io/libconfig/ 下载  ./config make sudo make install 使用说明 c程序  头文件libconfig.h c++程序 所需头文件libconfig.h++,编译时需要链接动态库libconfig++

2018-05-22

ros 工业机器人培训 程序

ROS机器人操作系统 工业机器人 UR5示例程序 moveit运动规划 Descartes笛卡尔稠密运动规划器 抓取规划 放置规划 检测物体 抓起箱子 放置箱子 ros下点云发布接收格式转换 点云滤波下采样 平面提取 欧式聚类分割

2018-05-22

点云pcl库学习 官方demo示例教程 原理解析代码注释

PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库, 它实现了大量点云相关的通用算法和高效数据结构, 涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。 支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。 如果说OpenCV是2D信息获取与处理的结晶, 那么PCL就在3D信息获取与处理上具有同等地位,PCL是BSD授权方式, 可以免费进行商业和学术应用。

2018-05-08

opencv 3.1 官方demo示例教程 原理加注释

用OpenCV创建视频 使用OpenCV中的 VideoWriter 类就可以简单的完成创建视频的工作。 如何用OpenCV创建一个视频文件 用OpenCV能创建什么样的视频文件 如何释放视频文件当中的某个颜色通道 Camera calibration and 3D reconstruction (calib3d module) 2D Features framework (feature2d module) Video analysis (video module) Object Detection (objdetect module) Machine Learning (ml module)

2018-05-08

ORB_SLAM2代码注释原理解析

ORB_SLAM2 特征法SLAM 单目 双目 RGBD * ORB主要借鉴了PTAM的思想,借鉴的工作主要有 * Rubble的ORB特征点; * DBow2的place recognition用于闭环检测; * Strasdat的闭环矫正和covisibility graph思想; * 以及Kuemmerle和Grisetti的g2o用于优化。

2018-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除