模型简介
模型特点
模型能力
使用案例
🚀 Jais系列模型
Jais系列模型是一套全面的英阿双语大语言模型(LLM)。这些模型在优化阿拉伯语性能的同时,也具备强大的英语能力。本系列模型旨在加速阿拉伯语自然语言处理研究,并为阿拉伯语使用者和双语群体提供丰富的下游应用。
🚀 快速开始
以下是使用该模型的示例代码。请注意,该模型需要自定义模型类,因此用户在加载模型时必须启用 trust_remote_code=True
。
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-family-2p7b"
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系列模型是英阿双语大语言模型,在优化阿拉伯语性能的同时,也具备强大的英语能力。
- 多种变体:发布了两种基础模型变体,包括从头开始预训练的模型和基于Llama - 2自适应预训练的模型。
- 多尺寸选择:本次发布了涵盖8种尺寸、共20个模型,参数范围从5.9亿到700亿。
- 指令微调:所有预训练模型都针对对话进行了指令微调。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-family-2p7b"
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系列模型详情
属性 | 详情 |
---|---|
开发者 | 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亿 | 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位置嵌入和分组查询注意力机制。通过添加阿拉伯语数据扩展分词器,提高了计算效率。
训练详情
预训练数据
Jais系列模型在多达1.6万亿个多样化的英语、阿拉伯语和代码数据令牌上进行训练,数据来源包括网络、代码、书籍、科学文献和合成数据。
微调数据
所有聊天模型使用阿拉伯语和英语的单轮和多轮提示 - 响应数据对进行微调,数据来源包括开源微调数据集、内部策划的人工数据以及合成数据。
训练过程
- 预训练(
jais-family-*
):文档按EOS令牌分隔打包成序列,模型自回归训练。对于jais - 30b模型,上下文长度逐步扩展。 - 自适应预训练(
jais-adapted-*
):分两阶段训练,先冻结模型主干训练嵌入,再解冻主干继续训练。 - 指令微调:将训练示例打包,对提示令牌进行损失掩码,提高训练速度。
训练超参数(Jais-family-2p7b)
超参数 | 值 |
---|---|
精度 | fp32 |
优化器 | AdamW |
学习率 | 0到0.01563(<=127个热身步骤);0.01563到0.000178(>127且<=162883个步骤) |
权重衰减 | 0.1 |
批量大小 | 1440 |
上下文长度 | 2048 |
步数 | 162883 |
计算基础设施
训练过程在Condor Galaxy(CG)超级计算机平台上进行,该平台包含64个Cerebras CS - 2晶圆级引擎(WSE - 2),总计算能力达960 PetaFLOP/s。
评估
评估标准
使用LM - harness在零样本设置下对Jais模型进行全面评估,评估维度包括知识、推理、错误信息/偏差。
阿拉伯语评估结果
见文档中的阿拉伯语评估表格。阿拉伯语基准测试使用内部机器翻译模型翻译,并由阿拉伯语语言学家审核。
英语评估结果
见文档中的英语评估表格。
GPT - 4评估
除了LM - Harness评估,还使用GPT - 4作为评判进行开放式生成评估,测量模型在固定提示集上的成对胜率和单答案评分。
预期用途
适用场景
- 研究:为阿拉伯语研究人员和NLP从业者提供不同计算效率和性能的模型,用于自然语言理解和生成、双语模型文化对齐分析等研究。
- 商业应用:Jais 30B和70B聊天模型适用于聊天应用或特定任务的进一步微调,如开发阿拉伯语聊天助手、情感分析和文档摘要。
目标受众
- 学术界:从事阿拉伯语自然语言处理研究的人员。
- 企业:针对阿拉伯语用户的公司。
- 开发者:在应用中集成阿拉伯语能力的人员。
不适用场景
- 恶意使用:不得用于生成有害、误导或不适当的内容。
- 敏感信息处理:不得用于处理或生成个人、机密或敏感信息。
- 多语言通用:模型为英阿双语优化,不保证在其他语言或方言中的性能。
- 高风险决策:在没有人工监督的情况下,不得用于医疗、法律、金融或安全关键决策。
偏差、风险和局限性
Jais系列模型在公开可用数据上训练,虽采取措施减少偏差,但仍可能存在一定偏差。微调模型仅适用于阿拉伯语和英语查询,使用时需注意可能生成不正确、误导或冒犯性的信息。
引用信息
@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模型和Jais自适应模型在架构设计上采用了不同的技术,以适应不同的训练需求和提高性能。例如,SwiGLU激活函数和ALiBi位置编码有助于处理长序列,而RoPE位置嵌入和分组查询注意力机制则在自适应模型中发挥作用。
训练过程技术细节
训练过程中的上下文长度扩展、两阶段训练方法以及指令微调的损失掩码策略等,都是为了提高训练效率和模型性能而设计的技术手段。
📄 许可证
本项目采用Apache 2.0许可证。版权归Inception Institute of Artificial Intelligence Ltd.所有。您可以在此处获取许可证副本。



