Text_Generation_by_LiteLlama

Text Generation by LiteLlama

We present an open-source reproduction of Meta AI's LLaMa 2. However, with significantly reduced model sizes, LiteLlama-460M-1T has 460M parameters trained with 1T tokens.

MIT
Text Generation
PyTorch
Transformers
English
by @AIOZAI
124
0

Last updated: 7 months ago


Generic badge Generic badge

Text Generation by LiteLlama

Table of Contents

Introduction

Text Generation by LiteLlama is a task that produces coherent and contextually relevant text using the LiteLlama model. LiteLlama is an open-source, lightweight language model with approximately 460M parameters, developed by Xiaotian Han as a scaled-down reproduction of Meta's LLaMA 2 architecture. Despite its compact size, it is capable of generating human-like text across a variety of topics and writing styles, making it well-suited for resource-constrained environments.

Given a prompt or starting sentence, the model generates a continuation that follows the input's context and style. This is useful for applications such as creative writing, content generation, conversational agents, and prototyping.

The model was trained on a subset of the RedPajama dataset and uses the GPT2Tokenizer for text tokenization.

Parameters

Inputs

  • input (text): A textual prompt — ranging from a few words to a complete sentence — that guides the text generation.

Output

  • output (text): The generated text continuation. The model leverages learned language patterns, grammar, and semantics to produce coherent output that follows the prompt's context and style.

Examples

InputOutput
What is the largest bird?The largest bird is the ostrich, which can grow up to 9 feet tall and weigh over 300 pounds.

Note: As a 460M-parameter model, LiteLlama may occasionally produce factually inaccurate or repetitive output. It is best suited for lightweight generation tasks rather than high-stakes factual question answering.

Usage for Developers

Below are the details for integrating and running the model on our platform.

Requirements

python~=3.10
torch~=2.0.0
transformers

Code (AIOZ adapter structure)

import os
from pathlib import Path
from typing import Any, Literal, Union

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM


def do_ai_task(
    input: Union[str, Path],
    model_storage_directory: Union[str, Path],
    device: Literal["cpu", "cuda", "gpu"] = "cpu",
    *args,
    **kwargs,
) -> Any:
    # Resolve model path
    model_path = os.path.abspath(os.path.join(model_storage_directory, "..."))

    # Load model and tokenizer
    model = AutoModelForCausalLM.from_pretrained(model_path)
    tokenizer = AutoTokenizer.from_pretrained(model_path)
    model.eval()

    # Move to GPU if available
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model.to(device)

    # Format prompt and generate
    prompt = f"Q: {input}\nA:"
    input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
    tokens = model.generate(
        input_ids,
        max_length=50,
        pad_token_id=tokenizer.eos_token_id,
    )

    # Decode and extract the answer
    response = tokenizer.decode(tokens[0], skip_special_tokens=True)
    output = response.split("\nA: ")[1] if "\nA: " in response else response

    return output

Reference

This repository is based on and inspired by Xiaotian Han's LiteLlama-460M-1T. We sincerely appreciate the author's generosity in open-sourcing the model.

License

We respect and comply with the terms of the original author's license cited in the Reference section.

This model was developed by Xiaotian Han from Texas A&M University at the DATA Lab, under the supervision of Prof. Xia "Ben" Hu, and is released under the MIT License.