如今,大模型应用已经渗透到各个领域,从自然语言处理到计算机视觉,再到推荐系统。这些复杂而强大的模型,如 GPT-3.5/4、文心一言 和 Claude3,成为科技领域的瑰宝,引领着人工智能的浪潮。然而,对于许多初学者来说,这些大模型应用似乎充满神秘色彩,仿佛只有少数专家才能参与其中。事实上,深入了解这些模型的原理和应用,并付诸实践,并不遥不可及。
类比一下, 对于程序员而言,如果学习前端开发,应该怎么做?可能,我们要先学习HTML/Javascript/CSS 的基本原理,然后动手跟着教程写一些例子,最后在实际的前端应用中去不断实践,形成循环迭代,进而真正掌握这门技术。面向大模型的应用开发也是一样的,理解大模型的基本原理,实际动手实践,在具体应用中对大模型进行微调,同样是一个循环迭代的过程。
👉[掘金大礼包🎁:<
大模型入门开发文档+视频
> 公z号 AI智能江河)]👈
😝有需要的小伙伴, 公z号 [AI智能江河]
双手沾泥,探索大模型应用的世界,将为我们揭示更多的乐趣。
1. 大模型的基本原理
谈到大模型一般会从AI 说起,什么是程序员视角中的AI呢?。
人工智能在一定程度上是可以通过自然语言体现的,可以追溯到图灵测试。而通过大模型通常是指大型语言模型,确切地说,大概应该叫大型基础模型,是参数规模庞大、拥有深层结构的神经网络,能够处理复杂的任务。。GPT-3/4、Claude3等类似的大模型与AI、机器学习和深度学习的关系如下图所示:
大模型的以 GPT-3 为例,这是一个由数十亿个参数组成的深度神经网络,通过无监督学习在大规模文本数据上进行预训练,从而具备了惊人的语言生成能力。这主要归功于Transformer架构,它能够处理长文本序列并记住上下文。Transformer的核心支柱是自注意力机制,即关注一句话中最相关的词,交叉注意力和自注意力是其中两个广泛使用的模块。其中,自注意力机制的示意图如下:
GPT-X等大模型充分利用了Transformer架构的潜力,而chatGPT可以看作融入了对话管理的大模型应用,背后的模型应该是gpt-3.5-turbo,它根据制定的输入提示词逐个预测下一个词,进而生成问答。另外,GPT-4同时支持插件功能。
OpenAI 提供的很多模型都会不断更新,但都是涉及到一些基本概念,例如提示词、token和嵌入。其中,提示词可以参考《解读提示工程(Prompt Engineering)》,进一步,还可以参考《Agent 应用于提示工程》;token 可以参考《解读大模型(LLM)的token》,同时注意token和tokenization的区别;嵌入可以参考《《深入浅出Embedding》随笔》。
2.动手体验
要想真正掌握大模型应用,光有理论知识是不够的。我们必须深入实践,通过亲手操作、不断尝试,才能真正理解其内在的逻辑和规律。这就像农民种地一样,只有双手沾泥,亲身感受土地的温暖和湿润,才能种出丰收的庄稼。同样,只有我们亲手搭建模型、调整参数、处理数据,才能真正掌握大模型应用的精髓。
对于大模型在各种任务上的表现, 可以在其厂商提供的控制台直接体验。例如, OpenAI Playground 就是一个很好的体验途径。
对程序员而言, 新技术的学习一般都会始于“永远的hello world”,大模型应用也不例外,只不过是基于Python这种编程语言而已,关于Python 的一些基础用法可以参考《全栈Python 编程必备》。
安装环境的命令 pip install openai
,5行代码实现hello world:
代码语言:javascript
import openai
resp = openai.ChatCompletion.create{
model="gpt-3.5-turbo",
message =[{"role"= "user","content"="Hello World!"}], )
print(resp["choices"][0]["message"]["content"]
当然,这里默认设置了OPEN_API _ KEY的环境变量。
GPT-3.5-turbo可能是最便宜且功能最多的模型,可以作为大模型应用开发的初始选择。
在广泛联系之前,要考虑一下成本和数据隐私。例如,OpenAI 是以每千个token定价的,且每个模型的定价不同。gpt-4模型的窗口大小是gpt-3.5-turbo的两倍,但成本会更高。另外,OpenAI会保留30天的用户输入,注意敏感信息的保护,管理好密钥。
3.尝试应用
开发基于大模型的应用,核心是将大模型与其提供的API结合起来,需要注意的是,应用要与模型解耦,绑定会带来紧耦合,不利于系统扩展。一个典型使用OpenAI API的web程序如下图所示:
需要注意的是,大模型应用无法避免提示词注入,提示词的这一功能特性带来了安全风险。一般的应对策略包括:
- 使用特定规则控制用户输入
- 控制输入的长度
- 控制输出
- 监控与审计
- 意图分析
提示工程专注于以最佳实践的方式来构建LLM的最佳输入,从而尽可能以程序化方式生成目标结果。
由于大模型将数字视为token,所以缺乏真正的数学逻辑和类似的推理能力。可以在提示词末尾添加“让我们逐步思考”这样的话,这种技术被称为“零样本思维链”。思维链是指使用提示词鼓励模型逐步思考的技术,one-shot 和 few-shot也是常见技术手段,总之,提示工程是一个反复试错的迭代过程。
另外,面向特定任务, 我们还需要微调大模型,示意图如下:
大多数时候,预训练的大模型需要在特定任务上进行微调,以适应具体应用场景。微调过程包括调整模型的超参数、选择合适的数据增强方法,以及解决过拟合等问题。微调要使用基础模型,而不能使用像InstructGPT系列中的模型。而且,微调通常也需要大量的数据,成本也不低。
通过深入研究微调的技术细节,我们能够更好地将大模型应用到实际问题中,提高模型的性能和泛化能力,更多有关微调的理解和思考可以参考《解读大模型的微调》。
《大模型应用开发极简入门》一书中给了一些不错的练手项目,都可以动手尝试。
4. 大模型应用框架的使用
站在巨人的肩膀上, 从零构建一个成熟且复杂的大模型应用并不是一件轻松的事。和web应用的开发类似, 是类似Spring 这样的应用框架, 给我们带来了极大的便利。对大模型应用而言也是如此,langchain就是一个当前看来还不错的应用框架。
关于Langchain的进一步了解,可以参考《解读LangChain》。Agent 及相关工具是LangChain框架提供的关键功能之一,让大模型能够执行各种操作并与各种功能集成,从而解决复杂的问题。在LangChain中使用Agent 的示意如下:
关于Agent 的更多理解,可以参考《基于大模型(LLM)的Agent 应用开发》。
document_loaders 是Langchain中的一个重要模块,通过这个模块,可以快速将文本数据从不同的数据源加载到应用程序中,然后,对文本实现向量化,例如使用 OpenAIEmbeddings 模块,从而使搜索更加容易。这是RAG的典型应用模式,关于RAG的更多理解可以参考《大模型系列——解读RAG》。LangChain 以向量数据库为核心,有多种向量数据库可以选择,关于向量数据库可以参考《解读向量数据库》。
另外,GPT-4的插件功能重新定义了我们与大模型的交互方式,我们可以自行开发插件,进而提供更为广泛的功能。
5. 小结
当然,通过一本书实现大模型应用开发入门是可能的, 但和传统软件开发一样,如果要掌握大模型应用的开发技能, 实践仍然是不二的法门。
- 通过阅读相关文献、参与在线课程,将有助于建立对大模型原理的深刻理解,就论文而言,《系统学习大模型的20篇论文》或许是个不错的起点;
- 通过与社区和团队共同探讨,将为我们提供更多的机会和启示;
- 通过亲自编写代码、搭建模型,我们能够深刻理解模型训练和推理的过程,可以与《如何构建基于大模型的App》相互印证。
双手沾泥,大模型应用并不神秘。选择一个熟悉的任务,让我们开始构建相应的大模型应用吧。
如何系统的去学习大模型LLM ?
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以领取🆓
👉[掘金大礼包🎁:<
大模型入门开发文档+视频
> 公z号 AI智能江河)]👈 😝有需要的小伙伴, 公z号[AI智能江河]
AI大模型系统学习路线图
阶段1:AI大模型时代的基础理解
- 目标:了解AI大模型的基本概念、发展历程和核心原理。
- 内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程 - L1.4.1 知识大模型 - L1.4.2 生产大模型 - L1.4.3 模型工程方法论 - L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
- 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
- 内容:
- L2.1 API接口 - L2.1.1 OpenAI API接口 - L2.1.2 Python接口接入 - L2.1.3 BOT工具类框架 - L2.1.4 代码示例
- L2.2 Prompt框架 - L2.2.1 什么是Prompt - L2.2.2 Prompt框架应用现状 - L2.2.3 基于GPTAS的Prompt框架 - L2.2.4 Prompt框架与Thought - L2.2.5 Prompt框架与提示词
- L2.3 流水线工程 - L2.3.1 流水线工程的概念 - L2.3.2 流水线工程的优点 - L2.3.3 流水线工程的应用
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架 - L3.1.1 Agent模型框架的设计理念 - L3.1.2 Agent模型框架的核心组件 - L3.1.3 Agent模型框架的实现细节
- L3.2 MetaGPT - L3.2.1 MetaGPT的基本概念 - L3.2.2 MetaGPT的工作原理 - L3.2.3 MetaGPT的应用场景
- L3.3 ChatGLM - L3.3.1 ChatGLM的特点 - L3.3.2 ChatGLM的开发环境 - L3.3.3 ChatGLM的使用示例
- L3.4 LLAMA - L3.4.1 LLAMA的特点 - L3.4.2 LLAMA的开发环境 - L3.4.3 LLAMA的使用示例
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
辅助学习书籍PDF资源:
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。 请根据您的个人进度和时间安排,适当调整学习计划。记得在学习过程中,理论与实践相结合,不断进行项目实践和反思,以加深理解和技能的掌握。
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
😝有需要的小伙伴,可以领取🆓
👉[掘金大礼包🎁:<
大模型入门开发文档+视频
> 公z号 AI智能江河)]👈 😝有需要的小伙伴, 公z号[AI智能江河]