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

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

首页战争策略克隆人2048更新时间:2024-06-03
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性能相当,尽管其规模更小。

基准测试涵盖多个项目:

下图是微软官网的实例图。

掌握了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