模型简介
模型特点
模型能力
使用案例
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万亿token的阿拉伯语、英语和代码数据。所有预训练模型都经过指令微调(*-chat
),使用精心筛选的阿拉伯语和英语指令数据。
我们希望通过这次大规模发布加速阿拉伯语NLP研究,并为阿拉伯语使用者和双语社区赋能。我们为阿拉伯语模型成功展示的训练和自适应技术可扩展至其他中低资源语言。
Jais系列详情
- 开发团队: Inception, Cerebras Systems
- 支持语言: 阿拉伯语(标准语)和英语
- 输入: 纯文本数据
- 输出: 文本生成
- 模型规模: 5.9亿, 13亿, 27亿, 67亿, 70亿, 130亿, 300亿, 700亿
- 演示版: 访问在线演示
- 许可证: Apache 2.0
预训练模型 | 微调模型 | 参数量 | 上下文长度 |
---|---|---|---|
jais-family-30b-16k | Jais-family-30b-16k-chat | 300亿 | 16,384 |
jais-family-30b-8k | Jais-family-30b-8k-chat | 300亿 | 8,192 |
jais-family-13b | Jais-family-13b-chat | 130亿 | 2,048 |
jais-family-6p7b | Jais-family-6p7b-chat | 67亿 | 2,048 |
jais-family-2p7b | Jais-family-2p7b-chat | 27亿 | 2,048 |
jais-family-1p3b | Jais-family-1p3b-chat | 13亿 | 2,048 |
jais-family-590m | Jais-family-590m-chat | 5.9亿 | 2,048 |
自适应预训练模型 | 微调模型 | 参数量 | 上下文长度 |
---|---|---|---|
jais-adapted-70b | Jais-adapted-70b-chat | 700亿 | 4,096 |
jais-adapted-13b | Jais-adapted-13b-chat | 130亿 | 4,096 |
jais-adapted-7b | Jais-adapted-7b-chat | 70亿 | 4,096 |
模型架构:
本系列所有模型均为基于Transformer的自回归语言模型(仅解码器架构,类似GPT-3)。
Jais原生模型(jais-family-*
)采用从头训练方式,整合了SwiGLU非线性激活函数和ALiBi位置编码。这些架构增强使模型能够处理长序列,提升上下文处理能力和精确度。
Jais自适应模型(jais-adapted-*
)基于Llama-2构建,采用RoPE位置嵌入和分组查询注意力机制。我们通过添加阿拉伯语数据扩展了分词器,将Jais-30b词汇表中的32,000个新阿拉伯语token加入Llama-2分词器,使计算效率提升3倍以上。为初始化这些新阿拉伯语token嵌入,我们首先利用两种词汇表共有的英语token学习从Jais-30b嵌入空间到Llama嵌入空间的线性投影,然后将该投影应用于转换现有的Jais-30b阿拉伯语嵌入。
快速开始
以下是使用模型的示例代码。注意该模型需要自定义模型类,因此在加载模型时必须启用trust_remote_code=True
。
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-family-590m"
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)
def get_response(text, tokenizer=tokenizer, model=model):
input_ids = tokenizer(text, return_tensors="pt").input_ids
inputs = input_ids.to(device)
input_len = inputs.shape[-1]
generate_ids = model.generate(
inputs,
top_p=0.9,
temperature=0.3,
max_length=2048,
min_length=input_len + 4,
repetition_penalty=1.2,
do_sample=True,
)
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万亿token的多样化英语、阿拉伯语和代码数据进行训练。数据来源包括:
-
网页数据: 公开可用的阿拉伯语和英语网页、维基百科文章、新闻文章和社交媒体内容
-
代码数据: 包含多种编程语言代码,增强模型推理能力
-
书籍数据: 精选公开阿拉伯语和英语书籍,提升长上下文建模和连贯叙事能力
-
科学文献: 部分ArXiv论文用于增强推理和长上下文处理能力
-
合成数据: 通过内部机器翻译系统将高质量英语资源(如英文维基百科和书籍)翻译为阿拉伯语,扩充阿拉伯语数据量
我们对训练数据进行了深度预处理和去重。针对阿拉伯语数据,使用定制预处理流程筛选语言质量高的内容。更多细节请参阅Jais论文。
- Jais原生预训练(
jais-family-*
): 延续我们在Jais中的语言对齐混合实验,采用阿拉伯语:英语:代码=1:2:0.4的比例。这种从头预训练配方在解决阿拉伯语数据稀缺问题的同时提升双语性能。 - Jais自适应预训练(
jais-adapted-*
): 对于Llama-2的自适应预训练,我们使用约3340亿阿拉伯语token与英语和代码数据混合。在不同模型规模下调整混合比例,在保持英语性能的同时增强阿拉伯语能力。
预训练模型 | 英语数据 | 阿拉伯语数据 | 代码数据 | 总数据量 |
---|---|---|---|---|
jais-family-30b-16k | 9800亿 | 4900亿 | 1960亿 | 1.666万亿 |
jais-family-30b-8k | 8820亿 | 4410亿 | 1770亿 | 1.5万亿 |
jais-family-13b | 2830亿 | 1410亿 | 560亿 | 4800亿 |
jais-family-6p7b | 2830亿 | 1410亿 | 560亿 | 4800亿 |
jais-family-2p7b | 2830亿 | 1410亿 | 560亿 | 4800亿 |
jais-family-1p3b | 2830亿 | 1410亿 | 560亿 | 4800亿 |
jais-family-590m | 2830亿 | 1410亿 | 560亿 | 4800亿 |
jais-adapted-70b | 330亿 | 3340亿 | 40亿 | 3710亿 |
jais-adapted-13b | 1270亿 | 1400亿 | 130亿 | 2800亿 |
jais-adapted-7b | 180亿 | 190亿 | 20亿 | 390亿 |
微调数据
Jais系列所有聊天模型均使用阿拉伯语和英语的单轮/多轮问答对进行微调。数据源包括经过主题和风格多样性筛选的开源微调数据集,以及增强文化适应性的内部人工标注数据。此外还补充了通过机器翻译、蒸馏和模型自对话生成的合成内容。总体而言,我们的指令微调数据集包含约1000万英语和400万阿拉伯语问答对。
训练流程
在(jais-family-*
)模型预训练中,文档被打包成以EOS token分隔的序列,模型以自回归方式训练,对所有token计算损失。对于jais-30b模型,通过逐步加入长上下文文档,将上下文长度从2k扩展到8K再到16K。这种渐进式扩展利用较短上下文长度下的快速初始训练,同时在训练后期逐步支持更大上下文长度。
在(jais-adapted-*
)模型的自适应预训练中,我们首先如模型架构所述初始化新分词器和阿拉伯语嵌入。针对观察到的阿拉伯语嵌入norm较高问题,我们采用两阶段训练:第一阶段冻结模型主干,使用约150亿token的双语语料训练嵌入;第二阶段解冻主干,进行全参数持续预训练。
在指令微调中,每个训练样本包含单轮或多轮提示及其响应。不同于每个序列一个样本的做法,我们将多个样本打包在一起,同时对提示token进行损失掩码,通过每批次处理更多样本来加速训练。
训练超参数:
Jais-family-590m
超参数 | 值 |
---|---|
精度 | fp32 |
优化器 | AdamW |
学习率 | 0至0.01563(<=163预热步数) 0.01563至4.21e-05(>163且<=209422步数) |
权重衰减 | 0.1 |
批次大小 | 1120 |
上下文长度 | 2048 |
训练步数 | 209422 |
计算基础设施
训练过程在Condor Galaxy(CG)超级计算平台上完成。每个CG包含64个Cerebras CS-2晶圆级引擎(WSE-2),每个具有40GB SRAM,总计算能力达960 PetaFLOP/s。
评估
我们对Jais模型进行了全面的英阿双语评估,使用LM-harness进行零样本测试。评估维度包括:
- 知识: 模型回答事实性问题的能力
- 推理: 回答需要推理的问题的能力
- 错误信息/偏见: 评估模型生成虚假或误导性信息的倾向及中立性
阿拉伯语评估结果:
模型 | 平均 | ArabicMMLU* | MMLU | EXAMS* | LitQA* | agqa | agrc | Hellaswag | PIQA | BoolQA | Situated QA | ARC-C | OpenBookQA | TruthfulQA | CrowS-Pairs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jais-family-30b-16k | 49.2 | 44.0 | 33.4 | 40.9 | 60 | 47.8 | 49.3 | 60.9 | 68.6 | 70.3 | 41.6 | 38.7 | 31.8 | 45.2 | 57 |
jais-family-30b-8k | 49.7 | 46.0 | 34 | 42 | 60.6 | 47.6 | 50.4 | 60.4 | 69 | 67.7 | 42.2 | 39.2 | 33.8 | 45.1 | 57.3 |
jais-family-13b | 46.1 | 34.0 | 30.3 | 42.7 | 58.3 | 40.5 | 45.5 | 57.3 | 68.1 | 63.1 | 41.6 | 35.3 | 31.4 | 41 | 56.1 |
jais-family-6p7b | 44.6 | 32.2 | 29.9 | 39 | 50.3 | 39.2 | 44.1 | 54.3 | 66.8 | 66.5 | 40.9 | 33.5 | 30.4 | 41.2 | 55.4 |
jais-family-2p7b | 41.0 | 29.5 | 28.5 | 36.1 | 45.7 | 32.4 | 40.8 | 44.2 | 62.5 | 62.2 | 39.2 | 27.4 | 28.2 | 43.6 | 53.6 |
jais-family-1p3b | 40.8 | 28.9 | 28.5 | 34.2 | 45.7 | 32.4 | 40.8 | 44.2 | 62.5 | 62.2 | 39.2 | 27.4 | 28.2 | 43.6 | 53.6 |
jais-family-590m | 39.7 | 31.2 | 27 | 33.1 | 41.7 | 33.8 | 38.8 | 38.2 | 60.7 | 62.2 | 37.9 | 25.5 | 27.4 | 44.7 | 53.3 |
jais-family-30b-16k-chat | 51.6 | 59.9 | 34.6 | 40.2 | 58.9 | 46.8 | 54.7 | 56.2 | 64.4 | 76.7 | 55.9 | 40.8 | 30.8 | 49.5 | 52.9 |
jais-family-30b-8k-chat | 51.4 | 61.2 | 34.2 | 40.2 | 54.3 | 47.3 | 53.6 | 60 | 63.4 | 76.8 | 54.7 | 39.5 | 30 | 50.7 | 54.3 |
jais-family-13b-chat | 50.3 | 58.2 | 33.9 | 42.9 | 53.1 | 46.8 | 51.7 | 59.3 | 65.4 | 75.2 | 51.2 | 38.4 | 29.8 | 44.8 | 53.8 |
jais-family-6p7b-chat | 48.7 | 55.7 | 32.8 | 37.7 | 49.7 | 40.5 | 50.1 | 56.2 | 62.9 | 79.4 | 52 | 38 | 30.4 | 44.7 | 52 |
jais-family-2p7b-chat | 45.6 | 50.0 | 31.5 | 35.9 | 41.1 | 37.3 | 42.1 | 48.6 | 63.7 | 74.4 | 50.9 | 35.3 | 31.2 | 44.5 | 51.3 |
jais-family-1p3b-chat | 42.7 | 42.2 | 30.1 | 33.6 | 40.6 | 34.1 | 41.2 | 43 | 63.6 | 69.3 | 44.9 | 31.6 | 28 | 45.6 | 50.4 |
jais-family-590m-chat | 37.8 | 39.1 | 28 | 29.5 | 33.1 | 30.8 | 36.4 | 30.3 | 57.8 | 57.2 | 40.5 | 25.9 | 26.8 | 44.5 | 49.3 |
自适应模型 | 平均 | ArabicMMLU* | MMLU | EXAMS* | LitQA* | agqa | agrc | Hellaswag | PIQA | BoolQA | Situated QA | ARC-C | OpenBookQA | TruthfulQA | CrowS-Pairs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jais-adapted-70b | 51.5 | 55.9 | 36.8 | 42.3 | 58.3 | 48.6 | 54 | 61.5 | 68.4 | 68.4 | 42.1 | 42.6 | 33 | 50.2 | 58.3 |
jais-adapted-13b | 46.6 | 44.7 | 30.6 | 37.7 | 54.3 | 43.8 | 48.3 | 54.9 | 67.1 | 64.5 | 40.6 | 36.1 | 32 | 43.6 | 54.00 |
jais-adapted-7b | 42.0 | 35.9 | 28.9 | 36.7 | 46.3 | 34.1 | 40.3 | 45 | 61.3 | 63.8 | 38.1 | 29.7 | 30.2 | 44.3 | 53.6 |
jais-adapted-70b-chat | 52.9 | 66.8 | 34.6 | 42.5 | 62.9 | 36.8 | 48.6 | 64.5 | 69.7 | 82.8 | 49.3 | 44.2 | 32.2 | 53.3 | 52.4 |
jais-adapted-13b-chat | 50.3 | 59.0 | 31.7 | 37.5 | 56.6 | 41.9 | 51.7 | 58.8 | 67.1 | 78.2 | 45.9 | 41 | 34.2 | 48.3 | 52.1 |
jais-adapted-7b-chat | 46.1 | 51.3 | 30 | 37 | 48 | 36.8 | 48.6 | 51.1 | 62.9 | 72.4 | 41.3 | 34.6 | 30.4 | 48.6 | 51.8 |
阿拉伯语基准测试使用内部机器翻译模型翻译并由阿拉伯语语言学家审核。标有星号(*)的测试为原生阿拉伯语基准;更多细节请参阅Jais论文。我们还加入了基于地区知识的原生阿拉伯语基准ArabicMMLU。
英语评估结果:
模型 | 平均 | MMLU | RACE | Hellaswag | PIQA | BoolQA | SIQA | ARC-Challenge | OpenBookQA | Winogrande | TruthfulQA | CrowS-Pairs |
---|---|---|---|---|---|---|---|---|---|---|---|---|
jais-family-30b-16k | 59.3 | 42.2 | 40.5 | 79.7 | 80.6 | 78.7 | 48.8 | 50.3 | 44.2 | 71.6 | 43.5 | 72.6 |
jais-family-30b-8k | 58.8 | 42.3 | 40.3 | 79.1 | 80.5 | 80.9 | 49.3 | 48.4 | 43.2 | 70.6 | 40.3 | 72.3 |
jais-family-13b | 54.6 | 32.3 | 39 | 72 | 77.4 | 73.9 | 47.9 | 43.2 | 40 | 67.1 | 36.1 | 71.7 |
jais-family-6p7b | 53.1 | 32 | 38 | 69.3 | 76 | 71.7 | 47.1 | 40.3 | 37.4 | 65.1 | 34.4 | 72.5 |
jais-family-2p7b | 51 | 29.4 | 38 | 62.7 | 74.1 | 67.4 | 45.6 | 35.1 | 35.6 | 62.9 | 40.1 | 70.2 |
jais-family-1p3b | 48.7 | 28.2 | 35.4 | 55.4 | 72 | 62.7 | 44.9 | 30.7 | 36.2 | 60.9 | 40.4 | 69 |
jais-family-590m | 45.2 | 27.8 | 32.9 | 46.1 | 68.1 | 60.4 | 43.2 | 25.6 | 30.8 | 55.8 | 40.9 | 65.3 |
jais-family-30b-16k-chat | 58.8 | 42 | 41.1 | 76.2 | 73.3 | 84.6 | 60.3 | 48.4 | 40.8 | 68.2 | 44.8 | 67 |
jais-family-30b-8k-chat | 60.3 | 40.6 | 47.1 | 78.9 | 72.7 | 90.6 | 60 | 50.1 | 43.2 | 70.6 | 44.9 | 64.2 |
jais-family-13b-chat | 57.5 | 36.6 | 42.6 | 75 | 75.8 | 87.6 | 54.4 | 47.9 | 42 | 65 | 40.6 | 64.5 |
jais-family-6p7b-chat | 56 | 36.6 | 41.3 | 72 | 74 | 86.9 | 55.4 | 44.6 | 40 | 62.4 | 41 | 62.2 |
jais-family-2p7b-chat | 52.8 | 32.7 | 40.4 | 62.2 | 71 | 84.1 | 54 | 37.2 | 36.8 | 61.4 | 40.9 | 59.8 |
jais-family-1p3b-chat | 49.3 | 31.9 | 37.4 | 54.5 | 70.2 | 77.8 | 49.8 | 34.4 | 35.6 | 52.7 | 37.2 | 60.8 |
jais-family-590m-chat | 42.6 | 27.9 | 33.4 | 33.1 | 63.7 | 60.1 | 45.3 | 26.7 | 25.8 | 50.5 | 44.5 | 57.7 |
自适应模型 | 平均 | MMLU | RACE | Hellaswag | PIQA | BoolQA | SIQA | ARC-Challenge | OpenBookQA | Winogrande | TruthfulQA | CrowS-Pairs |
---|---|---|---|---|---|---|---|---|---|---|---|---|
jais-adapted-70b | 60.1 | 40.4 | 38.5 | 81.2 | 81.1 | 81.2 | 48.1 | 50.4 | 45 | 75.8 | 45.7 | 74 |
jais-adapted-13b | 56 | 33.8 | 39.5 | 76.5 | 78.6 | 77.8 | 44.6 | 45.9 | 44.4 | 71.4 | 34.6 | 69 |
jais-adapted-7b | 55.7 | 32.2 | 39.8 | 75.3 | 78.8 | 75.7 | 45.2 | 42.8 | 43 | 68 | 38.3 | 73.1 |
jais-adapted-70b-chat | 61.4 | 38.7 | 42.9 | 82.7 | 81.2 | 89.6 | 52.9 | 54.9 | 44.4 | 75.7 | 44 | 68.8 |
jais-adapted-13b-chat | 58.5 | 34.9 | 42.4 | 79.6 | 79.7 | 88.2 | 50.5 | 48.5 | 42.4 | 70.3 | 42.2 | 65.1 |
jais-adapted-7b-chat | 58.5 | 33.8 | 43.9 | 77.8 | 79.4 | 87.1 | 47.3 | 46.9 | 43.4 | 69.9 | 42 | 72.4 |
GPT-4评估
除LM-Harness评估外,我们还使用GPT-4作为评判员进行开放式生成评估。在Vicuna测试集的80个固定提示上,测量模型响应的成对胜率。英语提示由我们的内部语言学家翻译为阿拉伯语。下表中我们将Jais系列新发布模型与之前版本进行比较:
GPT-4作为评判员对Jais阿拉伯语和英语生成的评估。Jais系列模型在两种语言生成上都显著优于之前的Jais版本。
GPT-4作为评判员对自适应Jais阿拉伯语和英语生成的评估。与Llama-2 instruct相比,阿拉伯语生成质量显著提升,同时英语也有所改进。
除成对比较外,我们还进行了MT-bench风格的1-10分单答案评分。
Jais和自适应Jais阿拉伯语和英语的MT-bench风格单答案评分评估。与早期发布的对应模型相比,响应质量普遍提升,阿拉伯语改进尤为显著。


