冯思远:Apache TVM 与机器学习编译发展

Apache TVM: 开源深度学习编译器栈 Apache TVM是一个开源的深度学习编译器栈,旨在弥合生产力导向的深度学习框架与性能和效率导向的硬件后端之间的差距。它为各种硬件平台提供端到端的编译优化,以提高深度学习模型的性能和效率。TVM项目的愿景是汇集机器学习、编译器和系统架构领域的专家和从业者,共同构建一个可访问、可扩展和自动化的开源框架,以优化当前和新兴的机器学习模型在任何硬件平台上的性能。Apache TVM作为一个强大而灵活的深度学习编译器栈,正在为深度学习模型的高效部署和优化提供关键支持。 阅读详情

下午好,欢迎大家今天来参加 2023 Meet TVM。作为 Apache TVM PMC,由我来给大家做关于 TVM 的发展以及 TVM 未来 Unity 框架的分享。

Apache TVM Evolution

首先为什么会有 MLC (Machine Learning Compilation)?随着 AI 模型的不断扩展,实际生产应用中会有涌现更多的需求,很多应用的第一层 AI Application(如图所示)是共用的,包括 ResNet、BERT、Stable Diffusion 等模型。

在这里插入图片描述

第二层 Scenario 就不一样了,开发者需要在不同的场景去部署这些模型,最开始是云计算、高性能计算,需要用 GPU 进行加速。随着 AI 领域的加速,最重要的任务就是把它带进千家万户,也就是 Personal PC 个人电脑、Mobile 手机以及 Edge 设备。

然而不同的场景有不同的需求,包括降低成本、提升性能。像 Out of the Box 需要保证用户打开网页或者下载一个应用,可以立马使用,手机需要省电,Edge 需要在没有 OS 的硬件上运行起来,有些时候还需要在低功耗、低算力的芯片上把技术跑起来。这些就是大家在不同应用上遇到的困难,怎么解决?

MLC 领域对此是有共识的,即 Muli-Level IR Design。核心有三层,第一层 Graph-Level IR,中间层 Tensor-Level IR 以及下一层 Hardware-Level IR。这几层是必须的,因为模型是一个 Graph,中间层是 Tensor-Level IR,MLC 的核心就是优化 Tensor Computing。底下这两层 Hardware-Level IR 和 Hardware 是相互绑定的,就是说 TVM 不会去涉及直接生成汇编指令这一层,因为中间会有一些更细的优化技巧,这一层交由厂商或者编译器去解决。

在这里插入图片描述

ML Compiler 在设计之初有一下目标:

  • Dependency Minimization

第一点,最小化依赖部署。为什么现在 AI 应用没有真正落地,正是因为部署的门槛太高。运行过 ChatGPT 的人比 Stable Diffusion 多并不是因为 Stable Diffusion 不够厉害,而是因为 ChatGPT 提供了一个开箱可用的环境。在我看来,使用 Stable Diffusion,你需要先从 GitHub 上下载一个模型,然后开一个 GPU 服务器把它部署起来,但是 ChatGPT 则是开箱即用。开箱即用关键的一点就是最小化依赖,所有人、所有环境上都可以用。

  • Various Hardware Support

第二点,能够支持不同硬件。多样化硬件部署在发展早期不是一个最重要的题,但随着国内外 AI 芯片的发展,它会变得越来越重要,尤其是国内目前的环境以及国内芯片公司的现状,需要我们对各个硬件都有一个很好的支持。

  • Compilation Optimization

第三点,通用编译优化。通过上几层IR的编译可以优化性能,包括提升运行效率、减少内存的占用等。

现在大家大多将边编译边优化作为最重要的点,但对整个社区来说,前两点是关键的。因为这是从编译器角度来看的,并且这两点都是从零到一的突破,优化性能往往是锦上添花。

回到演讲主题,我将 TVM 的发展划分为四个阶段,仅代表个人观点。

在这里插入图片描述

TensorIR Abstraction

