titulm-mpt-1b-v2.0 / README.md
sagorsarker's picture
Update README.md
bedfa50 verified
metadata
license: apache-2.0
datasets:
  - togethercomputer/RedPajama-Data-V2
  - uonlp/CulturaX
  - wikipedia
language:
  - en
  - bn
pipeline_tag: text-generation

TituLM-1B-ENBN-V1

TituLM-1B-ENBN-V1 is a large language model specifically trained for generating and understanding English and Bangla text. Utilizing a decoder-style transformer architecture, this model has been extensively trained on a dataset comprising 43.19 billion Bangla, English and codes tokens. This model is the part of iterative train and release Bilingual LLM from Hishab.

The training process was managed using the robust framework provided by MosaicML's llm-foundry repository. Throughout the training phase, titulm-1b-bn-v1 underwent a total of 59 iterations, allowing for iterative refinements and optimization. Notable training configs:

  • n_nead: 16
  • n_layers: 24
  • max_sequence_length: 2048
  • vocab_size: 72000
  • attn_impl: flash
  • Trained on 8 H100 GPU on GCP

Datasets

Datasets comprise Bangla, English, and Codes data. We mixed Bangla data with English Redpajama (C4, Github, StackExchange, Book, Arxiv, Wikipedia) data.

Token-wise distribution will be added soon below.

Data chunk Language Token count(Billion)
Redpajama Arxiv English 2.12
Redpajama Book English 2.02
Redpajama Wikipedia English 2.03
Redpajama Github Code English 2.24
Redpajama StackExchange English 1.47
Redpajama Common crawl English 12.74
Redpajama C4 English 6.57
Bangla (culturax, books, news, Wikipedia, Banglapedia) Bangla ~14
Total 43.19

How to Use

The basic use cases to generate text using this model are simple. Follow the below code to generate text using this model.

Install the following library before running the code:

pip install transformers
pip install einops
pip install accelerate
import transformers
from transformers import pipeline

model_name = 'hishab/titulm-1b-enbn-v1'

config = transformers.AutoConfig.from_pretrained(model_name, trust_remote_code=True)
config.max_seq_len = 2048

model = transformers.AutoModelForCausalLM.from_pretrained(
  model_name,
  config=config,
  trust_remote_code=True
)

tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)

pipe = pipeline('text-generation', model=model, tokenizer=tokenizer, device='cuda:0')
# for Bangla
bn_output = pipe('আমি বাংলায় গান',
            max_new_tokens=100,
            do_sample=True,
            use_cache=True)

print(bn_output)
# for English
en_output = pipe('Bangla language plays',
            max_new_tokens=100,
            do_sample=True,
            use_cache=True)

print(en_output)

Citation

@misc{hishab_2024_titulm_1b_enbn_v1,
  author = {Hishab Technologies Ltd.},
  title = {TituLM-1B-ENBN-V1},
  year = {2024},
  publisher = {HuggingFace Models},
  howpublished = {https://huggingface.co/hishab/titulm-1b-enbn-v1},
}