微信扫码
与创始人交个朋友
我要投稿
SmartFlowAI
点击上方蓝字关注我们
微软发布了 Phi-3 模型,XTuner 团队对 Phi-3 微调进行了光速支持!!!开源同时社区中涌现了 Phi-Tutorial 手把手教大家使用 XTuner 微调 Phi-Tutorial 模型。
XTuner:http://github.com/InternLM/XTuner
Phi-Tutorial:https://github.com/SmartFlowAI/Phi-Tutorial/
欢迎 Star
根据各类基准和内部测试的结果来看,其总体性能可以与 Mixtral 8x7B 和 GPT-3.5 等模型相媲美(phi-3-mini 在 MMLU 上达到 69%,在 MT-bench 上达到 8.38)
在正式微调 Phi-3 小助手认知之前,我们先来看一下 XTuner 团队光速测试微调 Phi-3 所需要的显存门槛。从上表中我们可以发现
本小节将带大家手把手在 InternStudio 部署 Phi-3 Web Demo。
conda create -n phi3 python=3.10
conda activate phi3
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
conda install git
git-lfs install
首先通过 OpenXLab 下载 Phi-3-mini-128k-instruct 这个模型。
mkdir -p ~/model
cd ~/model
git clone https://openxlab.org.cn/models/detail/MrCat/Phi-3-mini-128k-instruct Phi-3-mini-128k-instruct
或者软链接 InternStudio 中的模型
ln -s /root/share/new_models/microsoft/Phi-3-mini-128k-instruct \
~/model/Phi-3-mini-128k-instruct
cd ~
git clone https://github.com/InternLM/XTuner
cd XTuner
pip install -e .
streamlit run ~/Phi-Tutorial/tools/internstudio_web_demo.py \
/root/model/Phi-3-mini-128k-instruct
通过此命令我们就成功本地运行 Phi-3 的 Web Demo, 然后就可以和Phi-3-mini-128k-instruct愉快的对话了,此时问“你是”,模型的自我认识是 PhilosopherAI。
在本节我们尝试让 Phi-3 有"它是机智流打造的人工智能助手"的自我认知,最终效果图如下所示:
首先我们通过以下脚本制作自我认知的数据集
cd ~/Phi-Tutorial
python tools/gdata.py
数据生成脚本 gdata.py 如下所示,实现了产生 2000 条自我认知的数据的功能,在正式环境中我们需要对各种数据进行配比,为了社区同学们能够快速上手,本例子就采用了过拟合的方式。
import json
# 输入你的名字或者机构
name = '机智流'
# 重复次数
n = 2000
data = [
{
"conversation": [
{
"system":"你是一个懂中文的小助手",
"input": "你是(请用中文回答)",
"output": "您好,我是 {},一个由 机智流打造的人工智能助手,请问有什么可以帮助您的吗?".format(name)
}
]
}
]
for i in range(n):
data.append(data[0])
with open('data/personal_assistant.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
以上脚本在生成了 ~/Phi-Tutorial/data/personal_assistant.json 数据文件格式如下所示:
[
{
"conversation": [
{
"system": "你是一个懂中文的小助手",
"input": "你是(请用中文回答)",
"output": "您好,我是机智流,一个由 机智流打造的人工智能助手,请问有什么可以帮助您的吗?"
}
]
},
{
"conversation": [
{
"system": "你是一个懂中文的小助手",
"input": "你是(请用中文回答)",
"output": "您好,我是机智流,一个由 机智流打造的人工智能助手,请问有什么可以帮助您的吗?"
}
]
},
········· 此处省略
]
小编在 XTuner 官方的 config 基础上修改了模型路径等关键参数,为大家直接准备好了 配置文件,可以直接享用~
https://github.com/SmartFlowAI/Phi-Tutorial/blob/main/configs/assistant/phi3_3b_128k_instruct_qlora_assistant.py
cd ~/Phi-Tutorial/
xtuner train configs/assistant/phi3_3b_128k_instruct_qlora_assistant.py --work-dir /root/phi3_pth
# Adapter PTH 转 HF 格式
xtuner convert pth_to_hf /root/phi3_pth/phi3_3b_128k_instruct_qlora_assistant.py \
/root/phi3_pth/iter_500.pth \
/root/phi3_pth
# 模型合并
export MKL_SERVICE_FORCE_INTEL=1
xtuner convert merge /root/model/Phi-3-mini-128k-instruct \
/root/phi3_hf_adapter\
/root/phi3_hf_merged
streamlit run ~/Phi-Tutorial/tools/internstudio_web_demo.py \
/root/phi3_hf_merged
到此为止我们就让 Phi3 具备了“他是由机智流打造的人工智能助手”的个人认知,本文演示平台为 InternStudio,如其他平台只需适当调整相关路径也能比较顺畅的运行起来,XTuner 玩转 Phi3 图片理解更多玩法请参考:https://github.com/SmartFlowAI/Phi-Tutorial/(欢迎 Star)
SmartFlowAI
新鲜时事
AI 前线
扫码获取更多精彩
关注机智流
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-14
2024-04-26
2024-03-30
2024-04-12
2024-05-10
2024-07-18
2024-05-22
2024-05-28
2024-04-25
2024-04-26
2024-11-14
2024-11-13
2024-11-13
2024-11-13
2024-11-12
2024-11-11
2024-11-08
2024-11-07