Closed Single430 closed 1 month ago
运行脚本的时候 LLM_TYPE匹配吗?
并且这个修改应该是有问题的,有的tokenizer是会产生一个首字符,相当于在
运行脚本的时候 LLM_TYPE匹配吗?
并且这个修改应该是有问题的,有的tokenizer是会产生一个首字符,相当于在
前还有一个字符 在您的情况下,我们原本的代码默认是把那个处理掉了,所以建议您按照原来的代码执行
llm_type=minicpmv 至于你说的有的tokenizer是会产生一个首字符,我这边完全没有遇到,不知道是不是transformers版本问题?
你用的是llama3的版本吗
@Single430 ,您好!打扰一下,看到您已经关闭了这个issue,我也遇到了该问题,想向您请教一下该问题是如何解决的
是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?
该问题是否在FAQ中有解答? | Is there an existing answer for this in FAQ?
当前行为 | Current Behavior
运行脚本:
/MiniCPM-V/finetune# ./finetune_lora.sh
数据格式,标准官方提供的格式,只展示conversation
:第一种正确情况,
<image>
所代表的图像尺寸w和h均小于448,则不会报错,因为finetune/dataset.py
函数内conversation_to_ids
大概145行,image_start_tokens = [], image_end_tokens = [id]
,则不会进入下面的hstack
操作,上面是不会报错,还有一种正常情况(图像尺寸可大于448)就是当
content
内容为Squid are a part of what group in the diagram?Top Predators\nFilterers\nPredators\nZooplankton Please answer the question based on the options mentioned before.\n<image>
也是不会报错,因为第一种情况保证了不会hstack
操作,第二种情况保证了len(image_start_tokens) == len(image_end_tokens)
下面就是报错的第三种情况,主要原因是图像尺寸
w or h
大于448,要做切分操作,但是当content为<image>\nSquid are a pa...
这种样式,会在conversation_to_ids_minicpm
函数第181行左右,remove bos,这样会导致字首的<image>
被移除,也就是message_ids
,进而导致后面的image_start_tokens = [id1,id2], image_end_tokens = [id11, id22, id33]
长度不匹配,进而无法进行hstack
操作,具体错误如下:最后,对
conversation_to_ids_minicpm
函数第181行左右进行修改如下,根据模型是自回归模型,按理说target首字需要去除,但是user的问题部分应该不需要吧?才做出以下修改,对错还需要验证:期望行为 | Expected Behavior
No response
复现方法 | Steps To Reproduce
No response
运行环境 | Environment
备注 | Anything else?
No response