分享

想要什么变一个出来?|GPT-3的生成能力

 Mixlab交叉学科 2021-01-07

想要什么变一个出来?那先变一段 “ 无界社区 ”的介绍?

Input = “ 无界社区 ”

Output:
无界社区 , 也 就 是 这 个 山 头 。这 里 的 生 存 地 理 位 置 和 人 口 不 同 。一 共 有 九 个 部 落 。其 中 大 部 分 是 人 数 超 过 三 十 多 米 的 , 而 大 部 份 则 是 普 通 农 民 。
 
无界社区 , 也 正 是 因 为 我 的 一 生 , 才 导 致 了 这 样 的 变 动 。“ 你 不 能 让 他 知 道 那 个 人 到 底 有 何 事 ?”
 
无界社区 , 在 这 个 时 候 , 我 们 的 人 已 经 是 不 少 了 。“ 这 些 年 来 我 总 想 着 要 做 个 什 么 ?我 们 可 以 从 你 那 种 能 力 的 状 态 下 , 去 看 一 看 。”
 
无界社区 , 是 一 个 很 普 通 的 世 家 。在 地 球 上 , 就 算 不 是 大 型 城 市 , 但 在 大 型 国 际 联 盟 里 却 也 可 以 找 得 到 一 些 有 钱 人 、 修 仙 者 的 资 源 , 这 样 一 来……
 

这就是使用GPT 文本生成的效果,看起来有点道理,但实际上,是没法用来介绍“无界社区” 😓。

那这里到底是什么问题导致的?
 
是因为:我只提供了四个字“无界社区”,模型无法知道无界社区其他的丰富信息,比如黑客与设计师社区交叉学科人工智能知识库实验性智能产品等等。

 
当然,正也是由于我们提供的信息仅有4个字,所以才有了各种可能的“创作”
 
 

同样的道理,今天大火的openAI新研究:

DALL·E 将自然语言生成图片(Creating Images from Text),具有超乎我们“想象力”的能力,比如:
 
将某些人类活动和衣物转移到动物和无生命的物体上:
 

用多边形的形状,重构我们日常中熟悉的对象:
 

以合理的方式组合不相关的概念:
 

想象力超强

AI可以在我们提供的信息范围内,枚举各种可能,达到“创作”的目的。
 

真的是想要什么就有什么…… 那为何GPT-3表现如此出众?
我们可以从人类大脑上找到相关的理论支撑。
 
首先,和神经元数量有关。

人脑的神经元到底有多少?成人大脑估计有1000亿个神经元。每个神经元的功能可能相同、也可能不同。同种神经元在其定位、蛋白质表达谱、兴奋性以及与其他类型神经元的联系方式上都应相同,而且具有同一种功能。那么,有多少种不一样的神经元呢?科学家推算大概有1000种。也就是说,人脑具备1000种不一样能力的神经元。
 
另外,神经元组合成了人类特有的能力。

1000种不一样的神经元能力,构成了人类特有的自然天赋(能力),根据美国人类机能研究室的报告,人类具有15种不同的能力:归纳思考的能力、分析思考的能力、对于数字的灵敏、精密地使用小型工具的能力、观察力、设计图记忆能力、音乐方面的能力、数字记忆能力、数字思考的能力、语文能力、远见测验能力、颜色感知的能力、图表能力、创意思维能力、结构视觉化能力。
 
类比人类大脑,GPT-3具有1750亿参数,虽然每个人工神经元的能力并不清楚,但是在数量上已经超过了人脑,同时在能力的表现上,初步具备了以上人类的不同能力的雏形。某些任务上甚至比人类更胜任。

 


我们可以在哪里感受到GPT的魅力?

到openAI官网:
openai.com/blog/dall-e 即可体验。另外,回到开头的造段落,我们可以在自己电脑上体验,只要打开终端,使用python即可体验,指南如下:
 
1  安装huggingface的Transformers库
 
通过huggingface提供的Transformers框架,我们可以很方便的调用预训练的gpt-2模型(gpt-3实在太大了)。

个人非常喜欢HuggingFace的开源社区生态。其在github上开源的自然语言处理预训练模型库Transformers提供了大量state-of-art的预训练语言模型和调用框架,github上超过38977个star。

从主页上,也可看出来huggingface开始完善自己的开发者生态,开发者可以托管模型,部署模型,对外提供api,同时也可以提供下载供其他开发者使用。
 


2  文本生成,代码仅需5行:
 
from transformers import BertTokenizer, TFGPT2LMHeadModel, TextGenerationPipeline
tokenizer = BertTokenizer.from_pretrained('mymusise/EasternFantasyNoval')
model =TFGPT2LMHeadModel.from_pretrained('mymusise/EasternFantasyNoval')
text_generator = TextGenerationPipeline(model, tokenizer)
print(text_generator("无界社区", max_length=64, repetition_penalty=1.3, do_sample=True, top_k=10))

3  AI研发流程

当然一个AI系统的研发并不简单,一图胜千言:
 

记得:
想要什么
留言给AI


参考文献:

openai.com/blog

www.big.cas.cn/kxcb/kpwz/200907/t20090729_2282469.html

huggingface.co

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多