Stage 1:在这个阶段,TVM 在 CPU、 GPU 上做推理的优化及加速,GPU 特指 SIMT 的硬件部分。这个阶段很多云计算厂商因为发现在 CPU 和 GPU 上都能加速开始用 TVM。为什么?我前面讲到 CPU 和 GPU 没有 Tensorization Support。TVM 初代 TE Schedule 基于 Halide,没有良好的 Tensorization Support ,所以 TVM 后续发展以 Halide 发展的技术路线,包括 Auto TVM 和 Ansor,都对 Tensorization 的支持不友好。

首先来看硬件发展过程,从 CPU 到 GPU 是 2015、2016 年左右,从 GPU 到 TPU 是 2019 年左右。为了做 Tensorization 支持,TVM 先分析了 Tensorized Programs 特征。

在这里插入图片描述

  • Optimized loop nests with thread binding

第一,需要一个 loop testing,这是所有 Tensorized Program 必需的,底下有 Multi-dimensional data load,这和 CMT、CPU 不一样,它以张量而不是以标量为单位储存和计算的。

  • Multi-dimensional data load/store into specialized memory buffer

第二,它储存在一个特殊 memory buffer 里。

  • Opaque tensorized computation body 16x16 matrix multiplication

第三,会有一个硬件池允许计算。以下的 Tensor Primitive 为例子,计算 16* 16 的矩阵乘法,这个计算不再会表达成以标量组合的计算模式,而是会以一个指令去计算成账号单元。

在这里插入图片描述

依据以上三点 Tensorized Program 的定性分析,TVM 引入了 Computational Block。Block 是一个计算单元,其最外层有 nesting,中间有 iteration iterator、dependency relations,最底下是 body,其概念就是把内外层的计算分离,即 Isolate the internal computation tensorized computation。

Stage 2:在这个阶段,TVM 做 Auto-Tensorrization。具体如何实现的,这里一个例子详细展开。

在这里插入图片描述

Auto-Tensorization

在这里插入图片描述

输入 Input Program 和 Tensor Intrinsic,结果表明:TensorIR 和 TensorRT 在 GPU 上基本上打平,而在一些标准模型性能并不是很好。因为标准模型是 ML Perf 的标准指标,NVIDIA 工程师会花很多时间去做。在标准模型上表现优于 TensorRT 是比较少见的,这也是相当于打赢了业界最先进的技术。

在这里插入图片描述

这是 ARM 自研 CPU 上的性能比较,TensorIR 和 ArmComputeLib 在 End-to-End 上可以比 Ansor 和 PyTorch 快约 2 倍。性能不是最关键的,Auto-Tensorization 思想才最为核心。

在这里插入图片描述

Stage 3:An End-to-End ML Compiler for Tensorized Hardware。这个阶段可以将它扔到 GPU 或者已经支持的加速器芯片上,接下来有自动调优、模型导入,是一套自洽的系统。这个阶段 TVM 的核心是 End-to-End,可以开发一个直接使用的模型,但自定义难度很高。

接下来,关于 Relax、Unity 的发展和思考我会讲得慢一点,原因是:

  • 个人认为 Relax、Unity 比较重要;
  • 尚处于实验阶段,很多东西只有思想,缺少 End-to-End demo 及完整代码。

Apache TVM Stack 的局限性:

  1. Huge Gap between Relay and TIR。TVM 最大问题是 relay 到 TIR 的编译范式太陡峭;
  2. Fixed Pipeline for Most Hardware。TVM 标准的流程是 Relay 到 TIR 到?编译下去,实际上很多硬件要么只支持 BYOC,要么想通过 BYOC+TIR,Relay 支持的并不好,Either TIR or Library。以 GPU 加速为例,给 Relay 底层是固定的东西,要么写 CUDA 做 Auto Tuning,要么给 TensorRT 走 BYOC,要不走 cuBLAS 调第三方库。虽然有诸多选择,但都是一个二选一的问题。这个问题影响比较大,而且在 Relay 上不好解决。

解决方案:TVM Unity。

Apache TVM Unity

