🚀 Phi-3.5-mini-ITA
Microsoft/Phi-3.5-mini-instruct をファインチューニングしたバージョンで、イタリア語でのパフォーマンスを最適化しています。
🔹 38.2億個のパラメータを持つ小型で強力なモデル
🔹 128kのコンテキスト長をサポート
🏋️♂️ モデルの学習方法を理解したいですか?
📖 完全なウォークスルー記事 と付属の 💻 ノートブック をチェックしてください。
🚀 クイックスタート
このモデルは小型であるため、Colabでもスムーズに動作します。量子化を使用してモデルをロードすることもできます。
transformers==4.44.2
を使用する場合、Phi3ForCausalLM
の軽微なバグ修正を組み込むために trust_remote_code=True
が必要です。詳細については このディスカッション を読んでください。
⚡ このモデルは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.
✨ 主な機能
- イタリア語でのパフォーマンスが最適化されたモデルです。
- 38.2億個のパラメータを持ち、小型で強力です。
- 128kのコンテキスト長をサポートしています。
- Flash Attention 2と互換性があり、推論を高速化できます。
📚 ドキュメント
🏆 評価
Open ITA LLM Leaderboard
モデル |
パラメータ |
平均 |
MMLU_IT |
ARC_IT |
HELLASWAG_IT |
anakin87/Phi-3.5-mini-ITA |
3.82 B |
57.67 |
59.93 |
51.5 |
61.57 |
meta-llama/Meta-Llama-3.1-8B-Instruct |
8.03 B |
56.97 |
58.43 |
48.42 |
64.07 |
microsoft/Phi-3.5-mini-instruct |
3.82 B |
56.82 |
60.03 |
49.19 |
61.25 |
詳細
Pinocchio ITA Leaderboard
モデル |
パラメータ |
平均 |
anakin87/Phi-3.5-mini-ITA |
3.82 B |
57.95 |
meta-llama/Meta-Llama-3.1-8B-Instruct |
8.03 B |
56.93 |
詳細
🎮 モデルの動作例
デモ
💬🇮🇹 Hugging Face Spaces でモデルとチャットする
AIアプリケーションの構築
このモデルを使用して、さまざまなAIアプリケーションを作成することができます。
オーケストレーションには 🏗️ Haystack LLMフレームワーク の使用をお勧めします。
(ちなみに、私はこのプロジェクトに携わっており、オープンソースです 😄)
このモデルは HuggingFaceLocalGenerator
と HuggingFaceLocalChatGenerator
コンポーネントと互換性があります。また、TGIコンテナでモデルをデプロイし、HuggingFaceAPIGenerator
と関連するチャットジェネレータを使用することもできます。
参考にできる例:
🔧 技術詳細
このモデルはHF TRLを使用してファインチューニングされました。
FineTome-100k と Capybara-Claude-15k-ita データセットで2エポックの命令ファインチューニングを行いました。🙏 これらのデータセットを提供してくれた著者に感謝します。
私はパラメータ効率的な学習のための比較的新しい手法 Spectrum を採用しました。
この考え方は、信号対雑音比(SNR)が高いモデルのレイヤーのみを学習させ、❄️ 残りを凍結することです。
学習には、単一のA6000 GPUで約14時間が必要でした。
完全な学習の詳細については、📖 完全なウォークスルー記事 と付属の 💻 ノートブック をチェックしてください。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。