IBM Granite模型开源:推动软件开发领域的革新浪潮

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

下载: GitHub - ibm-granite/granite-code-models: Granite Code Models: A Family of Open Foundation Models for Code Intelligence

开源大型语言模型(LLMs)并非易事。就拿开源倡议组织(OSI)来说,他们已经花了近两年时间致力于开发一个与AI兼容的开源定义。一些公司——例如Meta——声称已经开源了他们的LLMs(实际上并没有)。但现在,IBM已经实际行动起来。

IBM通过使用来自公开可用数据集的预训练数据来管理Granite代码的开源,例如GitHub Code Clean、Starcoder数据、公开代码库和GitHub问题。简而言之,IBM为避免版权或法律问题付出了极大的努力。Granite Code Base模型训练在3至4TB的代码数据和自然语言代码相关数据集上。

所有这些模型都在Apache 2.0许可下获得授权,用于研究和商业用途。正是最后一个词——商业——阻止了其他主要LLMs的开源。没有其他人想要分享他们的LLM宝藏。

但正如IBM研究部首席科学家Ruchir Puri所说:“我们正在通过发布性能最高、成本最有效的代码LLMs,改变软件的生成式AI格局,使开放社区能够无限制地创新。”

或许没有限制,但这并不意味着没有特定的应用目标。

正如IBM生态系统总经理Kate Woolley去年所言,这些模型并不是“试图成为面向所有人的所有事物。这不是关于为你的狗写诗。这是关于可以调整的、非常针对我们希望企业使用的商业用例的精选模型。具体来说,它们用于编程。”

这些仅限解码器的模型,训练覆盖了116种编程语言的代码,从30亿到340亿参数不等。它们支持许多开发者用途,从复杂的应用现代化到内存受限的设备上的任务。

IBM已经在其IBM Watsonx代码助手(WCA)产品中内部使用了这些LLMs,例如用于IT自动化的WCA for Ansible Lightspeed和用于现代化COBOL应用程序的WCA for IBM Z。虽然并非每个人都负担得起Watsonx,但现在任何人都可以使用IBM和Red Hat的InstructLab来操作Granite LLMs。

正如Red Hat的高级副总裁兼首席产品官Ashesh Badani所说,InstructLab将“降低面向混合云的GenAI的许多障碍,从有限的数据科学技能到所需的庞大资源。”其目的是降低希望使用LLMs的开发者的入门级别。

有多低?正如Matt Hicks在Red Hat峰会上所说:“就在一年前,还需要配备高端、相当奇特的硬件的功能,现在可以在笔记本电脑上运行。曾花费数亿美元的训练技术,现在只需几千美元就能复制。”

例如,除了InstructLab,你还可以使用Ollma在本地运行LLMs。正如Bala Priya C在KDnuggets中解释的那样,“使用Ollma,运行LLM所需的一切——模型权重和所有配置——都打包在一个Modelfile中。想象一下LLMs的Docker。”这些模型可在Hugging Face、GitHub、Watsonx.ai和Red Hat企业Linux (RHEL) AI等平台上获得。

IBM预计,程序员在使用Granite LLMs编写代码的同时,将通过使用这些LLMs来创建测试、发现和修复bug,节省时间和精力。“开发

者日常工作中的许多平凡但必不可少的任务——从生成单元测试到编写文档或进行漏洞测试——都可以通过这些模型自动化。”

此外,IBM认为Granite模型因其明确的许可和训练方式,以及已清洁和过滤了仇恨、滥用和粗俗语言的数据,对开发者有所帮助的同时,也能带来商业利益。

因此,如果你的公司因法律原因犹豫不决地探索使用AI构建程序,IBM现在为你提供了改进软件开发工作所需的开源工具。尝试一下吧。你们中的一些人将会用这些Granite块建造伟大的东西。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/626814.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

01基础篇

1、初识 JVM 1.1 什么是 JVM JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 Java源代码执行流程如下: 分为三个步骤: 编写Java源代码文件。使用…

【Linux】线程机制解析:理解、优势与Linux系统应用

文章目录 前言:1. 线程概念1.1. 什么是线程1.2. 线程得优点:1.3. 线程的缺点线程异常线程的用途 2. 线程的理解(Linux 系统为例)2.1. 为什么要设计Linux“线程"?2.2. 什么是进程?2.3. 关于调度的问题2…

基于EBAZ4205矿板的图像处理:11阈值系数可调的图像局部阈值二值化

基于EBAZ4205矿板的图像处理:11阈值系数可调的图像局部阈值二值化 没写完,局部阈值二值化算法本身和算法的fpga部署思路没有讲,有空时补充 先看效果 还是一样拿我的pynq当模特,然后用usb——HDMI采集卡把输出图像采集到电脑上。…

每日一题12:Pandas:数据重塑-融合

一、每日一题 解答: import pandas as pddef meltTable(report: pd.DataFrame) -> pd.DataFrame:reshaped_report report.melt(id_varsproduct, var_namequarter, value_namesales)return reshaped_report 题源:Leetcode 二、总结 melt()函数是Pa…

为什么需要使用SOCKS5代理?

