作者 | 付奶茶
Phi-3.5-MoE-instruct Phi-3.5-mini-instruct Phi-3.5-vision-instruct
不同用途不同选择!
Phi-3.5 MoE - 微软专家大集合
6.6B 活动参数(总参数42B) 128K 上下文、多语言和相同分词器 在 4.9T tokens 上进行训练 使用 512 张 H100 进行训练(23 天)
模型开源地址:
https://huggingface.co/microsoft/Phi-3.5-MoE-instruct
Phi 3.5 mini - 针对计算受限的环境进行了优化
3.8B参数,击败Llama3.1 8B和Mistral 7B 多语言和 32K 词汇的分词器 在 3.4T tokens 上进行训练 使用 512 张 H100 进行训练(只需要10 天!)
模型开源地址:
https://huggingface.co/microsoft/Phi-3.5-mini-instruct
Phi-3.5 Vision Instruct - 高级多模态推理
4.2B 参数,在部分基准测试上击败了GPT-4o(不是mini!!!) 使用 500B tokens 进行训练 使用 256 张 A100 进行训练(6 天) 专注于TextVQA + ScienceVQA
模型开源地址:
https://huggingface.co/microsoft/Phi-3.5-vision-Instruct
怎么训练?
加载模型时,确保在 from_pretrained() 函数中传递 trust_remote_code=True 作为参数。可以通过以下命令验证当前的 transformers 版本:
pip list | grep transformers
安装所需软件包示例:
flash_attn==2.5.8
torch==2.3.1
accelerate==0.31.0
transformers==4.43.0
分词器
输入格式
本地加载模型 在获得 Phi-3.5-MoE-instruct 模型检查点后,用户可以使用以下示例代码进行推理。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
torch.random.manual_seed(0)
model = AutoModelForCausalLM.from_pretrained(
"microsoft/Phi-3.5-MoE-instruct",
device_map="cuda",
torch_dtype="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3.5-MoE-instruct")
messages = [
{"role": "system", "content": "You are a helpful AI assistant."},
{"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: 1. Banana and dragonfruit smoothie: Blend bananas and dragonfruits together with some milk and honey. 2. Banana and dragonfruit salad: Mix sliced bananas and dragonfruits together with some lemon juice and honey."},
{"role": "user", "content": "What about solving an 2x + 3 = 7 equation?"},
]
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'])
结语
参考资料
[2]https://mp.weixin.qq.com/s/8zA77TdPDQWtZ_c_vwg4Aw