把 Relax 和 TIR 这两层 IR 当成一个整体,融合成了 Graph-TIR 编程范式。融合的形式:以最简单的 Linear 模型为例,这种情况下整个 lR 是可控可编程的,用 Graph-TIR 这一层的语言解决了 lower 过于陡峭的问题,高层算子可以逐步修改,甚至可以自行改成任何 BYOC 或 Function Calls。

在这里插入图片描述
在这里插入图片描述

  1. 支持自定义解决 building Pipeline 的问题。原本 TVM Pipeline 是 Relay 额外的 TIR,然后 TIR 做 Tuning,Tuning 完成后传递给 LLVM 或 CUDA,这是一套 fix 的 building Pipeline,现在 Pipeline 发生了改变,

  2. Choose the Best Perf among All Paths。开发者可以在 library 或 TIR 里做选择,调任意东西。这是 Unity 解决的最重要的问题,社区认为这是 unified ML compilation solution。

Misunderstanding
  • TVM 和 MLIR 是竞争关系

实际上,TVM 和 MLIR 没有明确的、同层次的竞争关系,TVM 专注于 MLC 机器学习编译,MLIR 强调 Multi-Level,也可以利用其特性来做 ML 编译。开发者使用 MLIR 做机器学习编译,一方面是因为 MLIR 与PyTorch等框架有原生对接,另一方面是因为在 Unity 之前, TVM 的定制化能力比较弱。

  • TVM = Inference Engine for CPU/GPU

TVM 从来不是一个 inference engine,它能够做编译, 开发者可以用其来做推理加速。TVM 是 compiler infrastructure,但不是 inference engine,「TVM 只能用来加速」这种想法是错误的。TVM 之所以能用来加速,本质原因是 Compiler,比 PyTorch 等 Eager Mode 的执行方式要快。

  • TVM = Auto Tuning

Relax 出现之前,大家对 TVM 的第一反应是,能够通过 Auto Tuning 获得更好的性能。TVM 接下来的发展方向是淡化这个概念。TVM 提供了各种途径以达到更好的性能、定制化整套编译流程。TVM Unity 要做的就是提供一套架构,把各种优势组合起来。

Next Step

下一步 TVM 要做 Cross-Layer Machine Learning Compiler Infrastructure 以及致力于成为 customizable Building Pipeline for Different Backends,在不同的硬件上支持可定制化,这一点需要结合各种方式、集各家所长。

Q & A

Q 1:TVM 有没有计划优化大模型?

A 1:在大模型方面,我们有一些初步的想法。目前 TVM 已经开始做分布式推理以及一些简单训练,但距离真正落地还需要一段时间。

Q 2:Relax 后续在 Dynamic Shape 方面会有哪些支持和演进?

A 2:Relay vm 支持 Dynamic shape,但没有生成 Symbolic Deduction,例如 nmk 的矩阵乘法其输出是 n 和 m,但在 Relay 的表达方式是 3 个 nmk 统称为 Any,即未知 dimension,其输出也是未知 dimension。Relay VM 能运行这些tasks,但是在编译阶段会丢失一些信息,所以 Relax 解决了这些问题,这就是 Relax 针对 Relay 在 Dynamic Shape 上的改进。

Q 3:TVM 的优化和 Device 的优化的结合问题。用 Graph 直接生成指令 的话,Device 的优化中 TE、TIR 好像不太用到。用 BYOC 的话,好像也是跳过 TE、TIR。分享中提到 Relax 可能会有一些定制化,好像可以解决这一问题。

A 3:实际上已经有很多硬件厂商走通了 TIR 这条路,还有一些厂商没有关注相关的技术,选择的还是 BYOC 方法。BYOC 不是严格意义上的 Compilation,在 Building Pattern 上是有限制的。综合来说,不是企业用不上社区技术,而是依据自身情况做出了不一样的选择。

Q 4:TVM Unity 的出现是否会涉及到较高的迁移成本?从 TVM PMC 的角度来看,如何帮助用户顺畅过渡到 TVM Unity?

A 4:TVM 社区并没有放弃 Relay,只是新增了 Relax 这个选项,因此老版本会持续演进,但是为了使用一些新功能,可能需要做一些代码及版本的迁移。