SOCKS代表Socket Secure,是一种网络协议,能够在网络上进行数据传输。SOCKS5是SOCKS协议的第五个版本,它提供了更加安全和灵活的数据传输方式,因此在网络安全和隐私保护方面被广泛应用。在我们的日常生活中,为什么需要使…

2024年5月13号刷题相关事项个人总结

01.01.03 LeetCode 入门及攻略(第 01 ~ 02 天) 1. LeetCode 是什么 「LeetCode」 是一个代码在线评测平台(Online Judge),包含了 算法、数据库、Shell、多线程 等不同分类的题目,其中以算法题目为主。我们…

jar包安装成Windows服务

一、前言 很多年前写过一篇《使用java service wrapper把windows flume做成服务》的文章,也是把jar包安装成windows服务,今天介绍另外一种更简便的方案。 二、正片 这次使用的工具是 winsw,一个Windows服务包装器。下面看详细介绍 首先从g…

开源禅道zentao的使用

很不幸禅道因为漏洞被人进攻了,被迫研究。 1.安装 直接使用docker进行部署,这里有非常多门道。官网的镜像easysoft-zentao是属于docker安装,而idoop的镜像虽然也是docker安装,但是实际是使用官网linux一键安装的版本&#xff0c…

默认成员函数:析构、深浅拷贝

析构函数 析构函数:与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。 特性 析构函数名时在类名前面加上字符~ class D…

国产华为设备:NAT地址转换实验

NAT地址转换实验 实验背景: 由于IPV4地址紧缺,企业内部一般都使用私有IP地址,然而,企业客户需要不定期访问公司内网,同时部分企业还会对外提供相应服务,此时需要配置NAT来实现这些需求。 实验目的&#xff…

WD—C++课前作业—30题

怎么会手和脚都在桌子上 目录 31,声明一个类 String,其数据成员为 char head[100],构造函数 String(char*Head)实现 head 的初始化,成员函数 void reverse()实现 head 内字符串的逆序存放,成员函数 void print()实现 head 内字符串的输出。…

第15节 编写shellcode加载器

我最近在做一个关于shellcode入门和开发的专题课👩🏻‍💻,主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料,内容里面的每一个环境我都亲自测试实操过的记录,有需要的小伙伴可以参考…

数据结构进阶——搜索二叉树

数据结构进阶——二叉搜索树 1. 二叉搜索树的概念和定义2. 二叉搜索树的操作2.1 二叉搜索树的插入2.2 二叉搜索树的查找2.3 二叉搜索树的删除 3. 二叉搜索树的实际应用3.1 两种模型加二叉搜索树完整代码3.2 KV模型练习 4. 二叉搜索树性能分析 1. 二叉搜索树的概念和定义 1. 二叉…

航电AFDX板卡,标准PMC规格、高性能ARINC664网络接口板卡

是一款标准PMC规格、高性能ARINC664网络接口板卡。该产品支持ARINC664网络仿真、测试及数据分析等应用需求;支持2个ARINC664端口,采用RJ45插件形式,每个端口高达64K缓存,2个端口可作为2个独立端口,也可作为冗余端口使用…

10G UDP协议栈 IP层设计-(5)IP RX模块

一、模块功能 1、解析目的IP是否是本节点的源IP,如果是则进行如下的处理,如果不是则无需上上级传递 2、提取MAC层发送过来的IP报文,并提取其中的数据字段(上层协议字段),传递给上级 3、提取IP报文头中的…

Android Studio无法使用Google翻译问题记录

背景 其实关于Google翻译不能用的问题已经出现很久了,之前Google关掉了很多国内的一些Google服务,但是Google翻译还是能用的,直到不知什么时候起,Google翻译也不能用呢。 每次换电脑安装完AS后第一件事就是下载插件 Settings-Pl…

[ardunio ide导入blinker库]

1 blinker库下载地址 https://github.com/blinker-iot/blinker-library2 导入方法一 zip导入 项目 -> 导入库 ->添加.zip库 3 导入方法二

排序(一)----冒泡排序,插入排序

前言 今天讲一些简单的排序,冒泡排序和插入排序,但是这两个排序时间复杂度较大,只是起到一定的学习作用,只需要了解并会使用就行,本文章是以升序为例子来介绍的 一冒泡排序 思路 冒泡排序是一种简单的排序算法,它重复地遍历要排序的序列,每次比较相邻…

【web网页开发制作】Html+Css+Js游戏主题特效及轮播效果网页作业天涯明月刀(7页面附源码)

HTMLCSSJS游戏主题轮播效果 🍔涉及知识🥤写在前面✨特效展示特效1、轮播幻灯效果特效2和3、鼠标悬浮及点击效果 🍧一、网页主题🌳二、网页效果Page1、首页Page2、游戏简介Page3、新闻中心Page4、互动专区Page5、视听盛宴Page6、用…

基于MSWA相继加权平均的交通流量分配算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于MSWA相继加权平均的交通流量分配算法matlab仿真.如图所示交通网络中,包含6个节点、11各路段、9个OD对。经枚举可得每个OD对间存在3条无折返有效路…