🚀 クラーケン・マルチリンガルモデル
クラーケン・マルチリンガルモデルは、Cognitive Computations、VAGO Solutions、Hyperspace.ai の共同プロジェクトです。このモデルは、ドイツ語、英語、イタリア語、フランス語、スウェーデン語、フィンランド語、デンマーク語、ノルウェー語に対応しており、高度なテキスト生成タスクを行うことができます。

🚀 クイックスタート
モデルの読み込みと呼び出し
from transformers import AutoModelForCausalLM
device = "cuda:0"
model = AutoModelForCausalLM.from_pretrained("./kraken_model", trust_remote_code=True)
✨ 主な機能
- 動的モデルルーティング:入力の特性に基づいて、シーケンス分類モデルを使用して入力を最適な言語モデルにルーティングします。
- 複数の言語モデル:様々な事前学習済みの因果言語モデルを統合し、柔軟で文脈に適した応答を可能にします。
- カスタマイズ可能なテンプレート:事前定義されたテンプレートを使用した入力形式のサポートがあり、さまざまな会話文脈への適応性を高めます。
- 拡張可能な設定:因果言語モデリングに関するさまざまなユースケースに簡単に拡張および適応できるカスタム設定を利用しています。
🔧 選択されたエキスパートモデル
"German/English Expert": "VAGOsolutions/Llama-3-SauerkrautLM-8b-Instruct",
"Function Italian Expert": "mii-community/zefiro-7b-dpo-ITA",
"French Expert": "paulml/Hermes-2-Pro-French",
"Scandinavian Expert": "norallm/normistral-7b-warm-instruct",
💻 使用例
基本的な使用法
ドイツ語エキスパートの呼び出し
messages = [
{'role': 'system', 'content': 'Du bist ein freundlicher und hilfreicher deutscher KI-Assistent'},
{'role': 'user', 'content': "Erzähle mir eine kurze Gute Nacht Geschichte in 2 Sätzen."}
]
tokenizer = model.tokenizer
input_text = tokenizer.apply_chat_template(messages, tokenize=False)
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda:0")
output_ids = model.generate(input_ids, max_length=150)
print(tokenizer.decode(output_ids[0], skip_special_tokens=True))
英語エキスパートの呼び出し
messages = [
{'role': 'system', 'content': '"You are a helpful AI Assistant'},
{'role': 'user', 'content': "Find the mass percentage of Ba in BaO"}
]
tokenizer = model.tokenizer
input_text = tokenizer.apply_chat_template(messages, tokenize=False)
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to(device)
output_ids = model.generate(input_ids, max_length=250)
print(tokenizer.decode(output_ids[0], skip_special_tokens=True))
イタリア語エキスパートの呼び出し
messages = [
{'role': 'system', 'content': 'Sei un utile assistente AI.'},
{'role': 'user', 'content': 'Hai qualche idea su cosa potrei fare a Roma?'}
]
tokenizer = model.tokenizer
input_text = tokenizer.apply_chat_template(messages, tokenize=False)
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to(device)
output_ids = model.generate(input_ids ,temperature=0.6, do_sample=True, top_p=0.9,top_k=20, max_length=500)
print(tokenizer.decode(output_ids[0], skip_special_tokens=True))
フランス語エキスパートの呼び出し
messages = [
{'role': 'system', 'content': 'Vous êtes un assistant IA allemand sympathique et serviable'},
{'role': 'user', 'content': 'J'aimerais faire du shopping à Paris. Que pouvez-vous recommander?'}
]
tokenizer = model.tokenizer
input_text = tokenizer.apply_chat_template(messages, tokenize=False)
print(input_text)
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to(device)
output_ids = model.generate(input_ids ,temperature=0.6, do_sample=True, top_p=0.9,top_k=20, max_length=250)
print(tokenizer.decode(output_ids[0], skip_special_tokens=True))
スカンジナビア語エキスパートの呼び出し
messages = [
{'role': 'system', 'content': 'Du är en hjälpsam AI-assistent'},
{'role': 'user', 'content': 'Jag kommer från Tyskland och skulle vilja resa till Sverige. Är en färja över Danmark ett bra sätt att resa?'}
]
tokenizer = model.tokenizer
input_text = tokenizer.apply_chat_template(messages, tokenize=False)
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to(device)
output_ids = model.generate(input_ids ,temperature=0.1, do_sample=True, top_p=0.9,top_k=20, max_length=250)
print(tokenizer.decode(output_ids[0], skip_special_tokens=True))
高度な使用法
エキスパートの切り替えと量子化の設定
{
"models": {
"expert1": "VAGOsolutions/Llama-3-SauerkrautLM-8b-Instruct",
"expert2": "mii-community/zefiro-7b-dpo-ITA",
"expert3": "paulml/Hermes-2-Pro-French",
"expert4": "norallm/normistral-7b-warm-instruct"
},
"quantization": {
"expert1": null,
"expert2": null,
"expert3": null,
"expert4": null
},
"router": "kraken_router",
"tokenizers": {
"expert1": "VAGOsolutions/Llama-3-SauerkrautLM-8b-Instruct",
"expert2": "mii-community/zefiro-7b-dpo-ITA",
"expert3": "paulml/Hermes-2-Pro-French",
"expert4": "norallm/normistral-7b-warm-instruct"
}
},
"model_type": "kraken",
"torch_dtype": "float32",
"transformers_version": "4.41.0"
}
📚 ドキュメント
免責事項
私たちは、データのクレンジングに最善を尽くしていますが、検閲されていないコンテンツが漏れる可能性を完全に排除することはできません。また、一貫した適切な動作を保証することはできません。したがって、何らかの問題や不適切なコンテンツに遭遇した場合は、提供されている連絡先を通じてお知らせいただけると幸いです。
また、これらのモデルのライセンスは法的なアドバイスを構成するものではなく、当社はこれらのモデルを利用する第三者の行動について責任を負いません。
連絡先
ビジネスアプリケーション向けのカスタムLLMに興味がある場合は、当社のウェブサイトを通じてご連絡ください。また、フィードバックや提案も大歓迎です。
協力
私たちは、VAGO solutions と Hyperspace のスタートアップに対する支援と投資を積極的に求めています。これらのプロジェクトでは、多様な目的と要件に対応する堅牢な言語モデルの開発を継続的に進めています。もし将来の課題に共同で取り組むことに興味がある場合は、VAGO solutions、Hyperspace.computer、Cognitive Computations までご連絡いただけると幸いです。
引用
Fernando Fernandes Neto, David Golchinfar, Lucas Atkins, Eric Hartford - Kraken: An OpenSource Collection of Experts Model, 2024