IBM Granite 3.2:推理、视觉、预测等

等距方框的 Granite 排列的 DCO 背景

作者

Kate Soule

Director, Technical Product Management, Granite

IBM

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

以下是主要信息概览:

 

  • 全新的 Granite 3.2 8B Instruct 和 Granite 3.2 2B Instruct 提供实验性的思维链推理能力,可显著提高它们遵循复杂指令的能力,且无需牺牲通用性能。推理过程可以打开和关闭,从而可以有效地使用计算资源。
  • IBM 的推理扩展技术结合使用时,Granite 3.2 8B Instruct 的扩展思维过程使其能够达到或超过更大模型(包括 GPT-4o 和 Claude 3.5 Sonnet)的推理性能。
  • 我们的新多模态模型 Granite Vision 3.2 2B 在开发时特别侧重于文档理解,并具有与尺寸是自身 5 倍的主要开源模型相当的性能。
  • Granite Timeseries 模型系列的最新成员 Granite-Timeseries-TTM-R2.1 扩展了 TTM 的能力,除了之前 TTM 模型已支持的每分钟和每小时预测任务之外,还增加了每日和每周预测功能。
  • 我们将在 Granite Guardian 3.2 中推出新的模型大小,包括源自我们的 3B-A800M 混合专家 (MoE) 语言模型的变体。新模型在性能损失最小的前提下提高了效率。
  • Granite Embedding 模型系列现已具备学习稀疏嵌入的能力。Granite-Embedding-30M-Sparse 可在不同的资源和延迟预算范围内平衡效率和可扩展性。
  • 与其先前各代一样,所有新的 IBM Granite 模型都是在宽松的 Apache 2.0 许可下开源发布的
  • Granite 3.2 模型现已在 IBM® watsonx.ai、Hugging Face、Ollama、LMStudio 和 Replicate 上推出。

Granite 3.2 是我们第三代 IBM Granite 模型的最新版本,是 Granite 系列超越简单语言模型的演化的重要一步。Granite 3.2 以实验推理功能和我们的第一个官方视觉语言模型 (VLM) 为核心,为 Granite 系列引入了多项重要的新能力。

该版本还对我们现有产品的效率、功效和泛用性进行了一系列改进。IBM 优先考虑实用的、企业级模型,继续追求以越来越少的参数实现最先进的性能。

与往常一样,最新的 Granite 模型在 Apache 2.0 许可下开源。所有 Granite 模型现已在 Hugging Face 上线。部分模型还可通过其他平台获得,包括 IBM watsonx.ai。本文末尾的“入门”部分提供了教程、诀窍和其他资源。

Granite 3.2 Instruct:在需要时进行推理

IBM 旗舰纯文本大型语言模型 (LLM) 的最新迭代 Granite 3.2 Instruct 8B Granite 3.2 Instruct 2B 已经过训练,其推理能力相比 3.1 版本进一步强化。虽然我们实现的推理在一定程度上与某些行业趋势背道而驰,但它始终与 IBM 提高模型性能的实践举措相一致。

  • IBM 没有通过发布单独的“推理模型”来使开发管道复杂化,而是将推理能力直接嵌入到我们的核心 Instruct 模型中。模型的内部推理过程可轻松开启和关闭,从而确保针对当前的任务正确使用计算资源。

  • 典型的推理驱动技术会以牺牲其他领域为代价来提高模型在逻辑任务(如数学和编码)上的性能,而 IBM 的方法则带来了推理的优点,同时在各个领域保持了总体的性能和安全性。

新 Granite 3.2 Instruct 模型的这些实验性功能只是 IBM Research 正在进行的多项推理驱动模型进化探索的其中一项。推理扩展技术的进一步研究表明,可以对 Granite 3.2 8B Instruct 进行校准,以达到或超过更大模型的数学推理性能,包括 OpenAI 的 GPT-4o-0513 和 Anthropic 的 Claude-3.5-Sonnet-1022。

探讨推理的优点(和缺点)

推动最近语言模型推理进步的直觉来自于 2022 年的一项研究,该研究表明,只需添加“逐步思考”这一提示工程技术(通常被称为思维链 (CoT) 提示),就能显著改善模型在推理任务中的输出。1

