树莓派上部署RAG!微软Phi-3技术报告揭示「小而美」模型如何诞生

人工智能 新闻
Build大会召开两周之后,微软更新了Phi-3系列模型的技术报告。不仅加入最新的基准测试结果,而且对小模型、高性能的实现机制做出了适当的揭示。

这个月的微软Build大会上,微软正式官宣了Phi-3家族新成员:Phi-3-vision、Phi-3-small,Phi-3-medium。

此外,还有上个月就发布技术报告的Phi-3-mini,刚推出时,就让许多开发者印象深刻。

比如,Xenova基于Phi-3-mini开发了一个完全在本地运行的浏览器聊天应用WebGPU,demo看起来的效果像是经过加速的视频:

结果Xenova还要特意出来声明:视频没加速,部署的模型就是这么快,平均每秒生成69.85个token。

图片

在人人追求LLM的大环境下,微软却始终没有放弃SLM这条路。

从去年6月Phi-1面世,到Phi-1.5、Phi-2,再到如今Phi-3,微软小模型已经完成四次迭代升级。

这次3.8B参数的Phi-3-mini、7B的small和14B的medium,相比规模更大的模型,都展现出了更强的能力。

图片

并且作为开源模型,可以在手机上、甚至在树莓派上部署,微软简直太宠爱开发者了。

图片

昨天,微软Gen AI Research的副总裁Sebastien Bubeck在推特上宣布更新了Phi-3的技术报告,添加了small和medium版本的最终得分,以及视觉模型的测评结果。

图片

在评论区,网友们尽情抒发对Phi-3这种开源且强大的小模型的喜爱之情。

图片

甚至有人形容,这是「微软给开源世界的礼物」。

图片

或许,微软在SLM这条路上真的赌对了?让有强大能力的模型真正落地、渗透到各种应用中,才能带来真正的变革。

图片

Phi-3结果提示我们,用如此少的内存足迹可以实现多少可能性,现在有真正的机会可以让模型扩展到各种app上了

那么,Phi-3系列的实力到底如何?我们可以从最新版的技术报告一探究竟。

Phi-3语言模型:小而美

Phi-3-mini与small都使用了标准的纯解码器Transformer架构。

为了最大程度方便开源社区,Phi-3-mini使用了和Llama 2相同的分词器和类似的块结构,这就意味着所有部署在Llama 2上的软件包都可以无缝迁移。

small版模型则使用OpenAI的tiktoken分词器,更适合多语言任务,此外为了实现高效的训推,也在模型架构上做了许多改进:

  • 用GEGLU激活函数代替GELU

图片

  • 使用最大更新参数化策略(Maximal Update Parameterization)在代理模型上调整超参数,保证模型训练时的参数稳定
  • 采用分组查询注意力
  • 设计了块稀疏注意力模块(blocksparse attention module),用较少的KV缓存处理更长的上下文
  • 为训练和推理分别实现不同的kernel,真正发挥块稀疏机制的优势,实现部署后的模型加速

图片

Phi-3-mini部署时可以采用INT4量化,仅需占用1.8GB左右的内存。量化后部署在搭载A16芯片的iPhone 14上时,离线运行可以实现12 tokens/s的生成速度。

图片

训练后也使用了多样化的高质量数据,进行SFT和DPO微调,涵盖数学、编码、推理、对话、模型身份和安全性等多个领域。此外,也在这个阶段将mini版本的上下文长度扩展到了128k。

通过使用少样本提示,技术报告将不同参数量的Phi-3模型和Mistral、Gemma以及Llama 3、Mixtral(8X7B)、GPT-3.5等模型对比,在21个基准上进行测试。

图片

相比2.7B的Phi-2模型,Phi-3模型的参数增长了1.1B,但在所有测试中几乎都实现了10分及以上的性能提升,基本可以和8B的Llama 3打成平手。

总体来看,7B参数的small版本可以和GPT-3.5对标,除了在TriviaQA和TrufulQA上有较大差距,其余测试的分数基本持平,甚至在GSM-8K、SociQA、BigBench-Hard、WinoGrande等测试上还有大幅度领先。

而medium模型的表现并不如意,虽然相比small多了7B的参数,但用的是Phi-3-mini同款架构,在各个测试中都没有明显优势,在ANLI和OpenBookQA上还有性能倒退。

Phi-3-Vision:4.2B的强大多模态

