大模型时代程序员应有的正确姿势

在这里插入图片描述

过去的一年中,最炙手可热的是以扩散模型和大语言模型为代表的 AIGC 技术的普及,在可预见的未来,这种热度仍将持续下去。无论主观上是否愿意,AIGC已经在重构我们的工作流程,重构人与人、人与机器、机器与机器的关系,上一次类似的技术变革还是上个世纪 90 年代末,互联网走向普通大众的时代。那也是一个软件英雄辈出的时代,求伯君、丁磊、王江民、梁肇新、洪以容、张小龙皆以一己之力做出了风靡全国的产品。后面由于软件架构的日益复杂,特别是 B/S 以及移动端开发的日益复杂,2010年后小团队创业成功的案例已经很少了。

正如互联网时代,网络增进了人与人之间的联系,"网聚人的力量"释放出了巨大的生产力。在 AIGC 的时代,计算机的能力得到了极大的增强,人与机器、机器与机器之间的协作构成了新的工具杠杆,加之开源软件的广泛应用使得个体、小团队重新获得了竞争优势,在 AIGC 的时代又出现了小团队拥有巨量用户的示例。

如果说二十五年前的互联网革命个体进入门槛是编程的能力,AIGC时代则在编程能力之外还增加了对熟练开发或应用 AI 的能力。

提起程序员转型到 AI ,很多人的直觉是:搞AI啊,那数学得好吧,从高等数学、集合论、概率论、测度论、线性代数、泛函分析、凸优化整起。对于非数学专业和多数工科背景的人这个要求足以劝退。

但是在实践中,除了做 AI 编译器、优化器搞模型训练,绝大多数工作并不需要这些数学知识,以 Resnet 为例,设计这一网络架构只需要信息论的相关的知识就足够了,正如我们开汽车并不需要了解如何最优化发动机、电动机的工况。

我在二十年前开始学习统计自然语言处理时,也面临今天想转型到 AI 的同学一样的情况。当时全文检索系统风头正劲,准确的中文切分器能够让检索系统在构建索引的速度、索引大小与检索质量上获得一个较好的平衡。当时的主流是隐式马尔科夫的切分方案,基于 CRF 的字标注方法刚刚提出,CRF 方法的优化器采用拟牛顿法需要计算 Hessian 矩阵的近似,这个近似会占用大量内存我从工程上优化了其物理内存占用,但是完成这个工作并不需要了解拟牛顿法的数学细节,而提升 CRF 方法分词器的效果需要引入更多、更全面的特征,这一工作也不需要特别高深的数学知识。需要额外补充,由于 CRF 方法需要序列标注(预测)点之后的数据,因此不适用于文本生成的用途,在当时文本生成仍然需要 n-gram LM。

定量的理性认知固然很好,但是很多场景下,宏观的感性认知已经足以指导我们日常的决策。

从分词算法的研究我们可以发现,引入当前数据集无关的外部领域知识可以提升系统的综合性能(f-score) ,但是如何更好的构造关联到字的特征向量成为新的问题。基于神经网络的语言模型可以将稀疏高维的特性向量压缩到稠密低维的特征向量_(A Neural Probabilistic Language Model,Yoshua Bengio 2003),并进而 Word2vec (Efficient Estimation of Word Representations in Vector Space, Tomas Mikolov, 2013)_发现可以对计算出的词向量执行语义计算,而 GPT、BERT 等预训练大语言模型更是把英文单词都切分成了多个 token,交由神经网络本身在前8层 Transformer Block 进行还原。要完成这些工作,仍然不需要特别高深的数学知识,依赖的是巧妙的任务设计和对概率论的初步了解。

顺便提一句,在 BERT 时代,基于知识库的问答,BERT 已经显著优于 关键词和向量召回。

