jais-30b-v3 / README.md
onkarpandit-g42's picture
Update README.md
8ba907d verified
---
language:
- ar
- en
thumbnail: null
tags:
- Arabic
- English
- LLM
- Decoder
- causal-lm
license: apache-2.0
pipeline_tag: text-generation
---
# Jais-30b-v3
<!-- Provide a quick summary of what the model is/does. -->
This is a 30 billion parameter pre-trained bilingual large language model for both Arabic and English.
The model has been trained on a total of 1.6 trillion tokens, consisting of 971 billion tokens in English, 475 billion
in Arabic, and 193 billion in code.
The present model is the successor to our previously released [Jais-30b-v1](https://huggingface.co/core42/jais-30b-v1)
model.
It employs a transformer-based decoder-only (GPT-3) architecture and incorporates the SwiGLU non-linearity.
It implements ALiBi position embeddings, enabling the model to extrapolate
to long sequence lengths, providing improved context handling and model precision.
## Getting started
Below is sample code to use the model. Note that the model requires a custom model class, so users must
enable `trust_remote_code=True` while loading the model.
Also, note that this code is tested on `transformers==4.37.2`.
```python
# -*- coding: utf-8 -*-
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "core42/jais-30b-v3"
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=200,
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))
```
## Model Details
- **Developed by:**
Core42 ([Inception](https://www.inceptioniai.org/en/)), [Cerebras Systems](https://www.cerebras.net/).
- **Language(s) (NLP):** Arabic and English
- **License:** Apache 2.0
- **Input:** Text only data.
- **Output:** Model generates text.
- **Paper :** [Jais and Jais-chat: Arabic-Centric Foundation and Instruction-Tuned Open Generative Large Language Models](https://arxiv.org/abs/2308.16149)
- **Blog :** [Access here](https://g42.ai/resources/publications/Jais-30B)
- **Demo :** [Access here](https://arabic-gpt.ai)
## Intended Use
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
We release the Jais 30B model under a full open source license. We welcome all feedback and opportunities to
collaborate.
This is the third release after [Jais-13b](https://huggingface.co/core42/jais-13b) from Core42, and at the time of
release,
achieved state of the art across a comprehensive Arabic test suite as noted in the evaluation section.
Some potential downstream uses include:
- *Research*: This model can be used by researchers and developers.
- *Commercial Use*: It can be used as a base model to further fine-tune for specific use cases (similar
to [jais-13b-chat](https://huggingface.co/core42/jais-13b-chat)).
Some potential use cases include:
- Chat-assistants.
- Customer service.
Audiences that we hope will benefit from our model:
- *Academics*: For those researching Arabic natural language processing.
- *Businesses*: Companies targeting Arabic-speaking audiences.
- *Developers*: Those integrating Arabic language capabilities in apps.
### Out-of-Scope Use
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
While Jais-30b is a powerful Arabic and English bilingual model, it's essential to understand its limitations and the
potential of misuse.
It is prohibited to use the model in any manner that violates applicable laws or regulations.
The following are some example scenarios where the model should not be used.
- *Malicious Use*: The model should not be used for generating harmful, misleading, or inappropriate content. This
includes but is not limited to:
- Generating or promoting hate speech, violence, or discrimination.
- Spreading misinformation or fake news.
- Engaging in or promoting illegal activities.
- *Sensitive Information*: The model should not be used to handle or generate personal, confidential, or sensitive
information.
- *Generalization Across All Languages*: Jais-30b is bilingual and optimized for Arabic and English, it should not be
assumed to have equal proficiency in other languages or dialects.
- *High-Stakes Decisions*: The model should not be used to make high-stakes decisions without human oversight. This
includes medical, legal, financial, or safety-critical decisions.
## Bias, Risks, and Limitations
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
The model is trained on publicly available data which was in part curated by Inception. We have employed different
techniqes to reduce bias in the model. While efforts have been made to minimize biases, it is likely that the model, as
with all LLM models, will exhibit some bias.
The model is trained as an AI assistant for Arabic and English speakers. The model is limited to produce responses for
queries in these two languages and may not produce appropriate responses to other language queries.
By using Jais, you acknowledge and accept that, as with any large language model, it may generate incorrect, misleading and/or offensive information or content. The information is not intended as advice and should not be relied upon in any way, nor are we responsible for any of the content or consequences resulting from its use. We are continuously working to develop models with greater capabilities, and as such, welcome any feedback on the model.
Copyright Inception Institute of Artificial Intelligence Ltd. JAIS is made available under the Apache License, Version 2.0 (the “License”). You shall not use JAIS except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, JAIS is distributed on an AS IS basis, without warranties or conditions of any kind, either express or implied. Please see the terms of the License for the specific language permissions and limitations under the License.
## Training Details
### Training Data
<!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
For the pre-training of Jais-30b, we used a diverse bilingual corpus sourced from the Web and other sources. We also
used publicly available English and code datasets.
To collect Arabic data, we use multiple sources including web pages, wikipedia articles, news articles, Arabic books,
and social network content. We augment the volume of Arabic data by translating English to Arabic using an in-house
machine translation system.
We restrict this to high quality English resources such as English Wikipedia and English books. Our data acquisition
strategy is similar to as mentioned in [Jais-13b](https://arxiv.org/abs/2308.16149).
### Training Procedure
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
Training was performed on the Condor Galaxy 1 (CG-1) supercomputer platform.
#### Training Hyperparameters
| Hyperparameter | Value |
|----------------|-------------------------------|
| Precision | fp32 |
| Optimizer | AdamW |
| Learning rate | 0 to 0.012 (<= 69 steps) |
| | 0.012 to 0.0012 (< 89k steps) |
| | 0.003 to 0.0005 (<167k steps) |
| | 0.002 to 0.0005 (<260k steps) |
| Weight decay | 0.1 |
| Batch size | 768 |
| Steps | 260k |
## Evaluation
<!-- This section describes the evaluation protocols and provides the results. -->
We conducted a comprehensive evaluation of Jais and benchmarked it against other leading base language models, focusing
on both English and Arabic.
The evaluation criteria spanned various dimensions, including:
- **Knowledge:** How well the model answers factual questions.
- **Reasoning:** The model's ability to answer questions requiring reasoning.
- **Misinformation/Bias:** Assessment of the model's susceptibility to generating false or misleading information, and
its neutrality.
Arabic evaluation results:
| Models | Avg | EXAMS | MMLU (M) | LitQA | Hellaswag | PIQA | BoolQA | SituatedQA | ARC-C | OpenBookQA | TruthfulQA | CrowS-Pairs |
|--------------|----------|-------|----------|-------|-----------|------|--------|------------|-------|------------|------------|-------------|
| Jais-30b-v3 | **48.9** | 4 | 35.2 | 60.6 | 60.4 | 69 | 67.7 | 42.2 | 39.2 | 33.8 | 45.1 | 57.3 |
| Jais-30b-v1 | 47.8 | 40 | 30.8 | 58.3 | 60.1 | 70 | 68.7 | 43.3 | 38.5 | 32.2 | 42.6 | 56.9 |
| Jais (13B) | 46.5 | 40.4 | 30.0 | 58.3 | 57.7 | 67.6 | 62.6 | 42.5 | 35.8 | 32.4 | 41.1 | 58.4 |
| acegpt-13b | 42.5 | 34.7 | 29.9 | 42.3 | 45.6 | 60.3 | 63.2 | 38.1 | 32.8 | 32.2 | 45.1 | 56.4 |
| acegpt-7b | 42.4 | 35.4 | 29 | 46.3 | 43.8 | 60.4 | 63.4 | 37.2 | 31.1 | 32 | 45.3 | 55.4 |
| BLOOM (7.1B) | 40.9 | 34.0 | 28.2 | 37.1 | 40.9 | 58.4 | 59.9 | 39.1 | 27.3 | 28.0 | 44.4 | 53.5 |
| LLaMA (30B) | 38.8 | 27.9 | 28.5 | 32.6 | 35 | 52.7 | 63.7 | 34.9 | 25.7 | 28.6 | 47.2 | 49.8 |
| LLaMA2 (13B) | 38.1 | 29.2 | 28.4 | 32.0 | 34.3 | 52.9 | 63.8 | 36.4 | 24.3 | 30.0 | 45.5 | 49.9 |
English evaluation results:
| Models | Avg | MMLU | RACE | Hellaswag | PIQA | BoolQA | SituatedQA | ARC-C | OpenBookQA | Winogrande | TruthfulQA | CrowS-Pairs |
|--------------|----------|------|------|-----------|------|--------|------------|-------|------------|------------|------------|-------------|
| Jais-30b-v3 | **58.8** | 42.3 | 40.3 | 79.1 | 80.5 | 80.9 | 49.3 | 48.4 | 43.2 | 70.6 | 40.3 | 72.3 |
| Jais-30b-v1 | 56.2 | 34.5 | 39.8 | 75.1 | 79.5 | 74.3 | 49.9 | 45.9 | 41.2 | 68.4 | 36.5 | 73.3 |
| Jais (13B) | 53.9 | 31.5 | 38.3 | 71.8 | 77.9 | 67.6 | 48.2 | 41.9 | 40.6 | 68.4 | 35.4 | 71.5 |
| OPT-30b | 59.4 | 38.6 | 45.2 | 71.7 | 78.5 | 87.3 | 63.4 | 44.8 | 40.2 | 72.2 | 38.7 | 72.7 |
| MPT-30b | 57.3 | 38.8 | 39.7 | 80 | 80.8 | 73.9 | 45.6 | 49.2 | 43.2 | 71.1 | 38.3 | 69.3 |
| Llama-30b | 55.4 | 37 | 40.2 | 79.2 | 80.1 | 68.3 | 44 | 45.3 | 42 | 72.7 | 42.3 | 58.2 |
| Falcon (40B) | 54.8 | 31.3 | 37.1 | 76.4 | 80.5 | 73.7 | 43.2 | 43.6 | 44.2 | 67.2 | 34.3 | 72.3 |
## Citation
```
@misc{sengupta2023jais,
title={Jais and Jais-chat: Arabic-Centric Foundation and Instruction-Tuned Open Generative Large Language Models},
author={Neha Sengupta and Sunil Kumar Sahu and Bokang Jia and Satheesh Katipomu and Haonan Li and Fajri Koto and Osama Mohammed Afzal and Samta Kamboj and Onkar Pandit and Rahul Pal and Lalit Pradhan and Zain Muhammad Mujahid and Massa Baali and Alham Fikri Aji and Zhengzhong Liu and Andy Hock and Andrew Feldman and Jonathan Lee and Andrew Jackson and Preslav Nakov and Timothy Baldwin and Eric Xing},
year={2023},
eprint={2308.16149},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
```
Copyright Inception Institute of Artificial Intelligence Ltd.