SkyCode是由奇點智源發布的多語言開源編程大模型,採用GPT3模型結構,使用海量的代碼進行訓練。支持Java, JavaScript, C, C++, Python, Go, shell等多種主流編程語言,並能理解中文註釋。模型可以對代碼進行補全,進行解題等操作,使您從編程中解放出來,專心於解決更大的問題。
技術優勢一:涵蓋多種編程語言
不同的編程語言著重於解決不同平台、環境下的問題,不同的編程語言都有自己存在的理由。奇點智源SkyCode能夠生成的代碼,不僅包括使用廣泛的JavaScript、python、Java、C等,還涵蓋了php、go、swift等共計十餘種編程語言,使不同語言的使用者都能來體驗SkyCode強大的代碼生成能力。
技術優勢二:針對中文註釋進行優化
曾經在預訓練大模型領域,一直是被英文社區主導著,依託於GPT3的代碼生成模型有著同樣的問題。奇點智源憑藉深耕中文模型的經驗,針對中文的特點,優化創新使用了獨特的中文編碼方式,更加符合中文的語言習慣,使得模型對中文註釋的理解能力更為優秀。
技術優勢三:極其出色的解題能力
在體現代碼生成模型解題能力的HumanEval數據集上,奇點智源SkyCode的解題能力也遠高出其他開源模型。
model | pass@1 | pass@10 | pass@100 |
---|---|---|---|
GPT-Neo 1.3B | 4.79% | 7.47% | 16.30% |
GPT-Neo 2.7B | 6.41% | 11.27% | 21.37% |
GPT-J 6B | 11.62% | 15.74% | 27.74% |
SKY_code(2.6B) | 12.84% | 21.07% | 35.97% |
可以看到,參數量2.6B的SkyCode在解題能力上不僅高出參數較少的GPT-Neo 1.3B許多,也遠高於參數量相當的GPT-Neo 2.7B模型。即使對比參數量更高的GPT-J 6B模型,SkyCode的解題能力也更強。在更能體現解題能力上限的pass@100指標上,SkyCode超出GPT-J的淨值為8.23%。
——————————————————————————————————————————————————————————
推荐
transformers>=4.18.0
# -*- coding: utf-8 -*-
from transformers import GPT2LMHeadModel
from transformers import AutoTokenizer
from transformers import TextGenerationPipeline
model = GPT2LMHeadModel . from_pretrained ( "SkyWork/SkyCode" )
tokenizer = AutoTokenizer . from_pretrained ( "SkyWork/SkyCode" , trust_remote_code = True )
text_generator = TextGenerationPipeline ( model , tokenizer , device = 0 )
input_str = "if __name__"
max_new_tokens = 40
print ( text_generator ( input_str , max_new_tokens = max_new_tokens , do_sample = True ))
https://huggingface.co/SkyWork/SkyCode
MIT License