2024 年的后续研究进一步表明,扩展推理时计算(即在推理过程中用于生成每个输出的资源)可以像扩大模型规模或用于训练模型的资源一样增强模型性能。最近的方法主要通过结合各种强化学习 (RL) 框架来追求这种推理扩展;强化学习框架激励更长、更复杂的“思维过程”。令人兴奋的是,推理扩展已被经验证明,即使是较小的 LLM 也能超越较大模型的推理能力。

尽管有优势,但推理模型并非没有缺点。有鉴于此,IBM 在 Granite 3.2 推理能力的具体实现中采取了审慎的措施来减轻这些缺点。

避免效率低下

“推理模型”通常比通用 LLM 更慢且更昂贵,因为在实际向用户提供输出之前,必须生成模型用于“思考”最终响应的所有词元(并支付费用)。IBM Research 注意到著名的推理模型 DeepSeek-R1 的一个例子,其中该模型花了 50.9 秒来回答问题“罗马在哪里?”。

在有些情况下,额外的时间和计算量很容易被证明是合理的,但也有很多情况下,额外的时间和计算量会造成资源浪费。IBM Granite 3.2 Instruct 模型不需要开发人员在每次为给定应用程序或工作流选择模型时费尽心力处理这些权衡,只需添加参数即可打开或关闭其扩展的思维过程"thinking":true"thinking":false 到 API 端点。

您可以在必要时利用 Granite 3.2 的思维过程,或者在不需要时优先考虑效率。

避免整体性能下降

在推理模型相对较短的历史中,许多著名的方法都仅优先考虑在狭窄的逻辑驱动领域(例如数学或编码)内提高性能。虽然 IBM 在推理扩展技术方面的持续研究已经在传统上与“推理”相关的技术基准(例如 AIME 和 MATH-500)上取得了特别令人印象深刻的性能改进,但我们 Granite 3.2 Instruct 的重点是丰富我们模型的思维过程,以更广泛地提高其遵循复杂指令的能力。

模型开发人员明确瞄准的技术任务过于狭隘,有时可能会以牺牲其他领域(包括一般性能和安全性)为代价,如果用于提高推理性能的数据集中没有充分涵盖这些领域,模型可能会“忘记”这些领域的知识。为了避免这种情况,IBM 开发了 Granite 3.2 Instruct,将基于思维偏好优化 (TPO) 的强化学习框架直接应用于 Granite 3.1 Instruct。

与许多常见的推理能力方法不同,TPO 较少依赖逻辑运算符或函数来评估和奖励模型输出,这使得它更容易扩展到一般任务。这使得 Granite 3.2 Instruct 能够在需要复杂推理的任务上实现更高的性能,而不会影响其他方面的性能。

与 DeepSeek-R1-Distill 诸模型相比,这种方法的优势最为明显;尽管名字不同,但这些模型实际上是 Llama 和 Qwen 模型经过微调以模拟 DeepSeek-R1 推理过程的版本。此处值得注意的是,与 R1-Ditil 模型不同,IBM Granite 3.2 Instruct 模型未使用任何 DeepSeek 生成的数据进行训练,从而大幅减轻了其监管负担。

考虑一下类似大小的 Llama、Qwen 和 Granite 模型在 ArenaHardAlpaca-Eval-2 上的推理前和推理后性能;ArenaHard 和 Alpaca-Eval-2 是用于衡量模型通过困难指令进行思考的能力的流行基准。虽然 DeepSeek 的技术降低了这些非目标任务的性能,但用于将 Granite 3.1 Instruct 演变为 Granite 3.2 Instruct 的 CoT 技术显著改善了指令遵循。

LLM 性能条形图 对于复杂指令遵循的模型性能比较(Granite 思考 = 开)

同样,Granite 3.2 避免了因引入推理能力而牺牲一般性能的常见情况。

LLM 性能条形图 通用学术性能基准下推理前和推理后的性能比较 (Granite thinking = off)

IBM 将企业基本问题(包括安全性)置于所有设计决策的核心。虽然 DeepSeek 蒸馏模型的安全性能显著下降(以 AttaQ 基准的性能测试衡量),但 IBM 的方法保留了 Granite 3.2 Instruct 对对抗性攻击的健壮性。

显示 LLM 安全性的条形图 推理前与推理后对于对抗性攻击弹性的比较(Granite 思考 = 关)

继续我们的推理工作

如上所述,Granite 3.2 的发布仅标志着 IBM 对企业模型的推理能力的探索的开始。我们正在进行的大部分研究旨在利用 Granite 3.2 固有的更长久、更强大的思维过程来进一步优化模型。

