Falcon3-7B-Instruct / README.md
ybelkada's picture
feat: add license
2465d9c verified
|
raw
history blame
6.38 kB
metadata
language:
  - en
  - fr
  - es
  - pt
tags:
  - falcon3
base_model: tiiuae/Falcon3-7B-Base
license: other
license_name: falcon-llm-license
license_link: https://falconllm.tii.ae/falcon-terms-and-conditions.html

Falcon3-7B-Instruct

Falcon3 family of Open Foundation Models is a set of pretrained and instruct LLMs ranging from 1B to 10B.

This repository contains the Falcon3-7B-Instruct. It achieves state of art results (at release's time) on reasoning, language understanding, instruction following, code and mathematics tasks. Falcon3-7B-Instruct supports 4 languages (english, french, spanish, portuguese) and a context length up to 32K.

Model Details

  • Architecture
    • Transformer based causal decoder only architecture
    • 28 decoder blocks
    • Grouped query attention (GQA) for faster inference: 12 query heads and 4 KV heads
    • Wider head dimension: 256
    • High RoPE value to support long context understanding: 1000042
    • Uses SwiGLU and RMSNorm
    • 32k context length
    • 131k vocab size
  • Pretrained on 14 Gigatokens of datasets comprising of web, code, STEM, high quality and mutlilingual data using 2048 H100 GPU chips
  • Postrained on 1.2 million samples of STEM, conversations, code, safety and function call data
  • Supports EN, FR, ES, PT
  • Developed by Technology Innovation Institute
  • License: TII Falcon-LLM License 2.0
  • Model Release Date: December 2024

Getting started

Click to expand
from transformers import AutoTokenizer, AutoModelForCausalLM


from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "tiiuae/Falcon3-7B-Instruct"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"]
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = "How many hours in one day?"
messages = [
    {"role": "system", "content": "You are a helpful friendly assistant Falcon3 from TII, try to follow instructions as much as possible."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=1024
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

Benchmarks

We report in the following table our internal pipeline benchmarks:

Category Benchmark Llama-3.1-8B-Instruct Qwen2.5-7B-Instruct Falcon3-7B-Instruct
General MMLU (5-shot) 55.9 72.4 68
MMLU-PRO (5-shot) 21.8 35.8 40.7
IFEval 78.8 74.7 76.5
Math GSM8K (5-shot) 19.2 33.7 78.8
GSM8k (8-shot, COT) 79.8 72.7 80.9
MATH(4-shot) 10.4 26 33.1
Reasoning Arc Challenge (25-shot) 46.6 55.7 65.9
GPQA (0-shot) 33.6 31.9 32
GPQA (0-shot, COT) 9.6 13.8 22.3
MUSR (0-shot) 38.6 40.7 46.4
BBH (3-shot) 43.7 53.9 52.4
BBH (3-shot, COT) 6.7 21.2 69.3
CommonSense Understanding PIQA (0-shot) 78.9 73.7 78.8
SciQ (0-shot) 80.2 50.9 94.7
Winogrande (0-shot) TODO TODO 70.4
OpenbookQA (0-shot) 46.2 42.4 45.8
Instructions following MT-Bench (avg) 7.86 8.54 8.36
Alapaca (WC) 26.57 31.5 26.13

Citation

If Falcon3 family were helpful to your work, feel free to give us a cite.

@misc{Falcon3,
    title = {The Falcon 3 family of Open Models},
    author = {TII Team},
    month = {December},
    year = {2024}
}