科技工作者之家
科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。
科技工作者之家 2020-08-21
来源:量子位
前OpenAI科学家、现任特斯拉AI总监的Andrej Karpathy在自己的GitHub项目里这样写道。
Karpathy这样说是有底气的,因为他自己只用大约300行PyTorch代码就实现了一个“小型GPT”——minGPT。该项目上线3天以来,已经收获了3.3k星。
“万能”的NLP模型GPT-3这一个月来已经刷爆社交网络,不过1750亿个参数对算力的超高要求也让人望而却步。
但是在Karpathy看来,GPT所做的事情就是将一个索引序列放入一个transformer块序列中,并得出下一个索引的概率分布。其余的复杂部分只是通过巧妙地进行批处理让训练更高效。
谈到为何要开发minGPT,Karpathy本人在项目文档里说,他是为了让GPT做到小巧、简洁、可解释且具有教育意义,因为当前大多数可用的GPT工具都有些庞大。
如果原版的GPT是一艘巨型战舰,那么minGPT就是一艘快艇。小快灵是minGPT的特点,你不能指望它去“打仗”。minGPT的作用是教育目的,让你熟悉GPT的原理。
现在,minGPT已经能够进行加法运算和字符级的语言建模,更强大的功能还在进一步开发中。
minGPT项目内容minGPT实现大约包含300行代码,包括样板代码和完全不必要的自定义因果自注意力模块。
minGPT的核心库包含两个重要的文件:
mingpt/model.py包含实际的Transformer模型定义
mingpt/trainer.py是独立于GPT的训练模型的PyTorch样板
为了防止初学者犯难,Karpathy在repo中还随附3个Jupyter Notebook文件,教你如何使用这个库来训练序列模型:
play_math.ipynb用于训练专注于加法的GPT(这部分是受GPT-3论文中加法部分的启发);
play_char.ipynb用于将GPT训练为任意文本上的字符级语言模型,类似于作者以前的char-rnn,但它使用的是Transformer而不是RNN;
play_words.ipynb是一个字节对编码(BPE)版本,目前尚未完成。
有了这些代码并不意味着你能立刻复现出OpenAI的几个GPT预训练模型。
Karpathy表示,使用BPE编码器、分布式训练以及fp16,才可能复现GPT-1/GPT-2的结果,不过他本人还没有尝试过。(Karpathy在这句话后面写着$$$,可能是没钱吧。)
至于现在最火的GPT-3,可能无法实现,因为Karpathy认为是它不适合GPU显存,而且需要更精细的模型并行处理。
minGPT的API用法示例如下:
# you're on your own to define a class that returns individual examples as PyTorch LongTensorsminGPT项目地址:
https://github.com/karpathy/minGPT
来源:QbitAI 量子位
原文链接:http://mp.weixin.qq.com/s?__biz=MzIzNjc1NzUzMw==&mid=2247551775&idx=5&sn=903c41f8ac9e120d8a9ad8533cb936c2&chksm=e8d0bc6ddfa7357ba53802d5ea70a6e1e7337ba29e8a2a422cd652a16963705d3dd22c295cba&scene=27#wechat_redirect
版权声明:除非特别注明,本站所载内容来源于互联网、微信公众号等公开渠道,不代表本站观点,仅供参考、交流、公益传播之目的。转载的稿件版权归原作者或机构所有,如有侵权,请联系删除。
电话:(010)86409582
邮箱:kejie@scimall.org.cn
大众创新讲堂第34讲带你走进智能机器人和区块链
科学家创建近视眼人工智能预测模型
全面走向“人工智能+” 国内首个汽车大模型标准发布
人工智能模型:测“功”唯快不破
人工智能模型有望改进恶性脑瘤治疗
人工智能模型可精准预测模拟乳腺癌疗效
人工智能从“大炼模型”到“炼大模型”
全面走向“人工智能+” 国内首个汽车大模型标准发布
人工智能
“传播科学火种·启迪科学梦想”科普志愿新疆行举办