以下是Andrej Karpathy一小时讲解chatgpt的笔记。
Andrej Karpathy做自动驾驶的人应该比较熟悉,他是李飞飞的学生。在openAI做了一年半的科学家之后,去了特斯拉。在Tesla AI day讲解tesla自动驾驶方案的就是他。
这里我的主要收获是两个
下面我把比较有关键的PPT笔记总结一下,比较有趣的将其看成操作系统的我会在第二部分介绍。
2. 大模型可以理解为对互联网上文本所有内容的有损压缩。
3. 大模型存储了海量的信息,但是并不一定支持从不同的角度问相同的问题。这张幻灯片里,提问汤姆克鲁斯的妈妈是谁,大模型回答了Mary Lee Pfeifeer。但是我们再问大模型,Mary Lee Pfeifeer的儿子是谁,大模型就不知道了。
4. 大模型分为pre-training和fine tuning两个阶段。
5. 两者的计算量和工作流程相差很多
6. Pre-training训练的结果,如果你问pre-training 之后模型一个问题,因为这个模型只是对互联问文本的压缩,你问它一个问题,它可能继续问你其他的问题,因为互联网上有海量的垃圾文本。
Finetuning阶段会让人类针对问题的标准答案,输入给模型,进行fine-tuning,此外也会训练reward-model,建立评判模型,对模型输出结果打分,结合强化学习训练模型。
7. 大模型的效果是可以预测的,由参数数量和文本数量决定。
8. 人脑的思维方式有两种,快速响应和需要思考的两种问题。但是目前LLM只会第一种。也就是现在的LLM只能像刚才所说的,拿到有损压缩文件后,计算下一个token的概率,并没有理解。
(译者注:就像那个经典笑话:
A: 我会速算。
B:1234*4321等于多少?
A:788156。
B: 这对吗?
A:你就说快不快吧。
9. 现在研究人员也在尝试如何让大模型“think”。
10. 完全让模型自我提升是比较困难的,不同于围棋比赛alpha go,有明确的输赢机制。大模型输出的结果进行打分,是比较困难的。毕竟是生成文本类的开放答案。
LLM 可以看成是一种新型的操作系统,它会文件,浏览网页,也可以说话和生成视频,也可以自我提升。
在你向大模型提问,要求它计算或者画图时,他可以调用对应的python或者计算接口。
此外,类似于RAM的概念,大模型有上下文context window的概念。此外类似的概念,还有多线程,多进程和推测执行(但是这里他没有展开讲,我搜索了一下,要是不对,欢迎私信)。
在这个讲解大模型的视频以外,他也有一个一小时讲解transformer的视频。
介绍一下transformer视频的收获
2. Weight是通过当前单词的query和当前单词之前的所有token的各个key的相似度求dot product之后进行softmax得到的。
3. Self-attention层的意义主要在于将当前token和其他token进行交流communication,在feedforward层的意义则进行计算computation。在self-attention层的操作更多的是线性的,在feedforward层引入了非线性。
4. 如果只是线性的矩阵乘法计算,那么当前token对其他token的位置是无感的,因此增加positional encoding,用来将各个token的位置信息也进行编码。
译者另注:
此外我们可以看到每次新的token计算时,新的token的query都需要和之前的token的key做dot product,然后结果取softmax之后和之前的token的value进行权重相乘。
之前token的key和value都是不变的,因此我们可以将其缓存起来,也就是KV Cache的作用。
加上这个cache之后,更像操作系统了。
引自:
[1][2] Andrej Karpathy 视频讲解
[3] Transformers KV Caching Explained https://medium.com/@joaolages/kv-caching-explained-276520203249
[4] Decoding the Magic of Self-Attention: A Deep Dive into its Intuition and Mechanisms https://medium.com/@farzad.karami/decoding-the-magic-of-self-attention-a-deep-dive-into-its-intuition-and-mechanisms-394aa98f34c5
[5] Self-Attention: A step-by-step guide to calculating the context vector https://medium.com/@lovelyndavid/self-attention-a-step-by-step-guide-to-calculating-the-context-vector-3d4622600aac