【引】如果希望从文献途径了解一个新的领域,该领域的相关survey 论文可能是一个较好的切入点,对于日新月异的AI领域尤其如此。”Small Language Models: Survey, Measurements and Insights”一文(https://arxiv.org/pdf/2409.15790)或许可以帮助我们更好地了解SLM。

大模型的世界几乎每天都在发生变化。一方面,人们越来越重视开发更大、更强大的语言模型,以实现通用人工智能(AGI)。这些大模型通常位于拥有数十万GPU的大型数据中心中。科技巨头之间正在进行一场激烈的竞赛,争夺谁能率先证明机器能够处理复杂的语言任务,并实现AGI。

另一方面,人们也在创建更小的模型,称为小型语言模型(SLM),以便高效地部署在设备上,如台式机、智能手机和可穿戴设备。SLM并不是指传统的参数较少的模型,而是大模型的小型化版本。创建SLM背后的愿景是使机器智能大众化,让每个人都能访问并负担得起。尽管SLM具有潜在的重要意义,但与大模型相比,受到的关注较少。

虽然关于SLM的功能或其在设备上运行成本的文献有限,但这些模型已经被大规模地集成到商业设备中。例如,最新的谷歌/三星智能手机内置了Gemini Nano,使第三方移动应用程序能够通过提示词和LoRA模块利用大模型功能。此外,iPhone和iPad上的最新iOS系统包括一个设备上的本地基础模型,可以与操作系统无缝集成,从而提高性能和隐私保护。

1. 什么是SLM?

与大模型相比,SLM是一种简化的、高效的语言模型,参数数量减少,总体规模较小。SLM中的“小”表示与大型语言模型相比,参数数量和模型的总体大小都减少了。虽然大模型可能有数十亿甚至数万亿个参数,但 SLM 通常只有几百万到几亿个参数。

解读小模型——SLM_语言模型

然而,什么是“小”可以根据场景和语言建模的当前技术状态而变化。随着近年来模型规模呈指数级增长,曾经被认为是大模型的东西现在可能被认为是小模型。GPT-2就是一个很好的例子。

2. 为什么参数的数量很重要?

语言模型中的参数数量决定了语言模型在训练期间学习和存储信息的能力。更多的参数通常允许模型捕获更复杂的模式和细微差别,从而提高语言任务的性能。

下面是一些SLM的例子,它们展示了这些紧凑而强大的模型功能:

  • Phi3 Mini: Phi-3-Mini 是一个拥有38亿个参数的语言模型,基于3.3万亿个令牌的庞大数据集进行训练。尽管它的尺寸较小,但是它可以与更大的模型竞争,比如 Mixtral 8x7B 和 GPT-3.5,在 MMLU (一个语言理解基准)和MT-bench(一个机器翻译基准)上分别取得了可观的69% 和8.38分。
  • Google Gemma 2B: Google Gemma 2B 是 Gemma 系列的一部分,是一系列为各种文本生成任务设计的轻量级开放模型。Gemma 模型的上下文长度为8192个令牌,非常适合在笔记本电脑、台式机或云基础设施等资源有限的环境中部署。
  • Databricks Dolly 3B: Databricks 的 Dolly-v2-3B 是在 Databricks 平台上训练的商业级指令跟踪语言模型。它来源于 pythia-2.8B,已经在大约15,000个涵盖不同领域的指令/响应组上进行了训练。虽然它可能不是最先进的,但它显示了非常高质量的指令遵循行为。

3. SLM 的架构变化

随着时间的推移,这些SLM的架构发生了变化。