DakeQQ / Native-LLM-for-Android

Demonstration of running a native LLM on Android device.
https://dakeqq.github.io/overview/
Apache License 2.0
42 stars 6 forks source link

关于多模态支持 #2

Open Achazwl opened 4 months ago

Achazwl commented 4 months ago

在导出MiniCPM-V的过程中, Resampler总报错“aten::_upsample_bilinear2d_aa”算子不支持,因此暂时无法使用多模态交互。

在 MiniCPM-V 的 2.0 版本中 openbmb/MiniCPM-V-2,修改后的 Resampler 避免了这个算子,不知道这个版本 ONNX 是否支持呢?

DakeQQ commented 4 months ago

您好~ 我测完了,还是不行. 一样在Resampler.py中的self.attn, 回报了aten::_upsample_bilinear2d_aa算子不支持, 我也很想把它做出來~ 但不晓得改啥能绕开它...

zhb-code commented 1 month ago

我看你在面壁那边问了,他们有回应了吗?

DakeQQ commented 1 month ago

一楼猫头像那位就是响应了呀

Achazwl commented 1 month ago

https://github.com/ggerganov/llama.cpp/pull/6919 我在支持 llama.cpp 的时候,实现方式是将子图固定缩放成 448x448,这样相关算子的形状可以固定,因此可以把算子 bilinear 的运算结果直接存到 checkpoint 里 比如这样。整体来说 onnx 不支持确实麻烦一点,可能可以参照类似的方式进行实现。