🚀 LAION LeoLM: Linguistically Enhanced Open Language Model
LeoLMは、Llama-2とMistralをベースに構築された、初のオープンで商用利用可能なドイツ語の基礎言語モデルです。当モデルは、大量のドイツ語コーパスと地域固有のテキストを用いた継続的な事前学習により、Llama-2の機能をドイツ語に拡張しています。
ヘッセンAIの新しいスーパーコンピュータ「42」でのコンピューティング支援により、8kのコンテキスト長で学習された3つの基礎モデルをリリースします。
LeoLM/leo-mistral-hessianai-7b
はApache 2.0ライセンスの下で、LeoLM/leo-hessianai-7b
と LeoLM/leo-hessianai-13b
は Llama-2コミュニティライセンス の下で提供されます(70bも近日リリース予定!👀)。
今回のリリースにより、ドイツ語のオープンソースおよび商用の大規模言語モデル(LLM)研究に新たな機会をもたらし、その普及を加速させることを期待しています。
詳細については、ブログ記事 または論文(プレプリントは近日公開)をご覧ください!
このプロジェクトは、Björn PlüsterとChristoph SchuhmannがLAIONおよびヘッセンAIと共同で行っています。
🚀 クイックスタート
✨ 主な機能
LeoLM Chat
LeoLM/leo-mistral-hessianai-7b-chat
は、基礎モデル LeoLM/leo-mistral-hessianai-7b
をベースに構築され、ドイツ語の命令データセットの選択肢を用いて微調整されたドイツ語チャットモデルです。
このモデルは、文章作成、説明、議論タスクで非常に良い性能を発揮しますが、数学や高度な推論にはやや苦戦します。MT-Bench-DEのスコアをご覧ください。
{
"first_turn": 6.1,
"second_turn": 4.7,
"categories": {
"writing": 6.8,
"roleplay": 6.35,
"reasoning": 3.3,
"math": 2.75,
"coding": 4.4,
"extraction": 4.5,
"stem": 6.85,
"humanities": 8.25
},
"average": 5.4
}
📦 インストール
Use in 🤗Transformers
まず、直接的な依存関係をインストールします。
pip install transformers torch sentencepiece
flash-attention2を使用してより高速な推論を行いたい場合は、これらの依存関係をインストールする必要があります。
pip install packaging ninja
pip install flash-attn
💻 使用例
基本的な使用法
次に、transformersでモデルをロードします。
from transformers import pipeline
import torch
system_prompt = """Dies ist eine Unterhaltung zwischen einem intelligenten, hilfsbereitem KI-Assistenten und einem Nutzer.
Der Assistent gibt ausführliche, hilfreiche und ehrliche Antworten."""
prompt_format = "<|im_start|>system\n{system_prompt}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant\n"
prompt = "Erkläre mir wie die Fahrradwegesituation in Hamburg ist."
generator = pipeline(model="LeoLM/leo-mistral-hessianai-7b-chat", device="cuda", torch_dtype=torch.float16, use_flash_attention_2=True)
print(generator(prompt_format.format(system_prompt=system_prompt, prompt=prompt), do_sample=True, top_p=0.95, max_length=8192))
"Als KI kann ich keine persönlichen Beobachtungen teilen, aber ich kann einige allgemeine Informationen zur Fahrradwegesituation in Hamburg liefern. Im Vergleich zu vielen anderen großen Städten hat Hamburg eine hohe Anzahl von Fahrradfahrern und nimmt seine Verantwortung für nachhaltige Verkehrsmittel sehr ernst. Es gibt viele Fahrradwege und separate Fahrspuren, die Radfahrern ermöglichen, zusammen mit dem Autoverkehr zu fahren. Diese Fahrradspuren sind oft mit Markierungen gekennzeichnet und durch physische Trennungen von anderen Fahrspuren abgegrenzt. Darüber hinaus gibt es viele Fahrradstraßen, auf denen Radfahrer Vorfahrt haben und Autos langsamer fahren müssen.
In einigen städtischen Gebieten können Fahrradwege jedoch eng oder überfüllt sein, besonders während der Stoßzeiten. Es gibt auch viele Kreuzungen, an denen Radfahrer anhalten und auf Grün warten müssen, ähnlich wie Autofahrer. Insgesamt ist die Fahrradinfrastruktur in Hamburg ziemlich gut, aber wie überall gibt es immer Raum für Verbesserungen."
📚 ドキュメント
Prompting / Prompt Template
プロンプトダイアログテンプレート(ChatML形式)は以下の通りです。
"""
<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
"""
モデルの入力には、ユーザーとアシスタントの間の複数の会話ターンを含めることができます。例えば、
<|im_start|>user
{prompt 1}<|im_end|>
<|im_start|>assistant
{reply 1}<|im_end|>
<|im_start|>user
{prompt 2}<|im_end|>
<|im_start|>assistant
(...)
🔧 技術詳細
Model Details
Finetuning Details
ハイパーパラメータ |
値 |
エポック数 |
4 |
エポックごとのサンプル数 |
131214 |
グローバルバッチサイズ |
256 |
学習率 |
1e-5 |
ウォームアップステップ |
100 |
学習率スケジューラー |
Cosine |
Adamベータ |
(0.9, 0.95) |
Dataset Details
## Stats for 'Subset of OpenAssistant/OASST-DE' (3534 samples (100.0%))
-----------------
Accepted: 3534/3534 (100.0%)
Accepted tokens: 2259302
Skipped: 0 (0.0%)
Min tokens per sample: 29
Max tokens per sample: 2484
Avg tokens per sample: 639.3044708545557
-----------------
## Stats for 'Subset of FreedomIntelligence/evol-instruct-deutsch' (57841 samples (100.0%))
-----------------
Accepted: 57841/57841 (100.0%)
Accepted tokens: 42958192
Skipped: 0 (0.0%)
Min tokens per sample: 33
Max tokens per sample: 5507
Avg tokens per sample: 742.6944900675991
-----------------
## Stats for 'Subset of FreedomIntelligence/alpaca-gpt4-deutsch' (48969 samples (100.0%))
-----------------
Accepted: 48969/48969 (100.0%)
Accepted tokens: 13372005
Skipped: 0 (0.0%)
Min tokens per sample: 19
Max tokens per sample: 1359
Avg tokens per sample: 273.07082031489307
-----------------
## Stats for 'Subset of LeoLM/OpenSchnabeltier' (21314 samples (100.0%))
-----------------
Accepted: 21314/21314 (100.0%)
Accepted tokens: 8134690
Skipped: 0 (0.0%)
Min tokens per sample: 25
Max tokens per sample: 1202
Avg tokens per sample: 381.65947264708643
-----------------
## Stats for 'Subset of LeoLM/German_Poems' (490 samples (100.0%))
-----------------
Accepted: 490/490 (100.0%)
Accepted tokens: 618642
Skipped: 0 (0.0%)
Min tokens per sample: 747
Max tokens per sample: 1678
Avg tokens per sample: 1262.534693877551
-----------------
## Stats for 'Subset of LeoLM/German_Songs' (392 samples (100.0%))
-----------------
Accepted: 392/392 (100.0%)
Accepted tokens: 187897
Skipped: 0 (0.0%)
Min tokens per sample: 231
Max tokens per sample: 826
Avg tokens per sample: 479.3290816326531
-----------------
## Stats for 'total' (132540 samples (100.0%))
-----------------
Accepted: 132540/132540 (100.0%)
Accepted tokens: 67530728
Skipped: 0 (0.0%)
Min tokens per sample: 19
Max tokens per sample: 5507
Avg tokens per sample: 509.51205673758864
-----------------
📄 ライセンス
Ethical Considerations and Limitations
LeoLMは英語とドイツ語でテストされていますが、すべてのシナリオを網羅しているわけではなく、網羅することもできません。
このため、すべての大規模言語モデルと同様に、LeoLM/leo-mistral-hessianai-7b-chat
の潜在的な出力を事前に予測することはできず、モデルは場合によっては、ユーザーのプロンプトに対して不正確、偏った、またはその他の不快な応答を生成する可能性があります。したがって、LeoLM/leo-mistral-hessianai-7b-chat
のアプリケーションを展開する前に、開発者はモデルの特定のアプリケーションに合わせた安全性テストと調整を行う必要があります。
詳細は、Metaの Responsible Use Guide をご覧ください。