许可证: mit
许可证链接: https://huggingface.co/microsoft/Phi-3-small-128k-instruct/resolve/main/LICENSE
语言:
- 多语言
任务标签: 文本生成
标签:
- 自然语言处理
- 代码
推理参数:
温度: 0.7
示例输入:
- 消息:
- 角色: 用户
内容: 你能提供一些香蕉和火龙果的搭配吃法吗?
🎉 Phi-3.5系列: [迷你指导版]; [混合专家指导版]; [视觉指导版]
模型概述
Phi-3-Small-128K-Instruct是一个拥有70亿参数的轻量级尖端开源模型,使用包含合成数据和经过筛选的公开网站数据的Phi-3数据集训练而成,重点聚焦高质量与强推理能力。该模型属于Phi-3系列,提供8K和128K两种上下文长度(以token计)的变体。
模型经过监督微调和直接偏好优化的后训练过程,以确保指令遵循与安全措施。在常识、语言理解、数学、代码、长文本和逻辑推理等基准测试中,Phi-3-Small-128K-Instruct展现了同尺寸及更大尺寸模型中领先的强劲性能。
资源与技术文档:
预期用途
主要应用场景
该模型适用于英语环境下的广泛商业和研究用途,特别适合以下需求场景:
- 内存/计算受限环境
- 延迟敏感场景
- 强推理需求(尤其是代码、数学和逻辑)
本模型旨在加速语言和多模态模型研究,作为生成式AI功能的构建模块。
使用注意事项
本模型并非针对所有下游用途专门设计或评估。开发者应评估模型在准确性、安全性和公平性方面的局限性,尤其在高风险场景中需采取缓解措施。开发者需遵守与用例相关的法律法规(如隐私、贸易合规等)。
本模型卡内容不应被解释为对模型所适用许可证的限制或修改。
使用方法
Phi-3-Small-128K-Instruct已集成至transformers
开发版(4.40.2)。在正式版本发布前,请确保:
- 安装tiktoken(0.6.0)和triton(2.3.0)
- 加载模型时在
from_pretrained()
函数中添加参数trust_remote_code=True
- 或通过
pip uninstall -y transformers && pip install git+https://github.com/huggingface/transformers
更新开发版
该模型也可在Azure AI中使用。
分词器
支持最大100352
token的词汇表。
对话格式
建议使用以下对话模板格式:
<|endoftext|><|user|>\n问题<|end|>\n<|assistant|>
示例:
<|endoftext|><|user|>
如何向中世纪骑士解释互联网?<|end|>
<|assistant|>
示例推理代码
以下代码展示如何在GPU上快速运行模型:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-3-small-128k-instruct", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-small-128k-instruct")
messages = [
{"role": "user", "content": "如何解方程2x + 3 = 7?"}
]
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
output = pipe(messages, max_new_tokens=500, temperature=0.0)
print(output[0]['generated_text'])
注意:部分应用可能未在对话开头包含BOS标记(<|endoftext|>
),请确保添加该标记以获得更可靠结果。
负责任AI考量
与其他语言模型类似,Phi系列模型可能存在不公平、不可靠或冒犯性的行为,主要限制包括:
- 服务质量:主要训练数据为英文,其他语言性能可能较差
- 偏见与刻板印象:可能过度代表某些群体或强化负面 stereotypes
- 不当内容:可能生成不适合敏感场景的内容
- 信息可靠性:可能生成不准确或过时的内容
- 代码局限性:主要基于Python常见包,其他语言/包需人工验证
开发者应遵循负责任AI实践,特别注意:
- 资源分配场景:不适用于直接影响法律地位或资源分配的高风险场景
- 高风险场景:需额外评估模型适用性并实施保障措施
- 错误信息:应告知用户正在与AI系统交互,可采用检索增强生成(RAG)技术
- 有害内容:根据用例部署适当的安全分类器
- 滥用防范:确保应用符合相关法律法规
训练详情
模型架构
- 70亿参数密集解码器Transformer,交替使用密集和块稀疏注意力
- 通过监督微调(SFT)和直接偏好优化(DPO)对齐人类偏好与安全准则
- 上下文长度:128K token
- 训练硬件:1024块H100-80G GPU
- 训练时间:18天
- 训练数据:4.8万亿token(含10%多语言数据)
- 发布日期:2024年5月21日
数据集
训练数据包含:
- 严格筛选的公开文档、高质量教育数据和代码
- 新创建的合成"教科书式"数据(数学、编程、常识推理等)
- 高质量对话格式数据(涵盖指令遵循、真实性等人类偏好)
更多数据细节参见技术报告。
基准测试
我们在80个公开基准数据集上对比了Phi-3-Small-128K-Instruct与Mixtral-8x7b、Gemini-Pro等模型的性能(完整表格见原文),关键结论:
- 在推理任务平均得分80.3,超过同类模型
- 代码生成得分60.0,数学任务48.1
- 多语言任务表现62.6,稳健性得分68.7
软件支持
- PyTorch/DeepSpeed/Transformers
- Flash-Attention/Triton加速
硬件要求
默认需要支持Flash Attention 2和Triton块稀疏注意力的GPU:
- NVIDIA A100/A6000/H100
- 优化版ONNX模型支持跨平台部署(CPU/GPU/移动端)
许可证
模型采用MIT许可证。
商标声明
本项目可能包含Microsoft商标,使用需遵守微软商标指南。第三方商标归属其所有者。