详情

首页手游攻略 欢迎源自 Thinking Machine 的 Inkling

欢迎源自 Thinking Machine 的 Inkling

佚名 2026-07-16 17:42:06
本·伯滕肖的头像
梅尔维的头像

太长了; Thinking Machines 的 Inkling 已在 Hugging Face 上发行。 Inkling 是一个巨大的多模态大语言模型,它理解所有模态(图像、音频、文本),具有智能体功能,并支持 1M 上下文。它具有完整的 BF16 和经过良好校准的 NVFP4 变体,并包括用于更快推理的推测性 MTP 层。 Transformer、SGLang 和 llama.cpp 提供 Day-0 支持。

Inkling 有何特别之处?

Inkling 是第一个大型开放模型,具有约 1T 参数和 1M 上下文窗口,可以本地接收图像、文本和音频输入,并在 45 万亿个文本、图像、音频和视频标记上进行训练。它专注于跨音频、图像和文本等模式的推理;旨在通过微调进行领域适应。我们对这个模型进行了修改,以构建一些演示并探索架构,我们认为它非常适合构建新一波的多模式推理应用程序。

整体能力和架构

Inkling 是仅包含解码器的多模态专家混合模型,共有 975B 个总参数和 41B 个活动参数。发生了很多事情,所以让我们分解每个部分:

  • 仅解码器:这意味着该架构支持因果自回归生成,就像大多数最先进的大语言模型一样。
  • 多模式:模型可以摄取文本、音频和图像。
  • 专家混合 (MoE):每层内的前馈网络都很稀疏,可以实现更快的推理,因为在任何给定时间只有 41B 个参数处于活动状态。该模型有 256 位专家,我们稍后会看到。

这是架构的快速浏览。

相对注意力:Inkling 使用相对注意力来编码位置信息,而不是在 Transformer 模型中注入位置信息的常用方法 RoPE。每个注意力层直接在注意力逻辑中学习位置。除了键查询值之外,还有第四个投影,生成每个令牌、每个头的相对特征 R。然后使用距离信息(键和查询向量之间的距离)调整该投影张量,并将其传播到注意模块中。

混合注意力:解码器层在全局注意力(一次关注完整上下文长度)和滑动窗口注意力(以滑动方式关注固定上下文窗口)之间交替。该架构具有全局注意力层 5:1 滑动窗口的模式。这种混合注意力方案提供了计算效率。最后一层使用全局注意力来帮助构建特征丰富的表示。

短卷积:该模型在隐藏状态上使用独特的短一维卷积或 SConv。 SConv 读取当前 token 和之前的 W-1 个隐藏状态,其中 W 是滑动窗口大小。这里的直觉是,SConv 有助于局部注意力,同时将注意力和 MoE 模块从局部表示中解放出来。

具有共享专家接收器的 MoE:在 Inkling 中,路由器对路由专家和共享专家进行评分。 Top-k 选择由 6 位专家执行,另外还有 2 位始终处于活动状态的共享专家。

视觉理解:该模型包括一个简单的分层 MLP 修补器,该修补器由多个线性层组成。每一层逐渐合并像素,直到最后一层为每个补丁生成一个嵌入。

音频理解:该架构采用离散梅尔频谱图,其中每个音频块(100 毫秒)都被转换为梅尔标度,然后分类到精确的梅尔频谱图箱中。

多模态塔是相对简单的模块,不像其他模型为每种模态采用单独的编码器。每个图像块都经过图像嵌入塔,音频块经过音频嵌入塔以获得两个媒体嵌入。图像输入还包括用于视频处理的附加时间维度。我们预计此功能对于下游微调很有用,但我们尚未评估开箱即用的视频性能。塔折叠了补丁网格,相邻令牌的一个小局部块被堆叠到通道维度中并通过 hMLP。音频波形被转换为梅尔音阶,然后被分类到离散的梅尔箱中。这些 mel bin 值被嵌入到音频嵌入塔中,然后对嵌入进行求和以构建最终的音频输入。

推理支持

Inkling 附带 day-0 变压器支持,并受到 SGLang 和 vLLM 等主要推理引擎的支持。

这个模型很大。 bf16 检查点需要 2 TB VRAM,而 nvfp4 版本需要 600 GB VRAM。您可以通过推理提供程序等无服务器推理路由器来尝试该模型,或者使用 ggml Quants 与 llama.cpp 进行本地部署。

变形金刚

