模型概述
模型特點
模型能力
使用案例
🚀 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.所有。您可以在此處獲取許可證副本。



