🚀 FaseehGPT模型卡片
FaseehGPT是一款專為阿拉伯語文本處理設計的GPT風格語言模型。它基於阿拉伯語數據集的子集進行訓練,能夠生成連貫且與上下文相關的文本。該模型採用預訓練的阿拉伯語分詞器(asafaya/bert-base-arabic
),並針對Google Colab(免費GPU)等資源受限的環境進行了優化。
📚 詳細文檔
💡 模型詳情
屬性 |
詳情 |
模型名稱 |
FaseehGPT |
模型類型 |
僅解碼器的Transformer(GPT風格) |
倉庫地址 |
alphatechlogics/FaseehGPT |
版本 |
1.1 |
構建者 |
Alphatechlogics 🔗 GitHub |
開發者 |
Ahsan Umar 🔗 GitHub |
日期 |
2025年7月10日 |
許可證 |
Apache 2.0 |
框架 |
PyTorch, Hugging Face Transformers |
語言 |
阿拉伯語 |
預期用途 |
阿拉伯語文本的文本生成和語言建模 |
🔧 模型架構
- 架構:具有多頭自注意力和前饋層的僅解碼器Transformer
- 參數:
- 詞彙表大小:約32,000(來自
asafaya/bert-base-arabic
分詞器)
- 嵌入維度:512
- 層數:12
- 注意力頭數量:8
- 前饋維度:2048
- 總參數:約7070萬
- 配置:
- 最大序列長度:512
- 丟棄率:0.1
- 激活函數:GELU
- 權重初始化:正態分佈(均值 = 0,標準差 = 0.02)
- 特殊功能:支持top-k和top-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輪保存 |
💻 使用示例
基礎用法
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)
生成參數
參數 |
詳情 |
max_new_tokens |
要生成的最大令牌數(例如,100) |
temperature |
控制隨機性(默認:1.0) |
top_k |
將採樣限制在前k個令牌(默認:50) |
top_p |
核採樣閾值(默認:0.9) |
📊 數據集描述
- 來源: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政策
🤝 如何貢獻
📄 許可證
本模型採用Apache 2.0許可證。
📚 引用
@misc{faseehgpt2025,
title = {FaseehGPT: An Arabic Language Model},
author = {Ahsan Umar, Rohma},
year = {2025},
url = {https://huggingface.co/alphatechlogics/FaseehGPT}
}