在Relax完整发布后,社区会提供的迁移教程和一定的工具支持,支持 Relay 模型直接导入到 Relax。但是,基于 Relay 开发的定制版本迁移到 Relax,还是需要一定的工作量,这种工作量对于公司十几人的团队,大概需要一个月。

Q 5:TensorIR 在 Tensor 这块相比之前有很大的进展,但我注意到 TensorIR 主要还是针对编程模型如 SIMT、SIMD 这些成熟的编程方式做的,TensorIR 在现在很多的新的 AI 芯片、编程模型这里有没有一些进展?

A 5:从社区角度来说,TensorIR 之所以做 SIMT 模型,是因为现在只能利用到 SIMT 硬件,很多厂商的硬件和指令集都不开源,能够接触到大厂的硬件基本只有 CPU、GPU 和部分手机 SoC,其他的厂商社区基本接触不到,所以不能根据它们的编程模型做。此外,即使社区和企业合作做出来了类似层级的 TIR ,也无法开源,这是出于商业运营的考量。

以上为冯思远在 2023 Meet TVM 上海站的演讲整理内容。接下来,本次活动其他嘉宾分享的详细内容也将陆续在「HyperAI超神经」公众号中发布推出,欢迎持续关注!

获取 PPT:关注微信公众号「HyperAI超神经」,后台回复关键字 TVM 上海,获取完整 PPT。

TVM 中文文档:https://tvm.hyper.ai/

GitHub 地址:
https://github.com/apache/tvm

TVM编译机器学习到 WASM 和 WebGPU TVM编译机器学习到 WASM 和 WebGPU TLDR TVM 深度学习编译器对 WASM 和 WebGPU 的支持。实验表明,TVM 的 WebGPU 后端在将模型部署到 Web 时可以接近原生 GPU 性能。 引论 计算是现代机器学习应用的支柱之一。引入 GPU 以加快深度学习工作量,大大提高了进步速度。鉴于部署机器学习无处不在的需求日益增长,浏览器成为部署智能应用程序的自然场所。 虽然 TensorFlow .js 和 ONNX .js是将机器学习引入浏览器的现有努力,但 Web 版本和本地版本 阅读详情

相关推荐

Apache TVM 是一个开放源代码的机器学习编译器框架,用于 CPU,GPU 和机器学习加速器

Apache TVM 是一个开放源代码的机器学习编译器框架,用于 CPU,GPU 和机器学习加速器。Apache TVM 是深度学习系统的编译器栈。它旨在缩小注重生产力的深度学习框架与注重性能和效率的硬件后端之间的差距。TVM 与深度学习框架协同工作,为不同的后端提供端到端的编译。 使用方法请见README.md文档。

TVM:简介

TVM:简介概述 Apache TVM 是一个用于 CPU、GPU 和机器学习加速器的开源机器学习编译器框架。它旨在使机器学习工程师能够在任何硬件后端上高效地优化和运行计算。本教程的目的是通过定义和演示关键概念,引导您了解 TVM 的所有主要功能。新用户应该能够从头到尾完成本教程的工作,并能够操作 TVM 进行自动模型优化,同时对 TVM 架构及其工作原理有基本的了解。 内容 介绍 安装 TVM 使用命令行界面编译和优化模型 使用 Python 接口编译和优化模型 使用张量表达式使用运算符 使用模板和 A

weixin_44966641的博客 4758

新手必看:TwinCAT死活扫不到倍福CX5020?别慌,先检查这3个地方(附静态IP配置)

本文详细介绍了TwinCAT软件无法扫描到倍福CX5020控制器的常见问题及解决方案。从网络连通性检查、系统环境配置到静态IP设置,提供了一套完整的排查流程和优化建议,帮助新手快速解决通信问题,确保设备稳定运行。

weixin_27219587的博客 364

Apache TVM - 开放深度学习编译器栈

一、关于 Apache TVM 1、项目概览 2、相关链接资源 3、功能特性 二、快速开始 三、参与贡献 其它 参考项目

AI工程化、开源分享、文档翻译、代码笔记 921

