模仿文风是没出路的
以前教写作班时,我经常对学员说,千万不要去模仿别人的文风。一个人的文风就像说话的口音。你欣赏一个人的谈吐,不能靠模仿他的口音。他是湖南人,你是东北人,不是说没有可能模仿得像,就算模仿得像,那也不是你的本色。你要去琢磨浮在表面的文风背后的东西。你要把表面的东西剥离掉,才能渐渐触及真正重要的内核。
我最近训练小模型学习阿毗达磨。一开始的想法是,把最好的阿毗达磨经典都给它。试过各种方法,中间有挫败,也有惊喜,但是最终结果还是不理想。我说的“最终”当然不是真正的“最终”,而是阶段性的。我把《顺正理论》《大毗婆沙论》塞给它,从数据指标上看,它学得很好,我发给各个高级AI看那些指标,Claude、Grok,它们一致说,你的训练非常成功。——但是这种成功是假的。这就属于“模仿文风”的成功。
用这种方式训练出来的小模型,可以模仿《大毗婆沙论》的表达风格惟妙惟肖,动不动来一句“应说而不说者当知此义有余”,“问:若尔善通前所设难,后所设难当云何通”,我看得都乐了。你要是拿给对阿毗达磨一知半解的人看,他真分不清哪些是《婆沙》原文,哪些是小模型编的。但是,这没有任何意义。——你懂阿毗达磨不见得是要用《婆沙》的文风去表达,你完全可以用大白话(但术语是不能放弃的);而不管你多么擅长表面上的文风,你可能对阿毗达磨一窍不通。
所以,现阶段,我暂时放弃了直接用《顺正理论》《大毗婆沙论》让小模型学习的想法,而是用我自己写过的《一万字读懂俱舍论》给它。它学这个压力不大,虽然仍然不太能理解,但起码能把答案背下来。能背下来答案就是第一步。
有朋友的思路是,用Claude从《顺正理论》里面提取问答对,塞给小模型学。我认为不太可取。那种做法,最大的问题是,Claude 3.7 Sonnet提取到的,基本上都是《顺正理论》的残渣,提取不到精华。这有点像现代学者搞注释——专捡自己懂的注。拿一篇深奥晦涩的古诗文,所有他看不懂的地方他跳过不注,专注那些自己能看懂的。——这就算不错的学者了。这样虽然对读者没有帮助,至少不太把读者带沟里。总比那些满篇注错不懂硬注的好太多了。
你让Claude看《顺正理论》,它抓不住精华——现阶段的3.7还是这样。如果它能抓住精华,我们也没有必要训练垂直小模型了。所以,它从《正理》中提取出来的问答对,意思都不大。拿意思不大的数据塞给小模型学,学到的意思也不大。
另外一点我的考虑是,不要追求数据量的大。因为追求不起。阿毗达磨上,根本没有那么多高质量的数据。现存的高质量数据,主要不是不够的问题,是小模型和大模型都不能直接消化的问题。你在训练前去计算困惑度,差不多有700多。训练后当然能降到很低,但那种很低是“熟悉文风”造成的。而不是真正的搞懂怎么回事了。
所以,我目前的看法是,《顺正理论》不是零基础的模型能啃得动的,我们得想办法搞点它能啃得动的东西,等它到了那个阶段,再把《正理》《婆沙》这种硬菜塞给它。有点像《天龙八部》里灵鹫宫的四个小姑娘,墙上画着上层武学秘笈,但她们还不是能直接消化的时候,得一步一步来。