当前位置: 首页 > news >正文

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

继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

http://www.lryc.cn/news/117773.html

相关文章:

  • 【Express.js】集成SocketIO
  • 为树莓派Pico配置交叉编译环境和工具链arm-none-eabi-gcc时可能会遇到的错误以及解决方案
  • Yum 部署K8S集群
  • 初阶C语言-操作符详解(下)
  • reposync命令——下载yum仓库中全部的包到本地
  • LC-杨辉三角
  • Golang空结构体struct{}的作用是什么?
  • 自然语言处理从入门到应用——LangChain:提示(Prompts)-[示例选择器(Example Selectors)]
  • 【实战项目】c++实现基于reactor的高并发服务器
  • Docker部署ElasticSearch7
  • 【算法|数组】滑动窗口
  • 笙默考试管理系统-MyExamTest----codemirror(2)
  • 一次面试下来Android Framework 层的源码就问了4轮
  • 知网期刊《中阿科技论坛》简介及投稿须知
  • kafka是有序的吗?如何保证有序?
  • centos 定时脚本检测tomcat是否启动,未启动情况下重新启动
  • 【Unity3D】消融特效
  • 10.Eclipse配置Tomcat详细教程、如何使用Eclipse+tomcat创建并运行web项目
  • MySQL索引1——索引基本概念与索引结构(B树、R树、Hash等)
  • 2023-08-06力扣今日四题
  • Kubernetes入门 三、命令行工具 kubectl
  • 18 | 基于DDD的微服务设计实例
  • router和route的区别
  • 每日后端面试5题 第五天
  • BGP基础实验
  • 在excel中整理sql语句
  • Vue中下载不同文件的几种方式
  • Ethernet/ip协议开发记录
  • Spring系列三:基于注解配置bean
  • git的简单介绍和使用