其中一种探索途径是利用更复杂的推理扩展技术,包括粒子过滤和多数投票(也称为自洽性)来强化 Granite 3.2。早期实验表明,与此类推理扩展技术结合使用时,Granite 3.2 在数学推理任务上的性能可以匹敌甚至超越更大的前沿模型

Granite Vision 3.2 2B:Granite 走向多模态

Granite Vision 3.2 2B 是一种轻量级大型语言模型,具有计算机视觉功能,面向日常企业用例,并接受视觉文档理解方面的训练。Granite Vision 3.2 可处理图像和文本输入,在 DocVQA 和 ChartQA 等基本企业基准测试中的表现,可与规模大得多的开源模型相媲美。

LLM 安全条形图 在衡量文档理解任务表现的基准上,Granite Vision 3.2 甚至可以与更大的开源模型持平。

虽然 Granite Vision 3.2 2B 并没有明确表示要成为语言任务上类似大小的纯文本 Granite 模型的直接替代品,但它可以处理文本输入、文本输出的场景。

关注企业级图像处理任务的视觉能力

Granite Vision 3.2 2B 可以处理各种视觉理解任务,但它专注于与文档理解和多模态检索增强生成 (RAG) 最相关的任务。

大多数VLM (也称为多模态大型语言模型 (MLLM))主要针对自然图像进行视觉任务训练。这并不一定能使文档图像发挥最佳性能,因为文档图像的独特视觉特征—布局、字体、图表、信息图—与自然图像有很大不同。相较于大多数通用的图像输入、文本输出用例,文档理解需要对视觉上下文有更具体、更细粒度的解读。

涉及 MLLM 能够有效处理文档和相关视觉内容的两个主要挑战是,对高分辨率图像进行充分编码,以及准确解读这些文档中的视觉情境文本。专业方法通常或者依赖外部光学字符识别 (OCR) 系统在“感知然后理解”框架中处理图像中的文本,或者专门为文档理解设计定制模型架构。

这两种方法都有缺点。依赖外部 OCR 驱动的文档理解可能会导致在基本信息到达语言之前积累错误,而许多专用的“无 OCR”方法难以处理高分辨率的输入,或者相对于竞争的 LLM 缺乏整体知识。2

最近,通过在以文档为中心的数据集上对广义视觉语言模型进行指令调整,文档理解展示出了强大的性能。遗憾的是,由于缺乏合适的开源数据集,这种方法的进展受到了一定的限制。为了推动这一方法的进展,IBM 在开发 Granite Vision 3.2 时开展了大量工作,旨在针对视觉文档理解建立一个全面的指令跟踪数据集。

DocFM:企业视觉任务的指令调整数据集

DocFM 数据集是一个用于视觉任务的大型指令调整数据集,建立在精心整理的企业数据核心之上。有关文档理解数据集集合中使用的数据源、用于处理初始集合的过滤和清理方法以及此后用于为 Granite Vision 综合生成训练任务的方法的大量详细信息,在随附的技术论文中提供。

用于训练 Granite Vision 的文档理解数据涵盖了各种各样的文档类别,其中包括一般文档图像、图表、流程图和示意图等。最终从这些数据源获得的指令遵循数据集涵盖了多种任务,包括文档问答、场景文本理解、键值提取、文本定位、布局解析、字幕、用户界面理解和代码。

圆形图表示用于训练 Granite Vision 3.2 的数据 左:文档理解训练数据源;右:用于一般图像数据的数据集

DocFM 是一个非常庞大的数据集,IBM 计划将其用于未来的各种下游视觉学习工作。Granite Vision 的训练需要 DocFM 的一个子集来创建一系列合成的视觉问答数据集。技术论文附录表 5 提供了 Granite Vision 所使用的文档理解数据集的全面概述。

用于内部安全监控的稀疏注意力向量

在 Granite 3.2 Vision 的设计和训练中,IBM 还引入了一种新颖的测试时技术,不依赖外部护栏模型来监控有害活动,而是将专用的安全方法直接纳入模型本身。

我们的主要洞察是,在 Granite Vision 的众多注意力头和转换器层中,有一个稀疏的图像特征子集,当安全监控任务被形式化为分类问题时,它可能有助于识别安全问题。

