🚀 Mistral-portuguese-luana-7b
このモデルは、ポルトガル語で20万件の命令のスーパーセットを使用してトレーニングされました。ポルトガル語のモデルにおけるギャップを埋めることを目的としています。Mistral 7bから微調整され、主に命令型のタスクに合わせて調整されています。
もし拡張互換性を求めている場合、LuanaモデルにはLlamaCppで実行できるGGUFファミリーもあります。以下のモデルからGGUFモデルを探索できます。
このモデルや他のモデルを探索して、あなたのニーズに最適なものを見つけてください!
🚀 クイックスタート
完全モデル : A100
半分モデル: L4
8ビットまたは4ビット : T4またはV100
このモデルは、通常の形式から4ビット量子化まで使用できます。以下では、両方のアプローチを使用します。プロンプトで動詞が重要であることを忘れないでください。モデルにどのように行動するかを指示することで、応答の質を向上させることができます。このような重要なポイントは、7bのような小さなモデルでも性能を大幅に向上させます。
!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/Mistral-portuguese-luana-7b", device_map= {"": 0})
tokenizer = AutoTokenizer.from_pretrained("rhaymison/Mistral-portuguese-luana-7b")
model.eval()
パイプラインを使用することもできますが、この例ではストリーミングを使用します。
inputs = tokenizer([f"""<s>[INST] 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.
### instrução: aja como um professor de matemática e me explique porque 2 + 2 = 4.
[/INST]"""], return_tensors="pt")
inputs.to(model.device)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=200)
"CUDA Out of memory"のようなメモリの問題が発生した場合は、4ビットまたは8ビット量子化を使用する必要があります。コラボで完全なモデルを使用するには、A100が必要です。4ビットまたは8ビットを使用する場合は、T4またはL4で問題を解決できます。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model = AutoModelForCausalLM.from_pretrained("rhaymison/Mistral-portuguese-luana-7b", device_map= {"": 0})
tokenizer = AutoTokenizer.from_pretrained("rhaymison/Mistral-portuguese-luana-7b")
model.eval()
inputs = tokenizer([f"""<s>[INST] 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.
### instrução: aja como um professor de matemática e me explique porque 2 + 2 = 4.
[/INST]"""], return_tensors="pt")
inputs.to(model.device)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=200)
高度な使用法
4ビット量子化の例
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}
)
📚 ドキュメント
詳細な結果はこちらで確認できます。
指標 |
値 |
平均 |
64.27 |
ENEM Challenge (No Images) |
58.64 |
BLUEX (No Images) |
47.98 |
OAB Exams |
38.82 |
Assin2 RTE |
90.63 |
Assin2 STS |
75.81 |
FaQuAD NLI |
57.79 |
HateBR Binary |
77.24 |
PT Hate Speech Binary |
68.50 |
tweetSentBR |
63 |
LangChain
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
コメント
いかなるアイデア、助け、レポートも大歓迎です。
メール: rhaymisoncristian@gmail.com