|
--- |
|
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 <b>COMMERCIAL USE</b>. <br> |
|
|
|
<b> NOTE </b> : The model was trained using the Alpaca prompt template \ |
|
<b> NOTE </b> : Fast tokenizer results in incorrect encoding, set the ```use_fast = False``` parameter, when instantiating the tokenizer\ |
|
<b> NOTE </b> : The model might struggle with code as the tokenizer merges multiple spaces |
|
|
|
## License |
|
- <b>Commercially Viable </b> |
|
- 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 |
|
|
|
<B>TODO</B> |