Commit 66940183 authored by hepj987's avatar hepj987
Browse files

修改readme为model zoo格式

parent b856c4ec
# 基于TencentPretrain的LLaMa推理
# LLaMa
## 模型介绍
## 论文
```
LLaMA,这是一个基础语言模型的集合,参数范围从7B到65B。在数万亿的tokens上训练出的模型,并表明可以专门使用公开可用的数据集来训练最先进的模型,而不依赖于专有的和不可访问的数据集。
```
`LLaMA: Open and Efficient Foundation Language Models`
https://arxiv.org/pdf/2302.13971.pdf
## 模型结构
![llama_model](llama_model.png)
```
LLAMA网络基于 Transformer 架构。提出了各种改进,并用于不同的模型,例如 PaLM。以下是与原始架构的主要区别:
预归一化。为了提高训练稳定性,对每个transformer 子层的输入进行归一化,而不是对输出进行归一化。使用 RMSNorm 归一化函数。
......@@ -30,6 +32,19 @@ SwiGLU 激活函数 [PaLM]。使用 SwiGLU 激活函数替换 ReLU 非线性以
"vocab_size": 32000
```
## 算法原理
```
以下是与原始 Transformer 架构的主要区别:
预归一化。为了提高训练稳定性,对每个transformer 子层的输入进行归一化,而不是对输出进行归一化。使用 RMSNorm 归一化函数。
SwiGLU 激活函数 [PaLM]。使用 SwiGLU 激活函数替换 ReLU 非线性以提高性能。使用 2 /3 4d 的维度而不是 PaLM 中的 4d。
旋转嵌入。移除了绝对位置嵌入,而是添加了旋转位置嵌入 (RoPE),在网络的每一层。
```
![llama](llama.png)
# LLAMA推理
## 环境配置
......@@ -47,15 +62,22 @@ pip install tensor_parallel==1.2.5 --no-dependencies
pip install transformers==4.28.1 sentencepiece==0.1.99
```
## 模型下载地址
## 模型权重下载
[llama chat 7B](https://huggingface.co/Linly-AI/ChatFlow-7B)
[llama caht 13b](https://huggingface.co/Linly-AI/ChatFlow-13B)
## 参数说明
## 模型推理
### 单卡推理
```
./run.sh
export HIP_VISIBLE_DEVICES=0 指定使用第0号卡
LOAD_MODEL 为下载的llama 模型bin路径
SPM_PATH 为下载的llama 模型tokenizer路径
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
--load_model_path (必填项),预训练好的模型,默认是fp16的(如果需要fp32,修改llama_infer.py的L41为对应的精度)
--test_path (必填项),输入的prompts,每一行是一个prompts。
--prediction_path (必填项),输出结果保存的路径。
......@@ -73,17 +95,7 @@ pip install transformers==4.28.1 sentencepiece==0.1.99
--repetition_penalty (可选),默认为1.15。重复出现token的惩罚系数。
```
## 单卡推理
```
./run.sh
export HIP_VISIBLE_DEVICES=0 指定使用第0号卡
LOAD_MODEL 为下载的llama 模型bin路径
SPM_PATH 为下载的llama 模型tokenizer路径
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
```
## 多张卡并行推理
### 多张卡并行推理
```
./run-tp.sh
......@@ -91,9 +103,10 @@ export HIP_VISIBLE_DEVICES=0,1,2,3 指定使用第0,1,2,3号卡
LOAD_MODEL 为下载的llama 模型bin路径
SPM_PATH 为下载的llama 模型tokenizer路径
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
#其他参数与单卡推理相同
```
## 多轮对话
### 多轮对话
```
./run-dialogue.sh
......@@ -102,8 +115,19 @@ export HIP_VISIBLE_DEVICES=0,1,2,3 指定使用第0,1,2,3号卡
LOAD_MODEL 为下载的llama 模型bin路径
SPM_PATH 为下载的llama 模型tokenizer路径
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
#其他参数与单卡推理相同
```
## 应用场景
### 算法类别
`自然语言处理`
### 热点应用行业
`nlp,智能聊天助手`
## 多轮对话推理效果
![image-llama](./doc/llama-inf.jpg)
......
llama.png

188 KB

Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment