许可证:MIT
许可证链接:https://huggingface.co/microsoft/Phi-3-medium-128k-instruct/resolve/main/LICENSE
支持语言:
任务标签:文本生成
标签:
推理参数:
示例对话:
🎉 Phi-3.5系列:
[迷你指令版];
[混合专家指令版];
[视觉指令版]
模型概述
Phi-3-Medium-128K-Instruct是一个拥有140亿参数的轻量级尖端开源模型,基于包含合成数据与精选公开网站数据的Phi-3数据集训练而成,专注于高质量与强推理能力。该模型属于Phi-3家族的中等规模版本,提供4k和128K两种上下文长度(以token计)变体。
模型经过监督微调与直接偏好优化的后训练过程,以确保指令遵循与安全措施。在常识、语言理解、数学、代码、长文本和逻辑推理等基准测试中,Phi-3-Medium-128K-Instruct展现了同规模及更大规模模型中最先进的性能表现。
资源与技术文档:
适用场景
主要用例
本模型适用于英语环境的广泛商业与研究用途,特别适合以下场景:
- 内存/计算资源受限的环境
- 对延迟敏感的场景
- 需要强推理能力(尤其是代码、数学与逻辑)
本模型旨在加速语言与多模态模型研究,作为生成式AI功能的构建模块。
使用注意事项
开发者需注意语言模型的通用限制,针对具体下游场景评估准确性、安全性与公平性,特别是高风险场景。需遵守相关法律法规(如隐私、贸易合规等)。
本模型卡片内容不应视为对模型许可证的限制或修改。
使用方法
Phi-3-Medium-128k-Instruct已集成至transformers
开发版(4.40.2)。在正式版本发布前,请确保:
- 加载模型时在
from_pretrained()
函数中添加参数trust_remote_code=True
- 或通过
pip uninstall -y transformers && pip install git+https://github.com/huggingface/transformers
更新开发版
模型亦可通过Azure AI Studio使用。
分词器
支持最大32064
词表尺寸,分词器文件已预留下游微调所需的占位符。
对话格式
推荐使用以下结构化提示模板:
<|user|>\n问题<|end|>\n<|assistant|>
示例:
<|user|>
如何向中世纪骑士解释互联网?<|end|>
<|assistant|>
推理代码示例
以下代码展示如何在GPU上快速运行模型:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
torch.random.manual_seed(0)
model_id = "microsoft/Phi-3-medium-128k-instruct"
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="cuda",
torch_dtype="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
messages = [
{"role": "user", "content": "香蕉和火龙果有哪些搭配吃法?"},
{"role": "assistant", "content": "当然!以下是几种搭配方式:1. 香蕉火龙果奶昔:混合香蕉、火龙果与牛奶蜂蜜。2. 水果沙拉:切片后加柠檬汁和蜂蜜拌匀。"},
{"role": "user", "content": "如何解方程2x + 3 = 7?"},
]
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
)
generation_args = {
"max_new_tokens": 500,
"return_full_text": False,
"temperature": 0.0,
"do_sample": False,
}
output = pipe(messages, **generation_args)
print(output[0]['generated_text'])
注意:请确保对话开头包含BOS标记(<s>
),以获得更可靠结果。
负责任AI考量
与其他语言模型类似,Phi系列可能存在不公平、不可靠或冒犯性行为,需注意以下限制:
- 服务质量:主要基于英语训练,其他语言性能可能较差
- 偏见与刻板印象:可能强化负面社会偏见
- 不当内容:敏感场景需额外审查机制
- 信息可靠性:可能生成不准确内容
- 代码局限性:主要基于Python常见包,其他语言脚本需人工验证
开发者应遵循负责任AI实践,特别注意:
- 资源分配场景:需额外公平性评估
- 高风险场景:实施额外保障措施
- 错误信息:明确告知用户AI生成内容属性
- 有害内容:部署针对性安全分类器
- 滥用防范:确保符合法律法规
训练详情
模型架构
- 参数:140亿
- 类型:密集解码器Transformer
- 输入:文本(推荐对话格式)
- 上下文长度:128k tokens
- 硬件:512张H100-80G显卡
- 训练时间:42天
- 训练数据:4.8万亿token(含10%多语言)
- 训练时段:2024年2月至4月
- 发布日期:2024年5月21日
数据集
包含三类数据源:
- 精选公开文档与高质量教育数据
- 合成的"教科书式"数学/编程/常识数据
- 高质量对话数据以优化人类偏好
更多细节参见技术报告。
基准测试
在80个公开基准数据集上的表现对比(完整表格见原文),Phi-3-Medium-128k-Instruct在推理、语言理解等关键领域表现优异,部分指标接近或超越更大规模模型。
软件支持
- PyTorch
- DeepSpeed
- Transformers
- Flash-Attention
硬件要求
默认使用Flash Attention,需以下GPU类型:
优化推理支持:
- ONNX格式模型支持跨平台部署(CPU/GPU/移动端)
许可证
MIT许可证。
商标声明
使用微软商标需遵守微软商标指南。第三方商标遵循各自政策。