再次感谢活动主办方选中我作为《大语言模型 原理与工程实践》的评测用户。尽管有各种做不完的事情困扰,每天坚持“充电”学习2-3小时是我雷打不动的习惯。我简单谈谈我阅读本书前三章的一些心得与感悟。相比于之前对《大模型时代的基础架构:大模型算力中心建设指南》阅读过程中,遇到的各种层出不穷、应接不暇的计算机科班人员才有深刻理解的概念词汇所给我造成的阅读障碍,我凭借自己之前两三年对机器学习、深度学习算法所打下的基础,在阅读本书过程中相对会轻松不少。
这本书的第一章为我们描绘了大语言模型的发展历程和关键特征。其中提到的"涌现"这一词汇,尤为引人注目。"涌现"这一词汇并不算陌生,不过放在深度学习的情境中,听着就有一种奇妙的感觉。综合对各种资料整理后的阐述,对它的定义可以概括为"一个复杂系统表现出的高层次模式或行为,这些模式或行为难以简单地从底层组件的属性中预测"。放在大语言模型的语境下,这意味着模型能够展现出超越其训练数据的创造性表现。这种"化腐朽为神奇"的能力,正是大语言模型令人惊叹的源泉之一。但涌现能力的实现,并非一蹴而就,诚然它与模型的参数规模息息相关。一个有趣的现象是,当模型的参数量达到一定阈值后,其性能往往会出现"阶跃式"的提升,这被称为"缩放定律"。这一定律揭示了大语言模型的潜力:随着算力的提升和训练数据的积累,它们有望不断突破自己的边界,展现出更加惊艳的能力。这对我们这些 NLP 学习者而言,既是鼓舞,也是挑战——只有与时俱进,才能跟上这个快速迭代的时代。不过虽然我们都或多或少看到了“涌现”的具体表现,但对于“涌现”背后体现的深刻内涵,本书倒是没有做进一步的探讨解释。我另外通过搜索查找相关文章的阐述,了解到在哲学中,“涌现”被定义为是一个复杂系统中出现的新的性质或行为,这些性质或行为无法简单地从系统的组成部分中推导出来。简而言之即是整体大于部分之和。无论是哲学还是人工智能,涌现都强调了复杂系统中整体的不可还原性以及新性质的出现。虽然两者的研究对象和方法不同,但都试图理解复杂系统中涌现的本质。
第二章带我们走进了大语言模型的技术细节。作者对 Transformer 架构只是做了简单的分析。这一部分的内容,说实话,对于常看各种NLP算法模型论文或者技术博客的人显然不陌生。相关内容写得其实有些常规,基本上和其他人对Transformer结构的介绍差不多。可能也是因为整部书籍的内容篇幅安排限制,作者没有对这一部分做过于深入的剖析拆解。不过作为目前所有各种大模型底层共同用到的Transformer 架构,我们实在还是有必要深入探究钻研,而不是走马观花、浅尝辄止。在此,我特别推荐其他读者(尤其是对Transformer一头雾水或者理解粗浅、不能深入领悟其精髓的朋友)认真阅读黄佳老师所写的《GPT图解》一书,这本书应该是目前市面少有的能把Transformer机制原理和代码讲解清晰的,并且内容编排组织方面也是循序渐进、循循善诱,也不失趣味性。Transformer作为大语言模型的核心组件,它的设计可谓匠心独运。它巧妙地融合了自注意力机制、残差连接、层归一化等多种技巧,既提升了模型的表达能力,又兼顾了训练的稳定性。尤其是自注意力机制,堪称 Transformer 的灵魂所在。与传统的 RNN 不同,自注意力能够一次性"关照"输入序列的所有位置,并自动学习它们之间的依赖关系。这种"一览众山小"的能力,让 Transformer 在处理长序列依赖时如鱼得水,大大拓展了语言模型的应用边界。不可否认的是,Transformer 的精妙也意味着其理解和实现的难度。在学习过程中,我曾被其中的数学细节所困扰,尤其是在计算自注意力权重时涉及的矩阵运算。但正所谓"世上无难事,只怕有心人",通过反复推敲各种论文、技术博客以及书籍和相应的代码实现,我渐渐对此有一定开悟。这个过程让我深刻体会到,对浩如烟海的各类AI算法的学习,绝非纸上谈兵,而是需要动手实践、亲自摸索的。只有将知识内化于心、外化于行,才能真正将其变为自己的本领。
第三章的重点是大语言模型的训练秘笈——"预训练-微调范式"。与传统的监督学习不同,大语言模型采取了一种"先打基础,再学专业"的策略。在预训练阶段,模型在海量无标注语料上进行自监督学习,掌握语言的一般规律和表示方法。这个过程犹如在汪洋大海中掌舵航行,模型在浩瀚的语料中汲取营养,构建起对语言的基本认知。而在微调阶段,模型则针对特定任务,在相对较小的标注数据集上进行训练,犹如一艘巨轮驶入了目的港,进一步精细调整自己的技能。这种"预训练-微调"的范式,是大语言模型得以在各类任务上大显身手的关键所在。预训练赋予了模型语言的"通用感性",使其能够将这种感性迁移到不同的任务中。这就像一个饱览群书的文学家,能够在不同的文学体裁中信手拈来,挥洒自如。而微调则像是为文学家量身定制的专项训练,帮助他进一步磨砺特定领域的技艺。二者的完美结合,造就了大语言模型的非凡才能。而谈到预训练,就不得不提数据的选择和构建。预训练数据的质量和多样性,是决定模型性能的关键因素。理想的预训练数据,应该涵盖各个领域、各种体裁的语料,从而让模型能够学习到语言的多样表现形式。这就像一位优秀的老师,他的知识宽广而深厚,能够为学生打开通往不同领域的大门。反过来说,倘若预训练数据过于单一或质量低下,就可能限制模型的视野,使其难以适应复杂多变的语言环境。在数据构建的过程中,我也深刻体会到了其中的挑战。海量语料的收集和清洗,对计算和存储资源提出了极高的要求。更棘手的是,如何在浩如烟海的网络信息中甄别优质语料,剔除低质、重复和有害内容,这需要大量的人力投入和智能算法的加持。这个过程让我认识到,机器学习的性能,固然取决于模型的设计,但数据的质量和规模,同样是不可或缺的基石。正如机器学习的一个经典理论所阐述的:数据和特征决定了机器学习模型的上限,而算法则是在不断逼近这个上限。这一点在我过往的各种实践项目中也是大有感触。然而随着大模型技术超乎想象的快速发展,对数据需求在指数级增长,现有的数据存量与增长速度却远不足以支撑更先进AI的训练。希望各大研究机构厂商对此有恰当的解决办法,继续推动实现“大力出奇迹”。不过可以料见的是,未来肯定无法再达到线性式的爆发膨胀,毕竟也存在“边际效益递减”这一定律。
大语言模型应用发展的势头可谓"红红火火",但对于大语言模型的技术细节学习探究可不是“一蹴而就”。这本书不仅让我对 LLM 的技术原理有了更深刻的理解,也让我对 NLP 的发展历程有了更全面的认知。从 Transformer 到 GPT,从 BERT 到 LLaMA,一代代模型的迭代,无不凝结着 NLP 先驱者的智慧结晶。而海量语料的构建和优化,更是无数工程师辛勤耕耘的结果。更多高质量的大模型原理书籍的“涌现”,也滋养反哺出更多勇攀高峰的挑战者。感谢作者对于本书的倾情奉献,感谢在学习过程中没有主动提供帮助,但是也由于我的不断探索发现,而间接帮我打下基石的各路大神。当然也感谢我自己的求知欲,对真理的真挚热爱,激发着我迎难而上,一往无前。
安排好手上的各种事情,在接下来的半月,我将进一步开展本次的阅读计划的第二部分——认真阅读本书的第4-6章节。
与知识真理为伴,我永远感觉富有激情、斗志昂扬。不管我年纪几何,我对追求真理的初心永不改变。