Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
llama_inference_pytorch
Commits
66940183
Commit
66940183
authored
Sep 11, 2023
by
hepj987
Browse files
修改readme为model zoo格式
parent
b856c4ec
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
19 deletions
+43
-19
README.md
README.md
+43
-19
llama.png
llama.png
+0
-0
llama_model.png
llama_model.png
+0
-0
No files found.
README.md
View file @
66940183
#
基于TencentPretrain的
LLaMa
推理
# LLaMa
##
模型介绍
##
论文
`
`
`
`
LLaMA: Open and Efficient Foundation Language Models
`
LLaMA,这是一个基础语言模型的集合,参数范围从7B到65B。在数万亿的tokens上训练出的模型,并表明可以专门使用公开可用的数据集来训练最先进的模型,而不依赖于专有的和不可访问的数据集。
```
https://arxiv.org/pdf/2302.13971.pdf
## 模型结构
## 模型结构

```
```
LLAMA网络基于 Transformer 架构。提出了各种改进,并用于不同的模型,例如 PaLM。以下是与原始架构的主要区别:
LLAMA网络基于 Transformer 架构。提出了各种改进,并用于不同的模型,例如 PaLM。以下是与原始架构的主要区别:
预归一化。为了提高训练稳定性,对每个transformer 子层的输入进行归一化,而不是对输出进行归一化。使用 RMSNorm 归一化函数。
预归一化。为了提高训练稳定性,对每个transformer 子层的输入进行归一化,而不是对输出进行归一化。使用 RMSNorm 归一化函数。
...
@@ -30,6 +32,19 @@ SwiGLU 激活函数 [PaLM]。使用 SwiGLU 激活函数替换 ReLU 非线性以
...
@@ -30,6 +32,19 @@ SwiGLU 激活函数 [PaLM]。使用 SwiGLU 激活函数替换 ReLU 非线性以
"vocab_size": 32000
"vocab_size": 32000
```
```
## 算法原理
```
以下是与原始 Transformer 架构的主要区别:
预归一化。为了提高训练稳定性,对每个transformer 子层的输入进行归一化,而不是对输出进行归一化。使用 RMSNorm 归一化函数。
SwiGLU 激活函数 [PaLM]。使用 SwiGLU 激活函数替换 ReLU 非线性以提高性能。使用 2 /3 4d 的维度而不是 PaLM 中的 4d。
旋转嵌入。移除了绝对位置嵌入,而是添加了旋转位置嵌入 (RoPE),在网络的每一层。
```

# LLAMA推理
# LLAMA推理
## 环境配置
## 环境配置
...
@@ -47,15 +62,22 @@ pip install tensor_parallel==1.2.5 --no-dependencies
...
@@ -47,15 +62,22 @@ pip install tensor_parallel==1.2.5 --no-dependencies
pip install transformers==4.28.1 sentencepiece==0.1.99
pip install transformers==4.28.1 sentencepiece==0.1.99
```
```
## 模型下载
地址
## 模型
权重
下载
[
llama chat 7B
](
https://huggingface.co/Linly-AI/ChatFlow-7B
)
[
llama chat 7B
](
https://huggingface.co/Linly-AI/ChatFlow-7B
)
[
llama caht 13b
](
https://huggingface.co/Linly-AI/ChatFlow-13B
)
[
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为对应的精度)
--load_model_path (必填项),预训练好的模型,默认是fp16的(如果需要fp32,修改llama_infer.py的L41为对应的精度)
--test_path (必填项),输入的prompts,每一行是一个prompts。
--test_path (必填项),输入的prompts,每一行是一个prompts。
--prediction_path (必填项),输出结果保存的路径。
--prediction_path (必填项),输出结果保存的路径。
...
@@ -73,17 +95,7 @@ pip install transformers==4.28.1 sentencepiece==0.1.99
...
@@ -73,17 +95,7 @@ pip install transformers==4.28.1 sentencepiece==0.1.99
--repetition_penalty (可选),默认为1.15。重复出现token的惩罚系数。
--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
./run-tp.sh
...
@@ -91,9 +103,10 @@ export HIP_VISIBLE_DEVICES=0,1,2,3 指定使用第0,1,2,3号卡
...
@@ -91,9 +103,10 @@ export HIP_VISIBLE_DEVICES=0,1,2,3 指定使用第0,1,2,3号卡
LOAD_MODEL 为下载的llama 模型bin路径
LOAD_MODEL 为下载的llama 模型bin路径
SPM_PATH 为下载的llama 模型tokenizer路径
SPM_PATH 为下载的llama 模型tokenizer路径
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
#其他参数与单卡推理相同
```
```
## 多轮对话
##
#
多轮对话
```
```
./run-dialogue.sh
./run-dialogue.sh
...
@@ -102,8 +115,19 @@ export HIP_VISIBLE_DEVICES=0,1,2,3 指定使用第0,1,2,3号卡
...
@@ -102,8 +115,19 @@ export HIP_VISIBLE_DEVICES=0,1,2,3 指定使用第0,1,2,3号卡
LOAD_MODEL 为下载的llama 模型bin路径
LOAD_MODEL 为下载的llama 模型bin路径
SPM_PATH 为下载的llama 模型tokenizer路径
SPM_PATH 为下载的llama 模型tokenizer路径
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
--config_path 需要与使用的模型对齐,若使用13b的模型,这里需要改成config/llama_13b_config.json
#其他参数与单卡推理相同
```
```
## 应用场景
### 算法类别
`自然语言处理`
### 热点应用行业
`nlp,智能聊天助手`
## 多轮对话推理效果
## 多轮对话推理效果


...
...
llama.png
0 → 100644
View file @
66940183
188 KB
llama_model.png
0 → 100644
View file @
66940183
77.3 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment