许可证: mit
许可证链接: >-
https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf/resolve/main/LICENSE
语言:
- 英语
任务标签: 文本生成
标签:
- 自然语言处理
- 代码
模型概述
本仓库提供Phi-3-Mini-4K-Instruct模型的GGUF格式文件。
Phi-3-Mini-4K-Instruct是一个拥有38亿参数的轻量级、前沿开源模型,使用Phi-3数据集训练而成,该数据集包含合成数据以及经过筛选的公开网站数据,重点关注高质量和推理密集的特性。
该模型属于Phi-3系列,Mini版本有两种变体:4K和128K,分别表示其支持的上下文长度(以token为单位)。
模型经过后训练过程,包括监督微调和直接偏好优化,以确保精确遵循指令和强大的安全措施。
在测试常识、语言理解、数学、代码、长上下文和逻辑推理的基准评估中,Phi-3 Mini-4K-Instruct在参数少于130亿的模型中表现出了强大且前沿的性能。
资源与技术文档:
本仓库提供Phi-3 Mini-4K-Instruct模型的GGUF文件。
预期用途
主要使用场景
该模型适用于英语的商业和研究用途。模型可用于以下应用场景:
- 内存/计算受限的环境
- 延迟敏感的场景
- 强推理需求(尤其是数学和逻辑)
- 长上下文
我们的模型旨在加速语言和多模态模型的研究,作为生成式AI功能的基础构建块。
使用场景注意事项
我们的模型并非专门设计或评估用于所有下游用途。开发者在选择使用场景时应考虑语言模型的常见限制,并在特定下游使用场景中使用前评估和缓解准确性、安全性和公平性问题,尤其是高风险场景。
开发者应了解并遵守适用于其使用场景的法律法规(包括隐私、贸易合规法律等)。
本模型卡中的任何内容均不应被解释为对模型发布许可证的限制或修改。
聊天格式:
鉴于训练数据的性质,Phi-3-Mini-4K-instruct模型最适合使用以下聊天格式的提示。
您可以按照以下通用模板提供问题提示:
<|user|>\n问题 <|end|>\n<|assistant|>
例如:
<|user|>
如何向中世纪的骑士解释互联网?<|end|>
<|assistant|>
模型会在"<|assistant|>"后生成文本。对于少量示例提示,可以按以下格式组织提示:
<|user|>
我要去巴黎,应该看什么?<|end|>
<|assistant|>
巴黎是法国的首都,以其令人惊叹的建筑、艺术博物馆、历史地标和浪漫氛围而闻名。以下是巴黎的一些顶级景点:\n\n1. 埃菲尔铁塔:标志性的埃菲尔铁塔是世界上最知名的地标之一,可以俯瞰城市的壮丽景色。\n2. 卢浮宫博物馆:卢浮宫是世界上最大、最著名的博物馆之一,收藏了大量艺术品和文物,包括《蒙娜丽莎》。\n3. 巴黎圣母院:这座美丽的大教堂是巴黎最著名的地标之一,以其哥特式建筑和令人惊叹的彩色玻璃窗而闻名。\n\n这些只是巴黎众多景点中的一小部分。有这么多可看可做的事情,难怪巴黎是世界上最受欢迎的旅游目的地之一。"<|end|>
<|user|>
第一名有什么特别之处?<|end|>
<|assistant|>
如何下载GGUF文件
- 安装Hugging Face CLI:
pip install huggingface-hub>=0.17.1
- 登录Hugging Face:
huggingface-cli login
- 下载GGUF模型:
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-q4.gguf --local-dir . --local-dir-use-symlinks False
如何与Ollama一起使用
- 安装Ollama:
curl -fsSL https://ollama.com/install.sh | sh
- 运行phi3模型:
ollama run phi3
从Modelfile
构建
假设您已经下载了GGUF文件,以下是使用Ollama的方法:
- 获取Modelfile:
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf Modelfile_q4 --local-dir /path/to/your/local/dir
- 构建Ollama模型:
使用Ollama CLI通过以下命令创建您的模型:
ollama create phi3 -f Modelfile_q4
- 运行phi3模型:
现在您可以使用以下命令通过Ollama运行Phi-3-Mini-4k-Instruct模型:
ollama run phi3 "您的提示内容"
将"您的提示内容"替换为您希望模型生成响应的实际提示。
如何与Llamafile一起使用:
假设您已经下载了GGUF文件。以下是使用Llamafile运行GGUF模型的方法:
- 下载Llamafile-0.7.3
wget https://github.com/Mozilla-Ocho/llamafile/releases/download/0.7.3/llamafile-0.7.3
- 使用聊天格式提示运行模型:
<|user|>\n如何向中世纪的骑士解释互联网?\n<|end|>\n<|assistant|>
./llamafile-0.7.3 -ngl 9999 -m Phi-3-mini-4k-instruct-q4.gguf --temp 0.6 -p "<|user|>\n如何向中世纪的骑士解释互联网?\n<|end|>\n<|assistant|>"
- 使用聊天界面运行:
./llamafile-0.7.3 -ngl 9999 -m Phi-3-mini-4k-instruct-q4.gguf
浏览器应自动打开并显示聊天界面。(如果没有,只需打开浏览器并访问http://localhost:8080)
如何在Python中运行:
- 安装llama-cpp-python:
! CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
- 运行模型:
from llama_cpp import Llama
llm = Llama(
model_path="./Phi-3-mini-4k-instruct-q4.gguf",
n_ctx=4096,
n_threads=8,
n_gpu_layers=35,
)
prompt = "如何向中世纪的骑士解释互联网?"
output = llm(
f"<|user|>\n{prompt}<|end|>\n<|assistant|>",
max_tokens=256,
stop=["<|end|>"],
echo=True,
)
print(output['choices'][0]['text'])
负责任AI考量
与其他语言模型一样,Phi系列模型可能会表现出不公平、不可靠或冒犯性的行为。需要注意的一些限制行为包括:
- 服务质量:Phi模型主要基于英语文本训练。非英语语言的性能会较差。训练数据中代表性较少的英语变体可能比标准美式英语表现更差。
- 伤害表现与刻板印象延续:这些模型可能会过度或不足地代表某些群体,抹去某些群体的表现,或强化贬低或负面的刻板印象。尽管进行了安全后训练,由于训练数据中不同群体的代表程度不同或负面刻板印象示例的普遍性反映了现实世界模式和社会偏见,这些限制可能仍然存在。
- 不当或冒犯性内容:这些模型可能会产生其他类型的不当或冒犯性内容,因此在敏感环境中部署时可能需要额外的缓解措施。
- 信息可靠性:语言模型可能会生成无意义的内容或编造听起来合理但不准确或过时的内容。
- 代码范围有限:Phi-3的大部分训练数据基于Python并使用常见包如"typing, math, random, collections, datetime, itertools"。如果模型生成使用其他包或其他语言的Python脚本,我们强烈建议用户手动验证所有API使用。
开发者应应用负责任AI的最佳实践,并负责确保特定使用场景符合相关法律法规(如隐私、贸易等)。需要考虑的重要领域包括:
- 分配:模型可能不适合对法律地位或资源或生活机会分配(如住房、就业、信贷等)有重大影响的场景,除非进行进一步评估并应用额外的去偏技术。
- 高风险场景:开发者应评估在高风险场景中使用模型的适用性,其中不公平、不可靠或冒犯性输出可能代价极高或导致伤害。这包括在准确性