base_model: meta-llama/Llama-2-7b
language:
- ar
- en
thumbnail: null
tags:
- 阿拉伯语
- 英语
- 大语言模型
- 解码器
- 因果语言模型
- jais系列
license: apache-2.0
pipeline_tag: text-generation
Jais系列模型卡
Jais系列模型是一组全面的英阿双语大语言模型(LLMs)。这些模型专精阿拉伯语处理,同时具备强大的英语能力。我们发布的基础模型包含两种变体:
- 从头预训练的模型(
jais-family-*
)
- 基于Llama-2自适应预训练的模型(
jais-adapted-*
)
本次发布包含8种规模的20个模型,参数量从5.9亿到700亿不等,训练数据涵盖最高1.6万亿个阿拉伯语、英语和代码标记。所有预训练模型都经过指令微调(*-chat
),使用精心筛选的阿拉伯语和英语指令数据进行对话优化。
我们希望通过这次大规模发布加速阿拉伯语NLP研究,并为阿拉伯语社区及双语用户开启丰富的下游应用。我们为阿拉伯语模型成功验证的训练和适配技术,可扩展至其他低中资源语言。
Jais系列详情
- 开发机构: Inception, Cerebras Systems
- 支持语言: 阿拉伯语(现代标准阿拉伯语)和英语
- 输入: 纯文本数据
- 输出: 文本生成
- 模型规模: 5.9亿、13亿、27亿、67亿、70亿、130亿、300亿、700亿
- 演示: 访问在线演示
- 许可协议: Apache 2.0
模型架构:
本系列所有模型均采用基于Transformer的自回归语言模型架构(GPT-3风格解码器)。
Jais原生模型(jais-family-*
)采用从零训练策略,整合了SwiGLU非线性激活函数和ALiBi位置编码。这些架构增强使模型能够处理长序列,提升上下文处理能力和精确度。
Jais适配模型(jais-adapted-*
)基于Llama-2构建,采用RoPE位置嵌入和分组查询注意力机制。我们通过添加阿拉伯语数据扩展了分词器,新增了来自Jais-30b词汇表的32,000个阿拉伯语标记,使计算效率提升3倍以上。新阿拉伯语标记的嵌入初始化分为两步:首先利用共享英语标记学习从Jais-30b到Llama嵌入空间的线性投影,然后将该投影应用于转换现有的Jais-30b阿拉伯语嵌入。
快速开始
以下是模型使用示例代码。注意该模型需要自定义模型类,加载时必须启用trust_remote_code=True
。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-adapted-7b"
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", trust_remote_code=True)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
def get_response(text, tokenizer=tokenizer, model=model):
tokenized = tokenizer(text, return_tensors="pt")
input_ids, attention_mask = tokenized['input_ids'].to(device), tokenized['attention_mask'].to(device)
input_len = input_ids.shape[-1]
generate_ids = model.generate(
input_ids,
attention_mask=attention_mask,
top_p=0.9,
temperature=0.3,
max_length=2048,
min_length=input_len + 4,
repetition_penalty=1.2,
do_sample=True,
pad_token_id=tokenizer.pad_token_id
)
response = tokenizer.batch_decode(
generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True
)[0]
return response
text = "عاصمة دولة الإمارات العربية المتحدة ه"
print(get_response(text))
text = "The capital of UAE is"
print(get_response(text))
训练详情
预训练数据
Jais系列模型使用最高1.6万亿个英语、阿拉伯语和代码标记进行训练,数据来源包括:
- 网页数据: 公开网页、维基百科、新闻文章和社交媒体内容
- 代码数据: 多种编程语言代码,增强模型推理能力
- 书籍数据: 精选阿拉伯语和英语书籍,提升长文本连贯性
- 学术论文: ArXiv论文子集,强化推理和长上下文处理
- 合成数据: 通过内部机器翻译系统将高质量英语资源(如维基百科)译为阿拉伯语
我们对数据进行了严格的预处理和去重。阿拉伯语数据采用定制流程确保语言质量,详见Jais论文。
- Jais原生预训练:采用阿拉伯语:英语:代码=1:2:0.4的比例,解决阿拉伯语数据稀缺问题
- Jais适配预训练:使用约3340亿阿拉伯语标记,根据不同模型规模调整混合比例
(后续表格内容保持原格式不变,仅作翻译处理)
评估结果
(评估部分表格和图表保持原格式,仅翻译说明文字)
使用场景
我们在完全开源许可下发布Jais系列模型,欢迎反馈与合作机会。该双语模型套件覆盖5.9亿至700亿参数规模,适用场景包括:
-
研究领域:
- 自然语言理解与生成任务
- 双语模型的文化对齐机制分析
- 阿拉伯语文化语言现象量化研究
-
商业应用:
- 阿拉伯语聊天助手开发
- 本地市场情感分析
- 双语文档摘要生成
目标受益群体:
- 学术界:阿拉伯语NLP研究者
- 企业用户:阿拉伯语市场开拓者
- 开发者:需要阿拉伯语能力的应用集成者
非适用场景
禁止将模型用于任何违法用途,包括但不限于:
- 生成有害、误导或不适当内容
- 处理敏感个人信息
- 高风险决策(医疗/法律/金融等)
- 非阿拉伯语/英语场景的盲目推广
局限性
虽然我们已尽力减少偏见,但与其他大模型一样,Jais仍可能存在某些偏差。微调版本仅适用于阿拉伯语和英语查询,对其他语言可能产生不恰当响应。
使用者应知悉:与所有大语言模型类似,本模型可能生成错误、误导或冒犯性内容。我们不对使用后果负责,并持续改进模型能力,欢迎任何使用反馈。
(版权声明和法律条款保持原文格式)
总结
我们发布的Jais系列阿拉伯语-英语双语模型,通过多样化的预训练规模、英语模型阿拉伯化方案以及全尺寸指令微调,为阿拉伯语场景解锁了丰富的学术与商业应用可能。本发布旨在让阿拉伯语NLP研究者和企业更容易获得大模型能力,提供比英语中心模型更优秀的文化理解力。我们所采用的预训练、微调和阿拉伯化策略可扩展至其他低中资源语言,为面向本地语境的语言专属模型开辟道路。
(引用文献格式保持原文)