Hi, you are at clymup.com

Oac_tree

学过的都串起来了!

庆幸我在学完了 Machine Learning 之后,再来看这个 3 个小时长的Deep Dive into LLMs like ChatGPT视频。这个视频是面向普通大众的, 我觉得没有任何基础的人,确实是可以理解大部分的东西,但是我自己的目标是我想搞清楚llms背后到底是什么样的逻辑,而不是一个比较笼统的intuition。

所以如果当初还没学完 Machine Learning,中途确实会遇到一些不太理解的地方。因为虽然教学非常非常棒,但因为这个内容本身就很复杂,有很多机器学习的概念,所以当初没看下去是正常的,它不像 3Blue1Brown 的视频那样能让我坚持看完,3b1b让我看下去的一个很重要的原因是,我有比较扎实的高中数学基础(虽然大学学了文科,有些概念淡忘了,但稍微复习一下又可以捡起来),而LLMs包含的机器学习等的知识我是没有扎实基础的。

不过现在我重新捡起这个视频来看,发现里面提到的很多ML概念我都能回想起来。比如它提到了在 Post Training 里很重要的一个角色——Human Labeler。其实我之前在中文社区看到过不少关于数据标注员这个职位的讨论,但当时没有深究,也不知道为什么叫“标注”。直到学完机器学习后再看这个视频,才知道 Human Labeler 其实就是数据标注员的意思。那为什么叫“标注”,标注什么呢?这让我想到了 Machine Learning 里的一个概念,在Supervised Learning中,输入Input是一些Features,同时要向神经网络提供对应的输出Output。这个对应的输出换一种说法就是标签Labels,比如在分类模型里,标签可以是有 0 和 1 两种,这就是所谓的标签。

在llms中Human Labeler 要做的就是针对prompt给出理想的答案或回复,也就是对应到有监督学习里的标签,是我们希望神经网络得出的结果,即目标值Target Values或目标标签Target Labels。我突然发现这些知识都串联起来了。所以如果没有接触过任何 Machine Learning 的概念,可能无法真正理解里面的意思。

再比如,如果我之前没有上过 Machine Learning 那门课,可能我只会知道视频里提到的强化学习(Reinforcement Learning)是什么,但没办法比较它和监督学习(Supervised Learning)以及无监督学习(Unsupervised Learning)之间的区别。不知道这些区别,我就不能更好地理解强化学习能运用在哪些场景。“比较学习”是我非常喜欢的学习方式。

所以这又让我联想到了,我其实是这两年才真正找到适合自己的学习方式,才真正了解自己。比如,如果这份材料我觉得我大部分读不懂/或者很难读,我就会懒得看……甚至会很生气。因为我觉得好的内容应该是逻辑通畅又清晰易懂的,就好像自己在深度理解之后,是能用浅显的语言来描述的,就比如Andrej的教学视频、3b1b的教学视频、B站安宁老师的日语视频……。而且他们都很擅长举例子,把抽象的概念具体化到可想象的东西。但凡我觉得老师讲得好,或者我能完全理解的内容,都是通过举例子来实现的。所以习惯“举例子”现在也成了我的目标之一,我不仅要让别人恍然大悟,我也要让自己恍然大悟。

此外,我发现我不喜欢长时间泛读一个材料,且事实证明效果不显著。因为我在读的时候,总是习惯去找与之前学过的东西的链接,导致经常需要做笔记、建立链接(无论是理论上的还是现实生活中的例子),结果就是,慢。但是,我发现这非常适合同时读多本书、多份材料,目的不是完整读完一本书,而是把新学的东西都尽量和之前学过的建立链接,就像a-b-a的链条,这样最终我掌握的知识就会慢慢织成网,而不像书的排版一样,是线性的。

在这个过程中,不同材料之间我也会无意识地做比较,在比较中学习,这样也不会“钻牛角尖”,因为广撒网的同时可以慢慢建立大局观。所以这“由下而上”的慢慢建构知识方式反而对我来说是更有效的。