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

什么站做咨询网站好做代练去什么网站安全

什么站做咨询网站好,做代练去什么网站安全,如何做公司自己的网站,徐州手机网站设计GitHub CoPilot拥有超过130万付费用户#xff0c;部署在5万多个组织中#xff0c;是世界上部署最广泛的人工智能开发工具。使用LLM进行编程辅助工作不仅提高了生产力#xff0c;而且正在永久性地改变数字原住民开发软件的方式#xff0c;我也是它的付费用户之一。 低代码/…GitHub CoPilot拥有超过130万付费用户部署在5万多个组织中是世界上部署最广泛的人工智能开发工具。使用LLM进行编程辅助工作不仅提高了生产力而且正在永久性地改变数字原住民开发软件的方式我也是它的付费用户之一。 低代码/无代码平台将使应用程序创建、工作流自动化和数据分析更加广泛的应用这种变革潜力支撑着人们对开源替代方案的极大兴趣我们今天将要介绍的这个令人兴奋的发展。最近BigCode与NVIDIA合作推出了StarCoder2这是一系列专为编码而设计的开放式LLM我认为在大小和性能方面是目前最好的开源LLM。 在本文中我们将介绍StarCoder2的一些基本信息然后建立一个本地环境搭建StarCoder2-15B模型并用Python, JavaScript, SQL, c和Java测试其编码能力。 StarCoder2简介 StarCoder2模型有三种不同大小可供选择包括3B、7B和15B参数并且支持广泛的编程语言。每个模型都是在The Stack v2上进行训练的这是当前最广泛的用于LLM预训练的开源代码数据集。模型的主要特点如下 3B由ServiceNow提供、7B由Hugging Face提供和15B参数版本由NVIDIA使用NVIDIA NeMo所有模型使用分组查询注意力Grouped Query Attention上下文窗口为16,384个标记滑动窗口注意力为4,096个标记模型是使用填空目标Fill-in-the-Middle objective进行训练的训练时使用了3 T3B、3.5 T7B、4 T15B标记以及600多种编程语言StarCoder2–15B在StarCoder2模型中是最佳的并在许多评估中与其他33B模型相匹配。StarCoder2–3B的性能与StarCoder1–15B相当训练时使用了1024 x H100 NVIDIA GPU所有模型均具有商业友好的许可证 StarCoder2的能力特别是15B模型在性能指标中明显优于其他相同尺寸的模型并且与CodeLlama-34B相匹配。 在具有16K标记的上下文长度下模型处理广泛的代码库和指令确保了全面的代码理解和生成能力。 StarCoder2安装 为了简单起见我们使用venv创建虚拟环境然后安装相应的包 # Create a virtual environmentmkdirstarcoder2cdstarcoder2python3-mvenvstarcoder2-envsourcestarcoder2-env/bin/activate# Install dependenciespip3installtorchpip3installgithttps://github.com/huggingface/transformers.gitpip3installdatasetspip3installipykerneljupyterpip3install--upgradehuggingface_hubpip3installaccelerate# to run the model on a single / multi GPUpip3installbitsandbytes# Loging to Huggingface Hubhuggingface-clilogin# Optionally, fire up VSCode or your favorite IDE and lets get rolling!code .看看15B模型的内存占用: torch.bfloat16,~32.2 GBload_in_8bit, ~16.9 GBload_in_4bit, ~9.2 GB 可以看到如果使用24G的GPU那么最高的量化模型是8bit所以这里我们呢直接使用它 fromtransformersimportAutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig#如果你的内存太小需要使用 4bit 那么用这个参数 load_in_4bitTrue quantization_configBitsAndBytesConfig(load_in_8bitTrue)checkpointbigcode/starcoder2-15btokenizerAutoTokenizer.from_pretrained(checkpoint)modelAutoModelForCausalLM.from_pretrained(checkpoint, quantization_configquantization_config)这样模型就会自动下载和加载 让我们检查模型的内存占用: print(fMemory footprint: {model.get_memory_footprint() /1e6:.2f} MB)# Memory footprint: 16900.18 MB这样模型就算加载成功了下面我们使用5道不同语言的编码题如Python, JavaScript, SQL, c和Java来评估其编码能力。 编码能力测试 我们直接调用generate函数就可以获得模型的输出这里也可以更改max_length来获得更多的上下文 inputstokenizer.encode(def factorial(n):, return_tensorspt).to(cuda)outputsmodel.generate(inputs, eos_token_idtokenizer.eos_token_id, max_length100, num_return_sequences1)print(tokenizer.decode(outputs[0]))下面的prompt就是我们让它为我们的函数进行补全我们输入的是 def factorial(n):让模型帮我们继续生成这个函数结果如下 def factorial(n):if n 0:return 1else:return n * factorial(n-1)print(factorial(5))Python中使用递归计算数字的阶乘是正确的。当调用factorial(5)时它会正确地计算出5。如果n 0返回1确保递归正确结束。因为我们没有输入任何要求所以它返回这个结果没有任何问题并且这个函数是可以正确运行的看样子还不错。 下面我们来进行一个JS的问题后面我们就不编写代码了直接输入我们的prompt function filterArray(arr) {// Complete the function to filter out numbers greater than 10结果如下 function filterArray(arr) {// Complete the function to filter out numbers greater than 10return arr.filter(function(num){return num 10;});}filterArray函数使用array .prototype.filter方法该方法创建一个包含所有通过所提供函数实现的测试的元素的新数组。测试是num 10因此新数组将只包含小于或等于10的数字有效地过滤掉所有大于10的数字。这也是按照我们的函数注释要求来编写的。 下一个是SQL语句 # generate a SQL query that selects all columns from a table named employees where the salary is greater than 50000.SELECT * FROM employees WHERE结果如下 SELECT * FROM employees WHEREsalary 50000;c #include iostreamclass Rectangle {private:int width, height;public:Rectangle(int w, int h) : width(w), height(h) {}// Complete the class with methods to calculate area and perimeterint getArea();int getPerimeter();};结果如下 #include iostreamclass Rectangle {private:int width, height;public:Rectangle(int w, int h) : width(w), height(h) {}// Complete the class with methods to calculate area and perimeterint getArea();int getPerimeter();};int Rectangle::getArea() {return width * height;}int Rectangle::getPerimeter() {return 2 * (width height);}int main() {int w, h;std::cin w h;Rectangle r(w, h);std::cout r.getArea() std::endl;std::cout r.getPerimeter() std::endl;return 0;}Rectangle类的实现是正确的。它正确地定义了成员函数getArea和getPerimeter分别计算并返回矩形的面积和周长。main函数从标准输入中读取矩形的宽度和高度然后创建一个rectangle对象r并输出其面积和周长。 运行这个程序时它将等待用户输入两个整数(表示宽度和高度)然后它将根据这些值显示计算出的面积和周长。 Java public class Main {public static boolean isPrime(int number) {// Complete the method to check if number is prime}}结果如下 public class Main {public static boolean isPrime(int number) {if (number 1) {return false;}for (int i 2; i number; i) {if (number % i 0) {return false;}}return true;}}代码在语法和逻辑上都是正确的它涵盖了排除小于或等于1的数字的基本情况并迭代检查给定数字的任何除数。如果找到除数则返回false;如果没有找到除数则返回true正确识别该数为素数。 总结 上面的几个简单的例子可以证明StarCoder2作为Copilot的本地替代应该是没有问题的我们日常工作中也只是让LLM帮我们完成一些简单的代码并不会让他进行具体的系统设计工作所以StarCoder2在这方面应该是没问题的。 但是我们也可以看到在所有这些例子中代码都是有优化的空间的如果你需要极致的效率恐怕StarCoder2做不到估计Copilot也做不到。 目前看StarCoder2是拥有巨大的潜力特别是考虑到它的大小和性能指标。虽然完全取代GitHub Copilot估计还做不到。因为它还有一些小毛病比如在提供解决方案后它会不时输出额外的乱码这可能和精度有关据说使用版精度或全精度会好但我不确定。 另外就是它需要在本地占用大约16G的显存如果没有显卡使用cpu推理的话那就需要额外的16G内存并且速度还很慢但是国内Copilot也不快。 如果你没有Copilot它还是值得一试的因为毕竟对于我们来说多了一个选择和获取解决方案的渠道。这里我们也可以看到在2024年这类高性能的开源编码LLM还会继续发展我们会深入的关注它的发展。 论文地址 https://avoid.overfit.cn/post/c6c8a0130c934a4da024ebdb8108ae8d 作者Datadrifters
http://www.zqtcl.cn/news/875339/

