模型简介
模型特点
模型能力
使用案例
🚀 Jais系列模型卡片
Jais系列模型是一套全面的英阿双语大语言模型(LLM)。这些模型经过优化,在具备强大英语能力的同时,尤其擅长处理阿拉伯语任务。我们发布了两种基础模型变体,包括:
- 从零开始预训练的模型(
jais-family-*
)。 - 基于Llama-2进行自适应预训练的模型(
jais-adapted-*
)。
在此次发布中,我们推出了涵盖8种规模、共计20个模型,参数范围从5.9亿到700亿,在多达16万亿阿拉伯语、英语和代码数据的标记上进行训练。该系列的所有预训练模型都使用精心策划的阿拉伯语和英语指令数据进行了指令微调(*-chat
),以用于对话。
我们希望此次大规模发布能够加速阿拉伯语自然语言处理(NLP)的研究,并为阿拉伯语使用者和双语社区带来众多下游应用。我们为阿拉伯语模型展示的训练和自适应技术也可扩展到其他中低资源语言。
🚀 快速开始
以下是使用该模型的示例代码。请注意,该模型需要自定义模型类,因此用户在加载模型时必须启用trust_remote_code=True
。
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-adapted-70b-chat"
prompt_eng = "### Instruction:Your name is 'Jais', and you are named after Jebel Jais, the highest mountain in UAE. You were made by 'Inception' in the UAE. You are a helpful, respectful, and honest assistant. Always answer as helpfully as possible, while being safe. Complete the conversation between [|Human|] and [|AI|]:\n### Input: [|Human|] {Question}\n[|AI|]\n### Response :"
prompt_ar = "### Instruction:اسمك \"جيس\" وسميت على اسم جبل جيس اعلى جبل في الامارات. تم بنائك بواسطة Inception في الإمارات. أنت مساعد مفيد ومحترم وصادق. أجب دائمًا بأكبر قدر ممكن من المساعدة، مع الحفاظ على البقاء أمناً. أكمل المحادثة بين [|Human|] و[|AI|] :\n### Input:[|Human|] {Question}\n[|AI|]\n### Response :"
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]
response = response.split("### Response :")[-1].lstrip()
return response
ques = "ما هي عاصمة الامارات؟"
text = prompt_ar.format_map({'Question': ques})
print(get_response(text))
ques = "What is the capital of UAE?"
text = prompt_eng.format_map({'Question': ques})
print(get_response(text))
✨ 主要特性
- 双语能力:Jais系列模型是英阿双语大语言模型,在阿拉伯语处理上表现卓越,同时具备强大的英语能力。
- 多种变体:提供从零开始预训练和基于Llama - 2自适应预训练两种变体,满足不同需求。
- 多规模选择:涵盖从5.9亿到700亿参数的8种规模,适用于不同计算资源和应用场景。
- 指令微调:所有预训练模型都经过指令微调,可更好地用于对话场景。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-adapted-70b-chat"
prompt_eng = "### Instruction:Your name is 'Jais', and you are named after Jebel Jais, the highest mountain in UAE. You were made by 'Inception' in the UAE. You are a helpful, respectful, and honest assistant. Always answer as helpfully as possible, while being safe. Complete the conversation between [|Human|] and [|AI|]:\n### Input: [|Human|] {Question}\n[|AI|]\n### Response :"
prompt_ar = "### Instruction:اسمك \"جيس\" وسميت على اسم جبل جيس اعلى جبل في الامارات. تم بنائك بواسطة Inception في الإمارات. أنت مساعد مفيد ومحترم وصادق. أجب دائمًا بأكبر قدر ممكن من المساعدة، مع الحفاظ على البقاء أمناً. أكمل المحادثة بين [|Human|] و[|AI|] :\n### Input:[|Human|] {Question}\n[|AI|]\n### Response :"
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]
response = response.split("### Response :")[-1].lstrip()
return response
ques = "ما هي عاصمة الامارات؟"
text = prompt_ar.format_map({'Question': ques})
print(get_response(text))
ques = "What is the capital of UAE?"
text = prompt_eng.format_map({'Question': ques})
print(get_response(text))
高级用法
文档未提及高级用法示例,故跳过此部分。
📚 详细文档
Jais系列详情
- 开发者:Inception,Cerebras Systems。
- 语言:(NLP)阿拉伯语(现代标准阿拉伯语)和英语。
- 输入:仅文本数据。
- 输出:模型生成文本。
- 模型规模:5.9亿、13亿、27亿、67亿、70亿、130亿、300亿、700亿。
- 演示:点击此处访问实时演示
- 许可证:Apache 2.0
预训练模型 | 微调模型 | 规模(参数) | 上下文长度(标记) |
---|---|---|---|
jais-family-30b-16k | Jais-family-30b-16k-chat | 300亿 | 16384 |
jais-family-30b-8k | Jais-family-30b-8k-chat | 300亿 | 8192 |
jais-family-13b | Jais-family-13b-chat | 130亿 | 2048 |
jais-family-6p7b | Jais-family-6p7b-chat | 67亿 | 2048 |
jais-family-2p7b | Jais-family-2p7b-chat | 27亿 | 2048 |
jais-family-1p3b | Jais-family-1p3b-chat | 13亿 | 2048 |
jais-family-590m | Jais-family-590m-chat | 5.9亿 | 2048 |
自适应预训练模型 | 微调模型 | 规模(参数) | 上下文长度(标记) |
---|---|---|---|
jais-adapted-70b | Jais-adapted-70b-chat | 700亿 | 4096 |
jais-adapted-13b | Jais-adapted-13b-chat | 130亿 | 4096 |
jais-adapted-7b | Jais-adapted-7b-chat | 70亿 | 4096 |
模型架构
本系列的所有模型都是自回归语言模型,采用基于Transformer的仅解码器架构(GPT - 3)。
Jais模型(jais-family-*
)是从零开始训练的,采用了SwiGLU非线性激活函数和ALiBi位置编码。这些架构改进使模型能够在长序列长度上进行外推,从而提高上下文处理能力和精度。
Jais自适应模型(jais-adapted-*
)是基于Llama - 2构建的,它采用了RoPE位置嵌入和分组查询注意力机制。我们引入了使用阿拉伯语数据的分词器扩展,使生成能力和计算效率提高了3倍以上。具体来说,我们将来自Jais - 30b词汇表的32000个新阿拉伯语标记添加到Llama - 2分词器中。为了初始化这些新的阿拉伯语标记嵌入,我们首先使用两个词汇表中共享的英语标记集,学习从Jais - 30b的嵌入空间到Llama的嵌入空间的线性投影。然后,应用这个学习到的投影将现有的Jais - 30b阿拉伯语嵌入转换到Llama - 2嵌入空间。
训练详情
预训练数据
Jais系列模型在多达16万亿不同的英语、阿拉伯语和代码数据标记上进行训练。数据来源包括:
- 网络:我们使用了公开可用的阿拉伯语和英语网页、维基百科文章、新闻文章和社交网络内容。
- 代码:为了增强模型的推理能力,我们纳入了各种编程语言的代码数据。
- 书籍:我们使用了部分公开可用的阿拉伯语和英语书籍数据,这有助于改善长距离上下文建模和连贯的故事讲述。
- 科学文献:纳入了一部分ArXiv论文,以提高推理和长上下文处理能力。
- 合成数据:我们使用内部机器翻译系统将英语翻译成阿拉伯语,以增加阿拉伯语数据的数量。我们将其限制在高质量的英语资源上,如英语维基百科和英语书籍。
我们对训练数据进行了广泛的预处理和去重。对于阿拉伯语,我们使用了自定义的预处理管道来筛选语言质量高的数据。有关此管道的更多信息,请参阅Jais论文。
预训练模型 | 英语数据(标记) | 阿拉伯语数据(标记) | 代码数据(标记) | 总数据(标记) |
---|---|---|---|---|
jais-family-30b-16k | 9800亿 | 4900亿 | 1960亿 | 16.66万亿 |
jais-family-30b-8k | 8820亿 | 4410亿 | 1770亿 | 15万亿 |
jais-family-13b | 2830亿 | 1410亿 | 560亿 | 4.8万亿 |
jais-family-6p7b | 2830亿 | 1410亿 | 560亿 | 4.8万亿 |
jais-family-2p7b | 2830亿 | 1410亿 | 560亿 | 4.8万亿 |
jais-family-1p3b | 2830亿 | 1410亿 | 560亿 | 4.8万亿 |
jais-family-590m | 2830亿 | 1410亿 | 560亿 | 4.8万亿 |
jais-adapted-70b | 330亿 | 3340亿 | 40亿 | 3.71万亿 |
jais-adapted-13b | 1270亿 | 1400亿 | 130亿 | 2.8万亿 |
jais-adapted-7b | 180亿 | 190亿 | 20亿 | 3900亿 |
微调数据
Jais系列的所有聊天模型都使用阿拉伯语和英语的单轮和多轮提示 - 响应数据对进行微调。数据来源包括经过主题和风格多样性筛选的开源微调数据集。此外,还纳入了内部精心策划的人工数据,以增强文化适应性。这些数据还补充了通过合成方法生成的内容,包括机器翻译、蒸馏和模型自对话。总体而言,我们更新的指令微调数据集分别包含约1000万和400万个英语和阿拉伯语的提示 - 响应数据对。
训练过程
在(jais-family-*
)模型的预训练过程中,文档被打包成由EOS标记分隔的序列,模型进行自回归训练,并对所有标记应用损失。对于jais - 30b模型,通过在训练中纳入精心策划的长上下文文档,上下文长度从2k逐步扩展到8K再到16K。这种渐进式扩展利用了较短上下文长度下更快的初始训练速度,同时在训练过程的后期逐渐扩展对更大上下文长度的支持。
在(jais-adapted-*
)模型的自适应预训练过程中,我们首先按照模型架构中所述初始化新的分词器和阿拉伯语嵌入。在训练中,我们采用了两阶段方法来克服新阿拉伯语嵌入较高范数的问题。在第一阶段,模型的主干被冻结,使用来自英语和阿拉伯语双语语料库的约150亿标记对嵌入进行训练。在第二阶段,主干解冻,并对所有参数进行连续预训练。
在指令微调过程中,每个训练示例由单轮或多轮提示及其响应组成。与每个序列一个示例不同,示例被打包在一起,同时在提示标记上屏蔽损失。这种方法通过允许每批处理更多示例来加速训练。
训练超参数:
Jais-adapted-70b-chat
超参数 | 值 |
---|---|
精度 | fp32 |
优化器 | AdamW |
学习率 | 0到2.0e - 05(<=380个预热步骤) 2.0e - 05到2.0e - 06(>380且<=13175个步骤,余弦衰减) |
权重衰减 | 0.1 |
批量大小 | 264 |
上下文长度 | 4096 |
步数 | 13175 |
计算基础设施
训练过程在Condor Galaxy(CG)超级计算机平台上进行。一个CG包含64个Cerebras CS - 2晶圆级引擎(WSE - 2),具有40GB的SRAM,总计算能力达到960 PetaFLOP/s。
评估
我们使用LM - harness在零样本设置下对Jais模型进行了全面评估,重点关注英语和阿拉伯语。评估标准涵盖多个维度,包括:
- 知识:模型回答事实性问题的能力。
- 推理:模型回答需要推理的问题的能力。
- 错误信息/偏差:评估模型生成虚假或误导性信息的倾向以及其中立性。
阿拉伯语评估结果:
模型 | 平均 | 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指令模型相比,阿拉伯语的生成质量显著提高,同时英语也有所改善。
除了成对比较,我们还进行了MT - bench风格的1到10分的单答案评分。
MT - bench风格的单答案评分对Jais和自适应Jais在阿拉伯语和英语中的评估。与早期版本的相应模型进行了比较。响应的质量评分总体上有所提高,阿拉伯语有显著提升。
预期用途
我们以完全开源的许可证发布Jais系列模型。我们欢迎所有反馈和合作机会。这个双语模型套件的参数规模从5.9亿到700亿,适用于广泛的用例。一些潜在的下游应用包括:
- 研究:Jais系列为阿拉伯语研究人员和NLP从业者提供了计算高效和先进的模型规模选择。
- 自然语言理解和生成任务。
- 双语预训练和自适应预训练模型中文化对齐的机制可解释性分析。
- 阿拉伯文化和语言现象的定量研究。
- 商业用途:Jais 30B和70B聊天模型非常适合在聊天应用中直接使用,通过适当的提示或在特定任务上进一步微调。
- 为阿拉伯语用户开发聊天助手。
- 情感分析,以深入了解当地市场和客户趋势。
- 阿拉伯语 - 英语双语文档的摘要生成。
我们希望从我们的模型中受益的受众包括:
- 学术界:研究阿拉伯语自然语言处理的人员。
- 企业:针对阿拉伯语受众的公司。
- 开发者:在应用程序中集成阿拉伯语能力的人员。
非预期用途
虽然Jais系列模型是强大的阿拉伯语和英语双语模型,但了解其局限性和潜在的滥用情况至关重要。禁止以任何违反适用法律法规的方式使用该模型。以下是一些不应使用该模型的示例场景:
- 恶意使用:不得使用该模型生成有害、误导性或不适当的内容,包括但不限于:
- 生成或传播仇恨言论、暴力或歧视性内容。
- 传播错误信息或虚假新闻。
- 参与或促进非法活动。
- 敏感信息处理:不得使用该模型处理或生成个人、机密或敏感信息。
- 跨语言通用性:Jais系列模型是双语模型,针对阿拉伯语和英语进行了优化,不应假定其在其他语言或方言中具有同等能力。
- 高风险决策:在没有人工监督的情况下,不得使用该模型做出高风险决策,包括医疗、法律、金融或安全关键决策。
🔧 技术细节
模型架构
本系列的所有模型都是自回归语言模型,采用基于Transformer的仅解码器架构(GPT - 3)。
Jais模型(jais-family-*
)是从零开始训练的,采用了SwiGLU非线性激活函数和ALiBi位置编码。这些架构改进使模型能够在长序列长度上进行外推,从而提高上下文处理能力和精度。
Jais自适应模型(jais-adapted-*
)是基于Llama - 2构建的,它采用了RoPE位置嵌入和分组查询注意力机制。我们引入了使用阿拉伯语数据的分词器扩展,使生成能力和计算效率提高了3倍以上。具体来说,我们将来自Jais - 30b词汇表的32000个新阿拉伯语标记添加到Llama - 2分词器中。为了初始化这些新的阿拉伯语标记嵌入,我们首先使用两个词汇表中共享的英语标记集,学习从Jais - 30b的嵌入空间到Llama的嵌入空间的线性投影。然后,应用这个学习到的投影将现有的Jais - 30b阿拉伯语嵌入转换到Llama - 2嵌入空间。
训练过程
在(jais-family-*
)模型的预训练过程中,文档被打包成由EOS标记分隔的序列,模型进行自回归训练,并对所有标记应用损失。对于jais - 30b模型,通过在训练中纳入精心策划的长上下文文档,上下文长度从2k逐步扩展到8K再到16K。这种渐进式扩展利用了较短上下文长度下更快的初始训练速度,同时在训练过程的后期逐渐扩展对更大上下文长度的支持。
在(jais-adapted-*
)模型的自适应预训练过程中,我们首先按照模型架构中所述初始化新的分词器和阿拉伯语嵌入。在训练中,我们采用了两阶段方法来克服新阿拉伯语嵌入较高范数的问题。在第一阶段,模型的主干被冻结,使用来自英语和阿拉伯语双语语料库的约150亿标记对嵌入进行训练。在第二阶段,主干解冻,并对所有参数进行连续预训练。
在指令微调过程中,每个训练示例由单轮或多轮提示及其响应组成。与每个序列一个示例不同,示例被打包在一起,同时在提示标记上屏蔽损失。这种方法通过允许每批处理更多示例来加速训练。
📄 许可证
Jais系列模型采用Apache 2.0许可证发布。除非适用法律要求或书面同意,Jais按“原样”分发,不提供任何形式的明示或暗示保证。请参阅许可证条款以获取特定语言的权限和限制。
总结
我们发布了Jais系列阿拉伯语和英语双语模型。广泛的预训练模型规模、将以英语为中心的模型适应阿拉伯语的方法,以及对所有规模模型的微调,为阿拉伯语环境下的商业和学术应用解锁了众多用例。
通过此次发布,我们旨在使大语言模型更易于阿拉伯语NLP研究人员和公司使用,提供比以英语为中心的模型更具文化理解能力的原生阿拉伯语模型。我们用于预训练、微调以及适应阿拉伯语的策略可扩展到其他中低资源语言,为满足本地语境需求的语言聚焦和易访问模型铺平了道路。
引用信息
@misc{sengupta2023jais,
title={Jais and Jais-chat: Arabic-Centric Foundation and Instruction-Tuned Open Generative Large Language Models},
author={Neha Sengupta, Sunil Kumar Sahu, Bokang Jia, Satheesh Katipomu, Haonan Li, Fajri Koto, William Marshall, Gurpreet Gosal, Cynthia Liu, Zhiming Chen, Osama Mohammed Afzal, Samta Kamboj, Onkar Pandit, Rahul Pal, Lalit Pradhan, Zain Muhammad Mujahid, Massa Baali, Xudong Han, Sondos Mahmoud Bsharat, Alham Fikri Aji, Zhiqiang Shen, Zhengzhong Liu, Natalia Vassilieva, Joel Hestness, Andy Hock, Andrew Feldman, Jonathan Lee, Andrew Jackson, Hector Xuguang Ren, Preslav Nakov, Timothy Baldwin and Eric Xing},
year={2023},
eprint={2308.16149},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@article{jaisfamilymodelcard,
title={Jais Family Model Card},
author={Inception},
year={2024},
url = {https://huggingface.co/inceptionai/jais-family-30b-16k-chat/blob/main/README.md}
}



