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)
- 大规模多任务语言理解(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)
掌握了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/mlxgit clone https://github.com/ml-explore/mlx-examples.gitcd mlx-examples-main/phi2pip install -r requirements.txt
我在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的大部分训练数据基于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的分享——授人以鱼不如授人以渔