phi-2项目介绍
项目概述
phi-2是由微软开发的一个大型语言模型,它拥有27亿参数。这个模型是在phi-1.5的基础上进行了进一步的训练和优化。phi-2的训练数据来源包括各种NLP合成文本和经过筛选的网站内容,这些内容都经过了安全性和教育价值的评估。在测试常识、语言理解和逻辑推理的基准测试中,phi-2展现出了接近最先进的性能,尤其是在13亿参数以下的模型中表现突出。
模型特点
- 模型规模适中,参数量为27亿,适合研究和应用。
- 训练数据经过精心筛选,注重安全性和教育价值。
- 在多个NLP任务上表现优异,特别是在常识、语言理解和逻辑推理方面。
- 未经过人类反馈的强化学习微调,保持了原始训练效果。
- 开源模型,为研究社区提供了探索AI安全挑战的工具。
使用指南
phi-2已经集成到transformers库的4.37.0及以上版本中。使用时需注意以下几点:
- 确保使用的transformers版本不低于4.37.0。
- 模型在使用FP16精度时可能出现注意力溢出问题,可以通过启用/禁用PhiAttention.forward()函数的autocast来解决。
- 模型最适合用于问答(QA)格式、聊天格式和代码生成格式的提示。
应用场景
- 问答系统:可以直接提问或使用"Instruct:
\nOutput:"的格式。 - 聊天机器人:支持多轮对话格式。
- 代码生成:能够根据注释或函数定义生成相应的代码。
模型局限性
- 可能生成不准确的代码和事实,输出结果需要人工验证。
- 代码生成主要限于Python和常用包,其他语言或复杂包的支持有限。
- 对复杂指令的理解和执行能力有限。
- 主要适用于标准英语,对非正式英语、俚语或其他语言的理解可能存在困难。
- 可能存在社会偏见,需要用户谨慎使用和解释输出结果。
- 尽管经过筛选,但在特定提示下仍可能产生有害内容。
- 回答可能过于冗长,倾向于教科书式的回应。
训练细节
- 模型架构:基于Transformer的下一个词预测模型。
- 上下文长度:2048个token。
- 训练数据:250B个token,包括NLP合成数据和经过筛选的网络数据。
- 训练规模:使用96个A100-80G GPU,训练时间14天。
开源许可
phi-2模型采用MIT许可证,允许研究人员和开发者自由使用和修改。这为AI安全研究和应用提供了宝贵的资源,有助于推动开源社区在减少模型毒性、理解社会偏见和增强可控性等方面的研究。