モデル概要
モデル特徴
モデル能力
使用事例
🚀 Jais ファミリーモデルカード
Jais ファミリーのモデルは、英語とアラビア語のバイリンガルな大規模言語モデル(LLM)の包括的なシリーズです。これらのモデルは、英語の能力も強力でありながら、アラビア語での性能が最適化されています。我々は、以下の 2 種類の基礎モデルをリリースしています。
- ゼロから事前学習されたモデル (
jais-family-*
)。 - Llama-2 から適応的に事前学習されたモデル (
jais-adapted-*
)。
今回のリリースでは、590M から 70B のパラメータまで、8 種類のサイズで 20 個のモデルを導入しています。これらは、最大 1.6T のアラビア語、英語、コードデータで学習されています。このシリーズのすべての事前学習モデルは、アラビア語と英語の命令データの選りすぐりのミックスを使用して、対話用に命令微調整(*-chat
)されています。
我々は、この大規模なリリースがアラビア語の自然言語処理の研究を加速し、アラビア語を話すコミュニティやバイリンガルのコミュニティに多くの下流アプリケーションを可能にすることを期待しています。我々がアラビア語モデルに成功させた学習と適応技術は、他の低・中資源言語にも拡張可能です。
✨ 主な機能
Jais ファミリーの詳細
- 開発元: Inception、Cerebras Systems。
- 言語: (NLP): アラビア語(MSA)と英語。
- 入力: テキストデータのみ。
- 出力: モデルがテキストを生成します。
- モデルサイズ: 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 |
モデルアーキテクチャ
このファミリーのすべてのモデルは、トランスフォーマーベースのデコーダー専用アーキテクチャ(GPT - 3)を使用する自己回帰型言語モデルです。
Jais モデル (jais-family-*
) はゼロから学習され、SwiGLU 非線形活性化関数と ALiBi 位置符号化を組み込んでいます。これらのアーキテクチャの強化により、モデルは長いシーケンス長での外挿が可能になり、コンテキストの処理と精度が向上します。
Jais 適応モデル (jais-adapted-*
) はLlama - 2 をベースに構築され、RoPE 位置埋め込みとグループ化クエリアテンションを採用しています。我々は、アラビア語データを用いたトークナイザーの拡張を導入し、生産性と計算効率を 3 倍以上向上させています。具体的には、Jais - 30b の語彙から 32,000
個の新しいアラビア語トークンを Llama - 2 のトークナイザーに追加しています。
これらの新しいアラビア語トークン埋め込みを初期化するために、まず両方の語彙に存在する共有英語トークンのセットを使用して、Jais - 30b の埋め込み空間から Llama の埋め込み空間への線形射影を学習します。次に、この学習された射影を適用して、既存の Jais - 30b のアラビア語埋め込みを Llama - 2 の埋め込み空間に変換します。
🚀 クイックスタート
以下は、モデルを使用するサンプルコードです。モデルはカスタムモデルクラスを必要とするため、モデルをロードする際に trust_remote_code=True
を有効にする必要があります。
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "inceptionai/jais-family-590m"
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 ファミリーのモデルは、多様な英語、アラビア語、コードデータの最大 1.6 兆トークンで学習されています。データは以下のソースから構成されています。
- ウェブ: 公開されているウェブページ、ウィキペディア記事、ニュース記事、およびアラビア語と英語の両方のソーシャルネットワークコンテンツを使用しました。
- コード: モデルの推論能力を強化するために、様々なプログラミング言語のコードデータを含めています。
- 書籍: 公開されているアラビア語と英語の書籍データの選択肢を使用し、長距離コンテキストモデリングと首尾一貫したストーリーテリングを向上させています。
- 科学: ArXiv 論文のサブセットを含め、推論と長いコンテキストの能力を向上させています。
- 合成: 自社の機械翻訳システムを使用して英語をアラビア語に翻訳することで、アラビア語データの量を増やしています。これは、英語のウィキペディアや英語の書籍などの高品質の英語リソースに限定しています。
我々は、学習データを広範に前処理し、重複を削除しています。アラビア語については、高い言語品質のデータをフィルタリングするためのカスタム前処理パイプラインを使用しています。このパイプラインの詳細については、Jais 論文を参照してください。
- Jais 事前学習 (
jais-family-*
): Jais での言語アライメントミキシングに関する以前の実験に基づき、アラビア語:英語:コードデータの比率を 1:2:0.4 で使用しました。このゼロからの事前学習のレシピは、アラビア語データの不足を解消しながら、両言語の性能を向上させます。 - Jais 適応事前学習 (
jais-adapted-*
): Llama - 2 の適応事前学習には、英語とコードデータと混合された約 334B のアラビア語トークンの大規模なアラビア語データセットを利用しました。我々は、異なるモデルサイズで混合比率を変え、英語の性能を維持しながら強力なアラビア語能力を導入しています。
事前学習モデル | 英語データ (トークン) | アラビア語データ (トークン) | コードデータ (トークン) | 総データ (トークン) |
---|---|---|---|---|
jais-family-30b-16k | 980B | 490B | 196B | 1666B |
jais-family-30b-8k | 882B | 441B | 177B | 1500B |
jais-family-13b | 283B | 141B | 56B | 480B |
jais-family-6p7b | 283B | 141B | 56B | 480B |
jais-family-2p7b | 283B | 141B | 56B | 480B |
jais-family-1p3b | 283B | 141B | 56B | 480B |
jais-family-590m | 283B | 141B | 56B | 480B |
jais-adapted-70b | 33B | 334B | 4B | 371B |
jais-adapted-13b | 127B | 140B | 13B | 280B |
jais-adapted-7b | 18B | 19B | 2B | 39B |
微調整データ
Jais ファミリーのすべてのチャットモデルは、シングルターンとマルチターンの両方の設定でアラビア語と英語のプロンプト - レスポンスペアを使用して微調整されています。データソースには、トピックとスタイルの多様性を考慮してフィルタリングされたオープンソースの微調整データセットが含まれています。さらに、文化的適応性を高めるために、社内で選りすぐりされた人間データが組み込まれています。このデータには、機械翻訳、蒸留、モデルの自己チャットなどの合成方法を使用して生成されたコンテンツが補足されています。全体として、我々の更新された命令微調整データセットは、英語とアラビア語でそれぞれ約 1000 万と約 400 万のプロンプト - レスポンスペアで構成されています。
学習手順
(jais-family-*
) モデルの事前学習中は、ドキュメントが EOS トークンで区切られたシーケンスにパックされ、モデルは自己回帰的に学習され、すべてのトークンに損失が適用されます。jais - 30b モデルの場合、コンテキスト長は学習中に選りすぐりされた長いコンテキストのドキュメントを組み込むことで、2k から 8K から 16K へと段階的に拡張されます。この段階的な拡張により、短いコンテキスト長での初期学習を高速化しながら、学習プロセスの終わりに向かってより大きなコンテキスト長のサポートを徐々に拡張することができます。
(jais-adapted-*
) モデルの適応事前学習中は、まずモデルアーキテクチャで説明したように、新しいトークナイザーとアラビア語埋め込みを初期化します。学習では、新しいアラビア語埋め込みの高いノルムを克服するために 2 段階アプローチを実装しています。第 1 段階では、モデルのバックボーンを凍結し、英語とアラビア語のバイリンガルコーパスから約 150 億トークンを使用して埋め込みを学習します。第 2 段階では、バックボーンを凍結解除し、すべてのパラメータで継続的な事前学習を行います。
命令微調整中は、各学習例はシングルターンまたはマルチターンのプロンプトとそのレスポンスで構成されます。シーケンスごとに 1 つの例ではなく、例をまとめてパックし、損失をプロンプトトークンにマスクします。このアプローチにより、バッチごとにより多くの例を処理できるため、学習が高速化されます。
学習ハイパーパラメータ
Jais - family - 590m
ハイパーパラメータ | 値 |
---|---|
精度 | fp32 |
オプティマイザー | AdamW |
学習率 | 0 から 0.01563(<=163 ウォームアップステップ) 0.01563 から 4.21e - 05(>163 かつ <=209422 ステップ) |
重み減衰 | 0.1 |
バッチサイズ | 1120 |
コンテキスト長 | 2048 |
ステップ数 | 209422 |
計算インフラストラクチャ
学習プロセスは、Condor Galaxy(CG)スーパーコンピュータプラットフォームで実行されました。CG は、40 GB の SRAM を備えた 64 個の Cerebras CS - 2 ウェハスケールエンジン(WSE - 2)を含み、合計 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 |
📄 ライセンス
このモデルは Apache 2.0 ライセンスの下で提供されています。



