🚀 polka-1.1b
polka-1.1b
は TinyLlama-1.1B モデルをベースに、追加で57億のポーランド語トークンで事前学習を続けることで強化されています。これらのトークンは主に MADLAD-400 データセットから取得され、DSIR を使用してポーランド語と英語のシャードを10:1の比率でサンプリングしています。さらに、PolkaはTinyLlamaトークナイザーの語彙を43,882トークンに拡張し、ポーランド語テキストの生成効率を向上させています。
学習は、DeepSpeed ZeRO-2を使用した単一の8 x RTX 4090マシンで680GPU時間かかりました。
コンテキストサイズは2,048トークンです。

🚀 クイックスタート
このモデルは、ポーランド語と英語のテキスト生成に特化しています。以下のサンプルコードを参考に、簡単に利用することができます。
✨ 主な機能
- ポーランド語強化:追加のポーランド語トークンで事前学習を行い、ポーランド語の生成能力を向上。
- トークナイザー拡張:語彙を拡張し、ポーランド語テキストの生成効率を改善。
- コンテキストサイズ:2,048トークンのコンテキストサイズをサポート。
📦 インストール
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコマンドを実行してください。
pip install torch transformers
💻 使用例
基本的な使用法
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "eryk-mazus/polka-1.1b"
tokenizer = AutoTokenizer.from_pretrained(model_name, padding_side="left")
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", load_in_8bit=True)
prompt = """Przykładowe zapytanie do modelu"""
model_inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
with torch.no_grad():
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512,
do_sample=True,
penalty_alpha=0.6,
top_k=5
)
output = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)
📚 ドキュメント
注意事項
このベースモデルは当初、命令微調整の基礎として開発され、polka-1.1b-chat が生まれました。しかし、比較的良好な性能と効率的なバイリンガルトークナイザーの組み合わせに潜在的な価値があると考え、コミュニティと共有しています。
このモデルは首尾一貫したポーランド語テキストを生成することができますが、サイズの制限から、幻覚現象が発生する可能性があります。
評価
PolEval-2018
モデル |
パープレキシティ |
meta-llama/Llama-2-7b-hf |
24.3 |
meta-llama/Llama-2-13b-hf |
21.4 |
mistralai/Mistral-7B-v0.1 |
21.4 |
TinyLlama/TinyLlama-1.1B |
40.4 |
sdadas/polish-gpt2-small |
134.4 |
sdadas/polish-gpt2-medium |
100.8 |
sdadas/polish-gpt2-large |
93.2 |
sdadas/polish-gpt2-xl |
94.1 |
Azurro/APT3-275M-Base |
129.8 |
Azurro/APT3-500M-Base |
153.1 |
Azurro/APT3-1B-Base |
106.8 |
eryk-mazus/polka-1.1b |
18.1 |
szymonrucinski/Curie-7B-v1 |
13.5 |
OPI-PG/Qra-1b |
14.7 |
長文ドキュメント (2024)
現在、LLMは数千トークンのコンテキストをサポートしており、実際のアプリケーションでは長文ドキュメントの処理も一般的です。したがって、PolEval-2018のような文ベースのデータセットでパープレキシティを評価することは意味がない場合があります。さらに、PolEvalコーパスは過去数年間インターネット上で公開されているため、一部のモデルの学習セットがこのデータに汚染されている可能性があります。このため、2024年にのみ公開された長文論文からなる新しいコレクションを用意し、学習時にモデルが利用できなかった新しい知識に対するパープレキシティをより信頼性高くテストすることができます。このコーパスは、数百から約20,000トークンの5,000のドキュメントで構成されています。セットの半分は2024年2月のポーランドのニュースポータルの報道テキストで、残りの半分は2024年1月以降に公開された科学論文です。ほとんどのドキュメントは評価対象のモデルのコンテキストサイズを超えています。これらのドキュメントのパープレキシティを計算するために、この例に従って、モデルのコンテキスト長と同じサイズのチャンクに分割し、ストライドを512トークンに設定しました。
モデル |
コンテキスト |
パープレキシティ |
meta-llama/Llama-2-7b-hf |
4096 |
5.9 |
meta-llama/Llama-2-13b-hf |
4096 |
5.3 |
mistralai/Mistral-7B-v0.1 |
4096 |
4.9 |
TinyLlama/TinyLlama-1.1B |
2048 |
9.6 |
sdadas/polish-gpt2-small |
2048 |
27.3 |
sdadas/polish-gpt2-medium |
2048 |
20.3 |
sdadas/polish-gpt2-large |
1536 |
18.0 |
sdadas/polish-gpt2-xl |
1536 |
16.6 |
Azurro/APT3-275M-Base |
2048 |
77.0 |
Azurro/APT3-500M-Base |
2048 |
50.5 |
Azurro/APT3-1B-Base |
2048 |
19.1 |
eryk-mazus/polka-1.1b |
2048 |
6.9 |
szymonrucinski/Curie-7B-v1 |
4096 |
4.8 |
OPI-PG/Qra-1b |
4096 |
6.1 |
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。