QIN2DIM / hcaptcha-challenger

🥂 Gracefully face hCaptcha challenge with MoE(ONNX) embedded solution.
https://docs.captchax.top/
GNU General Public License v3.0
1.5k stars 255 forks source link

feat(new-order): Integrated with LVM (large visual models) #978

Open QIN2DIM opened 6 months ago

QIN2DIM commented 6 months ago

预期效果(实验)

通过 one-shot/few-shot 教会 LVM 处理跨模态挑战。

路径图

对于不同类型的挑战,根据优先级分为:

  1. (A-)二分类任务,输入:query + images,输出: List[bool]
  2. (A+)目标检测任务,输入:query + image,输出:List[Tuple[float, float]],也即边界框的 (x1,y1), (x2,y2)
  3. (B) 其他任务。

TODO

所有特性按照优先级排序如下:

QIN2DIM commented 5 months ago

Update

Date: 2024-08-30

我们热切期待大型语言模型的视觉能力能够再进一步提升。这些模型在图像理解和处理方面已经取得了令人瞩目的进展,但我们相信其潜力尚未完全发掘。

谜一样的多模态大模型

Date: 2024-04-13

尽管目前最先进的模型,如 Gemini 1.5 Pro、gpt-4-turbo和claude-3-opus-20240229,在面对 hCAPTCHA 的多模态挑战时,还无法仅依靠单步提示就能顺利解决。

出于实验研究的目的,我们搭建了一个简易的LangGraph有向无环状态机。这个模型使用了一点标注的数据集,并通过问答的形式来辅助识别和整理输出结果。

引入“人在回路中”(human-in-the-loop)的方法就像给了答案提示一样。例如,把“the odd one out”直接翻译成“wolf”,然后用边界框标出所有目标并加上序号。这样做的目的是帮助模型更好地理解和处理任务。

object_detection_point_1 PixPin_2024-04-11_22-45-26

潦草的日志与阶段性结论

于是,一个简洁的提示词模板就形成了:<[challenge-prompt] | [bounding-box description] | [output-parser]>

然而,尽管这种指导已经很直接了,LVM(Large Vocabulary Models)在处理风格化任务时仍然不尽人意。或者说,虽然它能够处理,但想要达到传统监督学习模型那种高度定制化、轻量级且易于部署的效果,并同时保持高精度,这还是不太现实的。

目前可用的数据集规模还相对较小,我尚未进行过更严格的基准测试,但从直觉来看,LVM 在提示词引导下的表现似乎连基本水平都未达到——至少与当前最先进的图像分类和目标检测模型相比是这样的。

预见性与黎明曙光

最近由于工作需求,我接触到了 DevikaWeb_Voyager 这两个令人惊叹的示例项目。

这让我预见到一种未来可能性(虽然我在去年4月就已提出),即在不久后,由“大型语言模型”驱动的系统将能够学习或模拟人类行为,导致所有基于交互的 CAPTCHA 变得无效。更进一步,利用“大模型”攻破这类验证系统的成本将会极低,无需如现今这般构建复杂的提示链路工作流。