相关文章:

  • 怎么看一个网站是谁做的怎么做网站内容调研
  • 网站模板 修改erp登录入口
  • 沧州网站建设设计网站左侧浮动代码
  • 1天学会搭建营销网站ppt超链接网站怎么做
  • 兰州网站设计公司有哪些网站开发中如何实现gps定位
  • 做视频赚钱的网站大型网站权限设计
  • 黑龙江建设银行交通违法网站单页网站定义
  • 广东工程建设监理协会网站哈尔滨网站建设服务
  • 房产网站建设方案项目书wordpress调用微博
  • 酒水销售网站模板世代网络高端企业网站建设设计功能公司
  • 怎样做网站赚钱网站建设公司fjfzwl
  • zeronet网站开发安徽建筑大学学工在线网站
  • wordpress文章自动更新关键词seo优化软件
  • 网站的备案流程图python是做网站的吗
  • 网站搭建合同怎么快速优化关键词排名
  • 什么网站可以做推广百度登录入口
  • 公司备案网站负责人是谁刷网站关键词工具
  • 比较好的建立站点网页美工设计从入门到精通
  • 新手做网站流程网店推广计划怎么写免费的
  • 怎么建造自己的网站朋友圈推广文案
  • 用什么程序做网站潍坊做电商的网站
  • 雅客网站建设网站如何挂马教程
  • 手机网站开发兼容性wordpress下载主题footer
  • 资讯网站模板带会员投稿功能怎么查网站开发的语言
  • 个人网站搭建平台wordpress免费还是收费
  • 网站优化协议嘉兴企业网站设计哪家好
  • 英文网站设计哪家好用php做的网站用什么数据库
  • 公司网站建设包括服装设计公司效果图
  • 做网站怎么购买主机下载安装百度一下
  • wordpress网站 搬家大型网站开发什么书籍好