由于预训练语言模型非常消耗算力,以微软 UniLM 为例,24 层的模型在2019年已经需要 8卡 V100 并行计算 近一个月。因此,在 2019年 Google 提出了 T5 模型(Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,Colin Raffel, 2019), 虽然较现在的 LLM 能力稍弱,但是提出了可以基于前缀文本区分任务,进而在统一的框架内对语言模型进行预训练,例如当进行翻译任务时在需要处理的文本前面附加 translate English to German: ,当需要进行文本情感分析时附加_sentiment:_ 。类似的思路表现为现在的大语言模型普遍都有 SFT 或 指令对齐阶段。OpenAI 发现可以借助 Prefix 或者这里我们称它为 Prompt , 可以激发模型未被设计、训练的新的能力。

到 ChatGPT 为代表的大语言模型出现,传统意义上 NLP 的所有问题都得到解决,日常大量的文本处理类的工作可以无脑的使用大语言模型。但是,拥有了堪称强大的自然语言处理工具的现下,我们要解决的现实问题远没有得到解决,这甚至不是结束的开始,充其量只是开始的结束。

以最新的论文 《Top in Chinese Data Processing: English Code Models(arxiv_2401.10286)》为例,其提出对于特定的中文应用(eg. RAG,检索增强生成)语言模型中受限的中文知识反而有助于降低幻觉。这种现象的真实原因仍有待进一步研究,但是现有的部分中文大语言模型其 Tokenizer 部分是存在缺陷的,简单讲,中文历史上存在单字成词的传统,理论上在 Tokenizer 中除了单字和成语,不应该出现常见字的两字组合(鸳鸯、麒麟、凤凰等是特例),更进一步的,如果字出现的频率不高,单字也可以不出现(回退到 OpenAI 的方案)。

考虑到现实的算力限制,并不是每个程序员都有机会从头训练大语言模型,但是我们仍然需要对大语言模型的工作原理以及其工作方式的可能解释进行研究,因为 创新往往需要通过观察事物并深入了解其原理后才能产生。

例如,在过去的一年多,多方Prompt 进行了广泛的研究,提出了 CoT, ToT 等一系列 Prompt 方法,从大语言模型的原理出发,应该怎样科学的研究 Prompt 的制作才不至于沦为“玄学"、“咒语”?

又如,大语言模型内置了大量的知识,这使得用户经常混淆其能力的来源,是来自预置知识、类比还是真实推理,以及更一般的这些知识如何增删改(CRUD)。

再如,大语言模型能够借助其参数量模拟多种不同的人格,并预测对应人格在不同环境下可能的反馈,这有助于我们在不违反医学伦理的情况进一步的探索人类的认知。

在程序员的视角看,大语言模型的出现给程序开发带来了下面若干新问题。

  • 应用是否应该引入大语言模型,是采用 API 接入还是本地推理?

  • 大语言模型的局限在哪里?

  • 某类任务是否适用于大语言模型?有哪些设计模式?

  • 如何筛选当前任务合适的大语言模型?

  • 如何设计合适的测试、验证任务?特别在大语言模型可能已经"偷看"过公开测试集的情况

  • 如何设计对大语言模型有效的验证方法?

  • 如何设计、优化指示大语言模型工作的 Prompt ?

  • 实际部署、运维大语言模型,有哪些额外的注意事项?

大语言模型的出现,固然带来了前所未有的挑战,但也为我们提供了一个深入了解我们自己、了解认知过程的机会。正如很多恐惧的根源是来自人类面对未知事物的本能,通过对大模型的探索,有助于我们发现并克服其局限,进而设计出更加智能、高效的应用。

那么,我们该如何学习大模型?

面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,详尽的全套学习资料,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

无论是初学者,还是希望在某一细分领域深入发展的资深开发者,这样的学习路线图都能够起到事半功倍的效果。它不仅能够节省大量时间,避免无效学习,更能帮助开发者建立系统的知识体系,为职业生涯的长远发展奠定坚实的基础。

这份完整版的AI大模型全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
这份完整版的AI大模型全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值