Phi-3-mini-4k-instruct-llamafile项目介绍
项目背景
Phi-3-mini-4k-instruct-llamafile是一个基于Microsoft的Phi-3-mini-4k-instruct模型的项目。这个项目由微软开发,采用了一种新的可执行权重格式“llamafile”,能够在多个操作系统上高效运行,包括Linux、MacOS、Windows等。Phi-3-mini-4k-instruct模型是一个轻量级的,最先进的公开模型,具有3.8亿参数,专注于高质量和推理密集的数据处理。
快速入门
这个项目的一个显著特点是它的“快速体验”性。只需下载、解压和执行模型适用于多平台的llamafile文件即可。在开始之前,请确保你的系统至少有32GB的内存。以下是一个简单的步骤:
wget https://huggingface.co/jartine/Phi-3-mini-4k-instruct-llamafile/resolve/main/Phi-3-mini-4k-instruct.F16.llamafile
chmod +x Phi-3-mini-4k-instruct.F16.llamafile
./Phi-3-mini-4k-instruct.F16.llamafile --help # 查看使用手册
./Phi-3-mini-4k-instruct.F16.llamafile # 启动Web界面+OAI API
./Phi-3-mini-4k-instruct.F16.llamafile -p ... # CLI接口(可脚本化)
llamafile格式
llamafile是Mozilla Ocho引入的一种新格式,可以将大语言模型的权重转化为可执行的二进制文件,并且在AMD64和ARM64架构上运行。一个llamafile既是可执行文件,也是一个zip存档,包含一个GGUF文件,可以通过unzip
命令提取。
用途和应用场景
Phi-3-mini-4k-instruct模型主要用于以下场景:
- 内存/计算资源受限的环境
- 对延迟要求较高的场景
- 强推理能力需求(特别是代码、数学和逻辑相关的应用)
这个模型旨在加速语言和多模态模型的研究,是生成式AI功能的重要构建模块。
使用方法
Phi-3-mini-4k-instruct已整合至transformers
库的开发版本中。使用时需要注意以下几点:
- 确保加载模型时传入参数
trust_remote_code=True
。 - 更新本地
transformers
到开发版本。
例如,可以使用以下代码进行快速推理:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model = AutoModelForCausalLM.from_pretrained(
"microsoft/Phi-3-mini-4k-instruct",
device_map="cuda",
torch_dtype="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
messages = [
{"role": "system", "content": "You are a helpful digital assistant. Please provide safe, ethical and accurate information to the user."},
{"role": "user", "content": "Can you provide ways to eat combinations of bananas and dragonfruits?"},
{"role": "assistant", "content": "Sure! Here are some ways to eat bananas and dragonfruits together..."},
]
模型简介
Phi-3-mini-4k-instruct是在Phi-3数据集上训练的,包括合成数据和经过筛选的公共可用网站数据,重点是高质量和推理密集的特性。模型支持最长4K的上下文长度,并通过监督微调以及直接偏好优化进行后期训练,以提升其指令跟随能力和安全性。
责任和考虑
正如其他语言模型一样,Phi系列模型可能会产生不公平、不可靠或冒犯性的行为。开发人员在应用这些模型时应该特别注意遵循负责任AI的最佳实践,并确保符合相关法律法规。
通过这篇介绍,读者应该能够对Phi-3-mini-4k-instruct-llamafile项目有一个整体理解,以及如何应用这个项目,并在贺各种应用场景中做出负责任的使用。