OpenBMB / MiniCPM-V

MiniCPM-Llama3-V 2.5: A GPT-4V Level Multimodal LLM on Your Phone
Apache License 2.0
7.86k stars 547 forks source link

[BUG]Mac M2机器运行遇到的问题 #267

Closed mobguang closed 2 weeks ago

mobguang commented 3 weeks ago

是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?

该问题是否在FAQ中有解答? | Is there an existing answer for this in FAQ?

当前行为 | Current Behavior

你好,请教一下,有两个问题:

  1. 问题一:我在Mac M2的机器上运行PYTORCH_ENABLE_MPS_FALLBACK=1 python3.11 web_demo_2.5.py --device mps(模型是MiniCPM-Llama3-V-2_5),Decode Type选择Sampling和Beam Search会有不同的结果。如果是Sampling返回的结果不可用,请见截图。

所以对于Decode Type的选择,何时用Sampling,何时用Beam Search(Beam Search的耗时好像比较长),谢谢。

image

  1. 问题二: 我后来接着问了一句:图中异常信息的文字内容是什么,结果后台报了下面这个error,请问要如何处理。
: 图片中异常信息的文字内容是什么 Error: command buffer exited with error status. The Metal Performance Shaders operations encoded on it may not have completed. Error: (null) Internal Error (0000010a:Internal Error) label = device = name = Apple M2 Ultra commandQueue = label = device = name = Apple M2 Ultra retainedReferences = 1 ### 期望行为 | Expected Behavior _No response_ ### 复现方法 | Steps To Reproduce _No response_ ### 运行环境 | Environment ```Markdown - OS:MacOS 14.5 - Python: Python3.11 - Transformers: 4.40.0 - PyTorch: 2.1.2 - MPS ``` ### 备注 | Anything else? _No response_
iceflame89 commented 3 weeks ago

关于Decode Type的选择,对于信息提取类需要严格标准结果的任务,推荐使用Beam Search,确实也会需要更大计算开销; 第二个问题,请提供可复现的图像和prompt以便我们分析调试~

mobguang commented 3 weeks ago

@iceflame89

谢谢回复。 对于问题二,现在没法复现,后续我持续观察。

另外,今天遇到一个新问题,我尝试识别照片中的信息,例如希望提取截图中仪表盘显示的“限速已激活”这几个文字,但模型反馈: 不能提供,因为涉及到敏感和隐私。

以下是我提问的prompt:

图片中的数字异常码是多少,如果没有请返回""。数字异常码只包含纯数字和逗号,不包含其他符号,例如,“/”。数字异常码在时间的正下方,并且紧靠这时间区域。请返回完整的信息,包括中间的逗号。 图片中的异常信息文字内容是什么,如果没有请返回""。 图片中对话框的文字内容是什么,如果没有请返回""。

以上3项内容请以json格式返回,key的安排如下: 异常文字信息的key为: error_message 数字异常码的key为: error_code 对话框的文字内容key为:dialog_message

请注意,图片中,异常信息的文字紧挨着时间的正下方,数字异常码在异常信息文字结尾处的括号中。

请问要如何处理这类问题,我提取的信息不涉及任何敏感和隐私内容,在提问是要注意些什么呢,谢谢。

image

Cuiunbo commented 2 weeks ago

@mobguang 您好,目前我们的模型经过对齐可能有了一些保守化回答情况。若您希望在特定场景下非常符合您的回答,可采用以下方法

  1. 使用完整的提示词和few shot激活能力
  2. 经过简单的微调,模型的拒绝回答行为将得到更好的改善。
mobguang commented 2 weeks ago

@mobguang 您好,目前我们的模型经过对齐可能有了一些保守化回答情况。若您希望在特定场景下非常符合您的回答,可采用以下方法

  1. 使用完整的提示词和few shot激活能力
  2. 经过简单的微调,模型的拒绝回答行为将得到更好的改善。

好的,我试一下,谢谢。

mobguang commented 2 weeks ago

@Cuiunbo

请问微调的script可以在Mac M2的机器上运行吗,谢谢。