--- tags: - ctranslate2 - int8 - float16 license: cc datasets: - VMware/open-instruct-v1-oasst-dolly-hhrlhf language: - en library_name: transformers pipeline_tag: text-generation --- # # Fast-Inference with Ctranslate2 Speedup inference while reducing memory by 2x-4x using int8 inference in C++ on CPU or GPU. quantized version of [VMware/open-llama-13b-open-instruct](https://huggingface.co/VMware/open-llama-13b-open-instruct) ```bash pip install hf-hub-ctranslate2>=2.12.0 ctranslate2>=3.16.0 ``` ```python # from transformers import AutoTokenizer model_name = "michaelfeil/ct2fast-open-llama-13b-open-instruct" from hf_hub_ctranslate2 import GeneratorCT2fromHfHub model = GeneratorCT2fromHfHub( # load in int8 on CUDA model_name_or_path=model_name, device="cuda", compute_type="int8_float16", # tokenizer=AutoTokenizer.from_pretrained("{ORG}/{NAME}") ) outputs = model.generate( text=["def fibonnaci(", "User: How are you doing? Bot:"], max_length=64, include_prompt_in_result=False ) print(outputs) ``` Checkpoint compatible to [ctranslate2>=3.16.0](https://github.com/OpenNMT/CTranslate2) and [hf-hub-ctranslate2>=2.12.0](https://github.com/michaelfeil/hf-hub-ctranslate2) - `compute_type=int8_float16` for `device="cuda"` - `compute_type=int8` for `device="cpu"` Converted on 2023-06-27 using ``` ct2-transformers-converter --model VMware/open-llama-13b-open-instruct --output_dir ~/tmp-ct2fast-open-llama-13b-open-instruct --force --copy_files README.md tokenizer_config.json generation_config.json special_tokens_map.json .gitattributes --quantization int8_float16 --trust_remote_code ``` # Licence and other remarks: This is just a quantized version. Licence conditions are intended to be idential to original huggingface repo. # Original description # VMware/open-llama-13B-open-instruct Instruction-tuned version of the fully trained Open LLama 13B model. The model is open for COMMERCIAL USE.
NOTE : The model was trained using the Alpaca prompt template \ NOTE : Fast tokenizer results in incorrect encoding, set the ```use_fast = False``` parameter, when instantiating the tokenizer\ NOTE : The model might struggle with code as the tokenizer merges multiple spaces ## License - Commercially Viable - Instruction dataset, [VMware/open-instruct-v1-oasst-dolly-hhrlhf](https://huggingface.co/datasets/VMware/open-instruct-v1-oasst-dolly-hhrlhf) is under cc-by-sa-3.0 - Language Model, ([openlm-research/open_llama_13b](https://huggingface.co/openlm-research/open_llama_13b)) is under apache-2.0 ## Nomenclature - Model : Open-llama - Model Size: 13B parameters - Dataset: Open-instruct-v1 (oasst,dolly, hhrlhf) ## Use in Transformers ``` import os import torch from transformers import AutoModelForCausalLM, AutoTokenizer model_name = 'VMware/open-llama-13b-open-instruct' tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False) model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map='sequential') prompt_template = "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Response:" prompt = 'Explain in simple terms how the attention mechanism of a transformer model works' inputt = prompt_template.format(instruction= prompt) input_ids = tokenizer(inputt, return_tensors="pt").input_ids.to("cuda") output1 = model.generate(input_ids, max_length=512) input_length = input_ids.shape[1] output1 = output1[:, input_length:] output = tokenizer.decode(output1[0]) print(output) ``` ## Finetuning details The finetuning scripts will be available in our [RAIL Github Repository](https://github.com/vmware-labs/research-and-development-artificial-intelligence-lab/tree/main/instruction-tuning) ## Evaluation TODO