multi-images training 1.0

pull/19/head
xinyanghuang7 2024-10-30 09:26:16 -04:00
parent 9c432abca0
commit 9aea94c4f6
1 changed files with 5 additions and 5 deletions

View File

@ -313,26 +313,26 @@ minimind-v使用50个字符组成的 `<<<...>>>` 占位符代替图像,
因此minimind-v的prompt: 因此minimind-v的prompt:
```text ```text
<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>\n这个图片描述的是什么内容?
``` ```
计算完embedding和projection,并对图像部分token替换后 计算完embedding和projection,并对图像部分token替换后整个计算过程到输出则和LLM部分没有任何区别。
整个计算过程到输出则和LLM部分没有任何区别。
![input](./images/minimind-v-input.png) ![input](./images/minimind-v-input.png)
多图实现方法就是通过注入多个\<image\>图像占位符进行实现,不需要修改任何框架。 多图实现方法就是通过注入多个\<image\>图像占位符进行实现,不需要修改任何框架。
> ps: 唯一值得注意的点是,如果在训练过程中存在不同conversations插入图片数量不同的情况,需要利用空特征将较短的特征进行填充(对应[dataset的第267行](./model/dataset.py#267)),以保证能够在同样大小下被dataloader读取。 > ps: 唯一值得注意的点是,如果在训练过程中存在不同conversations插入图片数量不同的情况,需要利用空特征将较短的特征进行填充(对应[dataset的第267行](./model/dataset.py#L267)),以保证能够在同样大小下被dataloader读取。
> pps: 在prompt中不需要如此做,仍旧是根据插入图像的数量来进行占位符的注入。因此,最终输入给LLM的input feature不会受填充特征的影响。 > pps: 在prompt中不需要如此做,仍旧是根据插入图像的数量来进行占位符的注入。因此,最终输入给LLM的input feature不会受填充特征的影响。
<details> <details>
<summary> 实现视频理解能力的思考 </summary> <summary> 实现视频理解能力的思考 </summary>
对于多模态大模型的视频理解能力,一个可行的思路是参考现有MiniCPM-V 2.6 进行视频理解的Python示例。 对于多模态大模型的视频理解能力,一个可行的思路是参考现有MiniCPM-V 2.6 进行视频理解的Python示例。
主要思想是通过提取视频关键帧,而后进行多图推理。 主要思想是通过提取视频关键帧,而后进行多图推理。
因此,如果希望在MiniMind-V中添加视频理解能力,可以在现有多图训练的基础上,参考 因此,如果希望在MiniMind-V中添加视频理解能力,可以在现有多图训练的基础上,参考此python脚本中对于关键帧的提取方法,而后加大训练文件中支持图片的数量。
此python脚本中对于关键帧的提取方法,而后加大训练文件中支持图片的数量。
所支持的MAX_NUM_FRAMES越多,所消耗的显存越大。 所支持的MAX_NUM_FRAMES越多,所消耗的显存越大。
```python ```python