README.md 4.17 KB
Newer Older
chenzk's avatar
v1.0  
chenzk committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Gemma-3
Gemma-3仅以27B就击败DeepSeek 671B模型,成为仅次于DeepSeek R1最优开源模型。

## 论文
`无`

## 模型结构
Gemma-3模型沿用了与前代版本相同的解码器Transformer结构,改进点为:增加了局部和全局注意力层的交错模式,减少了KV缓存的使用。此外,模型还支持128K令牌的长上下文,并在全局自注意力层上增加了RoPE基频率,从1万次提高到1百万次,并保持局部层的频率为1万次。
<div align=center>
    <img src="./doc/gemma2.png"/>
</div>

## 算法原理
基于人类反馈的强化学习(RLHF)使模型预测与人类偏好保持一致,机器反馈强化学习(RLMF)增强数学推理,强化学习执行反馈(RLEF),提高编码能力。
<div align=center>
    <img src="./doc/RLHF.png"/>
</div>

## 环境配置
```
mv Gemma-3_pytorch Gemma-3 # 去框架名后缀
```

### Docker(方法一)
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-py3.10-fixpy
# <your IMAGE ID>为以上拉取的docker的镜像ID替换,本镜像为:e77c15729879
docker run -it --shm-size=64G --network host -v $PWD/Gemma-3:/home/Gemma-3 -v /opt/hyhal:/opt/hyhal:ro --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name gemma3 <your IMAGE ID> bash
cd /home/Gemma-3
unzip 46350f5eae87ac1d168ddfdc57a0b39b64b9a029.zip
cd transformers-46350f5eae87ac1d168ddfdc57a0b39b64b9a029
pip install -e . # 本项目作者只支持transformers==4.50.0.dev0
```
### Dockerfile(方法二)
```
cd /home/Gemma-3/docker
docker build --no-cache -t gemma3:latest .
docker run --shm-size=64G --network host --name gemma3 -v /opt/hyhal:/opt/hyhal:ro --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video -v $PWD/../../Gemma-3:/home/Gemma-3 -it gemma3 bash
# 若遇到Dockerfile启动的方式安装环境需要长时间等待,可注释掉里面的pip安装,启动容器后再安装python库:pip install -r requirements.txt。
cd /home/Gemma-3
unzip 46350f5eae87ac1d168ddfdc57a0b39b64b9a029.zip
cd transformers-46350f5eae87ac1d168ddfdc57a0b39b64b9a029
pip install -e . # 本项目作者只支持transformers==4.50.0.dev0
```
### Anaconda(方法三)
1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装:
chenzk's avatar
chenzk committed
47
- https://developer.sourcefind.cn/tool/
chenzk's avatar
v1.0  
chenzk committed
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
```
DTK驱动:dtk2504
python:python3.10
torch:2.4.1
torchvision:0.19.1
triton:3.0.0
vllm:0.6.2
flash-attn:2.6.1
deepspeed:0.14.2
apex:1.4.0
transformers:4.50.0.dev0
```

`Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应。`

2、其它非特殊库参照requirements.txt安装
```
cd /home/Gemma-3
unzip 46350f5eae87ac1d168ddfdc57a0b39b64b9a029.zip
cd transformers-46350f5eae87ac1d168ddfdc57a0b39b64b9a029
pip install -e . # 本项目作者只支持transformers==4.50.0.dev0
```

## 数据集
`无`

## 训练


## 推理
预训练权重目录结构:
```
/home/Gemma-3
    └── google/gemma-3-27b-it
``` 

### 单机多卡
```
# transformers推理
python infer_transformers.py 

# VLLM推理的适配涉及底层需求较多,敬请期待陆续开放。
```

## result

`输入: `
```
"content": [{"type": "image", "image": "./candy.JPG"},
            {"type": "text", "text": "Describe this image in detail."}]
```

`输出:`
```
Here's a detailed description of the image:

**Overall Impression:**

The image shows a person's open palm holding four colorful, round objects that appear to be decorative stones or beads. The background is slightly blurred, suggesting a focus on the hand and the objects within it.

**Detailed Description:**

*   **Hand:** The hand is fair-skinned and appears to be an adult's. It's open, with the palm facing upwards, displaying the four objects.
```

### 精度
DCU与GPU精度一致,推理框架:pytorch。

## 应用场景
### 算法类别
`对话问答`
### 热点应用行业
`制造,广媒,金融,能源,医疗,家居,教育`
## 预训练权重
HF社区下载地址为:[gemma-3-27b-it](https://huggingface.co/google/gemma-3-27b-it)
## 源码仓库及问题反馈
- http://developer.sourcefind.cn/codes/modelzoo/Gemma-3_pytorch.git
## 参考资料
- https://huggingface.co/google/gemma-3-27b-it