🚀 羊角面包大语言模型聊天版(190k步 + 聊天功能)
本模型是羊角面包大语言模型(CroissantLLM)计划的一部分,对应于190k步(2.99万亿)标记后的检查点,以及最后的聊天微调阶段。
相关论文链接
为获得最佳性能,应使用0.3或更高的温度参数,并使用以下确切模板:
chat = [
{"role": "user", "content": "Que puis-je faire à Marseille en hiver?"},
]
chat_input = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
对应于:
chat_input = """<|im_start|>user
{USER QUERY}<|im_end|>
<|im_start|>assistant\n"""
✨ 主要特性
我们推出了羊角面包大语言模型(CroissantLLM),这是一个基于3万亿英语和法语标记进行预训练的13亿参数语言模型,旨在为研究和工业界带来一个高性能、完全开源的双语模型,该模型可在消费级本地硬件上快速运行。为此,我们开创了一种方法,以1:1的英法预训练数据比例、自定义分词器和双语微调数据集来训练本质上的双语模型。我们发布了训练数据集,其中特别包含一个经过人工精心策划、高质量且多样化数据源的法语子集。为评估模型在英语以外的性能,我们精心设计了一个全新的基准测试——法语基准测试(FrenchBench),它由一系列分类和生成任务组成,涵盖了模型在法语方面性能的各个不同方面。此外,基于透明度原则并为了促进大语言模型的进一步研究,我们发布了代码库、数十个不同模型大小、训练数据分布和训练步骤的检查点,以及微调后的聊天模型和强大的翻译模型。我们通过FMTI框架评估了我们的模型,并验证了81%的透明度标准,远远超过了即使是大多数开源项目的得分。这项工作丰富了自然语言处理领域,摆脱了以往以英语为中心的研究,从而加深了我们对语言模型中多语言能力的理解。
🚀 快速开始
本模型是一个聊天模型,即针对聊天功能进行了微调,使用提供的模板时效果最佳。
基础用法
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "croissantllm/CroissantLLMChat-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
generation_args = {
"max_new_tokens": 256,
"do_sample": True,
"temperature": 0.3,
"top_p": 0.90,
"top_k": 40,
"repetition_penalty": 1.05,
"eos_token_id": [tokenizer.eos_token_id, 32000],
}
chat = [
{"role": "user", "content": "Qui est le président francais actuel ?"},
]
chat_input = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(chat_input, return_tensors="pt").to(model.device)
tokens = model.generate(**inputs, **generation_args)
print(tokenizer.decode(tokens[0]))
print([(tokenizer.decode([tok]), tok) for tok in tokens[0].tolist()])
🔧 技术细节
模型局限性
评估结果表明,该模型在同规模模型中表现出色,在基于写作的任务和内部知识方面表现良好,在翻译任务中表现非常出色。然而,羊角面包大语言模型的小尺寸限制了其执行更复杂推理任务的能力,至少在其通用基础版本或聊天模型版本的零样本或少样本情况下是如此。这与其他同规模模型一致,凸显了在更抽象任务中模型规模的重要性。
知识截止日期
模型训练数据集的数据截止日期对应于2023年11月的维基百科转储。这实际上是我们基础模型的知识截止日期,尽管许多信息的日期更早。可以通过持续预训练或后续微调来训练更新版本。
多语言性能
羊角面包大语言模型主要是一个法语和英语模型。代码生成性能相对有限,尽管SlimPajama训练集中包含了一些其他语言的数据,但不能期望该模型在其他语言上开箱即用的性能,不过一些欧洲语言的表现确实相当不错。
幻觉问题
羊角面包大语言模型可能会产生幻觉并输出事实错误的数据,尤其是在处理复杂主题时。考虑到模型规模较小,这是可以预料的,并且尽管除了MT-Bench实验外没有进行其他定量评估,但幻觉率似乎低于大多数同规模模型。
📄 许可证
本模型采用MIT许可证。
📦 数据集
- croissantllm/croissant_dataset
- croissantllm/CroissantLLM - 2201 - sft
- cerebras/SlimPajama - 627B
- uonlp/CulturaX
- pg19
- bigcode/starcoderdata
📚 引用
我们的工作可以按以下方式引用:
@misc{faysse2024croissantllm,
title={CroissantLLM: A Truly Bilingual French-English Language Model},
author={Manuel Faysse and Patrick Fernandes and Nuno M. Guerreiro and António Loison and Duarte M. Alves and Caio Corro and Nicolas Boizard and João Alves and Ricardo Rei and Pedro H. Martins and Antoni Bigata Casademunt and François Yvon and André F. T. Martins and Gautier Viaud and Céline Hudelot and Pierre Colombo},
year={2024},
eprint={2402.00786},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
属性 |
详情 |
模型类型 |
文本生成 |
支持语言 |
法语、英语 |
适用领域 |
法律、代码、文本生成推理、艺术 |