モデル概要
モデル特徴
モデル能力
使用事例
🚀 Lucie-7Bのモデルカード
Lucie-7Bは、事前学習された70億パラメータの因果言語モデルです。このモデルは、多言語のデータを用いて訓練され、様々な言語に対応したテキスト生成が可能です。
🚀 クイックスタート
このセクションでは、Lucie-7Bモデルの基本的な使い方を説明します。
モデルの読み込み
import transformers
model_name = "OpenLLM-France/Lucie-7B"
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
device_map="auto",
load_in_4bit=True # For efficient inference, if quantization is supported by the GPU card
)
文章の完成
pipeline = transformers.pipeline("text-generation", model=model, tokenizer=tokenizer)
generation_kwargs = dict(
num_return_sequences=1, # Number of variants to generate.
return_full_text= False, # Do not include the prompt in the generated text.
do_sample=True,
temperature=1.0, top_p=1, top_k=None, # Sampling parameters.
max_new_tokens=200, # Maximum length for the output text (in number of tokens).
)
prompt = """\
Quelle est la capitale de l'Espagne ? Madrid\n\
Quelle est la capitale de la France ?\
"""
completions = pipeline(prompt, **generation_kwargs)
for completion in completions:
print(prompt + " […]" + completion['generated_text'])
チェックポイントの読み込み
model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
revision="step0753851",
...
)
✨ 主な機能
- 多言語対応: 英語、フランス語、ドイツ語、スペイン語、イタリア語などの複数の言語に対応しています。
- 効率的な推論: GPU上での量子化をサポートし、効率的な推論が可能です。
- 長文対応: 最大32000トークンのコンテキスト長に対応しています。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
import transformers
model_name = "OpenLLM-France/Lucie-7B"
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
device_map="auto",
load_in_4bit=True # For efficient inference, if quantization is supported by the GPU card
)
pipeline = transformers.pipeline("text-generation", model=model, tokenizer=tokenizer)
generation_kwargs = dict(
num_return_sequences=1, # Number of variants to generate.
return_full_text= False, # Do not include the prompt in the generated text.
do_sample=True,
temperature=1.0, top_p=1, top_k=None, # Sampling parameters.
max_new_tokens=200, # Maximum length for the output text (in number of tokens).
)
prompt = """\
Quelle est la capitale de l'Espagne ? Madrid\n\
Quelle est la capitale de la France ?\
"""
completions = pipeline(prompt, **generation_kwargs)
for completion in completions:
print(prompt + " […]" + completion['generated_text'])
高度な使用法
# チェックポイントの読み込み
model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
revision="step0753851",
device_map="auto",
load_in_4bit=True
)
# 文章生成
pipeline = transformers.pipeline("text-generation", model=model, tokenizer=tokenizer)
prompt = "Your custom prompt here"
completions = pipeline(prompt, **generation_kwargs)
for completion in completions:
print(completion['generated_text'])
📚 ドキュメント
モデルの説明
Lucie-7Bは、LINAGORAとOpenLLM-Franceによって構築された事前学習済みの70億パラメータの因果言語モデルです。このモデルは、3兆トークンの多言語データを用いて訓練され、英語、フランス語、ドイツ語、スペイン語、イタリア語などの複数の言語に対応しています。
訓練データ
訓練データセットは、OpenLLM-France/Lucie-Training-Datasetで入手できます。初期の訓練データの構成は以下の通りです。
一部のデータは、訓練データの分布をバランスさせるためにアップサンプリングされ、以下の構成で訓練されました。
訓練手順
Lucie-7Bは、因果言語モデリングタスク(次のトークンを予測する)で訓練された因果デコーダー専用のモデルです。このモデルは、Jean Zayスーパーコンピュータ上の512台のH100 80GB GPUで約550,000 GPU時間訓練されました。
訓練コードは、https://github.com/OpenLLM-France/Lucie-Trainingで入手できます。このコードは、このMegatron-DeepSpeedのフォークに基づいています。
オプティマイザーのチェックポイントは、OpenLLM-France/Lucie-7B-optimizer-statesで入手できます。
ニューラルネットワークアーキテクチャ
Lucie-7Bは、Llama3.1と同じニューラルネットワークアーキテクチャを持っています。正確に6,706,958,336個の自由パラメータを持ち、以下のハイパーパラメータを持っています。
ハイパーパラメータ | 値 |
---|---|
語彙サイズ (#トークン) | 65,024 |
#トランスフォーマーブロック | 32 |
#アテンションヘッド | 32 |
#キーバリューヘッド | 8 |
隠れ層サイズ | 4,096 |
フィードフォワード隠れ層サイズ | 12,288 |
活性化関数 | silu |
RMSノルムイプシロン | 1e-5 |
ロータリー位置埋め込み(RoPE)の"theta"パラメータは、訓練プロセス中に増加しました。その値は、以下の訓練ハイパーパラメータの表に示されています。
訓練ハイパーパラメータ
訓練は、以下の3つの主要なフェーズで構成されています。
- 3.1Tトークンでのメイン事前学習、コンテキスト長4096
- 5Bトークンでのコンテキスト拡張、コンテキスト長32000
- 高品質データ(新しいデータと訓練中に見たデータの混合物)の5Bトークンでのアニーリング
各フェーズの詳細は以下の通りです。
1. メイン事前学習
torch/Megatron-DeepSpeedでの訓練ハイパーパラメータは以下の通りです。
ハイパーパラメータ | 値 |
---|---|
総サンプル数 | 762,144,586 (3.1Tトークン) |
総ステップ数 | 753,851 |
RoPE theta | 500,000 |
コンテキスト長 | 4,096 |
初期バッチサイズ | 256 |
最終バッチサイズ | 1,024 |
バッチサイズランプアップ | 10Mサンプルにわたって64ステップごと |
学習率スケジュール | ウォームアップ (2Mサンプル) + コサインアニーリング |
最大学習率 | 3e-4 |
最終学習率 | 3e-5 |
重み減衰 | 0.1 |
ドロップアウト | _ |
勾配クリッピング | 1 |
初期化範囲 | 0.009 |
オプティマイザー | AdamW (β₁=0.9, β₂=0.95, ε=1e-5) |
精度 | bfloat16 |
テンソル並列性 (512 GPU) | 4 |
パイプライン並列性 (512 GPU) | 4 |
データ並列性 (512 GPU) | 32 |
2. コンテキスト長拡張
訓練ハイパーパラメータは上記と同じですが、以下の変更があります。
ハイパーパラメータ | 値 |
---|---|
総サンプル数 | 156,250 (5Bトークン) |
総ステップ数 | 1,220 |
RoPE theta | 20,000,000 |
コンテキスト長 | 32,000 |
バッチサイズ | 128 |
学習率 | 2e-5 |
学習率スケジュール | 一定 |
テンソル並列性 (128 GPU) | 4 |
パイプライン並列性 (128 GPU) | 4 |
データ並列性 (128 GPU) | 8 |
3. アニーリング
訓練ハイパーパラメータはコンテキスト長拡張と同じですが、以下の変更があります。
ハイパーパラメータ | 値 |
---|---|
総サンプル数 | 156,250 (5Bトークン) |
総ステップ数 | 1,220 |
学習率スケジュール | 線形アニーリング |
最大学習率 | 3e-5 |
最終学習率 | 0 |
訓練ログと学習曲線
訓練損失
訓練ログは、Tensorboard形式で以下の場所にあります。
metadata/training_logs/
├──1_pretraining.zip
最初の事前学習フェーズの訓練ログ、zipファイル。zip内の各ファイルは、最大20時間の訓練ジョブ(512 GPUで並列化)に対応しています。
├──2_extension/
訓練ログを含むフォルダ
└──3_annealing/
アニーリングフェーズの訓練ログを含むフォルダ、これも約13時間の訓練(128 GPUで並列化)を要しました。
3つの事前学習フェーズの収束曲線は以下の通りです。
これらのプロットに対応するデータは、tensorboardログから抽出され、以下のCSVファイルで入手できます。
評価
Lucie-7Bの訓練中に、標準的なベンチマークでのパフォーマンスを評価するために、複数の評価が行われました。主にフランス語と英語、およびスペイン語、ドイツ語、イタリア語での評価が行われました。
訓練プロセス全体を通じたLucie-7Bのチェックポイントのベンチマークデータセットでの評価結果は、metadata/evaluation_learning_curve_lucie.csvで入手できます。同じベンチマークデータセットでのベースラインモデルの評価結果は、metadata/evaluation_baselines.csvで入手できます。
主な結果は以下の図にまとめられています。
フランス語
英語
その他
大海原から針を探す
事前学習
コンテキスト長拡張
アニーリング
🔧 技術詳細
このセクションでは、Lucie-7Bモデルの技術的な詳細について説明します。
ニューラルネットワークアーキテクチャ
Lucie-7Bは、Llama3.1と同じニューラルネットワークアーキテクチャを持っています。具体的なハイパーパラメータは以下の通りです。
属性 | 详情 |
---|---|
モデルタイプ | 因果デコーダー専用モデル |
語彙サイズ (#トークン) | 65,024 |
#トランスフォーマーブロック | 32 |
#アテンションヘッド | 32 |
#キーバリューヘッド | 8 |
隠れ層サイズ | 4,096 |
フィードフォワード隠れ層サイズ | 12,288 |
活性化関数 | silu |
RMSノルムイプシロン | 1e-5 |
訓練ハイパーパラメータ
訓練は、以下の3つの主要なフェーズで構成されています。各フェーズのハイパーパラメータは以下の通りです。
1. メイン事前学習
ハイパーパラメータ | 値 |
---|---|
総サンプル数 | 762,144,586 (3.1Tトークン) |
総ステップ数 | 753,851 |
RoPE theta | 500,000 |
コンテキスト長 | 4,096 |
初期バッチサイズ | 256 |
最終バッチサイズ | 1,024 |
バッチサイズランプアップ | 10Mサンプルにわたって64ステップごと |
学習率スケジュール | ウォームアップ (2Mサンプル) + コサインアニーリング |
最大学習率 | 3e-4 |
最終学習率 | 3e-5 |
重み減衰 | 0.1 |
ドロップアウト | _ |
勾配クリッピング | 1 |
初期化範囲 | 0.009 |
オプティマイザー | AdamW (β₁=0.9, β₂=0.95, ε=1e-5) |
精度 | bfloat16 |
テンソル並列性 (512 GPU) | 4 |
パイプライン並列性 (512 GPU) | 4 |
データ並列性 (512 GPU) | 32 |
2. コンテキスト長拡張
ハイパーパラメータ | 値 |
---|---|
総サンプル数 | 156,250 (5Bトークン) |
総ステップ数 | 1,220 |
RoPE theta | 20,000,000 |
コンテキスト長 | 32,000 |
バッチサイズ | 128 |
学習率 | 2e-5 |
学習率スケジュール | 一定 |
テンソル並列性 (128 GPU) | 4 |
パイプライン並列性 (128 GPU) | 4 |
データ並列性 (128 GPU) | 8 |
3. アニーリング
ハイパーパラメータ | 値 |
---|---|
総サンプル数 | 156,250 (5Bトークン) |
総ステップ数 | 1,220 |
学習率スケジュール | 線形アニーリング |
最大学習率 | 3e-5 |
最終学習率 | 0 |
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
免責事項
Lucie-7Bは、シーケンス内の次の最も可能性の高い単語を予測するためにのみ訓練された言語モデルです。Lucie Training Datasetをフィルタリングする努力をしていますが、Lucie-7Bが訓練中に有毒または不快な言語を含む文字列に遭遇し、その結果、同様の品質の文字列を生成する可能性があります。このような動作を制限するために、指示および/または嗜好チューニング(DPO、RLHFなど)によってLucie-7Bをファインチューニングすることをお勧めします。
引用
Lucie-7Bモデルを使用する場合は、以下の論文を引用してください。
✍ Olivier Gouvert, Julie Hunter, Jérôme Louradour, Christophe Cérisara, Evan Dufraisse, Yaya Sy, Laura Rivière, Jean-Pierre Lorré (2025). The Lucie-7B LLM and the Lucie Training Dataset: Open resources for multilingual language generation. arxiv:2503.12294.
@misc{openllm2025lucie,
title={The Lucie-7B LLM and the Lucie Training Dataset: Open resources for multilingual language generation},
author={Olivier Gouvert and Julie Hunter and Jérôme Louradour and Christophe Cerisara and Evan Dufraisse and Yaya Sy and Laura Rivière and Jean-Pierre Lorré and OpenLLM-France community},
year={2025},
eprint={2503.12294},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2503.12294},
}
謝辞
この研究は、GENCI–IDRISのHPCリソース(Grant 2024-GC011015444)を使用して行われました。GENCIとIDRIS、特にPierre-François Lavallée(IDRIS)とStephane Requena(GENCI)の支援に感謝します。
Lucie-7Bは、LINAGORAとOpenLLM-Franceコミュニティのメンバーによって作成されました。以下のメンバー(アルファベット順)に感謝します。 Agustin Martin Picard (IRT), Thibaut Boissin (IRT), Christophe Cerisara (LORIA), Evan Dufraisse (CEA List), Julie Hunter (LINAGORA), Jean-Pierre Lorré (LINAGORA), Jérôme Louradour (LINAGORA), Lucas Hervier (IRT), Michel-Marie Maudet (LINAGORA), Olivier Gouvert (LINAGORA), and Yaya Sy (LORIA).
以下の方々の有益なアドバイスに感謝します。 Clément Bénesse (Opsci), Guokan Shang (MBZUAI), Ismaïl Harrando (LINAGORA), Joël Gombin (Opsci), Jordan Ricker (Opsci), Julien Tourille (EDF), Manuel Faysse (ILLUIN Technology), Olivier Ferret (CEA List), and Rachel Bawden (INRIA).
IDRISのサポートチーム、特にMyriam PeyrounetteとHatim Bourfoune、およびHugging Faceのサポートチーム、特にThomas Wolf、Guilherme Penedo、Elie Bakouch、Haojun Zhao、およびLucain Pougetの技術的なガイダンスに感謝します。
最後に、様々な方法で支援してくれたOpenLLM-Franceコミュニティ全体に感謝します。
お問い合わせ
contact@openllm-france.fr