Ansys Lumerical实战:5步搞定Mach-Zehnder调制器多物理场仿真(附眼图分析技巧)

本文详细介绍了使用Ansys Lumerical进行行波马赫-曾德尔调制器多物理场仿真的完整流程。通过CHARGE、MODE和INTERCONNECT三大模块的协同工作,从电学参数提取、光学射频特性分析到系统级眼图评估,分步解析了高效仿真与性能优化的核心技巧,为硅光调制器设计提供了实战指南。

weixin_29056781的博客 542

iOS远程真机之ios-minicap安装使用完全指南

minicap 是开源项目 STF 中的高速截图工具。STF利用此工具不断的传输图片信息并在web端绘制实现 以前只有Android版本,最近有新的ios版本,现在就安装过程中遇到的一些问题进行分享(ps:感谢sorccu 在issue里面给我的指点) 首先上地址:https://github.com/openstf/ios-minicap 你可以git clone或者直接下载zip包。

甫式人生 1万+

Apache TVM:开源深度学习编译器栈的领跑者

Apache TVM:开源深度学习编译器栈的领跑者 项目介绍 Apache TVM 是一个专为深度学习系统设计的编译器栈。它旨在弥合生产力导向的深度学习框架与性能和效率导向的硬件后端之间的差距。TVM 通过与深度学习框架协同工作,提供端到端的编译能力,支持多种后端硬件。作为一个开源项目,TVM 由 Apache 软件基金会管理,采用 Apache-2.0 许可证,确保了项目的开放性和社区的广泛参与...

gitblog_00181的博客 621

ABAP 7.40 FOR 表达式与 REDUCE 构造运算符深度解析:从语法新特性到真实项目实践

ABAP 7.40引入了FOR和REDUCE表达式语法,使代码更简洁和函数式。FOR支持内表迭代和条件迭代,可配合VALUE构造新内表,替代传统LOOP。REDUCE用于归约运算,将多值折叠为单一结果,如求和、拼接等。这些新特性让ABAP更现代化,与SAP新架构协同更好,提升了开发效率和代码可读性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 317

MLC--机器学习编译的课程笔记

MLC机器学习编译的精简笔记,尝试用简要地表达一些概念,目的不是大而全,需要更全面的可以看陈天奇老师课程课程。

CoSword 1864

基于MATLAB的PDT DMR物理层仿真

PDT DMR物理层仿真的目标是评估系统的误码率(Bit Error Rate,BER),以及验证和优化各种调制方案、编码方案和信道模型。下面将介绍如何进行PDT DMR物理层的仿真,并提供相应的MATLAB源代码。通过上述步骤,我们可以进行基于MATLAB的PDT DMR物理层仿真,并评估系统的性能。根据实际需求,我们可以修改仿真参数和添加更复杂的信道模型,以更全面地评估系统性能。最后,我们可以将仿真结果进行可视化和分析。首先,我们需要设置仿真的参数,包括调制方案、编码方案、信道模型和信噪比等。

TechPulseZ的博客 459

【00】虹软2023届校招专场 ,计算机类笔试攻略(笔试考试时间、考察范围、笔试难度 等说明)

虹软科技2023校招笔试攻略:三大岗位类别(算法、算法优化、开发)分别于7月24日进行。题型包括选择题、编程题和问答题,其中算法类题目降低难度,编程题改为LeetCode模式。重点考察数学基础、机器学习、编程能力(C/C++/Python)、数据结构和算法优化等。建议根据投递岗位选择问答题,算法优化类注重系统知识和SIMD优化,开发类侧重多线程等实际应用能力。笔试结果将作为校招offer的重要参考。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 276

linux(ubuntu20.04)安装tvm-0.9.0+llvm+cuda/cudnn(一步到胃版)

ubuntu20.04安装tvm-0.9.0,使用llvm+cuda+udnn,含anaconda环境导入tvm,以及tvm依赖报错处理

一只野指针.的博客 3173

22、嵌入式软件随机延迟生成与加密算法防护技术

