基础模型: meta-llama/Llama-3.1-8B-Instruct
标签:
- 文本生成推理
- 转换器
- unsloth
- llama
- trl
许可证: apache-2.0
语言:
- 卢森堡语
- 英语
模型卡片:LuxLlama
摘要
LuxLlama是基于Meta-Llama-3.1-8B-Instruct模型进行微调的迭代版本,专门针对卢森堡语的理解和生成能力以及通用和数学推理能力进行了优化。该模型通过结合推理基准测试和清洗过的卢森堡语文本的多样化数据集进行训练,利用参数高效微调(PEFT)中的LoRA技术,并通过Liger内核进行优化以提高效率。其性能通过定制的LUXELLA基准进行评估,展示了在翻译和理解等领域的强大能力,同时也指出了在细微词汇和语法方面需要改进的地方。微调过程利用了由**Meluxina提供的高性能计算(HPC)平台资源,该平台由LuxProvide**运营。
模型详情
- 模型名称: LuxLlama
- 类型: 专为卢森堡语熟练度和推理任务优化的语言模型。
- 基础模型:
unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit
- 微调框架: Unsloth, PEFT (LoRA), TRL (SFTTrainer)
- 语言: 主要支持英语和卢森堡语;能够执行推理任务。
简介
LuxLlama的目标是创建一个在复杂推理和卢森堡语细微差别方面均表现优异的语言模型。通过利用强大的基础模型(Llama 3.1 8B Instruct)并在精选的推理和语言特定数据集上进行微调,LuxLlama旨在成为需要卢森堡语技能和逻辑推理任务的有力工具。本模型卡片详细介绍了其架构、训练过程、数据以及在LUXELLA基准上的评估结果。
关于Meluxina
Meluxina是卢森堡的国家超级计算机,由LuxProvide于2021年6月推出。它基于EVIDEN BullSequana XH2000平台构建,提供:
- 18 PetaFlops的计算能力。
- 20 PetaBytes的存储容量。
- 集成了模拟、建模、数据分析和AI的可扩展架构。
Meluxina在全球Top500排名中位列第36位,并被评为欧盟最环保的超级计算机。其名称源自卢森堡传说中的美人鱼Melusina,象征着数字创新,并采用水冷技术以提高能源效率。
相关工作
LuxLlama的开发基于以下现有工作:
- 针对特定任务和语言的大型语言模型(LLMs)微调。
- 参数高效微调技术,如LoRA。
- 指令微调以提高模型可控性。
- 语言特定基准的开发。
- 增强LLMs的推理能力。
预期用途
- 主要用途: 卢森堡语任务,包括翻译(英<>卢)、阅读理解、语法辅助、词汇查询、文化知识检索、对话模拟和文本生成(写作提示、句子补全)。通用和数学推理任务。
- 目标用户: 研究人员、开发人员、语言学习者以及需要卢森堡语能力或模型范围内推理支持的用户。
- 非适用范围: 需要完美准确性而无需人工监督的高风险应用,生成有害或有偏见的内容,违反基础模型许可协议的使用。
局限性与偏见
- 性能差异: 如LUXELLA基准所示,性能在不同语言类别和难度级别上存在差异。模型在翻译和理解方面表现优于细微词汇、拼写或习语。随着难度增加,性能普遍下降。
- 继承的偏见: LuxLlama可能继承基础Llama 3.1模型和训练数据集中存在的偏见。
- 合成基准: LUXELLA基准使用合成生成的问题。虽然多样化,但可能无法完全捕捉现实世界的复杂性或语言变体。
- 基于LLM的评估: 使用LLM作为评估法官虽然可扩展且一致,但与人类专家评估相比有其自身的局限性和潜在偏见。
- 事实准确性: 与大多数LLMs一样,LuxLlama可能生成看似合理但错误的信息(幻觉)。
- 低资源语言: 卢森堡语是一种资源较少的语言,意味着可用的训练数据不如英语等语言广泛,这可能影响理解的深度。
训练数据
数据收集
微调数据集从以下来源编译:
- 通用推理:
KingNish/reasoning-base-20k
SkunkworksAI/reasoning-0.01
- 数学推理:
- 卢森堡语:
saillab/alpaca-luxembourgish-cleaned
数据集准备与预处理
- 加载与清洗: 每个数据集单独加载和清洗(标准化格式,处理缺失值)。
- 分类与模板化: 数据集被分类(通用推理、数学推理、卢森堡语)。为每个类别应用特定的提示模板以指导微调过程中的模型。
- 合并与分割: 所有处理后的数据集合并为一个数据集,随机打乱后分割为训练集和验证集。
训练过程
- 基础模型:
unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit
加载4位量化(load_in_4bit=True
)。
- 微调方法: 使用
trl.SFTTrainer
进行监督微调(SFT)。
- 参数效率: 使用LoRA的PEFT(
get_peft_model
)。
r
: 256
lora_alpha
: 256
lora_dropout
: 0.0
target_modules
: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]
- 训练配置(
SFTConfig
):
max_seq_length
: 128000
packing
: False
per_device_train_batch_size
: 4
gradient_accumulation_steps
: 8(有效批大小:32)
warmup_ratio
: 0.02
num_train_epochs
: 1
learning_rate
: 5e-5
fp16
: True
bf16
: True(混合精度训练)
logging_steps
: 10
optim
: "adamw_8bit"
weight_decay
: 0.01
lr_scheduler_type
: "cosine_with_restarts"
seed
: 1729
output_dir
: "lora_outputs_run5"
save_strategy
: "steps"
save_steps
: 1000
- 优化内核: 启用Liger内核(
use_liger=True
),通过优化的Triton内核提高吞吐量并减少常见LLM操作的内存使用。
评估
基准测试数据集 - LUXELLA
- 名称: LUXELLA(卢森堡卓越语言学习评估)
- 描述: 一个定制的基准测试,旨在使用合成生成的问题评估卢森堡语熟练度。
- 生成: 使用基于Gemini的LLM生成问题,涵盖15个类别(词汇、语法、翻译、理解、文化、习语等),4个难度级别(初级、中级、高级、母语),并随机化主题。输出为结构化JSON。
- 评估方法: 基于LLM的评判。使用单独的LLM作为评判者,对回答进行评分并提供简要解释。
- 链接: 开发中
评估结果
LuxLlama在LUXELLA上的表现:
按类别得分:
类别 |
得分 |
翻译至英语 |
83.8 |
阅读理解 |
82.8 |
动词变位 |
82.2 |
多项选择 |
81.6 |
从英语翻译 |
81.4 |
翻译 |
80.0 |
听力理解模拟 |
79.6 |
对话 |
75.8 |
词序 |
75.8 |
文化知识 |
75.2 |
写作提示 |
74.8 |
语法 |
68.8 |
习语与表达 |
67.4 |
句子补全 |
62.2 |
拼写与发音 |
60.8 |
词汇 |
60.0 |
按难度得分:
难度 |
得分 |
初级 |
78.6 |
中级 |
73.8 |
高级 |
73.6 |
母语 |
71.4 |
比较性能:
模型 |
LUXELLA总体得分 |
LuxLlama (Ours) |
74.6 |
gemma2-9b-it |
61.4 |
llama-3.1-8b-instant |
49.2 |
mixtral-8x7b-32768 |
48.8 |
总结: LuxLlama在LUXELLA基准测试中表现出色,显著优于其他测试模型。在翻译、理解和动词变位方面表现优异。词汇、拼写和习语等领域的得分相对较低,表明在捕捉更精细的语言细微差别方面还有改进空间。模型在初级任务上表现非常好,随着难度增加性能逐渐下降,验证了基准的敏感性。表现优异的问题示例展示了在文化知识、拼写和高级动词变位方面的正确处理,而表现不佳的示例则突出了在特定语法规则(Konjunktiv II用法)、词汇细微差别(Niess vs Kusinn)和标准词序惯例方面的挑战。
学习与观察
(此部分应在进一步分析和使用后更新。)
- 推理和语言特定数据的组合似乎对整体能力有益。
- 结合LoRA的PEFT和4位量化,以及Liger内核,为在有限资源下针对特定任务/语言微调大型模型提供了高效途径。
- LUXELLA基准提供了有价值的、细致的卢森堡语能力洞察,突出了优势和劣势。
- 进一步的改进可能需要更多样化的卢森堡语数据,特别是涵盖习语、口语和复杂语法结构,或不同的微调策略。
伦理考量
- 内容生成: 模型可以生成卢森堡语和英语文本。用户应注意生成的内容可能并不总是准确、中立或适当。敏感应用建议人工审核。
- 偏见: 尽管努力使用清洗过的数据集,但仍可能存在偏见。模型可能反映训练数据中存在的社会偏见。
- 错误信息: 模型可能生成错误的事实信息或有缺陷的推理。输出应严格评估。
致谢
本工作利用了Meluxina提供的计算资源和支持,由LuxProvide运营。
