微软的SLMs之路:对Phi-3的看法&使用体验

引言

微软最近公开了Phi-3的论文[1],并且开源了Phi-3-mini模型(3.8B参数量),有4K上下文[2]和128K上下文[3]两个版本。

从benchmark上来看,Phi-3-mini在factuality knowledge上有较明显短板(见下图,trivialQA的表现明显低于其他7B模型),但在math、code、language understanding和reasoning上,3.8B的Phi-3-mini几乎领先一众7B/8B模型,有些任务上甚至可以超越Mixtral 8*7B和GPT3.5。

picture.image

在本文中,笔者将用自身的use case来测试Phi-3-mini的效果,并谈谈对Phi-3以及SLMs的看法。

阅读本文之前,读者可以阅读先导文章:「微软的SLMs之路:从Phi-1到Phi-2」

究竟效果几何

benchmark固然重要,但能否解决用户实际的use case也很重要。

笔者将选取自身遇到的3个实际use case,试试看Phi-3-Mini效果如何。

测试环境:ollama[4] + open web ui[5]

需要提前说的是,Phi-3-Mini主要支持英文,因此下文的试验都在英文语境下开展;笔者试过,Phi-3-Mini的中文能力很差。

Use Case1: linux下查询文件夹内的文件数量

提问如下:

How to get the number of files in a folder on a Linux system.

Phi-3-Mini的回答:

picture.image

整体回答不错 。但第一个指令有些混淆,--file-per-directory的表述不对,应该改为path/to/folder,否则会误导用户;而其他的指令都是正确的。

下面这个是智谱GLM4[6]的回答,大家可以对比感受一下。

picture.image

User Case2: 分析《我记得》的歌词

有段时间很喜欢听《我记得》,于是想试试LLM能否用来分析艺术作品。

提问如下:


            
[lyrics]
            
the above text is the lyric of a song, please analyse what's the meaning of the song?
        

Phi-3-Mini的回答:

picture.image

为了方便看,笔者用GLM4将其转成了中文。

picture.image

笔者认为Phi3回答的挺好 ,基本把握了这首歌的内涵,提到了“回忆“、“永恒”、“思念”和”爱“等元素,也指出了其中的”循环“设定。

下面是GLM4的回答,大家可以对比一下。

picture.image

Use Case3:总结学术论文

既然Phi-3-Mini可以支持128K的上下文,那么理论上可以用来总结论文。

于是笔者将Phi-3自己的论文扔给它,并让它进行总结:


            
[phi-3 pdf]
            
summarize the document.
        

Phi-3-Mini的回答如下:

picture.image

不得不说,Phi3的效果较差 ,这个总结中忽略了很多重要内容,例如Phi-3-mini的参数大小、训练数据、训练策略等技术细节。

学术论文总结做的比较好的是Kimi[7],其总结有条理,且会保留重要信息:

picture.image

关于Phi-3的看法

  • 微软的Phi系列模型,主打数据至上 。目的是做出最优的数据(data-optimal regime),使得模型取得同参数量下最好的效果;下图展示了Phi-3相较LLaMa2的Scaling Law曲线差异,Phi-3明显斜率更大,这是data-optimal regime带来的效果;

picture.image

  • 数据至上,体现在数据构成、训练策略两方面 。在数据组成上,Phi系列模型利用GPT对web data进行质量过滤,同时使用GPT来合成高质量的textbooks数据(细节可看这篇博文);在训练策略上,Phi-3用了分阶段训练的策略(Gemma[8]和MiniCPM[9]也用了类似的策略),1阶段主要在未经严格过滤的web data上训练,目的是教会模型general knowledge + language understanding,2阶段则使用严格过滤的web data + 合成数据,目的是教会模型logical reasoning + 特定skill;
  • SLMs与LLMs最大的不同在于,SLMs是在参数量受限下的选择问题 。由于参数量受限,Phi-3做了一些取舍,1是放弃了某些information(例如某天英超联赛的赛况),而保留能提供knowledge、增强reasoning的数据;2是在Mini版模型中,放弃了multilingual,专注于英文(但7B版模型尝试加入multilingual能力);
  • Benchmark上接近GPT3.5,说明Phi-3-Mini真的接近GPT3.5吗?No。 如果把GPT3.5当作是日常工作/生活的助手,那么Phi-3-Mini显然无法担当此任。第一,Phi-3-Mini不支持多语种;第二,论文指出Phi-3受参数量限制,存储不了太多fact,因此factuality knowledge上表现一般,但这是日常助手很重要的一种能力;而且,以笔者不严谨的直觉来看,较小参数量的模型在robustness和generalization上,始终会有能力不足的风险,这也限制了其作为日常助手的应用价值;
  • SLMs有更适合的应用场景 。SLMs的诞生,不是为了“干掉”LLMs,而是为AI应用提供了另一类选择。微软的blog[10]中提到,SLMs适合三种场景,1是推理资源受限的场景,包括端侧和离线场景,随着开源SLMs的能力增强,在手机、电脑、车上会有更智能的本地AI应用;2是对低latency要求严格的场景;3是成本受限的use case,尤其是那些simpler tasks。笔者再补充一点,SLMs也适用于垂类应用(但要经过微调),因为垂直行业/任务有特定的知识、特定的工作流,直觉上不需要非常大的参数量,因此经过微调,SLMs有潜力战胜LLMs,RAD-Phi2就是一个放射医学领域的例子

一起交流SLMs

笔者建了一个SLMs交流群,欢迎感兴趣的读者加入,我们可以一起讨论SLMs的技术和应用。加笔者微信(duanyu027),备注“SLMs”,我将拉你入群。

关注笔者

最后,欢迎关注笔者的公众号,了解更多有趣/有用的NLP知识:)

往期文章推荐

  1. 微软的SLMs之路:从phi-1到phi-2

  2. RAD-Phi2:在垂直领域微调SLMs,来自微软的示范

  3. Large-Scale Weakly Supervision (Noisy) Data,何以成为大模型的数据基石?

  4. DITTO:角色扮演的self-alignment方法

  5. 角色扮演论文浅读:RoleLLM、Character-LLM以及ChatHaruhi

  6. 模型融合(Model Merging):合理性、常见技术及其特性

参考资料

[1] Phi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone: https://arxiv.org/pdf/2404.14219

[2] Phi-3-mini-4K-instruct: https://hf-mirror.com/microsoft/Phi-3-mini-4k-instruct

[3] Phi-3-mini-128K-instruct: https://hf-mirror.com/microsoft/Phi-3-mini-128k-instruct

[4] ollama: https://github.com/ollama/ollama

[5] open webui: https://github.com/open-webui/open-webui

[6] 智谱GLM: https://chatglm.cn/

[7] Kimi: https://kimi.moonshot.cn/

[8] Gemma: https://arxiv.org/pdf/2403.08295

[9] MiniCPM: https://arxiv.org/pdf/2404.06395

[10] phi-3 blog: https://azure.microsoft.com/en-us/blog/introducing-phi-3-redefining-whats-possible-with-slms/

0
0
0
0
评论
未登录
暂无评论