直接使用变压器进行推断的最简单方法是使用任意到任意管道。您可以在 Hopper 或更高版本的 GPU 上使用 16 位“thinkingmachines/Inkling”,也可以在 Blackwell Nvidia GPU 上使用量化 NVFP4 检查点“thinkingmachines/Inkling-NVFP4”。确保拥有最新版本的 Transformer(今天发布了 5.14.0)( pip install -U Transformers )。

初始化管道后,可以按如下方式传入提示。

低一级,您可以使用自动类。为了进行推理,您可以将 AutoModelForMultimodalLM 类用于模型,将 AutoProcessor 类用于处理器。对于不同的推理任务,分词器接受 Reasoning_effort 参数。推理工作的现有选项有 "none" 、 "minimal" 、 "low" 、 "medium" 、 "high" 、 "xhigh" 和 "max" 。

对于多模态推理,您可以使用相同的类。我们为模型卡中的每种不同模式提供了示例片段。

Inkling 还接受音频输入。下面是一个示例推理片段,它仍然使用相同的 AutoModelForMultimodalLM 类。

要在多个节点的集群中进行更实际的并行部署,请参阅下面的 Slurm 部分。

SGLang 是 Inkling 发布时最快的部署框架之一,因为它包含自定义模型实现。下面的启动命令将模型分片到 8 个 GPU,并在端口 30000 上提供与 OpenAI 兼容的 API。

将 --tp-size 与您的 GPU 数量匹配。如果需要为 KV 缓存留出更多空间,请添加 --mem-fraction-static (例如 0.85 )。

vLLM 非常适合生产服务。单个 vllmserve 命令从 Hub 下载权重,使用张量并行性在 GPU 上对模型进行分片,并在端口 8000 上启动 OpenAI 兼容服务器。

在实践中,您将需要多个节点和一个像 SLURM 这样的分发工具(见下文)。关键参数是 --tensor-parallel-size 节点上的 GPU 数量,如果达到 KV 缓存内存限制,请使用 --max-model-len 来限制上下文窗口。

通过拥抱面部推理提供程序进行远程推理

您可以通过 Hugging Face 使用多个推理提供程序对此模型进行推理。您可以在此处查看要使用的所有代码片段。下面您可以看到如何与 OpenAI 客户端一起使用。

在您的设置中使用“:auto”后缀路由到您的首选提供商;您也可以使用“cheapest”或“:fastest”。在此版本中,我们为所有人支付了 2 小时的推理成本。

注意:推理提供程序中的音频支持正在进行中,很快就会添加。

使用 llama.cpp 和 Unsloth 进行本地推理

您可以使用 llama.cpp 在有限的硬件上运行模型的量化版本。 Unsloth 已将模型量化至 1 位精度,与原始模型相比,VRAM 消耗减少了 95%。

这将启动一个在 http://localhost:8000 /v1 运行的 OpenAI 兼容服务器,您可以在首选工具或客户端中连接到该服务器。前往那里,您可以开始与模特聊天,并使用您最喜欢的 MCP 设置它,方便地传递图像或文件等等!

Llama cpp 还附带一个内置 UI,支持工具、mcp 和智能体工作负载。在 llama 应用程序中检查以 1 位精度运行的 Inkling:

Inkling GGUF 也可以在 Unsloth Studio 中运行,具有动态 1 位 GGUF,保留了大约 74.2% 的 top-1% 精度,同时尺寸减小了 86%。

使用案例

使用 Pi 进行智能体编码

Pi 是一个最小的编码智能体工具,您可以与不同的语言模型一起使用。您可以将 Pi 与推理引擎服务器端点(例如 llama.cpp)一起使用,或者通过在安装后将其添加到 ~/.pi/agent/models.json 来将 Pi 与 Hugging Face 上的推理提供程序一起使用。

然后你可以通过调用 pi 在你的项目目录中启动 Pi,一切顺利!在这个演示中,我们给模型一个困难的数学推理问题,它使用 pi 中的工具来解决它。

Inkling 专注于广泛的多模态推理和低令牌消耗,因此请在文档处理或音频任务中尝试一下。

多令牌预测起草者

MTP 向模型添加了额外的层,可以同时预测多个标记,而不仅仅是下一个标记。在推理过程中,额外的层充当推测解码的“起草者”,在不影响性能的情况下加快生成速度。通过 MTP,您可以获得完全相同的生成输出,以较小的 VRAM 内存成本(由于为绘图员提供服务),生成速度倍增。 Thinking Machines 还在此版本中提供了 MTP 起草器。

