[NLP]LLM--使用LLama2进行离线推理

这篇具有很好参考价值的文章主要介绍了[NLP]LLM--使用LLama2进行离线推理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 模型下载

二 模型推理

本文基于Chinese-LLaMA-Alpaca-2项目代码介绍,使用原生的llama2-hf

克隆好了Chinese-LLaMA-Alpaca-2 项目之后,基于GPU的部署非常简单。下载完成以后的模型参数(Hugging Face 格式)如下:

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

简单说明一下各个文件的作用

文件名称 示例 说明
config.json {
"architectures": [
"LlamaForCausalLM"
],
"hidden_size": 4096,
...
"vocab_size": 55296
}
hugging face Transformer的配置文件 文档路径在
https://huggingface.co/docs/transformers/main/main_classes/configuration
generation_config.json {
"_from_model_config": true,
"bos_token_id": 1,
"eos_token_id": 2,
"pad_token_id": 0,
"transformers_version": "4.31.0"
}
这个主要是为了generation方法提供参数
https://huggingface.co/docs/transformers/main_classes/text_generation
pytorch_model.bin.index.json {
"metadata": {
"total_size": 13858521088
},
"weight_map": {
...
}

}
包含一些元数据以及一个参数名映射表,包含权重指示信息
pytorch_model-*.bin 标准的Pytorch state dicts,它们各自包含模型的一部分
special_tokens_map.json {
...
"pad_token": "",
"unk_token": {
"content": "",
"lstrip": false,
"normalized": true,
"rstrip": false,
"single_word": false
}
}
映射文件,里面包含 unknown token 等特殊字符的映射关系;
tokenizer_config.json {
"add_bos_token": true,
...
"unk_token": {
"__type": "AddedToken",
"content": "",
"lstrip": false,
"normalized": true,
"rstrip": false,
"single_word": false
},
"use_fast": false
}
分词器配置文件,存储构建分词器需要的参数
tokenizer.model 标记器(Tokenizer):将文本转换为模型可以处理的数据。模型只能处理数字,因此标记器(Tokenizer)需要将我们的文本输入转换为数字数据。

模型推理 Chinese-LLaMA-Alpaca-2 提供了一些使用脚本,可以很方便的体验模型推理的过程 教程

aiofiles==23.1.0
fastapi==0.95.2
gradio_client==0.2.5
gradio==3.33.1

accelerate==0.22.*
colorama
datasets
einops
markdown
numpy==1.24
optimum==1.12.0
pandas
peft==0.5.*
transformers==4.33.1
Pillow>=9.5.0
pyyaml
requests
safetensors==0.3.2
scipy
sentencepiece==0.1.99
tensorboard
tqdm
wandb

# bitsandbytes
bitsandbytes==0.41.1

启动运行环境(使用docker):

 docker run -it -v `pwd`:/home/work --gpus 1 pytorch:2.0.1-transformers /bin/bash

python scripts/inference/inference_hf.py --base_mode /home/work/llama2/ --with_prompt --interactive

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

可以看出原生的LLAMA2模型对中文支持不好,回答的答案基本都是英文

三、搭建text-generation-webui

text-generation-webui是github上的一个开源项目,也是目前运行开源模型最广泛使用的软件之一。如果你之前用过第一代LLama,应该对这个项目比较熟悉。

text-generation-webui的安装方式相当简单,同样需要从github上克隆项目:https://github.com/oobabooga/text-generation-webui。克隆完成后,我们把刚才转换好的huggingface格式的模型文件夹整个放入models中,目录结构如下:

我们将刚才生成好huggingface格式的模型文件夹整个放入models中,文件结构如下图:

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

如果这一步做完了,模型部署这块就大功告成啦。现在我们运行text-generation-webui就可以和llama2模型对话了,具体的命令如下:

python server.py --api --listen --model /home/work/text-generation-webui-main/models/llama-2-7b/

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

四、使用模型

现在,LLama2模型已经搭建好了,怎么样把它分享给你的朋友或同事使用呢?

我们用YourChat来完成这个工作。YourChat是一个聊天客户端,它支持text_generation_webui的API,适配了Android、iOS、Windows和MacOS,以下我们以Windows版本为例,当然其他平台也大同小异。 下载地址:https://yourchat.app/download

在上一步,我们在启动text_generation_webui的时候添加了一个--api参数,这就让text_generation_webui支持了API调用。如果你想要使用YourChat,那这个API功能就必须要打开。

首先,让我们把刚刚搭建的text_generation_webui添加到YourChat的服务里面。如果是第一次使用YourChat,它会弹出一个新手教程。如果text-generation-webui参数没有动过,那就按照教程的指引,填入服务的IP地址就可以了。

如果之前已经下载过YourChat,那就在YourChat的"服务"界面,点击右下角的"+"按钮,添加一个新的服务。在"名称"栏中,输入你的服务名称,比如模型名字"llama-2-7b"。在"Host"栏中,填写你的模型服务器的地址,例如"192.168.1.100"。

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

然后点击右上角的保存按钮,你的Llama2模型就成功地被添加到了YourChat中,你现在可以开始和LLama2进行聊天了。

[NLP]LLM--使用LLama2进行离线推理,自然语言处理,人工智能

