专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

60行代码就能构建GPT!网友比之前的教程都要清晰附代码

  Pine发自凹非寺
  量子位公众号QbitAI
  现在只用60行代码,就能从0构建GPT了!
  想当初,前特斯拉前AI总监的minGPT和nanoGPT也都还要300行代码。
  这个60行代码的GPT也有名字,博主将它命名为PicoGPT。
  不过和此前minGPT和nanoGPT的教程不同,今天要讲的这个博主的教程,更侧重于代码实现部分,模型的权重则用已经训练好的。
  对此,博主解释称这篇教程的重点在于提供一个简单且易于破解的完整技术介绍。
  这对还不理解GPT背后概念的盆友,算是非常友好了。
  还有网友称赞,这篇博客介绍得非常清晰,第一部分尤为如此。
  这篇介绍GPT模型的文章太好了,它比我之前看到的介绍都要清晰,至少在第一部分讨论文本生成和取样是这样的。
  目前,此项目在GitHub上标星已破百,HackerNews上的点击量也即将破千。
  从GPT是什么讲起
  在介绍之前,还是需要说明一下,这篇教程不是完全零门槛,需要读者提前熟悉Python、NumPy以及一些基本的训练神经网络。
  教程的重点聚焦在技术介绍上,统共有六大部分:什么是GPT?
  按照惯例,在正式构建GPT之前得先对它做一些基本介绍,教程从输入输出、生成文本以及训练三个部分分别来讲GPT是如何工作的。
  在这趴,博主附上代码,甚至还用了一些比喻来让读者们更好地理解GPT。
  举个栗子
  ,在输入这一部分,作者将句子比作一条绳子,tokenizer则会将其分割成一小段一小段(单词),被称作token。
  又比如说,在生成文本这part介绍自动回归时,博主直接贴上代码:
  defgenerate(inputs,ntokenstogenerate):
  forinrange(ntokenstogenerate):autoregressivedecodeloop
  outputgpt(inputs)modelforwardpass
  nextidnp。argmax(output〔1〕)greedysampling
  inputsnp。append(out,〔nextid〕)appendpredictiontoinput
  returnlist(inputs〔len(inputs)ntokenstogenerate:〕)onlyreturngeneratedids
  inputids〔1,0〕notall
  outputidsgenerate(inputids,3)outputids〔2,4,6〕
  outputtokens〔vocab〔i〕foriinoutputids〕heroeswearcapes
  在每次迭代中,它会将预测的token追加回输入,这个预测未来值并将其添加回输入的过程就是GPT被描述为自动回归的原因。60行代码怎么运行?
  了解完GPT的基本概念之后,就直接快进到了如何在电脑上运行这个PicoGPT。
  博主先是甩出了他那只有60行的代码:
  importnumpyasnp
  defgpt2(inputs,wte,wpe,blocks,lnf,nhead):
  passTODO:implementthis
  defgenerate(inputs,params,nhead,ntokenstogenerate):
  fromtqdmimporttqdm
  forintqdm(range(ntokenstogenerate),generating):autoregressivedecodeloop
  logitsgpt2(inputs,params,nheadnhead)modelforwardpass
  nextidnp。argmax(logits〔1〕)greedysampling
  inputsnp。append(inputs,〔nextid〕)appendpredictiontoinput
  returnlist(inputs〔len(inputs)ntokenstogenerate:〕)onlyreturngeneratedids
  defmain(prompt:str,ntokenstogenerate:int40,modelsize:str124M,modelsdir:strmodels):
  fromutilsimportloadencoderhparamsandparams
  loadencoder,hparams,andparamsfromthereleasedopenaigpt2files
  encoder,hparams,paramsloadencoderhparamsandparams(modelsize,modelsdir)
  encodetheinputstringusingtheBPEtokenizer
  inputidsencoder。encode(prompt)
  makesurewearenotsurpassingthemaxsequencelengthofourmodel
  assertlen(inputids)ntokenstogeneratehparams〔nctx〕
  generateoutputids
  outputidsgenerate(inputids,params,hparams〔nhead〕,ntokenstogenerate)
  decodetheidsbackintoastring
  outputtextencoder。decode(outputids)
  returnoutputtext
  ifnamemain:
  importfire
  fire。Fire(main)
  然后从克隆存储库,安装依赖项等步骤一步步教你如何在电脑上运行GPT。
  其中,还不乏一些贴心的小tips,比如说如果使用的是M1Macbook,那在运行pipinstall之前,需要将requments。txt中的tensorflow更改为tensorflowmacos。
  此外,对于代码的四个部分:gpt2,generate,main以及fire。Fire(main),博主也有做详细解释。
  等到代码能够运行之后,下一步博主就准备详细介绍编码器、超参数(hparams)以及参数(params)这三部分了。
  直接在笔记本或者Python会话中运行下面这个代码:
  fromutilsimportloadencoderhparamsandparams
  encoder,hparams,paramsloadencoderhparamsandparams(124M,models)
  Bingo!一些必要的模型和tokenizer文件就直接下载到model124M,编码器、hparams和params也能直接加载。
  更具体的内容这里就不多说了,教程的链接已经附在文末。一些基础神经网络层的介绍
  这一趴涉及到的知识就更加基础了,因为下一趴是实际GPT自身的架构,所以在此之前,需要了解一些非特定于GPT的更基本的神经网络层。
  博主介绍了GeLU、Softmax函数以及LayerNormalization和Linear。
  GPT架构
  终于!这部分要来讲GPT自身的架构了,博主从transformer的架构引入。
  transformer架构
  GPT的架构只使用了transformer中的解码器堆栈(即图表的右边部分),并且其中的的交叉注意层也没有用到。
  GPT架构
  随后,博主将GPT的架构总结成了三大部分:文本位置嵌入变压器解码器堆栈下一个token预测头
  并且还将这三部分用代码展示了出来,是酱紫的:
  defgpt2(inputs,wte,wpe,blocks,lnf,nhead):〔nseq〕〔nseq,nvocab〕
  tokenpositionalembeddings
  xwte〔inputs〕wpe〔range(len(inputs))〕〔nseq〕〔nseq,nembd〕
  forwardpassthroughnlayertransformerblocks
  forblockinblocks:
  xtransformerblock(x,block,nheadnhead)〔nseq,nembd〕〔nseq,nembd〕
  projectiontovocab
  xlayernorm(x,lnf)〔nseq,nembd〕〔nseq,nembd〕
  returnxwte。T〔nseq,nembd〕〔nseq,nvocab〕
  再后面,就是关于这三部分的更多细节测试构建的GPT
  这部分将全部的代码组合在一起,就得到了gpt2。py,统共有120行代码,删除注释和空格的话,就是60行。
  然后测试一下!
  pythongpt2。py
  AlanTuringtheorizedthatcomputerswouldonedaybecome
  ntokenstogenerate8
  结果是这样的:
  themostpowerfulmachinesontheplanet。
  成功了!一些后续补充
  最后一部分,博主也总结了这短短60行代码的不足:非常低效!
  不过他还是给出了两个可以让GPT变高效的方法:同时地而不是顺序地执行注意力计算。实现KV缓存。
  此外,博主还推荐了一些训练模型、评估模型以及改进架构的方法和教程。
  感兴趣的话,直接戳文末链接~作者介绍
  JayMody,目前在加拿大一家NLP初创公司Cohere从事机器学习的工作,此前,他还分别在特斯拉和亚马逊作为软件工程师实习过一段时间。
  除了这篇教程之外,小哥的博客网站上还有更新其他文章,并且都有附代码~
  代码传送门:
  https:github。comjaymodypicoGPTblob29e78cc52b58ed2c1c483ffea2eb46ff6bdec785gpt2pico。pyL3L58
  教程链接:
  https:jaykmody。combloggptfromscratchputtingitalltogether
  完
  量子位QbitAI头条号签约
  关注我们,第一时间获知前沿科技动态

蚂蚁集团荣获浙江省标准化领域最高奖项近日,浙江省人民政府公布了2022年浙江省标准创新贡献奖获奖项目和组织,旨在全面实施标准化战略,表彰在标准化领域作出突出贡献的单位和个人。70多项提名项目里,最终10个项目获重大贡篮网替补三巨头发威!杜兰特欧文等8人缺阵!篮网险胜步行者今日,篮网罕见的轮休了多达8人!杜兰特欧文哈里斯库里沃伦西蒙斯赵四奥尼尔8人次,用了纯替补出战。但是,主力赢不了步行者,替补赢了!替补出现了三巨头第一巨头小托马斯!托马斯属性两极分为何缅甸国内美元汇率跌了,黄金价格还不跌?缅甸仰光省黄金商协会(YGEA)主席吴谬明称,国内黄金市场上,除矿场产出的黄金外,首饰熔炼的黄金也有不少。但由于生产成本高,黄金价格仍未下跌。吴谬明表示,矿场产出的黄金已经发到仰光光明区抖音文旅小程序上线!带你玩转光明深圳市首个抖音文旅营销阵地光明区抖音文旅小程序上线啦!话题活动游玩目的地文化旅游攻略光明精彩资讯光明超多美好图景等你来发现!Guangming如何进入光明区抖音文旅小程序保存下方图龙真的存在吗?浅析各朝代龙图纹演变史如果您喜欢这篇作品,欢迎点击右上方关注。感谢您的鼓励与支持,希望能给您带来舒适的阅读体验。古老的东方有一条龙,它的名字就叫中国,古老的东方有一群人,他们全都是龙的传人这首龙的传人自诗意地过一生李太白(二)少年时,李白也曾感慨世态万千,世事多不遂人愿。开元八年(702年),李白东行前往渝州,拜访新出任的渝州刺史文学名家李邕,希望能得到机遇。却不想登门拜访,遭到了冷遇。在面对李邕时,他曹操的这个特殊嗜好一般人真接受不了曹操在三国时期是一个举足轻重的人物,他精兵法,善歌赋。他的作品既抒发自己的政治抱负,又反映汉末人民的苦难生活。气魄雄伟,慷慨悲凉,开启并繁荣了建安文学,给后人留下了宝贵的精神财富。南宋陈康伯昭勋阁二十四功臣之一,皇帝评价他为大宋真宰相!南宋时期,有位抗金的名相,被皇帝称赞为大宋真正称职的宰相,言其静重明敏,一语不妄发,真宰相也。在宋理宗时,还将其画像挂在昭勋阁,成为昭勋阁二十四功臣之一,他就是陈康伯!金国完颜亮南恒玄政治社会势力分析兼及恒温军府府荆楚打地方势力!桓玄的崛起很大程度上是荆楚地方势力向建康中心扩张的需要,而桓楚政权一般是以黄氏家族为核心以荆州地方势力为主要成分的地方势力集团为了谋求政治经济利益而向外扩张的结果。就桓玄当时所能动黎明已至!拥抱复苏下,出行链布局正当时?脱水回顾今日内容黎明已至!拥抱复苏下,出行链布局正当时?11月11日,进一步优化新冠疫情防控措施二十条出台,入境隔离时间缩短为53,同时取消入境航班熔断限制。12月初,多地政策进一ST紫晶财务造假余震中信建投保荐质量堪忧,投行业务落选A类本文来源时代周报作者金子莘ST紫晶财务造假余波仍在震荡。12月9日,上交所对ST紫晶(688086。SH)持续督导保荐代表人刘能清邱荣辉予以监管警示。今年4月,上交所已对刘能清邱荣
母亲去世留下近150万遗产,写了9份遗嘱全给2女儿,一分不给儿子歌德说无论是国王还是农夫,只要家庭和睦,他便是最幸福的人。一家人温馨和睦,哪怕日子不富裕,也能过得热气腾腾但如果,家庭中矛盾纷争不断,即便是日入斗金,也会把生活折腾得七颠八倒。一个散文在平淡的生活中,学会自己治愈自己人生经典语录要拥有强大的自我治愈能力一个人的自愈的能力越强,才越有可能接近幸福。做一个寡言,却心有一片海的人,不伤人害己,于淡泊中,平和自在。2。要拥有强大的自我治愈能力,这样外界假冒伪善的正能量最可怕原创作品,欢迎转载,喜欢点个关注我们的社会和群众需要正能量,但绝对不需要假冒伪善的正能量。正能量从来不在光明中显摆和炫耀。正能量是勇者的心,是战士的血,是在黑暗与残酷中冲出来的一道他占卜算出死于空难,闭门不出半年后,被飞机砸死!生死有命,富贵在天,论语中的这句话体现了浓厚的宿命论色彩,认为茫茫之中,我们的命运和一生的机遇都早已经确定了,无论我们如何努力,都无法改变。在现代社会里,宿命论被当作封建残余,被认吃起来绝对让你回味无穷的10道家常菜,简单开胃解馋,老少皆宜大家好,欢迎大家来到我的美食自媒体,我是美食领域创作者锦绣V山东专注美食,让生活更有味。今天为大家带来了几道家常美食的做法,这几道美食也是深受大家的喜欢,而且是很常见的几道美食。天三国人物的美食故事滚滚长江东逝水,浪花淘尽英雄。说到三国还有许多民间的故事能让我们看到他们不同于历史的另一面。下面就来分享一些民间编写关于三国人物的美食故事。逍遥鸡安徽省合肥市美食一绝,为历史名菜。59岁李连杰罕见露面,模样大变被指整容,脖子肿大疑似甲亢复发?现在影视行业飞速发展,而在前进的过程中,我们定不能忘记那些元老级人物,而提到武打片,相信就有很多著名演员深得大家的喜欢,而众所周知的李连杰更是陪伴了一代人的青春。可能是随着年龄增长黄磊人设翻车,出道30年,终于装不下去了!内娱最近第一热闹事,就属胡歌新剧开播(今天大结局小伙伴们别错过哟)。县委大院,正午阳光和孔笙双加持,央一黄金档播放。演员方面,胡歌领衔,更有黄磊刘涛等一众演技派加入,可谓光环无数b导演王景光在北京去世,年仅54岁,妻子公布死因,网友表示不认可导演王景光生前工作时的照片不管是王侯将相,还是黎民百姓,每个人都要面对死亡。尽管这是自然界不可改变的规律,但是真要面对死亡,尤其是面对年轻有为的人突然离去,我们每个人的心头都会涌起华少发文回应嘲笑孔雪儿,态度依旧傲慢,网友威胁加甩锅孤烟的围脖原创12月21日,华少孔雪儿熊梓淇费启鸣相继登上热搜。事情起因是差不多2年前播出的综艺宝藏般的乡村,参与嘉宾分为两队,孔雪儿任贤齐熊梓淇这一队在活动环节中取得胜利,得到的刘亦菲飘逸礼服,无修图照片曝光腰不见了?精修图和生图判若两人神仙姐姐刘亦菲近日出席第14届澳门国际电影节,她跟陈晓合演的古装剧梦华录拿下该届金莲花奖最佳女主角,她与工作室开心分享当天的唯美淡蓝飘逸礼服照,只见上半身是露出
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网