NJU-LHRS / LHRS-Bot

VGI-Enhanced multimodal large language model for remote sensing images.
Apache License 2.0
93 stars 8 forks source link

关于分类数据集评估问题 #9

Closed xulinui closed 6 months ago

xulinui commented 6 months ago

佬请教一下,怎么评估的aid这个分类数据集?

截屏2024-03-19 17 35 22 截屏2024-03-19 17 35 31

上图来自LHRS-Bot,下图是GeoChat,两个论文都测试了llava在aid上精度,但是差距很大。

pUmpKin-Co commented 6 months ago

Hi, 您好.我们没有具体关注GeoChat是怎么评估的。

我们的评估方式大概流程是这样的:

  1. 首先生成过程用的Greedy Decoding.
  2. 会输入一个Prompt (类似:Describe the image into following category:),后面跟数据集所有的类别(例如AID中的类别)
  3. 模型输出结果,可能是类别的id,也可能是类别的name,如果是id那是最好的,如果不是,那么我们把name和所有类别做一个最长字符串匹配,匹配到的类别为所选类别(因为Tokenbizer后输出的有些是sub word,不得不这么做),随后将其转化为id。
  4. 都为id后就可以算accuracy了。

我们目前有开源Evaluation的代码,感兴趣的话可以看一下,如何准确评估还是一个open question,也期待您的建议。谢谢。

Czi24 commented 6 months ago

Hi, 您好.我们没有具体关注GeoChat是怎么评估的。

我们的评估方式大概流程是这样的:

  1. 首先生成过程用的Greedy Decoding.
  2. 会输入一个Prompt (类似:Describe the image into following category:),后面跟数据集所有的类别(例如AID中的类别)
  3. 模型输出结果,可能是类别的id,也可能是类别的name,如果是id那是最好的,如果不是,那么我们把name和所有类别做一个最长字符串匹配,匹配到的类别为所选类别(因为Tokenbizer后输出的有些是sub word,不得不这么做),随后将其转化为id。
  4. 都为id后就可以算accuracy了。

我们目前有开源Evaluation的代码,感兴趣的话可以看一下,如何准确评估还是一个open question,也期待您的建议。谢谢。

好的,谢谢!

我还有另外一个问题请教一下: LHRS-Bot的定量评估主要是Classification、VQA和Visual Grounding任务,定性评估是论文图5的多轮对话,这些用微调可以实现。怎么体现出Instruction-Following Dataset from LHRS-Align数据集的作用呢?期待您的回答。

pUmpKin-Co commented 6 months ago

很好的问题,我不确定这个问题现在有没有明确答案,以经验来说一下我的看法。 LHRS-Align主要的作用其实并不是为了去做这些classification,VQA和VG这些任务,它的目的是让LLM能够看见图像。没有这一步Align直接做SFT我相信如果优化的好/SFT数据强,同样能在Classification,VQA或者VG这种任务上表现的很好。 但问题是,我们做出来这么一个model,target并不是说要让他解决这些任务,我们更想要一个general vision expert,就是说它能在这些任务之外解决其他视觉信息(Planning,Decision这种)。

总结下来就是,LHRS-Align这步有没有必要,我觉得是有的.类似于LLM的Pre-train,有很多工作证明即使是SFT后的模型其大部分knowledge都是来自于pre-train阶段,SFT和RLHF只是在Align和Adjust LLM的行为罢了。

但具体怎么去评估呢...我目前能说得是在SFT的那些任务中去定量评估两者可能没什么区别,甚至不经过pre-train结果还要强。但是在out-of SFT domain的领域或者ICL这种情境下,可能经过pre-train的model会更好一些。

Czi24 commented 6 months ago

很好的问题,我不确定这个问题现在有没有明确答案,以经验来说一下我的看法。 LHRS-Align主要的作用其实并不是为了去做这些classification,VQA和VG这些任务,它的目的是让LLM能够看见图像。没有这一步Align直接做SFT我相信如果优化的好/SFT数据强,同样能在Classification,VQA或者VG这种任务上表现的很好。 但问题是,我们做出来这么一个model,target并不是说要让他解决这些任务,我们更想要一个general vision expert,就是说它能在这些任务之外解决其他视觉信息(Planning,Decision这种)。

总结下来就是,LHRS-Align这步有没有必要,我觉得是有的.类似于LLM的Pre-train,有很多工作证明即使是SFT后的模型其大部分knowledge都是来自于pre-train阶段,SFT和RLHF只是在Align和Adjust LLM的行为罢了。

但具体怎么去评估呢...我目前能说得是在SFT的那些任务中去定量评估两者可能没什么区别,甚至不经过pre-train结果还要强。但是在out-of SFT domain的领域或者ICL这种情境下,可能经过pre-train的model会更好一些。

很棒的回答,谢谢您!

您有不使用VQA和Visual Grounding任务参与sft的阶段,和LLaVA一样直接测试的VQA和V任务的消融实验吗?

Czi24 commented 6 months ago
截屏2024-03-21 17 51 21

或者您有在上图第一阶段替换为LLaVA 的blip_laion_cc_sbu_558k.json预训练图文数据集的消融实验吗?

MLLM第一阶段的对齐仅使用遥感的数据, 感觉是一种代理。

个人看法,如果您能回答,非常感谢!!

pUmpKin-Co commented 6 months ago

这个我们没有做过唉.有机会可以去做一下(不确定什么时间哈~),您是想评估pre-trained model的性能嘛,感觉还蛮有意思的