Granite Vision 技术论文详述了 IBM Research 设计的一个流程,它可以用于隔离和检查 Granite Vision注意力机制中生成的注意力向量,以评估平均而言,哪些向量与某些类别的有害输入存在可靠的关联。一旦识别,就可以利用生成这些“安全向量”的注意头来确定给定输入是否安全。

IBM 将继续深入探索稀疏注意力向量的潜在应用。一种潜在的探索途径是研究如何将其应用于调整 Granite Guardian 未来的版本,以实现全面的多模态安全监控。

Granite Guardian 3.2:更精简、更安全、更具体

Granite Guardian 3.2 是最新一代 IBM 护栏模型,旨在检测提示和响应中的风险,其性能与 Guardian 3.1 相当,但速度更快,推理成本和内存使用量更低。

语言表达的置信度

IBM Granite Guardian 3.2 引入了语言置信度,这是一项新特性,可对检测到的风险提供更细致的评估,以承认某些安全监控场景固有的模糊性。

在监控输入和输出风险的过程中,Granite Guardian 3.2 模型不仅可以输出二进制“是”或“否”,还可以指示对应的确定性级别。检测到潜在风险时,Guardian 3.2 模型会指示“”或“低”置信度,如下例所示:

label, confidence = parse_output(output, input_len)
print(f"# risk detected? : {label}") # Yes
print(f"# confidence detected? : {confidence}") # High

 

更精简的安全模型

Granite Guardian 3.2 引入了两种新的模型大小:

Granite Guardian 3.2 5B 源自 Guardian Guardian 3.1 8B(它本身是通过微调安全分类的基本语言模型创建的)。研究表明,神经的更深层通常是冗余的,没有被预训练充分利用,或者只是不如网络的浅层重要;受此启发,IBM 采用了一种迭代修剪策略来“精简”8B 模型。这一过程使 8B 的参数减少了大约 30%,同时性能接近原始模型。

  • 首先,根据输入向量和输出向量之间的相对相似性选择要修剪的特定层。换句话说,我们要找出贡献最小的网络层。
  • 具体确定后,从模型中消除 10 层。
  • 通过在 80% 的原始训练数据上重新训练模型将其“修复”,随后再修剪 2 层。

Granite Guardian 3.2 3B-A800M 是通过对我们的混合专家 (MoE) 基础模型进行微调而创建的,该模型在推理时仅激活 30 亿个总参数中的 8 亿个。它的推出为 Granite Guardian 系列增加了一个特别高效且具有成本效益的选择。

Granite Timeseries 模型:现在提供每日和每周预测

IBM 广受欢迎的开源紧凑型 Granite Time Series 系列模型,被称为Tiny Time Mixers (TTM),在 Hugging Face 上的下载次数已超过 800 万次。在 TTM-R1 和 TTM-R2 系列中发布的 TTM 变体支持从分钟到小时分辨率的零样本少样本预测,而 Granite Time Series 系列的最新成员 TTM-R2.1 则支持每日和每周预测范围。

TTM-R2/R2.1 Hugging Face 模型卡底部提供了用于训练 TTM-R2 和 TTM-R2.1 的所有数据源的明细列表。可以在“文件和版本”选项卡中找到变体的完整列表。

Granite Time Series Cookbook 中提供了许多开始使用 Tiny Time Mixer 的诀窍。

小巧封包,性能一流

在 Salesforce 的GIFT-Eval 时间序列预测排行榜(一个综合基准,评估跨 24 个数据集的多变量输入上的时间序列模型性能,涵盖 7 个域、10 个频率以及从短期到长期预测的预测长度)中,TTM-R2 模型(包括新的 TTM-R2.1 变体)在通过平均绝对比例误差 (MASE) 测量的点预测准确性方面名列前茅。3 根按连续排名概率得分 (CRPS) 衡量,TTM-R2 在概率预测方面也名列前 5 名。

值得注意的是,TTM 模型战胜了诸多模型大小数倍于自身的模型取得此等名次。在 1-5M 参数的“微小”尺寸下,TTM 模型的大小仅为位列第二的 MASE(Google 的 TimesFM-2.0,5 亿个参数)和第三的 Chronos-Bolt-Base(Amazon 的模型,2.05 亿个参数)模型的数百分之一。
 

提高预测用例的泛用性

TTM-R2.1 版本包括具有不同上下文长度和预测范围的各种模型。以前的 TTM-R2 模型提供的上下文长度为 1536、1024 或 512,而 TTM-R2.1 包含的模型上下文长度范围更短,介于 512 到 52 之间,因此非常适合每日和每周预测。

