🚀 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}
}