Rwkv7 2.9B World GGUF
モデル概要
モデル特徴
モデル能力
使用事例
ライセンス: apache-2.0 言語:
- en
- zh
- ja
- ko
- fr
- ar
- es
- pt 評価指標:
- 正確率 ベースモデル:
- BlinkDL/rwkv-7-world パイプラインタグ: テキスト生成
rwkv7-2.9B-world GGUFモデル
注意: このモデルをllama.cppで実行するには、最新のllama.cpp https://github.com/ggml-org/llama.cpp を使用する必要があります。
適切なモデル形式の選択
正しいモデル形式を選択するには、ハードウェア性能とメモリ制限を考慮する必要があります。
BF16 (Brain Float 16) – BF16アクセラレーションが利用可能な場合に使用
- 高速な計算を実現しつつ、良好な精度を維持するために設計された16ビット浮動小数点形式。
- FP32と同様のダイナミックレンジを提供しながら、低いメモリ使用量です。
- ハードウェアがBF16アクセラレーションをサポートしている場合に推奨されます(デバイスの仕様を確認してください)。
- FP32と比較して、メモリ使用量を削減した 高性能な推論に最適。
📌 BF16を使用する場合:
✔ ハードウェアがネイティブのBF16サポートを持っている場合(例: 新しいGPU、TPU)。
✔ メモリを節約しながら、より高い精度が必要な場合。
✔ モデルを別の形式に再量子化する予定の場合。
📌 BF16を避ける場合:
❌ ハードウェアがBF16をサポートしていない場合(FP32にフォールバックし、低速になる可能性があります)。
❌ BF16最適化を持たない古いデバイスとの互換性が必要な場合。
F16 (Float 16) – BF16よりも広くサポートされている
- 16ビット浮動小数点形式で、高精度ですが、BF16よりも値の範囲が狭い。
- FP16アクセラレーションをサポートするほとんどのデバイスで動作します(多くのGPUや一部のCPUを含む)。
- BF16よりも若干数値精度が低いですが、一般的に推論には十分です。
📌 F16を使用する場合:
✔ ハードウェアがFP16をサポートしているが、BF16をサポートしていない場合。
✔ 速度、メモリ使用量、精度のバランスが必要な場合。
✔ GPUまたはFP16計算に最適化された他のデバイスで実行している場合。
📌 F16を避ける場合:
❌ デバイスがネイティブのFP16サポートを持っていない場合(予想よりも低速になる可能性があります)。
❌ メモリ制限がある場合。
量子化モデル (Q4_K, Q6_K, Q8, など) – CPUと低VRAM推論用
量子化は、可能な限り精度を維持しながら、モデルのサイズとメモリ使用量を削減します。
- 低ビットモデル (Q4_K) → 最小限のメモリ使用量に最適ですが、精度が低い可能性があります。
- 高ビットモデル (Q6_K, Q8_0) → より高い精度ですが、より多くのメモリが必要です。
📌 量子化モデルを使用する場合:
✔ CPUで推論を実行し、最適化されたモデルが必要な場合。
✔ デバイスのVRAMが少なく、全精度モデルをロードできない場合。
✔ メモリ使用量を削減しながら、合理的な精度を維持したい場合。
📌 量子化モデルを避ける場合:
❌ 最大精度が必要な場合(全精度モデルの方が適しています)。
❌ ハードウェアに高い精度の形式(BF16/F16)に十分なVRAMがある場合。
超低ビット量子化 (IQ3_XS, IQ3_S, IQ3_M, Q4_K, Q4_0)
これらのモデルは、極端なメモリ効率のために最適化されており、低電力デバイスまたはメモリが重要な制約条件となる大規模展開に最適です。
-
IQ3_XS: 超低ビット量子化(3ビット)で、極端なメモリ効率を実現。
- 使用ケース: 超低メモリデバイスで、Q4_Kでさえ大きすぎる場合に最適。
- トレードオフ: 高ビット量子化と比較して、精度が低い。
-
IQ3_S: 最大のメモリ効率のための小さなブロックサイズ。
- 使用ケース: IQ3_XSが過度に制限的な低メモリデバイスに最適。
-
IQ3_M: IQ3_Sよりも精度が高い中サイズのブロックサイズ。
- 使用ケース: IQ3_Sが制限的すぎる低メモリデバイスに適しています。
-
Q4_K: 精度向上のためのブロック単位の最適化を備えた4ビット量子化。
- 使用ケース: Q6_Kが大きすぎる低メモリデバイスに最適。
-
Q4_0: 純粋な4ビット量子化で、ARMデバイスに最適化されています。
- 使用ケース: ARMベースのデバイスまたは低メモリ環境に最適。
まとめ表: モデル形式の選択
モデル形式 | 精度 | メモリ使用量 | デバイス要件 | 最適な使用ケース |
---|---|---|---|---|
BF16 | 最高 | 高 | BF16対応のGPU/CPU | メモリを削減した高速推論 |
F16 | 高 | 高 | FP16対応のデバイス | BF16が利用できない場合のGPU推論 |
Q4_K | 中~低 | 低 | CPUまたは低VRAMデバイス | メモリ制限のある環境に最適 |
Q6_K | 中 | 中程度 | より多くのメモリを持つCPU | 量子化されたままで、より高い精度 |
Q8_0 | 高 | 中程度 | 十分なVRAMを持つCPUまたはGPU | 量子化モデルの中で最も高い精度 |
IQ3_XS | 非常に低 | 非常に低 | 超低メモリデバイス | 極端なメモリ効率と低精度 |
Q4_0 | 低 | 低 | ARMまたは低メモリデバイス | llama.cppがARMデバイス用に最適化できます |
含まれるファイルと詳細
rwkv7-2.9B-world-bf16.gguf
- モデルの重みがBF16で保存されています。
- モデルを別の形式に再量子化したい場合に使用します。
- デバイスがBF16アクセラレーションをサポートしている場合に最適。
rwkv7-2.9B-world-f16.gguf
- モデルの重みがF16で保存されています。
- デバイスがFP16をサポートしている場合、特にBF16が利用できない場合に使用します。
rwkv7-2.9B-world-bf16-q8_0.gguf
- 出力と埋め込みはBF16のままです。
- 他のすべての層はQ8_0に量子化されています。
- デバイスがBF16をサポートし、量子化バージョンが必要な場合に使用します。
rwkv7-2.9B-world-f16-q8_0.gguf
- 出力と埋め込みはF16のままです。
- 他のすべての層はQ8_0に量子化されています。
rwkv7-2.9B-world-q4_k.gguf
- 出力と埋め込みはQ8_0に量子化されています。
- 他のすべての層はQ4_Kに量子化されています。
- メモリが制限されているCPU推論に適しています。
rwkv7-2.9B-world-q4_k_s.gguf
- 最も小さなQ4_Kバリアントで、精度を犠牲にしてメモリ使用量を削減します。
- 非常に低メモリの環境に最適。
rwkv7-2.9B-world-q6_k.gguf
- 出力と埋め込みはQ8_0に量子化されています。
- 他のすべての層はQ6_Kに量子化されています。
rwkv7-2.9B-world-q8_0.gguf
- 完全にQ8に量子化されたモデルで、より高い精度を提供します。
- より多くのメモリが必要ですが、より高い精度を提供します。
rwkv7-2.9B-world-iq3_xs.gguf
- IQ3_XS量子化で、極端なメモリ効率のために最適化されています。
- 超低メモリデバイスに最適。
rwkv7-2.9B-world-iq3_m.gguf
- IQ3_M量子化で、中サイズのブロックサイズを提供し、精度を向上させます。
- 低メモリデバイスに適しています。
rwkv7-2.9B-world-q4_0.gguf
- 純粋なQ4_0量子化で、ARMデバイスに最適化されています。
- 低メモリ環境に最適。
- より高い精度が必要な場合は、IQ4_NLを選択してください。
🚀 これらのモデルが役に立った場合
いいね❤ をクリックしてください。また、👉 Network Monitor Assitant で私のネットワークモニターアシスタントをテストしていただけると大変助かります。
💬 チャットアイコン(メインページとダッシュボードページの右下)をクリックします。LLMを選択し、LLMの種類をTurboLLM -> FreeLLM -> TestLLMに切り替えます。
私がテストしているもの
私はネットワーク監視サービスに対する関数呼び出しを小さなオープンソースモデルを使って実験しています。私は「どれくらい小さなモデルでも機能するのか」という問題に取り組んでいます。
🟡 TestLLM – llama.cppを使用して、CPU VMの6スレッドで現在のテストモデルを実行します(ロードに約15秒かかるはずです。推論速度はかなり遅く、一度に1つのユーザープロンプトのみを処理します—まだスケーリングに取り組んでいます!)。興味があれば、その仕組みを共有して喜んでいます!
他の利用可能なAIアシスタント
🟢 TurboLLM – gpt-4o-mini を使用しています。高速です! 注意: OpenAIのモデルは高価なのでトークンが制限されていますが、ログイン または ダウンロード して無料のネットワークモニターエージェントを入手すると、より多くのトークンを取得できます。あるいは、TestLLMを使用してください。
🔵 HugLLM – オープンソースのHugging Faceモデルを高速で実行します。小さなモデル(≈8B)を実行するため、品質が低くなります。2倍のトークンを取得できます(Hugging Face APIの可用性に依存します)
rwkv7-2.9B-world
これはflash-linear attention形式のRWKV-7モデルです。
モデルの詳細
モデルの説明
- 開発者: ペン・ボー、ユー・チャン、ヤン・ソンリン、チャン・ルイチョン
- 資金提供元: RWKVプロジェクト(LF AI & Data財団の下)
- モデルの種類: RWKV7
- 言語 (NLP): 英語
- ライセンス: Apache-2.0
- パラメータ数: 29億
- トークナイザー: RWKV Worldトークナイザー
- 語彙サイズ: 65,536
モデルのソース
- リポジトリ: https://github.com/fla-org/flash-linear-attention ; https://github.com/BlinkDL/RWKV-LM
- 論文: 準備中
利用方法
このモデルを使用する前に、flash-linear-attention
と最新バージョンの transformers
をインストールしてください。
pip install git+https://github.com/fla-org/flash-linear-attention
pip install 'transformers>=4.48.0'
直接使用
このモデルは他のHuggingFaceモデルと同じように使用できます。
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained('fla - hub/rwkv7 - 2.9B - world', trust_remote_code = True)
tokenizer = AutoTokenizer.from_pretrained('fla - hub/rwkv7 - 2.9B - world', trust_remote_code = True)
model = model.cuda()
prompt = "What is a large language model?"
messages = [
{"role": "user", "content": "Who are you?"},
{"role": "assistant", "content": "I am a GPT - 3 based model."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize = False,
add_generation_prompt = True
)
model_inputs = tokenizer([text], return_tensors = "pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens = 1024,
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens = False)[0]
print(response)
学習データ
このモデルは、合計3.119兆トークンのWorld v3データで学習されています。
学習ハイパーパラメータ
- 学習方式: bfloat16、学習率4e - 4から1e - 5への「遅延」コサイン減衰、重み減衰0.1(途中でバッチサイズを増やします)
- 最終損失: 1.8745
- トークン数: 3.119兆
よくある質問
Q: safetensorsのメタデータがない。
A: transformersを>=4.48.0にアップグレードしてください: pip install 'transformers>=4.48.0'



