大语言模型(大模型/LLM)源于“后续词预测“这一简洁的任务:给定上文,预测下一个词;然而,利用“预测后续词”这个简单的功能,加以层层封装、叠加,可以构建出相当复杂的应用,例如可以自主完成软件开发任务的 Devin。从后续词预测到复杂应用,这中间涉及构造恰当的输入、让大模型产生符合形式语言的结构化输出、大模型的并行调用、控制流程、可持久化存储、多个大模型交互等各种操作。
为了实现这些操作,开源社区和学术界出现了很多有趣但又有“碰瓷”之嫌的工作: 把“调整大模型提示词”封装成类 PyTorch 神经网络调参 API;利用弱类型、强类型(比如 TypeScript)编程语言乃至伪代码控制大模型的形式化输入输出和控制结构(当然,少不了 Rust+WASM );大模型“作为编译器”将输入转换成某种代码乃至“作为解释器”的一部分参与执行;用大模型自己做大模型的“虚拟内存分页管理”等等……可以说是总想搞一个大新闻。
这些很懂起名艺术的工作究竟是确有其实还是夸夸其谈?本次 Tunight 将从大模型“预测后续词”的工作方式出发,自底向上地介绍一些为方便操纵大模型而生的抽象、封装思想和开源框架,以及他们所标榜的软件系统概念,欢迎大家共同鉴别。
本次 Tunight 主讲人 Pero 将在线上进行分享,我们依旧准备了线下教室方便大家进行讨论。欢迎大家以线上或者线下参加,一起来玩!
附录:上文提到的一些大新闻