|
--- |
|
license: apache-2.0 |
|
language: |
|
- ar |
|
tags: |
|
- alpaca |
|
- llama3 |
|
- arabic |
|
--- |
|
|
|
# 🚀 al-baka-llama3-8b |
|
|
|
[<img src="https://i.ibb.co/fMsBM0M/Screenshot-2024-04-20-at-3-04-34-AM.png" width="150"/>](https://www.omarai.co) |
|
|
|
|
|
Al Baka is an Experimental Fine Tuned Model based on the new released LLAMA3-8B Model on the Stanford Alpaca dataset Arabic version [Yasbok/Alpaca_arabic_instruct](https://huggingface.co/datasets/Yasbok/Alpaca_arabic_instruct). |
|
|
|
## Model Summary |
|
|
|
- **Model Type:** Llama3-8B FineTuned Model |
|
- **Language(s):** Arabic |
|
- **Base Model:** [LLAMA-3-8B](https://huggingface.co/meta-llama/Meta-Llama-3-8B) |
|
- **Dataset:** [Yasbok/Alpaca_arabic_instruct](https://huggingface.co/datasets/Yasbok/Alpaca_arabic_instruct) |
|
|
|
## Model Details |
|
|
|
- The model was fine-tuned in 4-bit precision using [unsloth](https://github.com/unslothai/unsloth) |
|
|
|
- The run is performed only for 1000 steps with a single Google Colab T4 GPU NVIDIA GPU with 15 GB of available memory. |
|
|
|
|
|
<span style="color:red">The model is currently being Experimentally Fine Tuned to assess LLaMA-3's response to Arabic, following a brief period of fine-tuning. Larger and more sophisticated models will be introduced soon.</span> |
|
|
|
## How to Get Started with the Model |
|
|
|
### Setup |
|
```python |
|
# Install packages |
|
!pip install accelerate bitsandbytes |
|
%%capture |
|
import torch |
|
major_version, minor_version = torch.cuda.get_device_capability() |
|
!pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git" |
|
if major_version >= 8: |
|
# Use this for new GPUs like Ampere, Hopper GPUs (RTX 30xx, RTX 40xx, A100, H100, L40) |
|
!pip install --no-deps packaging ninja einops flash-attn xformers trl peft accelerate bitsandbytes |
|
else: |
|
# Use this for older GPUs (V100, Tesla T4, RTX 20xx) |
|
!pip install --no-deps xformers trl peft accelerate bitsandbytes |
|
pass |
|
``` |
|
|
|
### First, Load the Model |
|
```python |
|
from unsloth import FastLanguageModel |
|
import torch |
|
max_seq_length = 2048 # Choose any! We auto support RoPE Scaling internally! |
|
dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+ |
|
load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False. |
|
|
|
|
|
model, tokenizer = FastLanguageModel.from_pretrained( |
|
model_name = "Omartificial-Intelligence-Space/al-baka-16bit-llama3-8b", |
|
max_seq_length = max_seq_length, |
|
dtype = dtype, |
|
load_in_4bit = load_in_4bit, |
|
# token = "hf_...", # use one if using gated models like meta-llama/Llama-2-7b-hf |
|
) |
|
``` |
|
|
|
### Second, Try the model |
|
```python |
|
alpaca_prompt = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. |
|
|
|
### Instruction: |
|
{} |
|
|
|
### Input: |
|
{} |
|
|
|
### Response: |
|
{}""" |
|
|
|
# alpaca_prompt = Copied from above |
|
FastLanguageModel.for_inference(model) # Enable native 2x faster inference |
|
inputs = tokenizer( |
|
[ |
|
alpaca_prompt.format( |
|
"استخدم البيانات المعطاة لحساب الوسيط.", # instruction |
|
"[2 ، 3 ، 7 ، 8 ، 10]", # input |
|
"", # output - leave this blank for generation! |
|
) |
|
], return_tensors = "pt").to("cuda") |
|
|
|
outputs = model.generate(**inputs, max_new_tokens = 64, use_cache = True) |
|
tokenizer.batch_decode(outputs) |
|
``` |
|
|
|
### Recommendations |
|
|
|
- [unsloth](https://github.com/unslothai/unsloth) for finetuning models. You can get a 2x faster finetuned model which can be exported to any format or uploaded to Hugging Face. |
|
|