
# Jais-13b

<!-- Provide a quick summary of what the model is/does. -->

This is a 13 billion parameter pre-trained bilingual large language model for both Arabic and English, 
trained on a dataset containing 72 billion Arabic tokens and 279 billion English/code tokens.
The Arabic data is iterated over for 1.6 epochs (as opposed to 1 epoch for English/code), for a total of 395 billion tokens of training.


The model is based on transformer-based decoder-only (GPT-3) architecture and uses 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.28.0`.

```python
# -*- coding: utf-8 -*-

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "asas-ai/jais_13B_8bit"

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-input_len,
        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:** [Inception](https://www.inceptioniai.org/en/), [Mohamed bin Zayed University of Artificial Intelligence (MBZUAI)](https://mbzuai.ac.ae/), and [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)
- **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 13B model under a full open source license. We welcome all feedback and opportunities to collaborate.

This model is the first release from the Inception - MBZUAI - Cerebras parternship, and at the time of release, 
achieved state of the art across a comprehensive Arabic test suite as described in the accompanying technical report.
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/inception-mbzuai/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-13b 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-13b 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

## 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-13b, 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. Further details about the training data can be found in the technical report.


### 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 (<= 95 steps)      |
|                            | 0.012 to 0.0012 (> 95 steps) |
| Weight decay               | 0.1                          |
| Batch size                 | 1920                         |
| Steps                      | 100551                       |




## Evaluation

<!-- This section describes the evaluation protocols and provides the results. -->

We conducted a comprehensive evaluation of Jais and benchmarked it 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 (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    |    
| 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        | 
| 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        | 
| AraT5 (220M) | 32.0     | 24.7  | 23.8     | 26.3  | 25.5      | 50.4 | 58.2   | 33.9       | 24.7  | 25.4       | 20.9       | 47.2        | 
| AraBART (550M) | 36.7     | 26.5  | 27.5     | 34.3  | 28.1      | 52.6 | 57.1   | 34.6       | 25.1  | 28.6       | 49.8       | 48.8        | 


All tasks above report accuracy or F1 scores (the higher the better). For the sake of brevity, we do not include results over English tasks. 
Detailed comparisons in both languages and evaluation dataset details can be found in the technical report.




## 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.

{"language": ["ar", "en"], "license": "apache-2.0", "tags": ["Arabic", "English", "LLM", "Decoder", "causal-lm"], "pipeline_tag": "text-generation"}
transformers pytorch jais text-generation Arabic English LLM Decoder causal-lm custom_code ar en arxiv:2308.16149 license:apache-2.0 autotrain_compatible 8-bit region:us