--- license: apache-2.0 datasets: - Svngoku/africa-history-qa-20k - alexneakameni/qa_africa language: - fr - en metrics: - accuracy base_model: - meta-llama/Llama-3.1-8B-Instruct --- ![image/jpeg](https://cdn-uploads.huggingface.co/production/uploads/6168218a4ed0b975c18f82a8/sBklfxYVoD9c0Z-caLnYm.jpeg) # Llama 3.1-8B Fine-Tuned on African History QA This repository hosts a fine-tuned version of the Llama 3.1-8B model, designed to answer questions related to African history. ## Model Overview This model builds on the `meta-llama/Llama-3.1-8B` base, fine-tuned with the `Svngoku/africa-history-qa-20k` dataset. It can understand and generate responses in both French and English, making it a versatile tool for exploring African history through question-and-answer interactions. ## Key Features - **Languages Supported**: French and English. - **Dataset**: 20,000 QA pairs on African history. - **Use Case**: Ideal for educational and research purposes. ## Intended Use & Limitations The model aims to assist with queries about African history but may sometimes provide inaccurate or incomplete information. Users should cross-verify responses with authoritative sources, especially for critical use cases. ## Fine-Tuning Process - **Base Model**: `Meta-Llama-3.1-8B-Instruct-Reference`. - **Fine-Tuning Tools**: Hugging Face Transformers and PEFT for efficient parameter tuning. ## Performance Evaluation The model was evaluated using the accuracy metric on a dedicated test set from the `Svngoku/africa-history-qa-20k` dataset. ## How to Use Here’s a quick start guide for using the model: ```python from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig import torch # Configure quantization quantization_config = BitsAndBytesConfig( load_in_8bit=True, bnb_4bit_compute_dtype=torch.float32, bnb_4bit_use_double_quant=False, bnb_4bit_quant_type="nf4", ) # Load the model and tokenizer model = AutoModelForCausalLM.from_pretrained( "Svngoku/llama3.1-8B-Nomo", quantization_config=quantization_config, device_map='auto', trust_remote_code=True ) tokenizer = AutoTokenizer.from_pretrained("Svngoku/llama3.1-8B-Nomo", trust_remote_code=True) # Function to interact with the model def chat_with_model(instruction, prompt): """Generate a response based on the instruction and prompt.""" full_prompt = f"### Instruction: {instruction}\n### Prompt: {prompt}" input_ids = tokenizer(full_prompt, return_tensors="pt").input_ids generated_ids = model.generate(input_ids, max_new_tokens=500) return tokenizer.decode(generated_ids[0], skip_special_tokens=True) # Example usage instruction = "You are Nomo an expert african assistant specialized in African History. Your task is to provide concise, informative, and detailed responses to questions about African History." prompt = """ Quelle est la conséquence de l'unité dans la commune soumission à la France en 1904 ? { "A": "Créer une situation nouvelle qui explique les différentes formes d'actions", "B": "Favoriser l'autonomie politique des grandes régions de l'île" } """ response = chat_with_model(instruction, prompt) print(response) ``` ```txt ### Instruction: You are Nomo an expert african assistant specialized in African History. Your task is to provide concise, informative, and detailed responses to questions about African History. ### Prompt: Quelle est la conséquence de l'unité dans la commune soumission à la France en 1904? { "A": "Créer une situation nouvelle qui explique les différentes formes d'actions", "B": "Favoriser l'autonomie politique des grandes régions de l'île" } ### Answer: La bonne réponse est A : "Créer une situation nouvelle qui explique les différentes formes d'actions". En 1904, la commune soumission à la France a entraîné l'unité de l'île, ce qui a créé une nouvelle situation qui a conduit à différentes formes d'actions. Cela a impliqué la mise en place d'un système administratif unique, l'élaboration d'une constitution commune, et la définition d'un projet politique commun pour l'île. Cette unité a également permis de coordonner les efforts pour lutter contre les menaces extérieures, telles que la colonisation allemande. En conséquence, les différentes régions de l'île ont pu travailler ensemble pour promouvoir leur intégrité et leur souveraineté. La réponse B est incorrecte car l'autonomie politique des grandes régions de l'île n'a pas été favorisée par la commune soumission à la France en 1904. En fait, l'unité créée par la commune soumission a conduit à une plus grande centralisation du pouvoir à l'échelle de l'île, plutôt qu'à une augmentation de l'autonomie des régions. Note: La commune soumission à la France en 1904 fait référence à l'acte par lequel l'île de Madagascar a décidé de se soumettre à la France, mettant fin à son statut d'État indépendant. Cet événement a eu des conséquences importantes pour la politique et l'administration de l'île, et a marqué le début d'une période de colonisation française en Madagascar. ```