项目介绍:TinyLlama-1.1B-Chat-v1.0-marlin
背景信息
TinyLlama-1.1B-Chat-v1.0-marlin是一个经过优化的语言模型项目,专为高效的推理而设计。这个模型基于TinyLlama的TinyLlama-1.1B-Chat-v1.0,经过量化和优化,能够在减少内存使用的同时提供快速的推理能力。量化是通过一种名为GPTQ的方法实现的,并以Marlin格式保存,适用于4位推理。
推理性能
为了实现高速推理和低内存占用,该项目建议用户安装nm-vllm,这是一个专门为压缩后的大语言模型设计的高性能服务引擎。用户可以通过简单的步骤安装和运行这个引擎,具体操作如下:
pip install nm-vllm[sparse]
接着,用户可以在本地Python环境中运行如下代码来进行推理测试:
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_id = "neuralmagic/TinyLlama-1.1B-Chat-v1.0-marlin"
model = LLM(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
messages = [
{"role": "user", "content": "How to make banana bread?"},
]
formatted_prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
sampling_params = SamplingParams(max_tokens=200)
outputs = model.generate(formatted_prompt, sampling_params=sampling_params)
print(outputs[0].outputs[0].text)
这段代码的运行结果是生成一个香蕉面包的简单食谱,展示了模型在处理自然语言请求时的能力。
量化方法
模型的量化过程是通过运行一个名为apply_gptq_save_marlin.py
的脚本完成的。该脚本的作用是将原始模型转换为更加高效的Marlin格式。用户可以通过以下命令来进行量化:
pip install -r quantization/requirements.txt
python3 quantization/apply_gptq_save_marlin.py --model-id TinyLlama/TinyLlama-1.1B-Chat-v1.0 --save-dir ./tinyllama-marlin
社区支持
为了获得更多的支持以及与其他用户讨论有关这些模型和人工智能的广泛话题,用户可以加入Neural Magic的Slack社区。在这个社区中,用户可以分享经验、解决问题、探索新的使用场景。
对于任何希望提高推理效率、减少内存使用的用户,TinyLlama-1.1B-Chat-v1.0-marlin是一个值得关注的项目,它不仅提供了优质的语言处理能力,还为研究和实践大规模语言模型的用户提供了极大的便利。