LLama 2干货部署教程+模型分发 - 知乎 (zhihu.com)

从0开始微调LLama2系列 (2) : 运行一下llama2 - 知乎 (zhihu.com)文章来源地址https://www.toymoban.com/news/detail-701865.html

到了这里,关于[NLP]LLM--使用LLama2进行离线推理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【LLM系列之LLaMA2】LLaMA 2技术细节详细介绍!

    Llama 2 发布! Meta 刚刚发布了 LLaMa 2,它是 LLaMA 的下一代版本,具有商业友好的许可证。🤯😍 LLaMA 2 有 3 种不同的尺寸:7B、13B 和 70B。 7B 13B 使用与 LLaMA 1 相同的架构,并且是商业用途的 1 对 1 替代🔥 🧮 7B、13B 70B 参数版本 🧠 70B模型采用分组查询注意力(GQA) 🛠 聊天模

    2024年02月16日
    浏览(42)
  • [NLP] Llama2模型运行在Mac机器

    本文将介绍如何使用llama.cpp在MacBook Pro本地部署运行量化版本的Llama2模型推理,并基于LangChain在本地构建一个简单的文档QA应用。本文实验环境为Apple M1 芯片 + 8GB内存。 Llama2是 Meta AI开发的Llama大语言模型的迭代版本,提供了7B,13B,70B参数的规格。Llama2和Llama相比在对话场景中

    2024年01月16日
    浏览(39)
  • LLM大模型推理加速实战:vllm、fastllm与llama.cpp使用指南

    随着人工智能技术的飞速发展,大型语言模型(LLM)在诸如自然语言处理、智能问答、文本生成等领域的应用越来越广泛。然而,LLM模型往往具有庞大的参数规模,导致推理过程计算量大、耗时长,成为了制约其实际应用的关键因素。为了解决这个问题,一系列大模型推理加

    2024年04月13日
    浏览(29)
  • LLM - Transformer && LLaMA2 结构分析与 LoRA 详解

    目录 一.引言 二.图说 LLM 1.Transformer 结构 ◆ Input、Output Embedding ◆ PositionEmbedding ◆ Multi-Head-Attention ◆ ADD Norm ◆ Feed Forward ◆ Linear Softmax 2.不同 LLM 结构 ◆ Encoder-Only ◆ Encoder-Decoder ◆ Decoder-Only  3.LLaMA-2 结构 ◆ Input Embedding ◆ RMSNorm ◆ RoPE ◆ Attention ◆ SwiGLU ◆ MLP 三.数说 LoR

    2024年02月13日
    浏览(29)
  • llama.cpp LLM模型 windows cpu安装部署;运行LLaMA2模型测试

    参考: https://www.listera.top/ji-xu-zhe-teng-xia-chinese-llama-alpaca/ https://blog.csdn.net/qq_38238956/article/details/130113599 cmake windows安装参考:https://blog.csdn.net/weixin_42357472/article/details/131314105 1、下载: 2、编译 3、测试运行 参考: https://zhuanlan.zhihu.com/p/638427280 模型下载: https://huggingface.co/nya

    2024年02月16日
    浏览(34)
  • [玩转AIGC]LLaMA2训练中文文章撰写神器(数据准备,数据处理,模型训练,模型推理)

    好久没更新这个专栏的文章了,今天抽空写了一篇。————2023.12.28 摘要:文体包括新闻,法律文书,公告,广告等,每种文体的书写风格不一样,如果拥有自己的数据集,想针对特定文体来训练一个内容生成的工具,来帮助自己写点文章,如果没接触过AIGC,可能一开始会

    2024年01月17日
    浏览(41)
  • NLP(十八):LLM 的推理优化技术纵览

    原文:NLP(十八):LLM 的推理优化技术纵览 - 知乎 目录 收起 一、子图融合(subgraph fusion) 1.1 FasterTransformer by NVIDIA 1.2 DeepSpeed Inference by Microsoft 1.3 MLC LLM by TVM 二、模型压缩(Model Compression) 2.1 稀疏(Sparsity) 2.2 量化(Quantization) 2.3 蒸馏(Distillation) 三、并行化(Parallelism) 3.1 数

    2024年01月19日
    浏览(31)
  • [玩转AIGC]如何训练LLaMA2(模型训练、推理、代码讲解,并附可直接运行的kaggle连接)

    Llama 2,基于优化的 Transformer 架构,是Meta AI正式发布的最新一代开源大模型,一系列模型(7b、13b、70b)均开源可商用,效果直逼gpt3.5。 下面我们来介绍如何使用Llama 2来训练一个故事生成模型。 如果迫不及待想爽一把先,请直接跳到这里,可直接运行:llama2-c, 学习不就是

    2024年02月12日
    浏览(31)
  • LLM微调(四)| 微调Llama 2实现Text-to-SQL,并使用LlamaIndex在数据库上进行推理

            Llama 2是开源LLM发展的一个巨大里程碑。最大模型及其经过微调的变体位居Hugging Face Open LLM排行榜(https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)前列。多个基准测试表明,就性能而言,它正在接近GPT-3.5(在某些情况下甚至超过它)。所有这些都意味着,对于从

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包