🚀 Phi-3.5-mini-ITA
Phi-3.5-mini-ITA是Microsoft/Phi-3.5-mini-instruct的微调版本,针对意大利语进行了优化,性能更佳。
🏋️♂️ 想了解该模型是如何训练的吗?
查看📖 完整的详细文章和配套的💻 笔记本

✨ 主要特性
- 小而强大:仅38.2亿参数,却能在意大利语任务中表现出色。
- 长上下文支持:支持128k的上下文长度,能处理更复杂的文本任务。
- 推理加速:兼容Flash Attention 2,可显著加速推理过程。
📚 详细文档
🏆 评估
Open ITA LLM Leaderboard
模型 |
参数数量 |
平均分 |
MMLU_IT |
ARC_IT |
HELLASWAG_IT |
anakin87/Phi-3.5-mini-ITA |
38.2亿 |
57.67 |
59.93 |
51.5 |
61.57 |
meta-llama/Meta-Llama-3.1-8B-Instruct |
80.3亿 |
56.97 |
58.43 |
48.42 |
64.07 |
microsoft/Phi-3.5-mini-instruct |
38.2亿 |
56.82 |
60.03 |
49.19 |
61.25 |
详情
Pinocchio ITA Leaderboard
模型 |
参数数量 |
平均分 |
anakin87/Phi-3.5-mini-ITA |
38.2亿 |
57.95 |
meta-llama/Meta-Llama-3.1-8B-Instruct |
80.3亿 |
56.93 |
详情
💻 使用示例
基础用法
该模型体积小巧,可在Colab上流畅运行,也可使用量化方式加载。使用transformers==4.44.2
时,需要设置trust_remote_code=True
以合并Phi3ForCausalLM
中的一个小修复。更多详情请阅读此讨论。
⚡ 该模型兼容Flash Attention 2,可加速推理。若要启用,请取消代码片段中attn_implementation
参数的注释。
import torch
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
model_id="anakin87/Phi-3.5-mini-ITA"
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.bfloat16,
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
user_input = "Puoi spiegarmi brevemente la differenza tra imperfetto e passato prossimo in italiano e quando si usano?"
messages = [{"role": "user", "content": user_input}]
outputs = pipe(user_input, max_new_tokens=500, do_sample=True, temperature=0.001)
print(outputs[0]["generated_text"])
示例输出:
Certamente! Imperfetto e passato prossimo sono due tempi verbali in italiano che si riferiscono a azioni passate, ma hanno sfumature diverse.
Imperfetto:
- L'imperfetto è usato per descrivere azioni o situazioni passate che erano continue o ripetute nel tempo.
- Indica un'azione senza una fine specifica o un'azione che si svolgeva abitualmente.
- È spesso usato per descrivere situazioni, condizioni o stati passati.
- Esempio: "Quando ero bambino, giocavo spesso nel parco."
Passato Prossimo:
- Il passato prossimo è usato per descrivere azioni passate che sono state completate o che hanno avuto una durata specifica.
- Indica un'azione che è avvenuta in un momento specifico nel passato.
- È spesso usato per descrivere eventi o azioni che hanno una durata definita o che si sono svolte in un momento specifico.
- Esempio: "Ieri ho finito il libro."
In sintesi, l'imperfetto si usa per azioni continue o abituali nel passato, mentre il passato prossimo si usa per azioni completate o avvenute in un momento specifico nel passato.
高级用法
你可以使用该模型创建各种AI应用程序。推荐使用🏗️ Haystack LLM框架进行编排。(剧透:我参与了该项目的开发,它是开源的😄)
该模型与HuggingFaceLocalGenerator
和HuggingFaceLocalChatGenerator
组件兼容。你也可以使用TGI容器部署该模型,然后与HuggingFaceAPIGenerator
及相关的聊天生成器一起使用。
以下是一些可参考的示例:
🔧 技术细节
该模型使用HF TRL进行微调。在FineTome-100k和Capybara-Claude-15k-ita数据集上进行了2个epoch的指令微调。🙏 感谢数据集作者的贡献。
采用了一种相对较新的参数高效学习技术:Spectrum。其思路是只训练模型中信噪比(SNR)较高的层,而❄️ 冻结其余层。
在单张A6000 GPU上训练约需14小时。
完整的训练细节,请查看📖 完整的详细文章和配套的💻 笔记本。
📄 许可证
本项目采用MIT许可证。