|
--- |
|
license: apache-2.0 |
|
language: |
|
- ja |
|
pipeline_tag: text-generation |
|
--- |
|
|
|
# DiffLlama-1B |
|
|
|
DiffLlama-1Bは、フルスクラッチで約100Bトークン事前学習を行った約1Bパラメータの大規模言語モデルです。このモデルは、従来のTransformerアーキテクチャに対する改良として提案された「Differential Transformer」の概念を取り入れています。特に、Differential AttentionメカニズムをLlamaモデルに適用することで、注意力の焦点を関連性の高いコンテキストに向け、ノイズを低減する設計となっています。 |
|
|
|
## モデルの特徴 |
|
|
|
- **アーキテクチャ**: LlamaモデルにDifferential Attentionメカニズムを統合。 |
|
- **パラメータ数**: 10億(1B)パラメータ。 |
|
- **Patch-level Training**: 学習コスト削減技術[Patch-level Training](https://arxiv.org/abs/2407.12665)を使用。 |
|
- **Muon Optimizer**: AdamWより収束が早いOptimizerを使うことで学習効率を2倍に\(つまり実質200Bトークン学習している\)。実装は[こちら](https://github.com/MoonshotAI/Moonlight/blob/master/examples/toy_train.py) |
|
|
|
## 学習データ |
|
|
|
DiffLlama-1Bは以下のデータセットを用いて、合計約1000億(100B)トークンで1エポックの学習を行いました。 |
|
|
|
- **hotchpotch/fineweb-2-edu-japanese**: 約900億(90B)トークン。 |
|
- **HuggingFaceFW/fineweb-edu**: 約100億(10B)トークン。 |
|
|
|
## 使用方法 |
|
|
|
以下のコードスニペットは、DiffLlama-1Bモデルを使用してテキスト生成を行う方法を示しています。 |
|
|
|
|
|
```python |
|
import torch |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline, set_seed |
|
|
|
model = AutoModelForCausalLM.from_pretrained("kajuma/DiffLlama-1B", torch_dtype=torch.bfloat16, device_map="auto") |
|
tokenizer = AutoTokenizer.from_pretrained("kajuma/DiffLlama-1B") |
|
generator = pipeline("text-generation", model=model, tokenizer=tokenizer) |
|
set_seed(123) |
|
|
|
text = generator( |
|
"おはようございます、今日の天気は", |
|
max_length=30, |
|
do_sample=True, |
|
pad_token_id=tokenizer.pad_token_id, |
|
num_return_sequences=3, |
|
) |
|
for t in text: |
|
print(t) |
|
``` |
|
|
|
## ライセンス |
|
|
|
このモデルはApache License 2.0の下で提供されています。 |
|
|
|
## 謝辞 |
|
|
|
本モデルの開発にあたり、[株式会社ZEALS](https://zeals.ai/jp/news/20250303/)が提供する『生成AIエンジニア向けGPU無償提供プログラム』の支援を受けました。 |