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性能相当,尽管其规模更小。
基准测试涵盖多个项目:
下图是微软官网的实例图。
掌握了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在其对用户提示的第一个回答之后,经常会在单次交互中产生无关或额外的文本和响应。这是因为其训练数据集主要是教科书,导致产生类似教科书的回应。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved