Edit model card

AstraQuasar-4B 32K

AstraQuasar-4B is our first pre-trained Large Language Model (LLM) for text generation. It is a model with 4B parameters, whithout embeddings. AstraQuasar-4B-v.0.1 is built upon the foundation of the Phi-2 architecture, with significant enhancements including an increased number of layers and the innovative introduction of a novel technique known as the duplicate trick.

AstraQuasar-4B-v.0.1 at the moment is an under trained model. Serving as a demonstration of the potential of the duplication trick and its implications for future advancements in language modeling. Despite its nascent status, our model has already demonstrated superior performance compared to both the base Phi-2 model and earlier iterations of AstraQuasar-4B that do not utilize the duplication trick.

One of the key milestones achieved by AstraQuasar-4B is its successful application of backpropagation on the duplication trick, setting a precedent for future research and development in this area.

The use of the duplicate trick had shown to instantly decrease the loss by ~21% with no added instability

Our model's architecture is fully compatible with leading training frameworks such as Axolotl and LLaMA Factory, ensuring seamless integration into existing workflows leveraging the standard Hugging Face Transformers library.

Example:

AstraQuasar-4B can be easily instantiated using the Hugging Face Transformers library:

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model = AutoModelForCausalLM.from_pretrained("AstraMindAI/AstraQuasar-4B", torch_dtype=torch.float16, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("AstraMindAI/AstraQuasar-4B")
    
# you can optionally disable the duplicate trick
# model.model.duplicate_trick = False
    
# you can also disable the duplicate gradient calculation during training
# model.model.duplicate_grad = False
    
# You can specify the layer ranges for the duplicate trick
# model.model.layer_ranges = [(0, 16),(8, 24),(17, 32),(25, 40),(33, 49),(40, 56)]
    
prompt = "I love my dog because "
inputs = tokenizer(prompt, return_tensors="pt")
    
# Generate
generate_ids = model.generate(inputs.input_ids, max_length=30)
tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

Pre-training and fine-tuning can be performed using accelerate or deepspeed.

Notice

It's important to note that AstraQuasar-4B is a pre-trained base model and does not incorporate any moderation mechanisms.

NEWS

Stay tuned for exciting developments! A new architecture, AstraPulsar, is on the horizon, promising further advancements in language modeling.

Credits:

  • Undi95 for helping us figuring out the process of self-calling layers.
Downloads last month
52
Safetensors
Model size
4.75B params
Tensor type
F32
·
Inference Examples
Inference API (serverless) does not yet support model repos that contain custom code.