Jais Adapted 7b
模型简介
模型特点
模型能力
使用案例
🚀 Jais 系列模型
Jais 系列模型是一套全面的英阿双语大语言模型(LLM)。这些模型在优化阿拉伯语性能的同时,也具备出色的英语能力。本系列模型旨在推动阿拉伯语自然语言处理研究,并为阿拉伯语和双语社区的众多下游应用提供支持。
🚀 快速开始
以下是使用该模型的示例代码。请注意,该模型需要自定义模型类,因此用户在加载模型时必须启用 trust_remote_code=True
。
# -*- coding: utf-8 -*-
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 系列模型是英阿双语大语言模型,在优化阿拉伯语性能的同时,具备出色的英语能力。
- 多种模型变体:提供从 590M 到 70B 参数的 8 种不同大小的 20 个模型,包括从头预训练的模型和基于 Llama-2 自适应预训练的模型。
- 指令微调:所有预训练模型都针对对话进行了指令微调,使用精心策划的阿拉伯语和英语指令数据。
- 广泛的应用场景:适用于研究和商业应用,如自然语言理解和生成、情感分析、文档摘要等。
📦 模型详情
模型基本信息
属性 | 详情 |
---|---|
开发团队 | Inception, Cerebras Systems |
支持语言 | 阿拉伯语(现代标准阿拉伯语)和英语 |
输入类型 | 仅文本数据 |
输出类型 | 模型生成文本 |
模型大小 | 590M, 1.3B, 2.7B, 6.7B, 7B, 13B, 30B, 70B |
演示地址 | 点击访问实时演示 |
许可证 | Apache 2.0 |
预训练模型信息
预训练模型 | 微调模型 | 大小(参数) | 上下文长度(令牌) |
---|---|---|---|
jais-family-30b-16k | Jais-family-30b-16k-chat | 30B | 16,384 |
jais-family-30b-8k | Jais-family-30b-8k-chat | 30B | 8,192 |
jais-family-13b | Jais-family-13b-chat | 13B | 2,048 |
jais-family-6p7b | Jais-family-6p7b-chat | 6.7B | 2,048 |
jais-family-2p7b | Jais-family-2p7b-chat | 2.7B | 2,048 |
jais-family-1p3b | Jais-family-1p3b-chat | 1.3B | 2,048 |
jais-family-590m | Jais-family-590m-chat | 590M | 2,048 |
自适应预训练模型信息
自适应预训练模型 | 微调模型 | 大小(参数) | 上下文长度(令牌) |
---|---|---|---|
jais-adapted-70b | Jais-adapted-70b-chat | 70B | 4,096 |
jais-adapted-13b | Jais-adapted-13b-chat | 13B | 4,096 |
jais-adapted-7b | Jais-adapted-7b-chat | 7B | 4,096 |
模型架构
本系列中的所有模型均为自回归语言模型,采用基于 Transformer 的仅解码器架构(GPT - 3)。
- Jais 模型(
jais-family-*
):从头开始训练,采用 SwiGLU 非线性激活函数和 ALiBi 位置编码。这些架构增强功能使模型能够在长序列长度上进行推断,从而改善上下文处理和精度。 - Jais 自适应模型(
jais-adapted-*
):基于 Llama - 2 构建,采用 RoPE 位置嵌入和分组查询注意力。通过引入阿拉伯语数据进行分词器扩展,将生育能力和计算效率提高了 3 倍以上。具体而言,将来自 Jais - 30b 词汇表的 32,000 个新阿拉伯语令牌添加到 Llama - 2 分词器中。
🔧 技术细节
预训练数据
Jais 系列模型在多达 1.6 万亿个多样化的英语、阿拉伯语和代码数据令牌上进行训练。数据来源包括:
- 网络数据:使用公开可用的网页、维基百科文章、新闻文章和社交网络内容,涵盖阿拉伯语和英语。
- 代码数据:为增强模型的推理能力,包含各种编程语言的代码数据。
- 书籍数据:使用公开可用的阿拉伯语和英语书籍数据,改善长距离上下文建模和连贯叙事能力。
- 科学数据:纳入部分 ArXiv 论文,提高推理和长上下文处理能力。
- 合成数据:通过内部机器翻译系统将英语翻译成阿拉伯语,扩充阿拉伯语数据量。仅对高质量的英语资源(如英语维基百科和英语书籍)进行翻译。
微调数据
Jais 系列的所有聊天模型均使用阿拉伯语和英语的单轮和多轮提示 - 响应数据进行微调。数据来源包括经过主题和风格多样性过滤的开源微调数据集,以及内部策划的人类数据,以增强文化适应性。此外,还补充了通过合成方法(包括机器翻译、蒸馏和模型自对话)生成的内容。
训练过程
- 预训练(
jais-family-*
模型):文档被打包成由 EOS 令牌分隔的序列,模型进行自回归训练,对所有令牌应用损失。对于 jais - 30b 模型,通过在训练中纳入精心策划的长上下文文档,将上下文长度从 2k 逐步扩展到 8K 再到 16K。 - 自适应预训练(
jais-adapted-*
模型):首先初始化新的分词器和阿拉伯语嵌入,然后采用两阶段方法进行训练。第一阶段冻结模型主干,使用约 150 亿个来自英语和阿拉伯语双语语料库的令牌训练嵌入;第二阶段解冻主干,对所有参数进行连续预训练。 - 指令微调:每个训练示例由单轮或多轮提示及其响应组成。示例被打包在一起,同时在提示令牌上屏蔽损失,以提高训练速度。
训练超参数(以 Jais - adapted - 7b 为例)
超参数 | 值 |
---|---|
精度 | fp32 |
优化器 | AdamW |
学习率 | 0 到 0.00015(<=400 热身步骤) 0.00015 到 1.50e - 05(>400 且 <=10060 步骤,余弦衰减) |
权重衰减 | 0.1 |
批量大小 | 960 |
上下文长度 | 4096 |
训练步数 | 10060 |
计算基础设施
训练过程在 Condor Galaxy(CG)超级计算机平台上进行。一个 CG 包含 64 个 Cerebras CS - 2 晶圆级引擎(WSE - 2),具有 40 GB 的 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 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
英语评估结果
模型 | 平均得分 | 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 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
GPT - 4 评估
除了 LM - Harness 评估外,还使用 GPT - 4 作为评判进行了开放式生成评估。在固定的 80 个来自 Vicuna 测试集的提示上,测量了模型在阿拉伯语和英语中的成对胜率。此外,还进行了 MT - bench 风格的单答案评分。
📄 预期用途
适用场景
- 研究用途:为阿拉伯语研究人员和 NLP 从业者提供支持,适用于自然语言理解和生成任务、双语预训练和自适应预训练模型的文化对齐机制解释分析以及阿拉伯文化和语言现象的定量研究。
- 商业用途:Jais 30B 和 70B 聊天模型适用于直接用于聊天应用或针对特定任务进行进一步微调,如开发阿拉伯语聊天助手、情感分析和双语文档摘要。
不适用场景
- 恶意使用:禁止使用模型生成有害、误导性或不适当的内容,如仇恨言论、暴力、歧视、虚假信息或促进非法活动。
- 敏感信息处理:不得使用模型处理或生成个人、机密或敏感信息。
- 跨语言泛化:模型是双语模型,针对阿拉伯语和英语进行优化,不保证在其他语言或方言中具有同等性能。
- 高风险决策:在没有人工监督的情况下,不得使用模型进行高风险决策,如医疗、法律、金融或安全关键决策。
📄 许可证
Jais 系列模型根据 Apache 2.0 许可证发布。您可以在 此处 获取许可证副本。
引用信息
@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}
}
总结
我们发布了 Jais 系列的阿拉伯语和英语双语模型。广泛的预训练模型大小、将以英语为中心的模型适应阿拉伯语的方法以及对所有大小模型的微调,为阿拉伯语环境下的商业和学术应用解锁了众多用例。通过本次发布,我们旨在使大语言模型更易于阿拉伯语 NLP 研究人员和公司使用,提供比以英语为中心的模型更好地理解阿拉伯文化的原生阿拉伯语模型。我们用于预训练、微调以及适应阿拉伯语的策略可扩展到其他中低资源语言,为满足本地语境的语言聚焦和易于使用的模型铺平了道路。



