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 研究人員和公司使用,提供比以英語為中心的模型更好地理解阿拉伯文化的原生阿拉伯語模型。我們用於預訓練、微調以及適應阿拉伯語的策略可擴展到其他中低資源語言,為滿足本地語境的語言聚焦和易於使用的模型鋪平了道路。



