🚀 Pixtral-Large-Instruct-2411 🎉
Pixtral-Large-Instruct-2411 是一个图像文本生成模型,它基于 Transformers 架构实现,可用于图像文本到文本的转换任务,为多模态交互提供了强大的支持。
🚀 快速开始
本项目是 Pixtral-Large-Instruct-2411 的 Transformers 实现。
2024 年 12 月 21 日:这个模型在实验和学习过程中带来了很多乐趣。下面的模型卡片已更新,包含了过去一周对该仓库所做的更改。
✨ 主要特性
架构差异
与 Pixtral 12B 相比,Pixtral Large 在多模态投影层(multi_modal_projector layers)没有偏置键(bias keys)。在转换过程中不包含这些偏置键,与 Mistral 最初上传的 Pixtral Large 中的键保持一致。模型的 config.json
文件中包含 "multimodal_projector_bias": false
来标记这一点。注意:如果社区中有任何人确认以零值初始化这些键是更好的做法,我很乐意重新上传不排除它们的版本。
分词器
此模型使用 Mistral v7m1 分词器的转换版本。Pixtral 12B 和 Pixtral Large 使用不同的分词器,词汇表大小也不同,因此请确保使用正确的分词器。
提示/聊天模板
包含的 chat_template.json
支持 Mistral 定义的所有功能,并添加了一些我自己的扩展。
我相信这个实现为使用该模型提供了很大的灵活性,并且在我的测试中效果很好。
示例(为了可读性添加了换行)
<s>[SYSTEM_PROMPT] <系统提示>[/SYSTEM_PROMPT]
[INST] [IMG]<用户消息>
[AVAILABLE_TOOLS] [<工具定义>][/AVAILABLE_TOOLS][/INST]
[IMG]<助手回复>
[TOOL_CALLS] [<工具调用>][/TOOL_CALLS]
[TOOL_RESULTS] <包含图像的工具结果>[/TOOL_RESULTS]
</s>[INST] <用户消息>[/INST]
系统提示:
角色为 "system" 的消息将在聊天历史中的任何位置被解析为 [SYSTEM_PROMPT] <内容>[/SYSTEM_PROMPT]
。
这似乎在传递不同深度的额外指令方面效果很好,并将指令与对话分开。
允许非交替角色:
可以连续提供多个用户消息,每个消息将用 [INST][/INST]
分隔。这在群组对话设置或在调用模型之前可以提供多个用户消息的环境中可能效果很好。用 [/INST]
分隔每个消息似乎有助于防止模型认为它需要回复每个先前的消息,而是专注于最后一条消息,同时仍然保留对之前消息的记忆。
随处输入图像:
现在可以在用户、助手和工具结果消息中发送图像,并且似乎确实有效。我进行了一些测试,例如在对话中 10 - 15 条消息之前的助手回复中包含一张图像,然后要求助手回忆他们之前发送的图像,它能够准确描述该图像。
这种灵活性可以实现一些有趣的应用,例如,如果您要为图像生成定义一个工具定义:
- 调用工具并调用图像生成 API/模型
- 图像在工具结果消息中返回
- 模型根据生成的图像上下文回复一条消息
- 您可以进一步讨论生成的图像,或者在模型实际知道生成内容的情况下进行修改
使用说明
在使用 Transformers 加载模型时,可能需要添加一些处理逻辑,以确保尊重缺少多模态投影偏置(mmproj bias)的情况,从而使模型能够正确处理视觉输入。
我的大部分测试都是使用 TabbyAPI 和 ExLlamaV2(开发分支)进行的,视觉输入功能正常。

量化版本
不同大小的 EXL2 量化版本可在 此处 获取。要使用视觉输入功能,需要使用 ExLlamaV2 的开发分支。
📄 许可证
- 许可证类型:其他
- 许可证名称:mrl
- 许可证链接:https://mistral.ai/licenses/MRL-0.1.md
📦 相关信息
属性 |
详情 |
支持语言 |
英语、法语、德语、西班牙语、意大利语、葡萄牙语、中文、日语、俄语、韩语 |
基础模型 |
mistralai/Pixtral-Large-Instruct-2411 |
推理功能 |
否 |
库名称 |
transformers |
任务类型 |
图像文本到文本 |