查看原文
其他

掌握微软Phi-2模型:从深入解析到实际安装流程

思辨view kate人不错 2024-05-19

Microsoft发布新的小型语言模型Phi-2,与之前的大语言模型(LLM)相比,小语言模型参数更少,训练更快。例如,GPT-3有1750亿参数,而Phi-2是一个有27亿参数的语言模型。

Microsoft声称Phi-2的性能可以超过25倍其大小的大型语言模型。Phi-2可用于各种研究,如可解释性、安全性改进或微调实验。
Phi-2是一个基于Transformer的模型,具有下一个词预测的目标,它在多次对NLP和编码领域的综合合成数据集和Web数据集进行处理后,共训练了1.4T个令牌。Phi-2的训练在96个A100 GPU上进行了14天。Phi-2是一个基础模型,它没有经过基于人类反馈的增强学习(RLHF)的校准,也没有进行指导性的微调。

Phi-2的评估结果

在多个基准测试中,Phi-2超过了同类小型语言模型的表现。
Phi-2在复杂的多步推理任务中优于规模大25倍的模型。
Phi-2与Google最近发布的Gemini Nano 2性能相当,尽管其规模更小。
基准测试涵盖多个项目:
  • 大型语言模型难题基准测试(Big Bench Hard, 简称 BBH)
  • 思维链(Chain of Thought, 简称 CoT)
  • 物理互动问答(Physical Interaction Question Answering, 简称 PIQA)
  • AI2推理挑战赛(AI2 Reasoning Challenge, 简称 ARC)简单版和挑战版
  • 社会互动问答(Social Interaction Question Answering, 简称 SIQA)
  • 开放书籍问答(OpenBookQA)
  • 大规模多任务语言理解(Massive Multitask Language Understanding, 简称 MMLU)
  • 斯坦福问答数据集第二版(Stanford Question Answering Dataset version 2, 简称 SQuADv2)
  • 八年级数学8千题(Grade School Math 8k, 简称 GSM8k)
  • Python数学基准问题(Math Benchmark Problems for Python, 简称 MBPP)
  • 人类评估(HumanEva)
下图是微软官网的实例图。
掌握了Phi-2的技术优势后,我们接下来看看如何在实际中安装和运用这一模型。
这里以Mac电脑为例。我用的是M1 Max 32G的Mac。
苹果公司近期宣布推出MLX,这是一款开源的阵列框架,专为Apple芯片上的机器学习应用而设计。MLX为开发者准备了一系列经典模型,如Llama、Mistral、Stable Diffusion和Whisper等,同时也兼容最新推出的Phi-2模型。
https://github.com/ml-explore/mlx-examples
https://github.com/ml-explore/mlx
1. 克隆仓库到你的本地环境:
git clone https://github.com/ml-explore/mlx-examples.git
2. 切换到 phi2 目录:
cd mlx-examples-main/phi2
3. 安装所需的依赖
pip install -r requirements.txt
4. 运行转换脚本以准备模型权重文件:
python convert.py
5. 安装完成后,你可以使用以下命令来生成文本:
python phi2.py

我在pip install -r requirements.txt过程中出现以下报错:
ERROR: Could not find a version that satisfies the requirement mlx (from versions: none)
ERROR: No matching distribution found for mlx
故障原因如下:
地址:https://ml-explore.github.io/mlx/build/html/install.html#
解决方法:
安装好后,运行python phi2.py,如果出现以下内容,则说明安装成功:

问题

python phi2.py --prompt <your prompt here> --max_tokens <max_tokens_to_generate>
实测,中文效果支持不好。
同一问题,英文提问回答:

当设置的输出长度超出它的正常回答答案时,它就显示无关的信息。

Phi-2回答问题时,我观察了下,占用电脑20G的内存,在我的电脑上生成速度和我用GPT4差不多。用惯了GPT4的话再用Phi-2对于生成内容质量可能不习惯。Phi-2上下文长度:2048 tokens。
还有一点需要注意:Phi-2只能用于研究目的,不支持商用
不过本地部署还是有很多想象力的,正如微软官方文章里说Phi-2可用于各种研究,如可解释性、安全性改进或微调实验,还是有其重要意义的。
延伸阅读:
Phi-2的局限性
生成不准确的代码和事实:模型可能产生不正确的代码片段和声明。用户应将这些输出视为建议或起点,而不是作为确定的或准确的解决方案。
代码的有限范围:Phi-2的大部分训练数据基于Python并使用常用的包,例如“typing, math, random, collections, datetime, itertools”。如果模型生成使用其他包的Python脚本或其他语言的脚本,微软强烈推荐用户手动验证所有API的使用。
对指令的不可靠响应:模型尚未经过指令微调。因此,它可能在遵循用户提供的复杂或微妙指令时遇到困难或失败。
语言限制:该模型主要设计用于理解标准英语。非正式英语、俚语或其他语言可能会对其理解构成挑战,导致潜在的误解或响应错误。
潜在的社会偏见:尽管在确保训练数据安全方面做出了努力,Phi-2并非完全没有社会偏见。如果被提示或指导这样做,它可能生成反映这些社会偏见的内容。我们敦促用户意识到这一点,并在解释模型输出时保持谨慎和批判性思维。
有害内容:尽管经过精心挑选的数据训练,如果模型被明确提示或指导产生有害内容,它仍然可以产生有害内容。我们选择仅为研究目的发布该模型——我们希望帮助开源社区开发最有效的方法,以在预训练之后直接减少模型的有害性。(这一点可能是优势
冗长:作为一个基础模型的Phi-2在其对用户提示的第一个回答之后,经常会在单次交互中产生无关或额外的文本和响应。这是因为其训练数据集主要是教科书,导致产生类似教科书的回应。


推荐阅读:与AI相关的创新体验

Gemini Pro API的两个应用实例 | 定制祝福信息、在VS Code里使用CodeGPT

Together AI注册送$25体验多模型AI服务,Visualelectric免费AI白板式绘图

Krea AI让我速成绘画高手——涂鸦实时生图

tldraw make real:利用AI一键从原型图到生成真实可用的代码

深度使用GPTs的分享——授人以鱼不如授人以渔

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存