又一个不可错过的编程大模型来了让你惊呼“码农人生”不虚此行

96 篇文章 2 订阅
90 篇文章 0 订阅

继Stable Diffusion爆火之后,StabilityAI近期又放大招,推出了号称是革命性的编程大模型StableCode。StableCode是其首款用于编码的LLM生成式AI产品,该产品旨在帮助程序员完成日常工作。目前已发布的版本为StableCode-Completion-Alpha-3B,是一个包含30亿个参数的代码补全模型,针对多种编程语言进行了预训练,这些编程语言是基于2023年stackoverflow开发者调查的最常用语言。30cde8015bf9a15782375ca62cf243e0.jpeg
StableCode模型特性StableCode模型的特色在于,能够理解和处理长篇幅上下文,也就是模型在做决策时,能够更广泛地考虑前后相邻的数据,也就是具有一次处理更多程序代码Token的能力,进而提供更精确有用的建议。官方提到,StableCode一次可以处理的程序代码Token为16000,是此前开源模型的2-4倍,用户能够一次处理的文件量,约是5个一般大小的Python文件。1b0546ef1ddbc8c403fa829411eb42fb.jpeg
StableCode模型训练分为三个阶段
- 最初Stability AI使用来自BigCode项目的stack-dataset v1.2数据集,对基础模型进行多语言训练。- 接着针对热门程序语言,诸如Python、Go、Java、Javascript、C、markdown和C++进行特化训练,总共使用了5,600亿个Token训练模型。- 基础模型创建完成后,官方进一步针对特定用途调校指令模型,以解决复杂的程序开发任务,在基础模型上训练了约12万个Alpaca格式的程序代码指令和回应数据对。5dea0a94dfe3a7c9ceef31b517785f52.jpeg
StableCode如何使用
StableCode模型旨在遵循指令来生成代码,用于训练模型的数据集采用羊驼格式。16K上下文

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("stabilityai/stablecode-completion-alpha-3b")

model = AutoModelForCausalLM.from_pretrained( 

  "stabilityai/stablecode-completion-alpha-3b",

trust_remote_code=True, 

 torch_dtype="auto",

)

model.cuda()

inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to("cuda")

tokens = model.generate( 

 **inputs, 

 max_new_tokens=48,

 temperature=0.2, do_sample=True,

)

print(tokenizer.decode(tokens[0], skip_special_tokens=True))

4K上下文

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("stabilityai/stablecode-completion-alpha-3b-4k")

model = AutoModelForCausalLM.from_pretrained( 

  "stabilityai/stablecode-completion-alpha-3b-4k",

trust_remote_code=True, 

 torch_dtype="auto",)

model.cuda()

inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to("cuda")

tokens = model.generate(

 **inputs, max_new_tokens=48,

 temperature=0.2, do_sample=True,

)

print(tokenizer.decode(tokens[0], skip_special_tokens=True))

下面是一个StableCode利用Pytorch深度学习库完成一个相对复杂的Python文件展示(灰色文本显示了StableCode的预测)。e5d6b4ce33f032409a8010a8b6acce33.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值