Skip to content

如何在安卓 GPU(骁龙 8 Gen 3)上运行 DreamLite?关于 ONNX → MNN 转换路径的请教 #18

Description

@zhangmask

DreamLite 团队好 👋

首先感谢你们出色的工作——一个 0.39B 参数、同时支持 T2I 生成和文生图编辑的端侧统一模型,确实很惊艳。

我们目前正尝试把 DreamLite 移植到 安卓端做 GPU 推理,目标硬件是 骁龙 8 Gen 3(Adreno 750)。项目页上的 demo 全部是 iPhone 17 Pro 的,所以想请教一下安卓侧的方案。

我们已经尝试的方案:

  • 把 UNet / VAE / text-encoder 导出为 ONNX,再尝试转换为 MNN 进行端侧部署。
  • ONNX → MNN 的转换过程比较麻烦:不少算子需要手动映射;in-context spatial concatenation 这种拼接式条件注入里的一些动态 shape 转换不干净;部分节点会 fallback 到 CPU。
  • 同时担心 MNN 在 Adreno 上的 OpenCL/Vulkan 后端 对某些 GPU 依赖 / 算子不支持,实际 GPU 加速可能有限。

想请教的问题:

  1. 官方是否有 安卓端 GPU 推理 的方案?如果有,用的是哪个 runtime(MNN / TNN / NCNN / TFLite / QNN / 其他)?
  2. 移动端 UNet、VAE、text-encoder 分别是怎么处理的——精度(fp16 / int8 / 4-bit)和后端各是什么?
  3. 是否有可以分享的 导出脚本(torch → onnx → mnn,或 torch → 其他),或者预转换好的移动端权重?
  4. 针对 骁龙 8 Gen 3(Adreno 750) 有没有什么具体建议或踩坑点?

我们目前的瓶颈主要在转换流程,而不是模型本身——任何指引都非常感谢。等我们跑通后也很愿意把转换经验整理出来回馈社区。

谢谢!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions