一个人应该能够换尿布、策划入侵、屠宰猪、掌舵船只、设计建筑、写十四行诗、平衡账目、建造墙壁、接骨、安慰临终者、接受命令、发出命令、合作、独自行动、解方程、分析新问题、翻堆肥料、编程计算机、做出美味的饭菜、高效地战斗、英勇地死去。专业化是给昆虫的。 —— 罗伯特·A·海因莱因
很高兴看到AI社区淡化文科理科的标签的氛围,无论是给别人还是给自己。
自从高考结束,我就拒绝给自己贴这种标签。知识就是知识。仅仅因为过去服从过一种制度安排就默认知识真的是分阵营的,还自觉选边站队放弃那些可能对自己有用的知识,在我看来就像一个人仅仅因为婴儿时期许多食物吃不了只能吃宝宝辅食,就吃一辈子辅食。
只要离开了高中,文理分科对个体来说就已经毫无意义。文理分科无论合不合理,都是站在制度设计角度的辩论,考虑的无论是谁的利益,反正不会是个体发展的利益。作为个体,我只关心我想做什么,什么能为我想做的事提供有利条件。知识只是其中的一个环节。
比如24年那会儿,claude还没开始封号,网页版还能让我自由地用脚本薅羊毛做数据的时代,为了让大模型稳定产出中英夹杂的句子(code-switching sentences)以及做英语和西班牙语、法语之间的词级别的对齐(word-level alignment),我专门去学习了从bert翻译器到gpt这种大语言模型的底层原理,并试图通过当时A社开源的一个模型可解释可视化工具,观察被激活的“神经元”,研究模型输出和提示词之间的关系。在这个过程中就发现如何通过提示词强化某个“脑区”的响应,对应后来出现的MoE架构里的“专家”。
后来我又试图通过精确控制top_p参数和读取模型输出的top_logprobs来设计一套精巧的流程。具体来说,就是先让模型补全挖空的中文句子,top_p控制在空处的top_logprobs的数量不能太多但也不能太少,然后比较概率最高的那个token和第二名的差距加权那个token和第二名之间的余弦相似度,来看挖空处的多义性有多强,再根据这个量化的结果让AI自动调整生成中文句子的prompt来让挖空处的多义性最弱。再把英文词汇填进去,希望可以得到让读者唯一能推断单词意思的中文语境。虽然后来还是没能稳定产出我要的结果,但这些知识和经历让我受益至今,在上下文管理上会有一些基于底层原理的判断。
如果我坚守自己被高考制度赋予的文科生的身份,那我压根不会想要去研究这些,更别提实现我理想中的语言学习应用了。