🚀 Phi-3-portuguese-tom-cat-4k-instruct
本模型基于300,000条葡萄牙语指令的超集进行训练,旨在填补葡萄牙语模型的空白。它是从microsoft/Phi-3-mini-4k微调而来。
🚀 快速开始
模型使用环境建议
- 完整模型:建议使用A100。
- 半精度模型:可使用L4。
- 8位或4位量化:T4或V100即可。
安装依赖
!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes
加载模型和分词器
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model = AutoModelForCausalLM.from_pretrained("rhaymison/phi-3-portuguese-tom-cat-4k-instruct", device_map= {"": 0})
tokenizer = AutoTokenizer.from_pretrained("rhaymison/phi-3-portuguese-tom-cat-4k-instruct")
model.eval()
使用Pipeline进行文本生成
from transformers import pipeline
pipe = pipeline("text-generation",
model=model,
tokenizer=tokenizer,
do_sample=True,
max_new_tokens=512,
num_beams=2,
temperature=0.3,
top_k=50,
top_p=0.95,
early_stopping=True,
pad_token_id=tokenizer.eos_token_id,
)
def format_template(question:str):
system_prompt = "Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido."
return f"""<s><|system|>
{ system_prompt }
<|user|>
{ question }
<|assistant|>
"""
question = format_template("E possivel ir de Carro dos Estados unidos ate o japão")
pipe(question)
4位量化示例
如果你遇到“CUDA Out of memory”等内存问题,可使用4位或8位量化。
from transformers import BitsAndBytesConfig
import torch
nb_4bit_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True
)
model = AutoModelForCausalLM.from_pretrained(
base_model,
quantization_config=bnb_config,
device_map={"": 0}
)
✨ 主要特性
- 基于300,000条葡萄牙语指令的超集进行训练,有助于填补葡萄牙语模型的空白。
- 可进行正常形式的使用,也支持到4位量化。
- 有对应的GGUF家族模型,可使用LlamaCpp运行,增强了兼容性。
📦 安装指南
使用该模型前,需要安装以下依赖:
!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes
💻 使用示例
基础用法
!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model = AutoModelForCausalLM.from_pretrained("rhaymison/phi-3-portuguese-tom-cat-4k-instruct", device_map= {"": 0})
tokenizer = AutoTokenizer.from_pretrained("rhaymison/phi-3-portuguese-tom-cat-4k-instruct")
model.eval()
from transformers import pipeline
pipe = pipeline("text-generation",
model=model,
tokenizer=tokenizer,
do_sample=True,
max_new_tokens=512,
num_beams=2,
temperature=0.3,
top_k=50,
top_p=0.95,
early_stopping=True,
pad_token_id=tokenizer.eos_token_id,
)
def format_template(question:str):
system_prompt = "Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido."
return f"""<s><|system|>
{ system_prompt }
<|user|>
{ question }
<|assistant|>
"""
question = format_template("E possivel ir de Carro dos Estados unidos ate o japão")
pipe(question)
高级用法
如果你遇到“CUDA Out of memory”等内存问题,可使用4位或8位量化:
from transformers import BitsAndBytesConfig
import torch
nb_4bit_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True
)
model = AutoModelForCausalLM.from_pretrained(
base_model,
quantization_config=bnb_config,
device_map={"": 0}
)
📚 详细文档
模型相关信息
属性 |
详情 |
模型类型 |
phi-3-portuguese-tom-cat-4k-instruct |
基础模型 |
microsoft/Phi-3-mini-4k-instruct |
训练数据 |
rhaymison/superset |
许可证 |
apache-2.0 |
其他GGUF模型
如果你需要增强兼容性,Luana模型也有可以使用LlamaCpp运行的GGUF家族模型:
评估结果
详细的评估结果可以在这里和🚀 Open Portuguese LLM Leaderboard找到。
指标 |
值 |
平均值 |
64.57 |
ENEM Challenge (No Images) |
61.58 |
BLUEX (No Images) |
50.63 |
OAB Exams |
43.69 |
Assin2 RTE |
91.54 |
Assin2 STS |
75.27 |
FaQuAD NLI |
47.46 |
HateBR Binary |
83.01 |
PT Hate Speech Binary |
70.19 |
tweetSentBR |
57.78 |
📄 许可证
本模型使用的许可证为apache-2.0。
联系方式
如果你有任何想法、需要帮助或进行反馈,欢迎通过以下方式联系:
⚠️ 重要提示
如果你遇到“CUDA Out of memory”等内存问题,应使用4位或8位量化。对于完整模型,在colab中需要A100;如果你想使用4位或8位量化,T4或L4即可解决问题。
💡 使用建议
在你的提示中,动词很重要。告诉模型如何行动或表现,这样可以引导它们给出更好的响应。像这样的重要点有助于模型(即使是像4b这样的小模型)表现得更好。