This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VEN-Q1:TIDL 模型 DDR 带宽随着网络的微小变化而显著增加

Guru**** 2463330 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1461298/tda4ven-q1-tidl-model-ddr-bandwidth-increases-dramatically-with-minor-network-change

器件型号:TDA4VEN-Q1

工具与软件:

SDK 版本:10_00_08_00 edgeai 工具

模型尺寸      TDA4VEN 上的推理时间     DDR 带宽(14个图像/秒)   
模型1    21g MAC 41毫秒 1706Mb/s
模型2     22G MAC 48.7ms 2488Mb/s

注意: 与模型1相比,模型2没有引入任何新的卷积层。

DDR 带宽增加了45%。

TI 支持团队按如下方式跟踪了此问题:

2024.12.13:  所有材料均已提交给 TI  支持团队。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    重要更新:

    我们 找到了一种减小 DDR 带宽的方法、方法是在模型编译期间将"high_resolution optimization"设置为 True。 更新内容如下:
    模型尺寸 TDA4VEN 上的推理时间 DDR 带宽(14个图像/秒)
    模型1
    High_Resolution_optimization = False
    21g MAC 41毫秒 1706Mb/s
    模型1
    high_resolution optimization =真
    21g MAC 53毫秒 2500Mb/s
    模型2
    High_Resolution_optimization = False
    22G MAC 48.7ms 2488Mb/s
    模型2
    high_resolution optimization =真
    22G MAC 42.2ms 1600MB/s
    但它只适用于模型2。 模型1变得更糟了。

    最后、我们有以下 问题:

    1. TI 研发团队可以就此问题提供更好的解决方案吗?
    2. TI 研发团队能否告知我们应在何时使用"high_resolution optimization"选项? 换句话说、什么定义为高分辨率?
    3. 将此选项设置为"真"时、TI 研发团队能否告知是否存在任何潜在问题? (因为它不能很好地与模型1配合使用)
    4. Onnx 版本与推理时间/DDR 带宽有什么关系吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yu;

    我已将您的问题转交研发团队。 他们将很快为您提供答案。

    谢谢。此致

    文立

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、陈宇;

    您何时以及如何发送上传的材料?  

    您是否可以使用同一个 TT 上传信息或更新 TT? 如果您为同一问题打开多个工单、系统将会混淆。 为了快速解答您的问题、请针对同一问题使用一个 TT。 但如果您有新问题、请打开一个新的 TT。  

    感谢您的耐心!

    文立

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Li:

    我向您发送了电子邮件、请帮助检查。

    此致

    Joe

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yu、

    据我所知、 high_resolution _optimization 具有与动态填充添加有关的功能、这仍然是一个实验函数。  

    如果运算符执行相同的功能、则 Onnx 版本与推理时间/DDR 带宽几乎没有关系。  

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yu、
    1.虽然卷积运算符在模型1和模型2之间是相同的,但在使用的其他运算符以及在两个模型中存在的分支中也存在差异。 由于网络中的分支存在差异、因此存在各种数据依赖方面、这也会影响写入每层输出的存储器空间(DDR 与片上存储器)。 这 最终会影响推理时间和 DDR 带宽。
    2.  启用"high_resolution optimization"总是可以提供更好的 DDR 带宽(或者与禁用时相比具有相同的 DDR 带宽)。 但是、此功能此时不稳定、因此在某些 情况下可能会产生意外结果。
    3.不, Onnx 版本不会影响 推理时间/DDR 带宽。

    此致
    进纸器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Febin:

    感谢您的答复。

    1. 是的、与模型1相比、模型2有一个新分支、但与整个网络相比、它相对较小(1G MAC)。 但是、DDR 带宽增加了45%。 您的意思是、这主要是由于输出数量的增加? 我们想了解显著增加 DDR 消耗的关键因素、以便我们可以在设计网络时将其用作指南。

    2. 当您提到它可能"在某些情况下产生意外结果"时、您是否意味着同一个网络即使在大多数时间都正确、也可能产生意外结果? 或者您的意思是、只有某些网络结构才会出现意外结果?

    期待您的见解。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    今天通话的最新动态:

    1.  high_resolution_optimization 选项只会影响特定的模型。 因此,如果模型验证正常,那么应该可以使用它。

    2.还需要分析一下当前的模型差异、才能找出 DDR BW 的影响因素。 这可用于优化以后的模型。

    @ Febin,请帮助做进一步的模型分析,并分享什么有助于 DDR BW 的主要。 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yu、
    DDR 带宽取决于很多网络动态特性。 我将尝试描述一些因素:
    1.任何其输出张量大小大于 片上存储器大小的层都将其输出张量写入 DDR 并从 DDR 读取。
    2.当网络中有并行分支时,根层的输出张量必须保留在内存中,直到其所有消费分支都被处理。 根层输出张量可以存储在片上,占用存储器,导致每个分支中的某些层(取决于张量大小)存储在 DDR 中。
    3.如果并行分支中的任何卷积层具有较高的张量大小, 它也会显著影响 DDR 带宽。
    此致
    进纸器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yu、
    我们最近添加了一些优化、适用于 DDR 带宽因模型中有多个并行分支而增加的情况。
    我在此优化基础上对您的模型进行了测试、模型1和模型2的推理时间和 DDR 带宽相近。
    此优化将是我们 下一个 SDK 版本的一部分。

    此致
    进纸器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Febin:

    听起来不错! 我想我们现在可以解决这个问题。我们将在 下一个 SDK 可用后继续跟踪。

    同时、感谢大家深入了解影响 DDR 带宽的因素。