TTM-R2.1 模型不一定取代其前代 TTM-R2。“最佳”TTM 版本取决于数据和用例的性质。例如, Granite-Timeseries-TTM-52-16-ft-R2.1 的上下文长度为 52,预测长度为 16,最适合分析一年的每周数据点和预测未来几个月的每周结果等任务。

get_model 模块简化了从广泛的可用产品中选择正确型号的任务。

频率前缀调整

ft “ TTM-R2.1 型号名称中的代号表示”频率调整“(更正式的全称为“频率前缀调整”)。频率前缀调整源自前缀调整技术,是文本生成任务基础模型微调的轻量级替代方案,可提高时间序列基础模型适应输入数据变化的能力。

启用后,额外的嵌入向量(表示数据的频率)将与来自上下文窗口的信息一同作为“前缀”添加到模型的输入中。正如 TTM 技术论文所述,模型团队发现,在对具有不同分辨率的大型数据集进行预训练时,频率调整可以提高性能。在推理过程中,这个前缀令牌可以让模型快速适应输入数据的频率,这在上下文很短时尤其有用。

Granite Embedding:一种新的稀疏嵌入模型

以前的所有 Granite 嵌入模型(以及现代深度学习时代的几乎所有嵌入模型)都学习密集嵌入,而最新的 Granite 嵌入模型 Granite-Embedding-Sparse-30M-English 的架构略有改变,使其能够学习稀疏嵌入。

Granite-Embedding-30M-Sparse 针对英语的精确匹配、关键字搜索和排名进行了优化,在不同的资源和延迟预算之间实现了效率和可扩展性的平衡。它是通过 Granite Experiments 发布的,这是一个 IBM 研究训练场,用于测试开源想法以加快开发周期。

为什么要使用稀疏嵌入?

典型的密集嵌入模型采用文本输入(例如文档、句子或查询)并输出固定大小的向量嵌入。该向量的大小,即它包含多少个数字(或维度),是一种设计选择。学习较小嵌入的模型速度更快,但精确度较低。学习更大嵌入的模型速度较慢,但更精确。它们被称为“密集”向量嵌入,因为每个维度都存储一个特定的值。

密集向量嵌入的各个维度并不以任何字面方式直接对应于原始输入的语义属性。密集向量嵌入本质上是一个黑匣:模型可以使用它们来执行有用的运算,但我们人类无法以任何有意义的方式解读它们。

稀疏嵌入更为直观。它们的嵌入大小与其词汇表大小相同:也就是说,向量嵌入的每个维度都与模型所学习的一个“单词”(或者更准确地说,与一个令牌)相对应。稀疏嵌入向量的每个维度中包含的特定值反映了该维度所代表的单词(令牌)与模型生成嵌入的输入的相关性。因此,稀疏嵌入很容易解读。

对于较短的文本段落,例如推文、评论或简短的产品评论,稀疏嵌入可以明显加快速度,同时提供优于(或至少等于)密集嵌入的性能。它们通常提供“开箱即用”的强大性能,无需微调。

话虽如此,它们并非没有缺点。通过微调来提升稀疏嵌入模型的性能,使其超越原始基线的机会渺茫。对于较长的文本段落,越来越多的维度将用于反映模型词汇表中日益增加的令牌的相关性,任何效率优势都会开始减弱甚至逆转。

在信息检索基准 (BEIR) 中,稀疏的 30M Granite 嵌入模型提供的性能大致与密集的 30M 嵌入模型相当,但比 SPLADE-v3 略胜一筹。

开始使用 Granite 3.2

所有 Granite 3.2 模型均可通过 Hugging Face 上的 Apache 2.0 宽松许可证获得。部分型号也可在 IBM watsonx.ai 上以及通过平台合作伙伴(包括 LM Studio、Ollama 和 Replicate,按字母排序)找到。未来本文将会更新,以反映 Granite 3.2 型号扩展的平台可用性。

GitHub 上的 Granite 文档Granite Snack Cookbook 中提供了许多使用 Granite 模型的指南和诀窍。开发人员还可以在 Granite model playground 中开始使用 Granite 模型,或从深入了解我们的诸多有用演示和教程开始,包括:

深入了解 Granite 3.2 模型 →

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
人工智能服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示