粉丝7.0万获赞9.8万



star coder 这个开源的这样一个项目,这个项目的话呢,主要是通过 ai 的,怎么来编写程序的?通过 ai 来编程的,之前我们也讲过纳木尔呃 power 的,它的那个编程能力也是非常强。这个 star coder 这个项目是哈根费是开源的, 因为 google 的那个 pam 二这个项目的话呢,它是一个必源的项目,所以对我们工程师来讲肯定不是很友好,他是要商业收费的,那所以的话呢,就他他跟 face, 他就推出来这个叫 star coder 这样的一个项目。呃,这个项目的他的能力也是非常强,能够支持八十多种的这个开发的语语言,他等于是这样, 上次我们也是讲过的,他这个项目,他的他的性能还是非常好的,他自己录了一下,他有两个评测,一个呢叫 human e v a l, 还有一个呢, m p p b b 这个两个,那个专门做那个项目,就是编程能力评测的, 这样的两个培训啊,评测的标准,他等于啊,他把它给公布出来了,他的得分是非常高的,他最高的是经过他微调的这个分数,这个 human e value 他达到了四十点八。 最差的嘛是那个呃, manta 开源的这个 l l a m a 杠七 b 的这个模型只有幺零点四,所以它这个差距还是非常大的。 我们之前讲过的那个 pam 一, pam 一的话呢,就是 pam 杠幺五四零 b 的,它是二十二点六分。最新的 pam 二,我也可以给大家看一下, pam 二的话呢,大概是在三十六分左右,三十五分左右,它差不多是这样的一个水平,当然它公布的是 pam 二的 smooth 这个类型, pmart 最小的那个模型大概在三十五分。所以 star code 这个开源的项目的话,其实它的编程方面的这个能力的话呢,就达到了这个目前最新的 part mark 的这样的一个能力啊,它 他的能力应该还是比较强的,他的这个经过微调之后的话呢,他的能力会更强,只要超过四十分,他等于是这样就先给大家普及在这个 starco 的这个项目的,别人说你这个这个东西开源出来有什么什么用呢? 有些什么用?那么我们再来讲这样一篇文章,这篇文章也是哈根 face 最近刚刚分享出来的,它主要是讲用 stock 的这个项目去创建一个编码的一个智能的 ai 助理,它等于是这样, 因为我们在这个编码过程当中呢,可能有各种各样的问题,其实你是可以跟机器人去聊天的,因为我们清楚水平高的有些人他其实是挺忙的,而且工程师 茶的沟通能力也不是非常强,所以呢,如果他有一个聊天机器人,他可以可以辅助这些人去处理这些问题的呢,也是非常好的。这篇文章我觉得它的价值是在于我们可以看用这样一个 star 扣的这样的一个项目,呃,如果我们要把它微调成为一个应用,他们是怎么做? 我们可以一起来看一看他这个项目。哈根 face 上面呢,也已经把 start chart 就是把 star code 它经过微调之后就变成一个 start chart 的这样的一个项目给放出来的,那么他呢,也是可以就是跟呃让工程师去跟他聊天的,然后你可以把一系列的问题,你不懂的问题,甚至你把代码扔给他,他可以做各种各样的事情,可以帮你去解答,可以帮你去修 bug, 他的也是这样,那么我们看看他的这个创新点,他这个项目创新点 这篇文章我看过之后呢,它其实还是有蛮大的一些亮点的。第一个我们去看 starco 的这个项目,它本身就是基础的编码能力是非常强,但是呢它如果经过微调之后,它的编码能力会更好,它等于是这样啊, 他的对编码的这个能力会更强,跟人的那个交互能力会更好,更能够辅助这些人,这个工程师的这样一个作用,我们看看他是怎么做的,他是怎么做到的,他 首先呢就是讲了一些一般情况聊天的,我们人和这个助理经常会多轮对话的这种方式去沟通,他等于是这样,但是呢你要做一个编程的这样的一个助理,首先你要有这些数据员,那这个数据员从哪里来?所以他跟 face 上面他就讲了,他是从有两个数据,一个呢叫欧奔 assistance, 有一个 data sense, 大概有四万个,这个就是 conversation, 就是对话的这样的一个数据员。还有一个呢就是叫 c a g p t data sent, 它大概有九万个 conversation, 有九万个绘画,它这个 c a g a g p t 的这个 conversation 呢,它主要是来自于这个人和 g p t 之间的这个对话,它的嗯, 就是他是通过这个两个数据集来进行,来进行,就是微需要的啊。那么光有这个数据之后呢,我们再来看一下他用一个什么样的格式,他这个里面也讲到了,就为了他让这代码编码的 这个聊 ai 的这样的一个助手能够更加地适应他的这个多轮的对话的这个场景。所以呢他又设计了几个不同的角色,第一种角色呢他就用户,第二种角色他叫做 assistant, 就是助理。第三种角色呢叫 system, 就是系统,所以他多定义了一个角色叫系统,他等于是这样,那所以的话呢,他要把他们这些, 呃有一些他们的描述,他们对话的一些系统的一些信息和一些条件,他要作为一个就是系统的上下文,他要呃 用一个这样的一个系统,这样的一个角色去描述这些东西。用户对话的话呢,一般呢用户主要是还是提问 as assistant 呢?主要是回答一些问题。除了这些东西呢,他也会发现,就有些时候呢,他这个机器人他会 按的会产生内容,所以呢它还要有一个这个中指符,就 and 结束结束这轮对话的这样的一个标志,呃,所以它有个 and, 所以它有四个这样的一个系统的一个 这个等于是一个符号,他等于他也是通过那个哈根 face 里面把这个系统的这个符号能够把它给加进去。他主要是在预处理数据的时候,他把这预处理这个 buy log, 就是对话的这个数据的时候,在预处理这个数据的时候把这个词先给加进去,他等于是这样 加进去完了之后的话呢,然后呢他在在那个 alter alter tokenize 的这个地方,他要指定一些特殊的这类似的这个指令,他就指定了四个,他的意思就是前面讲的 system 还有 assistant, 还有一个 user, 还有一个 end, 它就指定了它,它就它就把这个数据放到这个里面进行预处理,预处理完了之后它会变成正式预训练的这个数据,这个数据 后呢还要进行微调,微调的话是用了上次我们也是讲过的,微软有一个开源的叫 deep speed 这样的一个项目去做微调的,因 因为它这个项目的话呢,就是这个 model 的它的参数还是比较大的,它有一百六十亿的这样的一个参数,其实模型相对来讲还是比较大的,它是将近需要要有那个六十 gb 的这样的一个呃, gpu 的这样的一个内存,所以的话呢,它用 deep speed 的去做这样的一个 训练的。那么训练过程当中呢,他也用了那个 rora 的这样的一个模型,用了那个哈根 face 的的 perfect 这样的一个 library, 他就用了这些相关的一些技术,然后也用了 it speed 做了一个加速训练的这样的一个支撑,这个是分布式的这样的一个训练的框架,他把这个东西整合起来进行微调和训练。 他这篇文章里面也把具体的那个微调训练的所有的过程都记录了一下,所以我觉得还是比较有价值的。他这个他跑,他是用了那个八块 a 一百的八十 g 的那个 gpu 去做训练的训练,他整个一个训练过程大概是用了四 是五分钟训练完的,最后他讲了一下他这个训练完的这个效果,训练完的这个效果,微调完的这个效果的他就方便他,我看到他这个是就是给了一个让那个 python 做一个画图这样的一个代码,那么他就马上就可以产生了。他举了三个例子, 他做完之后他也做了一些对比分析,就没有微调跟微调之后他的他也是这个性能到底提高了多少?我看还是有略微有些提升的,他的略微有些提升的从原来到零点三三,从零点四九到零点九,零点三三到零点三四,零点四零到零点四四,差不多提升百分之十左右。我看了一下,对 这个是他的,就他他说有两种评估方式,一种评估方式的话呢,就是还是用一些代码的这样的一个预呃测试的这样的一个集合去评估,还有一种呢直接输出可以立获得 gpd 四,让他去评估,他有两种评估方式,他等于是 那评估下来他的微调的性能还是得到了将近百分之十的这个提升。他主要是这样讲,他最后呢也讲了一些他的这个弱点和一些偏见。 他主要是讲了就是这个模型呢,也只经过了微调,没有经过 rlhf 人类反馈强化学习的这样一个训练,所以他认为如果再经过人类强化学习训练的话,他这个模型的性能还是可以得到进一步的提升。他是怎么来 讲的这个项目的价值,他最后也是总结了一下,这个也是我前面讲就 stock 的这个项目是因为是开源社区里面,目前是 ai 编程的这个领域里面应该是最强的一个模型了, 所以的他还是鼓励这个开源社区能够在这个模型上面有得到进一步的这个发展。他这篇文章呢就主要讲了就是用 star code 这样的一个模型,然后去作为,呃,做一个英文的这样的一个编程的一个助理,叫 start chart, 他是详细描述了一下这个项目他是怎么做到的,他是怎么做的这个项目的话呢?也是刚刚嗯出来,他的我觉得价值还是蛮大的,他这个价值还是蛮大,他也已经把欲训练完成他前面跑的那一条完了,那个模型他也在那个哈根 face 上面, 呃,他也是把它给 share share 出来了,这个模型叫 dot chart alpha, 这个模型把它给拿出来了。那么呃这个模型的话呢,就是目前中文可能不是很友好,对,中文可能不是很很友好,但是他在 处理编程能力上面我觉得应该还是非常强的,因为我前面刚开始就跟大家是介绍过了,所以我就不重复了。好吧,好,这个项目我就跟大家就聊到这。

