🚀 LuxLlama
LuxLlamaは、ルクセンブルク語の理解と生成能力、および一般的な数学的推論能力を強化するために微調整された言語モデルです。多様なデータセットを用いて訓練され、LuxLlamaはルクセンブルク語に関するタスクや論理的な推論タスクに役立ちます。
🚀 クイックスタート
LuxLlamaは、Meta-Llama-3.1-8B-Instructモデルをベースに、ルクセンブルク語の理解と生成能力、および一般的な数学的推論能力を強化するために微調整された言語モデルです。このモデルは、多様なデータセットを用いて訓練され、LuxLlamaはルクセンブルク語に関するタスクや論理的な推論タスクに役立ちます。
✨ 主な機能
- ルクセンブルク語の理解と生成能力の強化
- 一般的な数学的推論能力の向上
- 多様なデータセットを用いた訓練
📦 インストール
このドキュメントには具体的なインストール手順が記載されていないため、このセクションを省略します。
💻 使用例
このドキュメントには具体的なコード例が記載されていないため、このセクションを省略します。
📚 ドキュメント
概要
LuxLlamaは、Meta-Llama-3.1-8B-Instructモデルをベースに、ルクセンブルク語の理解と生成能力、および一般的な数学的推論能力を強化するために微調整された言語モデルです。このモデルは、多様なデータセットを用いて訓練され、LuxLlamaはルクセンブルク語に関するタスクや論理的な推論タスクに役立ちます。
モデルの詳細
プロパティ |
詳細 |
モデル名 |
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は、2021年6月にLuxProvideによって立ち上げられたルクセンブルクの国立スーパーコンピュータです。EVIDEN BullSequana XH2000プラットフォームに基づいて構築されており、以下の機能を提供します。
- 18 PetaFlops の計算能力
- 20 PetaBytes のストレージ容量
- シミュレーション、モデリング、データ分析、およびAIを統合した 拡張可能なアーキテクチャ
Meluxinaは、世界で36位にランクされ、Top500ランキング内でEUで最も環境にやさしいスーパーコンピュータとして認められています。ルクセンブルクの伝説のマーメイドMelusinaにちなんで名付けられ、デジタルイノベーションを象徴し、エネルギー効率を高めるために水冷技術を採用しています。
関連研究
LuxLlamaの開発は、以下の既存の研究に基づいています。
- 特定のタスクや言語のために大規模言語モデル(LLM)を微調整すること
- LoRAなどのパラメータ効率的微調整技術
- モデルの制御可能性を向上させるための命令微調整
- 言語固有のベンチマークの開発
- LLMにおける推論能力の強化
想定される用途
- 主な用途:ルクセンブルク語のタスク(翻訳(英語<>ルクセンブルク語)、読解、文法支援、語彙照会、文化知識の取得、会話シミュレーション、およびテキスト生成(文章のプロンプト、文章の完成))、一般的な数学的推論タスク
- 対象ユーザー:研究者、開発者、言語学習者、およびルクセンブルク語のスキルまたは論理的な推論のサポートを必要とするユーザー
- 想定外の用途:人間の監視なしで完全な精度を必要とする高リスクなアプリケーション、有害または偏ったコンテンツの生成、ベースモデルのライセンス契約に違反する用途
制限とバイアス
- 性能のばらつき:LUXELLAベンチマークで示されているように、性能は異なる言語カテゴリや難易度レベルによって異なります。このモデルは、翻訳や理解において、微妙な語彙やスペル、熟語よりも良好な性能を示します。一般的に、難易度が増すにつれて性能は低下します。
- 継承されたバイアス:LuxLlamaは、ベースのLlama 3.1モデルや訓練データセットに存在するバイアスを引き継ぐ可能性があります。
- 合成ベンチマーク:LUXELLAベンチマークは合成的に生成された質問を使用しています。多様ではありますが、すべての現実世界の複雑さや言語のバリエーションを完全に捉えることはできない可能性があります。
- LLMベースの評価:評価にLLMジャッジを使用することは、拡張性と一貫性がありますが、人間の専門家の評価と比較すると、独自の制限と潜在的なバイアスがあります。
- 事実の正確性:ほとんどのLLMと同様に、LuxLlamaはもっともらしいが誤った情報(幻覚)を生成する可能性があります。
- 低リソース言語:ルクセンブルク語は低リソース言語であり、利用可能な訓練データは英語のような言語と比較して少ないため、理解の深さに影響を与える可能性があります。
訓練データ
データ収集
微調整用のデータセットは、以下のソースから収集されました。
- 一般的な推論:
KingNish/reasoning-base-20k
SkunkworksAI/reasoning-0.01
- 数学的推論:
- ルクセンブルク語:
saillab/alpaca-luxembourgish-cleaned
データセットの準備と前処理
- ロードとクリーニング:各データセットは個別にロードされ、クリーニングされました(形式の標準化、欠損値の処理)。
- 分類とテンプレート化:データセットは分類され(一般的な推論、数学的推論、ルクセンブルク語)、微調整中にモデルをガイドするために、各カテゴリに特定のプロンプトテンプレートが適用されました。
- マージと分割:すべての処理されたデータセットは、1つのデータセットにマージされ、ランダムにシャッフルされ、その後訓練セットと検証セットに分割されました。
訓練手順
- ベースモデル:
unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit
が4ビット量子化でロードされました (load_in_4bit=True
)。
- 微調整方法:
trl.SFTTrainer
を使用した教師あり微調整(SFT)。
- パラメータ効率:PEFTとLoRA (
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
- 最適化カーネル:一般的なLLM演算の最適化されたTritonカーネルを介してスループットを向上させ、メモリ使用量を削減するために、Ligerカーネルが有効にされました (
use_liger=True
)。
評価
ベンチマークデータセット - LUXELLA
- 名前:LUXELLA (Luxembourgish Excellence Language Learning Assessment)
- 説明:合成的に生成された質問を使用してルクセンブルク語の習熟度を評価するために設計されたカスタムベンチマーク。
- 生成:GeminiベースのLLMを使用して生成された質問。15のカテゴリ(語彙、文法、翻訳、理解、文化、熟語など)、4つの難易度レベル(初級、中級、上級、ネイティブ)、およびランダムなトピックにわたってプロンプトされました。出力は構造化されたJSON形式です。
- 評価方法:LLMベースの判断。別のLLMがジャッジとして機能し、応答を採点し、簡単な説明を提供します。
- リンク:進行中
評価結果
LUXELLAでのLuxLlamaの性能:
カテゴリ別のスコア:
カテゴリ |
スコア |
英語への翻訳 |
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 (自社製) |
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と4ビット量子化を用いたPEFTと、Ligerカーネルを組み合わせることで、限られたリソースで特定のタスクや言語のために大規模モデルを効率的に微調整する方法が提供されます。
- LUXELLAベンチマークは、ルクセンブルク語の能力に関する貴重な詳細な洞察を提供し、強みと弱みを明らかにします。
- さらなる改善には、特に熟語、口語表現、および複雑な文法構造をカバーする、より多様なルクセンブルク語のデータ、または異なる微調整戦略が必要かもしれません。
倫理的な考慮事項
- コンテンツ生成:このモデルはルクセンブルク語と英語でテキストを生成することができます。ユーザーは、生成されたコンテンツが必ずしも正確、中立、または適切であるとは限らないことに注意する必要があります。敏感なアプリケーションについては、人間のレビューが推奨されます。
- バイアス:クリーニングされたデータセットを使用するよう努めましたが、バイアスがまだ存在する可能性があります。このモデルは、訓練データに存在する社会的なバイアスを反映する可能性があります。
- 誤情報:このモデルは誤った事実情報や欠陥のある推論を生成する可能性があります。出力は批判的に評価する必要があります。
📄 ライセンス
このモデルは apache-2.0
ライセンスの下で提供されています。
謝辞
この研究は、LuxProvideによるMeluxinaの計算リソースとサポートを活用しています。
