一、任务背景

二、重难点

三、基于图片描述方案

对所有图片生成文本描述,将这些描述与原文的文本块统一处理。这能将多模态问题简化为纯文本问题,最适合快速构建Baseline。它的优点是实现简单、逻辑清晰,能让我快速验证整个RAG(检索增强生成)链路。

具体工具栈调研

1.PDF解析:这里作者为了降低大家的学习门槛,使用的是pymupdf作为平替方案。

2.Embedding实现:考虑使用 sentence-transformer 库。但作者进一步查阅资料时,发现了 Xinference ,它能将模型部署为服务,并通过兼容OpenAI的API来调用。作者立即决定采用这种方式,因为 服务化能让我的Embedding模块与主应用逻辑解耦,更利于调试和未来的扩展。具体这里实验时采用的是硅基流动提供的免费API。

四、多模态分别嵌入方案

对文本和图片分别进行向量化,检索时结合文本和图片的相似度。这更精确,但实现也更复杂,而且召回图片与召回文本存在不相关情况,也需要比较多的处理。

五、遇到的问题
5.1魔搭社区提供的免费机器会出现:

OSError: [Errno 101] Network is unreachable 的情况
还有就是GPU和CPU都会有python package主要是torch的版本问题,导致训练时出现奇怪的报错。。

5.2切换到本地8GB RAM 的GPU上跑,对Qwen2.5 -7B 进行finetuning

训练耗时: 19066.7956 秒 训练耗时: 317.78 分钟 训练期间峰值显存: 8.123 GB,占最大显存 101.537% LoRA训练显存: 0.861 GB,占最大显存 10.762%

使用的官方数据118条,但是微调后效果很差,setp=60  Loss=1.090500 不知道是不是Loss没有降下来导致的。。另外作者给的finetuning代码在自己的机器上finetuning的话需要做大量修改,因为机器显存和性能的原因导致训练会崩溃。。

六、后续的计划

6.1打算还是花一天时间跑完多模态的PDF 解析,从数据源头上解决信息不完整的问题

6.2可能会往knowledge graph的方向探索看看,前提是完成了其他方向的优化:比如检索精度分块策略

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