🚀 Loquace-7B-Mistral v0.1
Loquaceは、イタリア語での命令に対応した、ファインチューニングされた大規模言語モデルです。このモデルは、イタリア語のAIとLLMを民主化することを目的として作成されています。
🚀 クイックスタート
Loquace-7B-Mistralのモデルカードはこちらで確認できます。
✨ 主な機能
- イタリア語の命令に対して良好な応答を返します。
- プロンプトエンジニアリングにも対応しています。
- RAG(Retrival Augmented Generation)環境でも良好に動作します。
- QLoRaとMistral-7B-Instructをベースに、比較的生のデータセットLoquace-102Kで学習されています。
- 3090 GPUでわずか4時間の学習で、コストは1ユーロ 少々です! Genesis CloudのGPUを使用。
- 真にオープンソースです。モデル、データセット、結果を再現するためのコードがすべて公開されています。
- イタリア南部のガレージで作成されました。
📦 インストール
ファインチューニングのコード
関連コードはこちらで確認できます。
CPU推論用のGGUFバージョン
8bit量子化されたLoquaceのバージョンはこちらで確認できます。
以下はGGUFをサポートするクライアントとライブラリの不完全なリストです(TheBlokeにこのリストと素晴らしい仕事をしてくれたことに感謝します)。
- llama.cpp。GGUFのソースプロジェクトです。CLIとサーバーオプションを提供します。
- text-generation-webui、最も広く使われているウェブUIで、多くの機能と強力な拡張機能を備えています。GPUアクセラレーションをサポートしています。
- KoboldCpp、完全な機能を備えたウェブUIで、すべてのプラットフォームとGPUアーキテクチャでGPUアクセラレーションをサポートしています。特にストーリーテリングに適しています。
- LM Studio、WindowsとmacOS(Silicon)用の使いやすく強力なローカルGUIで、GPUアクセラレーションをサポートしています。
- LoLLMS Web UI、多くの興味深い独自機能を備えた素晴らしいウェブUIで、モデル選択が容易な完全なモデルライブラリを備えています。
- Faraday.dev、魅力的で使いやすいキャラクターベースのチャットGUIで、WindowsとmacOS(SiliconとIntelの両方)用で、GPUアクセラレーションをサポートしています。
- ctransformers、GPUアクセラレーション、LangChainサポート、OpenAI互換のAIサーバーを備えたPythonライブラリです。
- llama-cpp-python、GPUアクセラレーション、LangChainサポート、OpenAI互換のAPIサーバーを備えたPythonライブラリです。
- candle、パフォーマンスに重点を置いたRustのMLフレームワークで、GPUサポートと使いやすさを備えています。
以前のLoquaceファミリーのリリース
Loquaceファミリーは2023年初頭に、異なる言語で大規模言語モデルをファインチューニングすることが可能であることを証明するために始まりました。ファミリーの他のメンバーは以下のリンクから見ることができます。
- https://huggingface.co/cosimoiaia/Loquace-70m - pythia-70mをベースにしています。
- https://huggingface.co/cosimoiaia/Loquace-410m - pythia-410mをベースにしています。
- https://huggingface.co/cosimoiaia/Loquace-7B - Falcon-7Bをベースにしています。
- https://huggingface.co/cosimoiaia/Loquace-12B - pythia-12Bをベースにしています。
- https://huggingface.co/cosimoiaia/Loquace-20B - gpt-neox-20Bをベースにしています。
これらのモデルは、良い結果を生み出さないかもしれませんが、比較的生のデータセットと極めて少ないリソースで、短時間で安価なファインチューニングが実際に可能であることを証明しています。
💻 使用例
基本的な使用法
from transformers import MistralForCausalLM, AutoTokenizer
def generate_prompt(instruction):
prompt = f"""### Instruction: {instruction}
### Response:
"""
return prompt
model_name = "cosimoiaia/Loquace-7B-Mistral"
model = MistralForCausalLM.from_pretrained(
model_name,
device_map="auto",
torch_dtype=torch.bfloat16
)
model.config.use_cache = True
tokenizer = AutoTokenizer.from_pretrained(model_name, add_eos_token=False)
prompt = generate_prompt("Chi era Dante Alighieri?")
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, do_sample = True, num_beams = 2, top_k=50, top_p= 0.95, max_new_tokens=2046, early_stopping = True)
print(tokenizer.decode(outputs[0], skip_special_tokens=True).split("Response:")[1].strip())
具体的な質問例
> Pretendi di essere Dante Alighieri e raccontami la tua vita.
Sono Dante Alighieri, un poeta e scrittore italiano del XIV secolo. Nacqui a Firenze nel 1265 e ho trascorso gran parte della mia vita viaggiando in Europa e scrivendo poesie. Ho anche scritto la Divina Commedia, una delle opere letterarie più famose di tutti i tempi.
> Quanto fa 7 x 14 - 98 ?
7 x 14 = 98, quindi la risposta è 0.
> La radice quadrata di 144 ?
La radice quadrata di 144 è 12.
> Inventa una ricetta pugliese con la polenta.
La ricetta è chiamata "Polenta al burro di arachidi e formaggio". Per prepararla, inizia bollendo la polenta secondo le istruzioni sulla confezione. Mentre la polenta si cucina, mescola insieme 1/2 tazza di burro di arachidi, 1/4 di tazza di formaggio grattugiato e 1/4 di tazza di parmigiano grattugiato. Una volta che la polenta è cotta, versala su una teglia da forno e distribuire il composto di burro di arachidi e formaggio sopra la polenta. Metti in forno a 350 gradi per 15 minuti o fino a quando la parte superiore è dorata. Servi caldo con un'insalata di pomodoro e basilico fresco.
📚 ドキュメント
制限事項
- Loquace-7Bは、複雑なクエリや微妙な質問にはうまく対応できない場合があり、曖昧な入力や形式が不適切な入力に苦労することがあります。
- モデルは事実誤りや意味不明な応答を生成することがあります。注意して使用し、出力を慎重に検証する必要があります。
モデルの作成者
Cosimo Iaia cosimo.iaia@gmail.com
📄 ライセンス
このモデルはApache-2.0ライセンスの下で公開されています。