File size: 4,425 Bytes
ed69c50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
47
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
<div align="center">
<h1>
 DevOps-Model-7B-Base
</h1>
</div>

<p align="center">
🤗 <a href="https://huggingface.co/codefuse-ai" target="_blank">Hugging Face</a> • 
🤖 <a href="https://modelscope.cn/organization/codefuse-ai" target="_blank">ModelScope</a> 
</p>

DevOps-Model 是一个**开发运维大模型**,主要致力于在 DevOps 领域发挥实际价值。目前,DevOps-Model 能够帮助工程师回答在 DevOps 生命周期中遇到的问题。欢迎访问我们 Github 获取更多信息 [DevOps-Model](https://github.com/codefuse-ai/CodeFuse-DevOps-Model)

DevOps-Model-7B-Base 是我们经过高质量 DevOps 语料训练基于 Qwen-7B 加训后的 **Base** 模型。我们的 Base 模型在开源和 DevOps 领域相关的评测数据上可以取得同规模模型中的**最佳效果**。同时我们也开源了经过对齐后的 [DevOps-Model-7B-Chat](https://modelscope.cn/models/codefuse-ai/CodeFuse-DevOps-Model-7B-Chat/summary) 模型,和 14B 参数量的[DevOps-Model-14B-Base](https://modelscope.cn/models/codefuse-ai/CodeFuse-DevOps-Model-14B-Base/summary)  和 [DevOps-Model-14B-Chat](https://modelscope.cn/models/codefuse-ai/CodeFuse-DevOps-Model-14B-Chat/summary)  。
<br>
同时我们也在搭建 DevOps 领域专属的评测基准 [DevOpsEval](https://github.com/luban-agi/DevOps-Eval),用来更好评测 DevOps 领域模型的效果。

<br>
<br>

# 模型评测
我们先选取了 CMMLU 和 CEval 两个评测数据集中和 DevOps 相关的一共六项考试。总计一共 574 道选择题,具体信息如下:

|  评测数据集 | 考试科目  | 题数  | 
|-------|-------|-------|
|   CMMLU  | Computer science | 204 |
|   CMMLU  | Computer security | 171 |
|   CMMLU  | Machine learning | 122 |
| CEval   | College programming | 37 |
| CEval   | Computer architecture | 21 |
| CEval   | Computernetwork | 19 |

我们分别测试了 Zero-shot 和 Five-shot 的结果,我们的 DevOps-Model-7B-Base 模型可以在测试的同规模的开源 Base 模型中取得最高的成绩,后续我们也会进行更多的测试。

|模型|模型大小|Zero-shot 得分|Five-shot 得分|
|--|--|--|--|
|**DevOps-Model-7B-Base**|**7B**|**62.72**|**62.02**|
|Qwen-7B-Base|7B|55.75|56.0|
|Baichuan2-7B-Base|7B|49.30|55.4|
|Internlm-7B-Base|7B|47.56|52.6|



<br>

# 快速使用
我们提供简单的示例来说明如何利用 🤗 Transformers 快速使用 Devops-Model-7B-Base 模型

## 要求
- python 3.8 及以上版本
- pytorch 2.0 及以上版本
- 建议使用CUDA 11.4及以上


## 依赖项安装
下载模型后,直接通过以下命令安装 requirements.txt 中的包就可以
```bash
cd path_to_download_model
pip isntall -r requirements.txt
```

## 模型推理示例

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig

tokenizer = AutoTokenizer.from_pretrained("path_to_DevOps-Model-7B-Base", trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained("path_to_DevOps-Model-7B-Base", device_map="auto", trust_remote_code=True, bf16=True).eval()

# 指定 generation_config
model.generation_config = GenerationConfig.from_pretrained("path_to_DevOps-Model-7B-Base", trust_remote_code=True)

inputs = '''Java 中 HashMap 的实现原理是'''
input_ids = tokenizer(inputs, return_tensors='pt')
input_ids = input_ids.to(model.device)
pred = model.generate(**input_ids)

print(tokenizer.decode(pred[0]))
# Java 中 HashMap 的实现原理是数组 + 链表,数组存放的是链表中的每个节点,链表中的每个节点又存放着下一个节点的地址,从而实现了链表的遍历。当链表长度大于 8 时,链表就会转换成红黑树,从而加快了查询速度。...
```



# 免责声明
由于语言模型的特性,模型生成的内容可能包含幻觉或者歧视性言论。请谨慎使用 DevOps-Model 系列模型生成的内容。
如果要公开使用或商用该模型服务,请注意服务方需承担由此产生的不良影响或有害言论的责任,本项目开发者不承担任何由使用本项目(包括但不限于数据、模型、代码等)导致的危害或损失。



# 致谢
本项目参考了以下开源项目,在此对相关项目和研究开发人员表示感谢。
- [LLaMA-Efficient-Tuning](https://github.com/hiyouga/LLaMA-Efficient-Tuning)
- [Qwen-7B](https://github.com/QwenLM/Qwen-7B/tree/main)