🚀 CroissantLLM - Base GGUF (190k steps, Final version)
このモデルはCroissantLLMイニシアチブの一部であり、190kステップ(2.99 Tトークン)後のチェックポイントに対応しています。
最終モデルを試すには、チャットバージョンを使用することをおすすめします:https://huggingface.co/croissantllm/CroissantLLMChat-v0.1。
https://arxiv.org/abs/2402.00786
📚 ドキュメント
概要
我々は、3Tの英語とフランス語のトークンのセットで事前学習された1.3Bの言語モデルであるCroissantLLMを導入し、研究および産業界に、消費者向けのローカルハードウェアで迅速に実行できる高性能かつ完全にオープンソースのバイリンガルモデルを提供します。
そのために、我々は、英語とフランス語の事前学習データの比率を1:1にした独自のバイリンガルモデルのトレーニング手法、カスタムトークナイザー、およびバイリンガル微調整データセットを開発しました。我々はトレーニングデータセットを公開しており、特に、手動で選別された高品質で多様なデータソースを含むフランス語の分割データが含まれています。
英語以外のパフォーマンスを評価するために、我々は、分類と生成のタスクの配列から構成され、フランス語におけるモデルのパフォーマンスの様々な直交する側面をカバーする新しいベンチマークであるFrenchBenchを作成しました。さらに、透明性を重視し、大規模言語モデルの研究を促進するために、我々はコードベース、および様々なモデルサイズ、トレーニングデータ分布、およびトレーニングステップにわたる数十のチェックポイント、ならびに微調整されたチャットモデルおよび強力な翻訳モデルを公開します。我々は、FMTIフレームワークを通じてモデルを評価し、透明性基準の81%を検証しており、ほとんどのオープンイニシアチブのスコアをはるかに上回っています。
この研究は、以前の英語中心の研究から脱却し、言語モデルにおける多言語性の理解を強化することで、自然言語処理の分野を豊かにします。
引用
我々の研究は以下のように引用できます:
@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}
}
💻 使用例
基本的な使用法
このモデルはベースモデルです。つまり、チャット機能に微調整されておらず、Few-shotプロンプト戦略で最適に動作します。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "croissantllm/CroissantLLMBase"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
inputs = tokenizer("I am so tired I could sleep right now. -> Je suis si fatigué que je pourrais m'endormir maintenant.\nHe is heading to the market. -> Il va au marché.\nWe are running on the beach. ->", return_tensors="pt").to(model.device)
tokens = model.generate(**inputs, max_length=100, do_sample=True, top_p=0.95, top_k=60, temperature=0.3)
print(tokenizer.decode(tokens[0]))
inputs = tokenizer("Capitales: France -> Paris, Italie -> Rome, Allemagne -> Berlin, Espagne ->", return_tensors="pt", add_special_tokens=True).to(model.device)
tokens = model.generate(**inputs, max_length=100, do_sample=True, top_p=0.95, top_k=60)
print(tokenizer.decode(tokens[0]))
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
データセット
- cerebras/SlimPajama-627B
- uonlp/CulturaX
- pg19
- bigcode/starcoderdata
- croissantllm/croissant_dataset
言語
パイプラインタグ
text-generation
タグ
- legal
- code
- text-generation-inference
- art