本文探讨了嵌入式软件中的随机延迟生成方法与块密码软件实现的高阶掩码及洗牌技术。重点介绍了浮动均值延迟生成方法,其在8位AVR平台上的实现效率为Θ(1),显著提升了抗相关功率分析(CPA)攻击的能力,相比传统方法更安全且轻量。同时,分析了高阶掩码与洗牌技术结合的方案,通过理论建模量化其对高级差分功率分析(DPA)攻击的抵抗能力,并以AES为例展示了该方案的应用流程。最后对比了不同防护技术在安全性与开销之间的权衡,为实际应用中选择合适的安全策略提供了依据。未来可进一步优化实现效率并融合多种防护手段以应对复杂安全

fern8的博客 88

探索深度学习效能的新边界:Apache TVM

探索深度学习效能的新边界:Apache TVM relax项目地址:https://gitcode.com/gh_mirrors/relax/relax 在深度学习的世界里,追求效能和生产力的平衡始终是一项挑战。Apache TVM 是一个开源的深度学习编译器栈,它致力于消除框架与硬件后端之间的鸿沟,提供兼顾效率和性能的解决方案。本文将带你深入了解 TVM 的魅力,并揭示其在实际应用中的强大潜力...

gitblog_00025的博客 587

基于STM32设计的遥控灭火消防小车_296

随着城市化进程的加速和火灾发生频率的增加,传统的消防方式在应对初期火灾时存在反应慢、效率低等问题。为了提高火灾响应速度和灭火效率,本设计开发了一款基于STM32单片机的遥控灭火消防小车。该小车配备了烟雾检测、温湿度监测、火源定位、灭火操作等功能,能够通过蓝牙和WIFI实现远程控制与实时视频传输。设计采用了MQ2烟雾传感器、SHT30温湿度传感器、火光传感器和ESP32摄像头模块等硬件设备。系统不仅能够自动检测和定位火源,还可以手动调整灭火器对准位置,进行干粉灭火。此外,蜂鸣器用于火源报警,确保操作人员及时得

723

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

MiroThinker参数规模对比:8B/30B/72B/235B模型如何选择

MiroThinker作为开源agentic模型,专为深度研究和复杂工具使用场景设计,提供了8B、30B、72B和235B多种参数规模选择。本文将详细对比不同参数模型的性能表现、适用场景及配置方法,助你快速找到最适合的方案。 ## 一、参数规模与性能关系 不同参数规模的MiroThinker模型在处理能力上存在显著差异。从8B到235B,模型的理解能力、推理深度和工具使用效率呈现阶梯式提升。

gitblog_00744的博客 748

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【TVM 教程】如何在 GPU 上优化卷积

Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →本教程演示了如何在 TVM 中编写高性能卷积实现。以正方形大小的输入张量和滤波器为例,假设卷积输入的 batch 较大。在此示例中,使用不同的布局来存储数据,以实现更好的数据局部性。缓冲区布局是 HWCN,分别代表高度、宽度、通道、batch。

HyperAI超神经 888

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

探索深度学习的新境界:Apache TVM 开源编译器栈

探索深度学习的新境界:Apache TVM 开源编译器栈 项目介绍 在人工智能的浪潮中,Apache TVM 如同一座桥梁,联结着便捷开发的深度学习框架与追求极致性能的硬件后端。作为一个高效、灵活的开源编译器栈,TVM(Apache 软件基金会项目)旨在缩小生产力工具和高性能硬件之间的鸿沟。它不仅与主流的深度学习框架无缝对接,还能够为目标硬件提供从高层次模型到低层次代码的一站式优化编译解决方案。无...

gitblog_00076的博客 640

Apache TVM 项目推荐

Apache TVM 项目推荐 项目基础介绍和主要编程语言 Apache TVM(全称为"Tensor Virtual Machine")是一个开源的深度学习编译器框架,旨在优化和编译深度学习模型,使其能够在各种硬件平台上高效运行。TVM 支持多种编程语言,包括 Python、C++ 和 JavaScript。项目的主要编程语言是 Python,因为它提供了丰富的库和工具,便于...

gitblog_00194的博客 430

