SkyWork
commited on
Commit
•
6fcd10a
1
Parent(s):
a6f36a9
Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,61 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# SkyCode
|
2 |
+
|
3 |
+
SkyCode是由奇点智源发布的多语言开源编程大模型,采用GPT3模型结构,使用海量的代码进行训练。支持Java, JavaScript, C, C++, Python, Go, shell等多种主流编程语言,并能理解中文注释。模型可以对代码进行补全,进行解题等操作,使您从编程中解放出来,专心于解决更大的问题。
|
4 |
+
|
5 |
+
|
6 |
+
## 项目亮点
|
7 |
+
|
8 |
+
1. 技术优势一 :涵盖多种编程语言
|
9 |
+
|
10 |
+
不同的编程语言着重于解决不同平台、环境下的问题,不同的编程语言都有自己存在的理由。奇点智源SkyCode能够生成的代码,不仅包括使用广泛的JavaScript、python、Java、C等,还涵盖了php、go、swift等共计十余种编程语言,使不同语言的使用者都能来体验SkyCode强大的代码生成能力。
|
11 |
+
|
12 |
+
2. 技术优势二:针对中文注释进行优化
|
13 |
+
|
14 |
+
曾经在预训练大模型领域,一直是被英文社区主导着,依托于GPT3的代码生成模型有着同样的问题。奇点智源凭借深耕中文模型的经验,针对中文的特点,优化创新使用了独特的中文编码方式,更加符合中文的语言习惯,使得模型对中文注释的理解能力更为优秀。
|
15 |
+
|
16 |
+
3. 技术优势三:极其出色的解题能力
|
17 |
+
|
18 |
+
在体现代码生成模型解题能力的HumanEval数据集上,奇点智源SkyCode的解题能力也远高出其他开源模型。
|
19 |
+
|
20 |
+
| model | pass@1 | pass@10 | pass@100 |
|
21 |
+
|:-------------- | ------:|:-------:| -------- |
|
22 |
+
| GPT-Neo 1.3B | 4.79% | 7.47% | 16.30% |
|
23 |
+
| GPT-Neo 2.7B | 6.41% | 11.27% | 21.37% |
|
24 |
+
| GPT-J 6B | 11.62% | 15.74% | 27.74% |
|
25 |
+
| SKY_code(2.6B) | 12.84% | 21.07% | 35.97% |
|
26 |
+
|
27 |
+
可以看到,参数量2.6B的SkyCode在解题能力上不仅高出参数较少的GPT-Neo 1.3B许多,也远高于参数量相当的GPT-Neo 2.7B模型。即使对比参数量更高的GPT-J 6B模型,SkyCode的解题能力也更强。在更能体现解题能力上限的pass@100指标上,SkyCode超出GPT-J的净值为8.23%。
|
28 |
+
|
29 |
+
|
30 |
+
# 奇点新闻
|
31 |
+
|
32 |
+
- [2022.12.15] [昆仑天工AIGC发布会](https://live.vhall.com/v3/lives/subscribe/697547540)
|
33 |
+
|
34 |
+
|
35 |
+
|
36 |
+
## 依赖
|
37 |
+
|
38 |
+
```
|
39 |
+
推荐
|
40 |
+
transformers>=4.16.0
|
41 |
+
```
|
42 |
+
|
43 |
+
## 模型使用
|
44 |
+
|
45 |
+
```python
|
46 |
+
# -*- coding: utf-8 -*-
|
47 |
+
from transformers import GPT2LMHeadModel
|
48 |
+
from transformers import AutoTokenizer
|
49 |
+
from transformers import TextGenerationPipeline
|
50 |
+
|
51 |
+
model = GPT2LMHeadModel.from_pretrained("SkyWork/SkyCode")
|
52 |
+
tokenizer = AutoTokenizer.from_pretrained("SkyWork/SkyCode", trust_remote_code=True)
|
53 |
+
text_generator = TextGenerationPipeline(model, tokenizer, device=0)
|
54 |
+
input_str = "if __name__"
|
55 |
+
max_new_tokens = 40
|
56 |
+
print(text_generator(input_str, max_new_tokens=max_new_tokens, do_sample=True))###
|
57 |
+
```
|
58 |
+
|
59 |
+
# 版权许可
|
60 |
+
|
61 |
+
[MIT License](LICENSE)
|