他有一个排行榜是专门是针对就是代码生成的这样一个场景啊,通过大约模型生成这个代码啊,目前排名比较高,基本上都是些大模型啊,三十四 b 的这些大模型都会比较高啊。那今天我给大家介绍一个在十三 b 的模型当中叫 wisder pyson 杠十三 b 杠零一的这个版本啊,这个版本是目前十三 b 版本里面是最优的。那你可以看到它在 human ever 那个 python 的这样的一个评测里面啊,它达到了六十二点幺九分啊, java 的这个评测里面,它达到了四十一点七七分,贾 ha script 它达到了四十八点四五分啊,同时的话呢,每秒钟的吞吐量它达到了 是二十五个字符,相对于其他的这些模型来讲啊,还是比较还是比较快的,还是比较快的他这个模型啊,今天我们给这个模型给大家一起来介绍一下啊,这个模型他目前也是开源的啊,他也是目前是放在 阿登 face 上面,它已经是把权重呃都放上去了。那么这个模型它是基于 aluma two 的这样一个架构,然后 再进行微调啊,他是基于阿拉玛兔的这个架构在进行微调的,他这个模型的话,目前公布出来他的性能还是非常好的,他有两个模型,一个是三十四 b 的这个模型,哎,他的性能要达到七十三点二,我们前面看得到的将近是七十点七三啊,他就是这个啊, 还有一个呢,它基本上就是等同于 g p d 四和 g p d 三点五了。还有一个呢,就是我们今天要介绍的 visitor coder 杠十五 b 杠一的这个版本,那么他的这个 pass 一就是这个 human ever, 他他的这个评测的话呢,要达到五十七点三,五十七点三, pass at 一就是他这样的一个评测,我们一起回头来测一下,我机器也是现场搭了个环境,然后测了一下,看看能不能他到底能够达到多少分,因为有些模型 公布的这个数据一般是偏乐观的,那么你自己的机器可以测一下,看看他到底达到多少分。嗯,好。呃,我们这个评估是用这个 human ever 这样的一个评估的一个程序的,程序的话呢,也是很有名的,也是 open ai 啊,在二零二一年 啊,他们公布的这样的一个评估的一个套件啊,这个套件里面呢,他有一百多个这样的一个问题, 它有一百多个这种一百六十四个的这个 test 的这种问题,它是基于 python 的啊,它公布了这样一个数据集啊, 一共是一百六十三个啊,同时他也评估了这个拍审的这样的一些代码啊,可以通过这个拍审的代码自动的去帮你去做这个模型的评估,得到一个评估的这个数据啊,我也是把这个环境搭了一下啊,他的这个评测的话呢,他也是基于这个,他们的有一个论文,在二零二一年啊,他就是评估这个大语言模型啊, 在代码上面的这个评估,原来的话呢,他们主要是评估的是 codex, 三点五之前出来,他有一个专门用 gd 三啊来训练代码的这样一个模型啊,叫 codex, 他主要是研究他的拍摄的这个代码的这个编写能力啊, 他在基于这个场景上面啊,他就编写了这样的一个数据集合,这样的一个测试的这样一个脚本啊,这篇论文我们就不看了啊。那么 pass at k 的话呢,它主要是讲 因为大模型的话呢,它是可以多次产生代码的,那么它主要是讲就是 at k, 如果 pass at e 就是市值,就是它第一次产生代码就能通过这个单元测试啊,这个它就是称为 pass at e 啊。那么目前我们 主要测试的就是 pass at 一的这种测试方式,那我们来看一下这个是评测方式,给大家介绍一下他目前公布的这个数据的话呢,就是 pass at 一的话, 他的数据是大概是让我看看,他大概是五十五十七点三,五十七点三,我测出来大概是五十三左右啊,没有他公布的这么好,当然也不是太差啊,我们来看一下这个是我最后测试的这样一个环境,先看看这个, 我一共测了是一百六十四个数据机啊,大概测试的时间的话要将近五十分钟左右,五五十分钟左右,他测完了差不多是五十三五十三左右,他的 pass x 一的这样的一个性能 是在我的机器上是这样的,然后它的构造的话呢,它那个因为提示工程也是比较重要的啊,它的提示工程是这样来写的 啊,就是根据下面的指令,然后产生这个合适的这个代码来完成这个需需求啊,他是这样,那他就是在下面就产生这个 response 啊,他是通过这种来做,他把 response 拿出来之后,他会呃 成最后的这个结果啊,五十三点几啊,这个是跟我这个差不多啊,五十三点几,他测试的话,我这个大概用时用了五十五分钟,差不多五十四分钟,五十五分钟左右啊,他整个一个测试 好的,所以我们这些模型的话,一般情况都是要通过这个自动化测试啊,通过这种自动化测试评估他的这个 a, 他自动的打分,看一下他这个模型的这个准确率。 那么差不多啊,他原来技术上公布的大概是五十七左右,现现在我测下来呢,因为我测了两次五十三左右啊,还,我一共测了两次,差不多这个评分都是差不多的,这次评分也是一样的,五十五十三点六五, 他是这样的。好,那么如果我们有了这种比较性能比较可靠的模型之后,我们评测完了之后,我们就可以针对这些模型啊,可以让他去在参与在这个软件开发流程当中啊,他可以做很多的事情啊,可以做一些单元测试。 是啊,可以自动的让工程师用这个模型产生原代码啊,包括原代码的注释啊,原代码的这个文档的产生啊,他其实都是可以的啊, 下次我有机会就给大家再来介绍一下这一部分啊,我们首先可能是应用在这个软件测试和原代码注视检查这个方面,我觉得会比较有价值一些啊,好啊,今天的话呢,就是这个视频,就跟大家就聊到这。