多模态视觉

我们准备了一套来自专家级资源和大学入学考试的推理题。我们在截图中拍摄了带有水印的屏幕照片来挑战模型。该模型已经解决了所有高级推理问题,但在最高和中等推理努力中失败了,因此我们提供了模型答案的链接,供您检查模型听起来如何,并提供模型为解决每个问题所采用的标记数量。请注意,我们在这些氛围评估中没有提供系统提示,并且这些推理问题通常应该在良好的系统提示下运行。氛围评估图像和结果就在这里。

关于振动的一些注意事项:

  • 该模型没有直接回答信息图表上的问题,而是首先将图像上的文本转换为文本以接地。
  • 提示对于在推理中节省标记非常重要,例如,提出诸如“哪些组件在这里交互?”之类的模糊问题。对于药丸背面的图像,模型首先需要了解我们所说的交互的含义。
  • 多项选择问题的答案对模型构建自己的推理有很大帮助,对于开放式问题,该模型与 MCQA 相比遇到了困难,然而,这是许多模型的常见问题。通常的思路是 OCR → 描述 → 评估每个选项 → 答案。
  • 0.7 推理工作(中)似乎提供了一个很好的权衡。

多模态音频

我们在 BigBenchAudio 的一些音频推理示例和 GlobeAudio 的一些多语言音频示例(询问转录中最后一个单词的俄语和中文多项选择题)上对模型进行了振动评估。我们测试的 BigBenchAudio 示例由逻辑陈述和问题组成,这些陈述和问题要么要求形式谬误(是否可以从音频中给出的上下文逻辑地推导出一个论证),要么要求对象计数(陈述音频中的多个不同对象,要求特定对象的总数)。虽然这个基准测试最初是为了语音到语音推理而制定的,但我们只是想看看这个模型的音频推理能力。对于 GlobeAudio,问题相对简单,因此我们以 0.1 的推理强度运行。我们在 GlobeAudio 中运行了每种语言的第一个示例。所有测试都通过了所有问题和努力,除了关于最低努力的第二个正式谬误示例之外,因此我们仅提供每个问题中针对推理努力花费的令牌数量。 Vibe 评估结果和音频文件位于此处。

关于共鸣的一些注意事项:

  • 与视觉类似,该模型在回答问题之前首先转录语音。
  • 它可以抵抗诱饵:在俄罗斯测试中,模型选择了正确的答案,尽管音频中出现了其他答案。
  • 与愿景类似,通常的思路是转录→表征→评估每个选项→答案。
  • 这种努力有助于推理而不是听力。音频问答比图像便宜得多。

培训后

如果您想使用 Inkling 进行后期训练,Thinking Machines 已经构建了tinker,这是一种用于后期训练开放重量模型的托管工具。他们的食谱包括微调、蒸馏和强化学习的示例。

我们使用 Tinker 和 OpenEnv(一种智能体 RL 环境工具)发布经过训练的 Inkling。我们使用 ECHO 算法来训练模型在没有验证者的情况下预测环境,将下一个令牌交叉熵损失应用于环境生成的令牌,同时对智能体操作进行通常的策略学习。这会向策略传授隐式世界模型,而不需要单独的模型、教师或额外的部署。查看示例。

如果您正在使用 Transformers 强化学习,我们建议在知识蒸馏设置中使用 Inkling 作为教师模型。例如,利用 Inkling 的文档理解能力来提高较小(设备上)模型的性能。在这个例子中,我们使用 Transformer 强化学习库和 GOLD 算法来提取知识。 GOLD 在这里很方便,因为它匹配不同标记器之间的标记 logits,因此您可以提取集线器上的任何模型。

Slurm 脚本

为了在集群上部署 Inkling,我们提供了与 Transformer API 一起使用的 SLURM 脚本,以及如何使用不同方式查询端点。您可以通过更新命令来使这些脚本适应 vLLM 或 SGlang。这些脚本就在这里。

  • 提交推理作业
  • Python生成脚本

基准测试结果

本文提到的型号1

本文提到的数据集2

我们博客的更多文章

使用句子变压器训练和微调多模态嵌入和重排序模型

带有句子变压器的多模态嵌入和重新排序模型

社区

· 注册或登录后发表评论

点击查看更多
推荐专题
热门阅读