模型概述
模型特點
模型能力
使用案例
🚀 Lucie-7B模型卡
Lucie-7B是一款預訓練的70億參數因果語言模型,由LINAGORA和OpenLLM-France聯合構建。它在3萬億個多語言數據令牌上進行訓練,可用於文本生成等任務。
🚀 快速開始
若你想快速上手使用Lucie-7B模型,可參考下面的Python代碼示例。
✨ 主要特性
- 多語言支持:支持法語、英語、意大利語、德語和西班牙語等多種語言。
- 預訓練模型:基於Llama-3架構,經過大量數據預訓練。
- 長上下文處理:支持32000的上下文長度。
📦 安裝指南
文檔中未提及安裝步驟,可跳過此部分。
💻 使用示例
基礎用法
加載模型
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'])
若在GPU(cuda
設備)上運行,使用4位量化推理至少需要6GB的顯存(不使用4位量化則需要16GB的顯存)。
加載檢查點
model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
revision="step0753851",
...
)
其中revision
可以是以下值之一:
- "
step0005000
", "step0010000
", "step0015000
", "step0020000
":前25000步中每5000步的檢查點(上下文長度為4096)。 - "
step0025000
", "step0050000
", "step0075000
", "step0100000
", ..., "step0750000
":從25000步到750000步每25000步的檢查點。 - "
step0753851
":上下文長度擴展和退火之前的最後一個預訓練步驟。 - "
extension_step0000250
", "extension_step0000500
", "extension_step0000750
", "extension_step0001000
", "extension_step0001220
":上下文長度擴展期間的幾個檢查點(上下文長度為32000)。
📚 詳細文檔
模型描述
Lucie-7B是由LINAGORA和OpenLLM-France構建的預訓練70億參數因果語言模型。它在3萬億個多語言數據令牌上進行訓練,包括英語(33.2%)、法語(32.4%)、德語(6.9%)、西班牙語(6.6%)、意大利語(3.8%)以及這些語言的並行數據(2.5%),還有幾種編程語言(14.7%)。
訓練詳情
訓練數據
用於Lucie-7B預訓練的訓練數據集可在OpenLLM-France/Lucie-Training-Dataset獲取。
初始訓練數據的組成如下:
為了平衡訓練數據分佈,對部分數據進行了上採樣,得到用於訓練的以下組成:
訓練過程
Lucie-7B是一個僅解碼器的因果模型,在因果語言建模任務(即預測下一個令牌)上進行訓練。
它在Jean Zay超級計算機的512個H100 80GB GPU上進行了約550000個GPU小時的預訓練。
訓練代碼可在https://github.com/OpenLLM-France/Lucie-Training獲取,它基於this fork of Megatron-DeepSpeed。
優化器檢查點可在OpenLLM-France/Lucie-7B-optimizer-states獲取。
神經網絡架構
Lucie-7B具有與Llama3.1相同的神經網絡架構。它恰好有6706958336個自由參數,具有以下超參數:
屬性 | 詳情 |
---|---|
詞彙表大小(令牌數) | 65024 |
變壓器塊數 | 32 |
注意力頭數 | 32 |
鍵值頭數 | 8 |
隱藏層大小 | 4096 |
前饋隱藏層大小 | 12288 |
激活函數 | silu |
RMS歸一化epsilon | 1e-5 |
在訓練過程中,旋轉位置嵌入(RoPE)的“theta”參數有所增加。其值在下面的訓練超參數表中給出。
訓練超參數
訓練包括三個主要階段:
- 在3.1T令牌上進行主預訓練,上下文長度為4096。
- 在5B令牌上進行上下文擴展,上下文長度為32000。
- 在由新數據和訓練期間見過的數據混合而成的高質量5B令牌數據上進行退火。
每個階段的詳細信息如下。
1. 主預訓練
torch/Megatron-DeepSpeed中的訓練超參數如下:
超參數 | 值 |
---|---|
總樣本數 | 762144586(3.1T令牌) |
總步數 | 753851 |
RoPE theta | 500000 |
上下文長度 | 4096 |
初始批量大小 | 256 |
最終批量大小 | 1024 |
批量大小遞增 | 每64步遞增,在10M樣本上完成 |
學習率調度 | 熱身(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. 上下文長度擴展
訓練超參數與上述相同,但有以下更改:
超參數 | 值 |
---|---|
總樣本數 | 156250(5B令牌) |
總步數 | 1220 |
RoPE theta | 20000000 |
上下文長度 | 32000 |
批量大小 | 128 |
學習率 | 2e-5 |
學習率調度 | 恆定 |
張量並行度(128個GPU) | 4 |
管道並行度(128個GPU) | 4 |
數據並行度(128個GPU) | 8 |
3. 退火
訓練超參數與上下文長度擴展階段相同,但有以下更改:
超參數 | 值 |
---|---|
總樣本數 | 156250(5B令牌) |
總步數 | 1220 |
學習率調度 | 線性退火 |
最大學習率 | 3e-5 |
最終學習率 | 0 |
訓練日誌和學習曲線
訓練損失
訓練日誌以Tensorboard格式存儲在以下位置:
metadata/training_logs/
├──1_pretraining.zip
第一個預訓練階段的訓練日誌,存儲在一個zip文件中。zip文件中的每個文件對應最多20小時的訓練作業(在512個GPU上並行)。
├──2_extension/
包含訓練日誌的文件夾
└──3_annealing/
包含退火階段訓練日誌的文件夾,該階段也進行了約13小時的訓練(在128個GPU上並行)。
三個預訓練階段的收斂曲線如下:
與這些圖對應的數據從Tensorboard日誌中提取,可在以下CSV文件中獲取:
評估
在Lucie-7B的訓練過程中進行了多次評估,以評估其在標準基準測試中的性能,主要是法語和英語,以及西班牙語、德語和意大利語。
Lucie-7B在整個訓練過程中各檢查點在基準數據集上的評估結果可在metadata/evaluation_learning_curve_lucie.csv獲取。 基線模型在相同基準數據集上的評估結果可在metadata/evaluation_baselines.csv獲取。
主要結果總結在以下圖中:
法語
英語
其他語言
大海撈針
預訓練
上下文長度擴展
退火
🔧 技術細節
- 訓練進度:
- 步數:756291
- 令牌數:3131736326144
- 上下文長度:32000
📄 許可證
本模型採用Apache-2.0許可證。
⚠️ 免責聲明
Lucie-7B是一個僅用於預測序列中最可能的下一個單詞的語言模型。儘管對Lucie訓練數據集進行了過濾,但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), 和 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), 和 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與我們聯繫。



