🚀 Italia 9B - Instruct v0.1
Italiaは、iGeniusによって開発されたオープンソースの大規模言語モデルファミリーで、公共および民間部門で活動する企業向けに設計されています。 Italia 9Bは、そのシリーズの最初のモデルで、90億のパラメータを持つTransformerアーキテクチャの基礎的な大規模言語モデルです。

🚀 クイックスタート
Italia 9B - Instruct v0.1を使い始めるには、以下の手順に従ってください。
インストール
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
model_id = "iGeniusAI/Italia-9B-Instruct-v0.1"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
t_pipeline = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
device_map="auto",
return_full_text=False,
top_p = 0.95,
top_k = 50
)
テキスト生成の実行
SYSTEM_PROMPT = """Il tuo nome è Modello Italia. Tu sei un'intelligenza artificiale, un modello di linguaggio naturale addestrato da iGenius su Leonardo, uno dei supercomputer più potenti al mondo."""
TEMPERATURE = 0.3
MAX_NEW_TOKENS = 250
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Ciao come stai?"},
]
conv_template = tokenizer.apply_chat_template(
messages,
tokenize=False
)
outputs = t_pipeline(
conv_template,
max_new_tokens=MAX_NEW_TOKENS,
do_sample=True,
temperature=TEMPERATURE,
num_return_sequences=1,
)
print(outputs[0]["generated_text"])
✨ 主な機能
- 高度な言語理解:イタリア語の言語的および文化的なニュアンスを理解し、高精度な応答を生成します。
- 多言語対応:イタリア語のみならず、英語での翻訳タスクでも良好な性能を発揮します。
- 命令追従能力:ユーザーからの指示に従って、適切な応答を生成します。
📦 インストール
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
model_id = "iGeniusAI/Italia-9B-Instruct-v0.1"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
t_pipeline = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
device_map="auto",
return_full_text=False,
top_p = 0.95,
top_k = 50
)
💻 使用例
基本的な使用法
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
model_id = "iGeniusAI/Italia-9B-Instruct-v0.1"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
t_pipeline = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
device_map="auto",
return_full_text=False,
top_p = 0.95,
top_k = 50
)
SYSTEM_PROMPT = """Il tuo nome è Modello Italia. Tu sei un'intelligenza artificiale, un modello di linguaggio naturale addestrato da iGenius su Leonardo, uno dei supercomputer più potenti al mondo."""
TEMPERATURE = 0.3
MAX_NEW_TOKENS = 250
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Ciao come stai?"},
]
conv_template = tokenizer.apply_chat_template(
messages,
tokenize=False
)
outputs = t_pipeline(
conv_template,
max_new_tokens=MAX_NEW_TOKENS,
do_sample=True,
temperature=TEMPERATURE,
num_return_sequences=1,
)
print(outputs[0]["generated_text"])
高度な使用法
SYSTEM_PROMPT = """Il tuo nome è Modello Italia. Tu sei un'intelligenza artificiale specializzata in risposte dettagliate e tecniche. Fornisci sempre informazioni accurate e complete."""
TEMPERATURE = 0.3
MAX_NEW_TOKENS = 500
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Scrivi una funzione python che genera numeri random."},
]
conv_template = tokenizer.apply_chat_template(
messages,
tokenize=False
)
outputs = t_pipeline(
conv_template,
max_new_tokens=MAX_NEW_TOKENS,
do_sample=True,
temperature=TEMPERATURE,
num_return_sequences=1,
)
print(outputs[0]["generated_text"])
📚 ドキュメント
チャットフォーマット
Italia-9B Instructはユーザーからの指示に従うようにファインチューニングされたモデルです。最適な結果を得るためには、以下のチャットフォーマットを使用する必要があります。
<|system|>
Your system prompt.</s>
<|user|>
user request.</s>
<|assistant|>
例:
<|system|>
Il tuo nome è Modello Italia. Tu sei un'intelligenza artificiale, un modello di linguaggio naturale addestrato da iGenius su Leonardo, uno dei supercomputer più potenti al mondo.</s>
<|user|>
Scrivi una funzione python che genera numeri random.</s>
<|assistant|>
モデルは <|assistant|>
の後にテキストを生成します。</s>
はEOSトークンです。
意図された使用法
Italia 9Bは、商用および研究目的で設計された大規模言語モデルで、イタリア語を中心に幅広いアプリケーションに対応しています。ただし、以下のカテゴリに関連するアプリケーションには使用しないでください。
- 法律違反:地域、国内、または国際の法律や規制に違反する可能性のある使用。
- プライバシー侵害:個人の同意なしにプライバシーや個人情報を侵害する可能性のある使用。
- 悪意のある活動:個人やグループを害する、欺く、または搾取する目的のアプリケーション。
- 誤情報の拡散:健康、安全、公共政策などの敏感なコンテキストでの誤ったまたは誤解を招く情報の拡散。
- 差別的な行為:人種、性別、年齢、国籍、またはその他の保護された特性に基づく差別や不公平な取り扱いにつながる使用。
- コーディングタスク:ソースコードの生成または解釈に関連するタスク。
🔧 技術詳細
ハードウェアとソフトウェア
iGeniusはCinecaとのパートナーシップにより、世界で最も高度で高性能なコンピューティングインフラの一つであるLeonardoスーパーコンピュータ上でItalia 9Bを数千のGPUを使用して大規模にトレーニングおよびファインチューニングする機会を得ました。
トレーニング
Italia 9Bは、イタリア語で兆単位のトークンを使ってゼロからトレーニングされました。トレーニングデータは、公共ソース、合成データ、および商業パートナーから提供されたドメイン固有のコンテンツの異種混合で構成されています。英語からの翻訳を使用せず、イタリア語でのみトレーニングされたItalia 9Bは、イタリア語のすべての言語的および文化的なニュアンスを前例のない精度で理解することができます。
Italiaの事前トレーニングデータの90%以上はイタリア語のテキストで構成され、残りの部分は英語です。これにより、Italiaは英語を完全に習得し、翻訳タスクでも良好な性能を発揮することができます。さらに、モデルは、命令追従能力を強化し、堅牢なセキュリティ対策を確保するために、教師ありファインチューニングと直接的な嗜好最適化の両方を含む事後トレーニングプロセスを経ています。
事前トレーニングデータのカットオフ日は2023年12月です。つまり、モデルのトレーニングに使用されたすべてのテキスト情報は、その時点までに収集され、含まれています。これにより、モデルはトレーニング時点で利用可能な最新の言語的および文脈的な知識を備え、現代の言語使用に基づくテキストの理解と生成における関連性と精度が向上します。
ベンチマーク
言語モデルの性能を評価するための既存のすべてのベンチマークは、英語圏のエコシステムを対象として設計されています。これらのベンチマークで使用される質問は、アメリカとイギリスの文化に典型的な要素、概念、および構造を反映しており、ネイティブなイタリア語のトレーニングソースには表されていません。iGeniusは、イタリアの主要な機関と協力して、ネイティブなイタリア語モデルの評価に特化したベンチマークシステムを開発しています。ただし、Italiaは、常識、言語理解、および論理的推論をテストするベンチマークに対して評価された場合、同規模のモデルの中でほぼ最先端の性能を示しました。
以下は、llm-harnessを使用して生成されたベンチマーク結果です。
ベンチマーク |
結果 |
xcopa_it |
0.73 |
lambada_openai_mt_it (perplexity) |
40.6 |
lambada_openai_mt_it (acc) |
0.43 |
m_mmlu_it (5-shot) |
0.42 |
arc_it (5-shot) |
0.43 |
belebele_ita_Latn (5-shot) |
0.46 |
hellaswag_it (5-shot) |
0.55 |
truthfulqa_it_mc1 (0-shot) |
0.30 |
truthfulqa_it_mc2 (0-shot) |
0.42 |
📄 ライセンス
Italia 9BはMITライセンスの下で公開されています。ライセンスの詳細については、こちらを参照してください。
ライセンスに関する注意事項
- 帰属表示:MITライセンスでは、配布されるすべてのファイルにライセンスの全文と著作権表示を含める必要があります。著作権表示とMITライセンスは、モデルを利用するすべてのプロジェクトに組み込む必要があります。
- 責任の制限:MITライセンスには、ソフトウェアの使用によって生じる損害に対する著者または貢献者の責任を制限する免責条項が含まれています。これは、ソフトウェアの使用に対する保証または責任が提供されないことを意味します。
- 修正の共有:MITライセンスでは、ソフトウェアに加えた修正を共有することを義務付けていません。ユーザーは、モデルをファインチューニングするために修正することができ、これらの修正をコミュニティと共有する義務はありません。
- 互換性:MITライセンスは非常に寛容で、他の多くのオープンソースライセンスと互換性があります。ただし、モデルと一緒に使用する他のソフトウェアまたはライブラリとのMITライセンスの互換性を確認することが重要です。
制限事項
iGeniusのコアバリューは、開放性、有用性、および公平性です。私たちは、すべての人にサービスを提供し、幅広いユースケースに対応することを目指しています。Italiaは、多様な背景、経験、および視点を持つ人々がアクセスできるように設計されています。すべてのユーザーを尊重し、自由な思考と表現の重要性を強調しており、これらが革新と進歩を促進します。
ただし、Italiaは新しい技術であり、その使用にはリスクが伴います。これまでに行われたテストでは、すべてのシナリオをカバーすることができませんでした。これらの理由から、すべての大規模言語モデルと同様に、Italiaの潜在的な出力を事前に予測することはできず、モデルは場合によっては不正確、偏った、またはその他の不快な応答を生成する可能性があります。開発者は、Italiaをベースにしたアプリケーションをデプロイする前に、セキュリティテストを実行することをお勧めします。
貢献者
iGeniusチーム。
特別な感謝をCinecaとそのチームに送ります。彼らの貴重な支援と、モデル開発におけるLeonardoスーパーコンピュータの使用により、このプロジェクトが可能になりました。この協力は、価値あるパートナーシップが社会、企業、および個人にとってどのように有益であるかを示しており、創造性と革新を促進し、私たちの国が繁栄するのを助けています。