Apache TVM 使用教程

Apache TVM 是一个开源的深度学习编译器框架,旨在优化和编译机器学习模型,以便在各种硬件后端上高效运行。TVM 支持多种前端框架(如 TensorFlow, PyTorch, MXNet 等)和多种后端硬件(如 CPU, GPU, FPGA 等)。 ## 项目快速启动 ### 安装 首先,克隆 TVM 仓库并安装依赖: ```bash git clone --recursive h

gitblog_01175的博客 854

Stable Diffusion WebUI Forge 保姆级指南:AI 图像生成不再被显存绑架

Stable Diffusion WebUI Forge 是一个本地 AI 图像生成工具,它把原版 Stable Diffusion WebUI 装不下的 FLUX 大模型、跑不动的低显存场景,压到了一张 8GB 显存的消费级显卡上。你只需要会拖一个滑块。这篇文章带你从克隆仓库到第一次出图,再到低显存调参、线稿控制、FLUX 量化加载,最后把常见故障按"症状 → 原因 → 处理"过一遍。 ##

gitblog_00110的博客 138

推荐文章:探索Apache TVM的世界 —— 引领深度学习编译器的未来

推荐文章:探索Apache TVM的世界 —— 引领深度学习编译器的未来 tvm-rfcsA home for the final text of all TVM RFCs.项目地址:https://gitcode.com/gh_mirrors/tv/tvm-rfcs 在人工智能的浪潮中,优化计算性能与提高开发效率是两大永恒的主题。今天,我们将带您深入了解一个革命性的开源项目——Apache T...

gitblog_00028的博客 912

安装源码包Apache

1:下载安装apache 此处我是在北理开源软件镜像服务下载 的,其实,有点好奇,这些镜像他们是这么维护的。 1.1:下载 [root@hadb httpd]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.29.tar.gz --2018-02-03 00:15:27-- http://mirror.bit.edu.cn...

zhuzi51的专栏 2805

Apache TVM 常见问题解决方案

Apache TVM 是一个开源的深度学习编译器堆栈,旨在弥合深度学习框架的生产力与硬件后端的性能和效率之间的差距。TVM 支持多种硬件后端,包括 CPU、GPU 和专用加速器。该项目的主要编程语言包括 Python、C++ 和 Rust。 ## 新手使用注意事项及解决方案 ### 1. 环境配置问题 **问题描述**:新手在安装和配置 TVM 环境时,可能会遇到依赖库缺失或版本不兼容的问题

gitblog_00290的博客 517

TVM核心组件详解:Relay、TIR与Runtime

本文深入解析TVM深度学习编译器的三个核心组件:Relay IR作为高阶计算图表示与优化层,提供函数式编程范式和丰富的优化变换;TIR作为张量级中间表示,负责显式内存管理和循环变换优化;Runtime系统则提供高效的内存管理和跨平台执行能力。文章将详细探讨各组件的工作原理、优化技术及相互关系。 ## Relay IR:高阶计算图表示与优化 Relay IR是TVM框架中的高阶中间表示(IR)

gitblog_00604的博客 564

【机器学习300问】139、Post-LN 和 Pre-LN 的区别?

Post-LN与Pre-LN的核心区别在于LayerNorm的位置:Post-LN在残差连接后,导致梯度需经LayerNorm变换,深层易出现梯度衰减或震荡;Pre-LN先做归一化,使输入稳定,残差路径梯度可无损回传,显著提升深层训练稳定性。尽管Pre-LN支持更深层次模型(如LLaMA、Qwen),但存在“深度诅咒”——深层贡献不足。相比之下,Post-LN浅层表现尚可,深层数易发散。因此,现代大模型普遍采用Pre-LN以保障训练可靠性。

qq_39780701的博客 396
上一篇: 活动回顾 | 2023 Meet TVM 首聚上海,百余位工程师共话机器学习编译的现在和未来
下一篇: 「瞬息全宇宙」背后的 AI 公司,曾参与 Stable Diffusion 开发,去年获 5000 万美元融资
HyperAI超神经
博客等级 码龄7年 8872粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值