Phi-3-V依旧坚持了语言模型的「小参数」策略,参数量仅有4.2B,可以接受图像或文本提示作为输入,然后生成文本输出。

模型架构也非常简洁,包含图像编码器CLIP ViT-L以及文本解码器Phi-3-mini-128K-instruct。

预训练过程总共涉及0.5T token的数据,包含纯文本、表格、图表以及图像和文本相交错的数据,预训练后同样进行了SFT和DPO微调,也是多模态任务和纯文本任务同时进行。

通过完全相同的pipeline生成的结果,技术报告将Phi-3-Vision与通义千问、Claude、Gemini 1.0 Pro和GPT-4V Turbo等模型进行了对比。

图片

在总共12个基准测试中,在ScienceQA、POPE、AI2D、ChartQA和TextVQA这5个任务上,Phi-3-V都取得了比GPT-4V-Turbo更高的分数。

其中图表问答任务ChartQA中,Phi-3相较GPT-4V提升了19分,ScienceQA则领先15分达到了90.8分。

而在其他任务上,虽然分数不敌GPT-4V,但也可以高到与Claude 3和Gemini 1.0 Pro对打,甚至超过这些更大的模型。

比如MathVista和Inter-GPS上,都领先Gemini约10分左右。

图片

Phi-3-Vision在图像理解和推理方面的能力

数据换参数

Phi-3为什么能用较少的参数得到强大的能力?技术报告从侧面揭示了答案。

微软在Phi系列模型的探索中发现了一种训练数据「配方」,可以在小模型中实现更大模型才有的性能。

这种配方就是LLM过滤后的公开网络数据,与LLM合成数据相结合。这可以启发我们,数据内容与质量到底能在多大程度上影响模型性能。

图片

这完全是通过更改训练数据实现的...开发出一种更紧凑的语言模型,可以与ChatGPT的能力媲美,同时能在手机上运行,这证明了数据启动的机器学习的力量。通过精心策划并优化训练数据集,可以在不影响性能的情况下显著缩小模型规模。

Phi-1模型就是用「教科书质量」的数据,首次实现了SLM的性能突破。

图片

论文地址:https://arxiv.org/abs/2306.11644

技术报告将这种数据驱动的方法称为「数据最优机制」(Data Optimal Regime)。在给定规模的情况下,尝试「校准」训练数据,使其更接近SLM的「数据最佳」状态。

这意味着在样本级别进行数据的筛选,不仅要包含正确的「知识」,还要能最大程度提升模型的推理能力。

而Phi-3-medium在提升7B参数后性能没有明显进步,一方面可能由于架构与参数规模不适配,另一方面也可能缘于「数据混合」的工作没有达到14B模型的最佳状态。

然而,天下没有免费的午餐,即使有架构和训练策略的改进,参数的缩小也不是没有代价的。

比如,没有多余的参数来隐式存储太多「事实知识」,这可能导致了Phi-3语言模型在TriviaQA上的低分,视觉模型的推理能力也被局限。

虽然团队在数据、训练和红队工作上付出了大量努力,也看到了显著成效,但模型的幻觉和偏见问题依旧有很大改进空间。

此外,训练和基准测试主要用英语进行,SLM的多语言能力还有待探索。

责任编辑:张燕妮 来源: 新智元
相关推荐

2021-12-21 21:00:23

Ansible树莓派语音助手

2024-08-22 12:49:02

2024-06-03 08:25:00

2024-05-07 09:33:03

模型手机

2024-03-26 08:00:00

LLMVLMRaspberry

2018-11-08 09:00:31

树莓派WordPressLinux

2017-04-24 17:00:26

Linux树莓派Fedora 25

2024-05-06 08:25:00

AI模型

2024-05-15 08:42:19

Phi-3LLM机器学习

2020-11-03 10:37:01

树莓派UbuntuLinux

2019-05-06 13:52:00

树莓派Ubuntu MATEUbuntu

2020-03-31 12:50:34

树莓派K3sKubernetes集

2024-10-24 08:07:25

大语言模型LLMRAG模型

2024-04-12 07:45:52

DuckDBOLAP数据库

2023-02-07 16:36:34

机器学习Docker无服务器

2021-09-02 08:02:50

深度学习Kubernetes集群管理

2024-08-21 17:09:28

2024-10-15 16:00:00

微软人工智能

2017-11-18 23:48:36

戴尔

2024-08-28 06:34:27

点赞
收藏

51CTO技术栈公众号