🚀 FaseehGPT
FaseehGPTは、アラビア語のテキスト処理用に設計されたGPTスタイルの言語モデルです。アラビア語のデータセットのサブセットで学習され、一貫性があり文脈に関連したテキストを生成することができます。
🚀 クイックスタート
FaseehGPTを使用するには、以下のコードを参考にしてください。
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("alphatechlogics/FaseehGPT", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("alphatechlogics/FaseehGPT")
prompt = "السلام عليكم"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
outputs = model.generate(input_ids, max_new_tokens=100, temperature=1.0, top_k=50, top_p=0.9)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)
✨ 主な機能
- アラビア語のテキスト生成と言語モデリングに特化
- 事前学習されたアラビア語トークナイザー
asafaya/bert-base-arabic
を使用
- Google Colabなどのリソース制約のある環境で最適化
📦 インストール
コード例を実行するためには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("alphatechlogics/FaseehGPT", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("alphatechlogics/FaseehGPT")
prompt = "السلام عليكم"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
outputs = model.generate(input_ids, max_new_tokens=100, temperature=1.0, top_k=50, top_p=0.9)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)
高度な使用法
生成パラメータを調整することで、異なるスタイルのテキストを生成できます。
prompt = "السلام عليكم"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
outputs = model.generate(input_ids, max_new_tokens=200, temperature=0.7, top_k=30, top_p=0.8)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)
📚 ドキュメント
モデルの詳細
モデルアーキテクチャ
- アーキテクチャ: マルチヘッドセルフアテンションとフィードフォワードレイヤーを持つデコーダー専用のトランスフォーマー
- パラメータ:
- 語彙サイズ: ~32,000 (
asafaya/bert-base-arabic
トークナイザーから)
- 埋め込み次元: 512
- レイヤー数: 12
- アテンションヘッド数: 8
- フィードフォワード次元: 2048
- 総パラメータ数: ~7070万
- 設定:
- 最大シーケンス長: 512
- ドロップアウト率: 0.1
- 活性化関数: GELU
- 重み初期化: 正規分布 (平均 = 0, 標準偏差 = 0.02)
- 特殊機能: トップkとトップpサンプリングをサポート; 入力と出力の埋め込み間の重み共有
学習詳細
データセット
- arbml/Arabic_News: 7,114,814件のニュース記事テキスト
- arbml/Arabic_Literature: 1,592,629件の文学テキスト
- 使用サブセット: 50,000件のテキスト (ランダムサンプリング)
- 学習セット: 45,000件 (90%)
- 検証セット: 5,000件 (10%)
学習設定
- エポック数: 20
- 学習率: 3e-4 (Karpathy定数)
- オプティマイザー: AdamW (重み減衰 = 0.01)
- スケジューラー: 線形ウォームアップ (ステップの10%) と減衰
- バッチサイズ: 有効16 (4回の勾配蓄積ステップ)
- ハードウェア: Kaggle (P100)
- 学習時間: 8.18時間
- チェックポイント: 20エポックで保存
生成テキストのサンプル (エポック20)
プロンプト1: "اللغة العربية"
出力:
اللغة العربية اقرب ويح الي كما ذلك هذه البيان شعره قاله الاستاذر من وتج معهم فمنليل وصوله له الفرقة التيهااهها الخطاب ماه مسلمفن ، تقولبة وحياة –زة الشخصية مسلم شبه منذ
プロンプト2: "كان يا مكان في قديم الزمان"
出力:
كان يا مكان في قديم الزمان الانسان الانسان بعض لا انر لقد الانسان ذلك انلاركارك عرض عرض كروي.رح نشا المطلوب وعمل كنكتب الاردني فبدي السابق كان " يريد " صورة ولا وانما " التي النعيم الصحيح بمع للنفط ". يريد قصر توفيق ديكتوتو قد في ثمانية جسد ". الصحيفة انه الاسلام البلد التي " لا من ثالثة شبه كانت بصفته في الوعيدها انبر التي في ما من ، رحب مهمة مز انه ليبر بسرعةالية ، الارجح ما عن به انقلاب في
データセットの説明
- ソース: Hugging Face Datasets
- 使用データセット:
arbml/Arabic_News
: 多様なトピックのニュース (正式なアラビア語)
arbml/Arabic_Literature
: 小説や詩 (豊富な言語バリエーションを提供)
- 総テキスト数: 8,707,443件 (全量); 学習には50,000件使用
前処理
asafaya/bert-base-arabic
を使用してトークナイズ
- 長いテキストをオーバーラップするチャンクに分割 (
stride = max_seq_len // 2
)
- 特殊トークン:
<SOS>
, <EOS>
, <PAD>
, <UNK>
評価
- メトリクス: 交差エントロピー損失 (学習と検証)
- 状況: ログが不完全なため、損失メトリクスは利用できません
- 観察結果: 生成サンプルは部分的な学習を示していますが、一部の非一貫性が残っています
推奨事項
- チェックポイント
model_checkpoint_epoch_20.pt
から損失を抽出する
- 将来の学習で詳細なログを使用する
- 評価メトリクスを追加する: パープレキシティ、BLEU
- より小さいモデル (例:
embed_dim=256
, num_layers=6
) を試して、Colabでのテストを高速化する
制限事項
- 生成テキストの品質: 一貫性の欠如は学習不足を示唆しています
- リソース制約: ColabのGPU制限により、小さなサブセットが使用されました
- 言語の特化性: アラビア語のみをサポート; 他の言語はテストされていません
- 学習時間: 8.18時間は全データセットに対しては不十分です
倫理的な考慮事項
- バイアス: ソースデータからの文化的またはトピック的なバイアスを反映する可能性があります
- 使用方法: 研究/非商用目的で使用; 出力を検証する
- プライバシー: データセットは公開されています; Hugging Faceのポリシーに準拠する
貢献方法
- リポジトリ: alphatechlogics/FaseehGPT
- 問題報告: バグを報告または機能提案をするには、イシュートラッカーを使用してください
- 学習: 全データセットまたはより良いハードウェアで学習を再開する
- 評価: BLEU、パープレキシティなどの評価スクリプトを追加する
引用
@misc{faseehgpt2025,
title = {FaseehGPT: An Arabic Language Model},
author = {Ahsan Umar, Rohma},
year = {2025},
url = {https://huggingface.co/alphatechlogics/FaseehGPT}
}
📄 ライセンス
このモデルはApache 2.0ライセンスの下で提供されています。