本篇文章面向对大模型领域感兴趣,又不知如何下嘴的程序员。
看一下围绕大模型的应用场景和人才需求:
**Prompt工程:**基于提示词对大模型的使用,会问问题就行。
**基于大模型的应用(狭义的):**通过预设一些Prompt的方式做业务层应用,俗称大模型套壳。AI主播、AINPC、AI小助手。。。之前是会调API就行。现在有了GPTs,连调用API都可以不用了,动动嘴就可以实现应用生成。
私有知识库:用RAG技术给大模型配个“资料袋”**——**大模型外挂向量数据库。
**AI Agent:**给大模型“大脑”装上记忆体、手和脚,让它可以作为智能体进行自主决策、任务拆解和执行。
**微调大模型:**基于基座大模型的Fine Tuning。
**训练大模型:**大模型训练,高端赛道的角逐。
因此普通程序员研究大模型,不妨选择从外到内的思路,从套壳应用,再了解部署、微调和训练。
前导篇
Python
Python:AI领域最常用的编程语言。要学会基础语法、数据结构等。Python不难,对于一般程序员来说很容易上手。
向量数据库
随着AI的发展进入新的时代,知识的存储和表示就和向量分不开了。向量这个数学表达,在目前是人与AI交互的中间媒介。 向量数据库是一种特殊的数据库,它以多维向量的形式保存信息。让大模型拥有“记忆”,就需要用到向量数据库。
常见的向量数据库包括:Chroma、ES、FAISS、Milvus等,需要了解和会用。
实战篇
LangChain
要将大语言模型的能力开发成产品,就需要LangChain帮忙了。LangChain 是一个 LLM 编程框架,它提供了一套工具、组件和接口,借助LangChain,我们可以更加便利地给大模型这个“大脑”装上记忆和四肢,更轻松地完成基于大模型的应用开发。
比如带有私有知识库的办公助手等AI Agent,都可以借助LangChain来完成。
LangChain主要支持6种组件:
- Models:模型,各种类型的模型和模型集成
- Prompts:提示,包括提示管理、提示优化和提示序列化
- Memory:记忆,用来保存和模型交互时的上下文状态
- Indexes:索引,用来结构化文档,以便和模型交互
- Chains:链,一系列对各种组件的调用
- Agents:代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止
最近又更新了LangGraph,用于创建多Agent应用。
可以结合市面上的一些开源项目学习Langchain。
在本地搭建部署开源模型
从零入门大模型技术,其实还是有点门槛的,硬件资源就是一关,性能一般有限。但还是可以从参数规模较小的7B左右开源模型开启尝试。比如清华的GLM系列,meta的llama系列都可以。
另外也可以用Ollama工具,Ollama旨在简化在Docker容器中部署和管理大型语言模型(LLM)的过程。Ollama支持的模型库,连包Llama3都包括了,还是很香的。
如果嫌自己摸索太麻烦,正好最近发现一个程序员的AI大模型进阶之旅免费公开课**。**
这个课正是为了适应当下AI大模型的发展而推出的,由几位业内大佬主讲,主要面向的就是想系统性学习AI大模型的同学。会带你深度解析此轮AI变革和以往有何根本不同,还能学习大模型相关的Langchain技术,以及如何fine-tune模型等。
重要的是有 AI 大模型学习资源包,以及好用的 AI工具等。感兴趣的可以微信扫码免费学习 ↓ ↓ ↓
提高篇
机器学习基础
了解分类算法、回归算法、聚类算法、降维算法等经典的机器学习算法;
模型评估:交叉验证、偏差和方差、过拟合和欠拟合、性能指标(准确率、召回率、F1分数等)。
深度学习基础
掌握CNN,RNN等经典网络模型,然后就是绕不开的Transformer。
Transformer是一个引入了 Self-attention 机制的模型,它是大语言模型的基石,支撑着庞大的大语言模型家族。
在代码层面,必须掌握的就是神经网络的框架,主流框架有tenorflow,Pytorch等。
NLP 基础知识
NLP、NLU、NLG的差别;
自然语言处理中的基本任务和相关的应用;
TF-IDF、word2vec、BERT等基本算法和技术;
预训练语言模型:模型的输入、模型的结构、训练的任务、模型的输出;
可以直接从word2vec开始了解,然后到transformer,bert。
了解LLM的3个分支和发展史
根据使用的 Transformer 的方式不同,有3种常见的主流架构:encoder-only,encoder-decoder和decoder-only。
这张图清晰地展示了LLM的3个分支:
- encoder-only:BERT
- encoder-decoder:T5, GLM-130B, UL2
- decoder-only:GPT系列, LLaMA, OPT, PaLM,BLOOM
了解典型 Decoder-only 语言模型的基础结构和简单原理。
深入篇
掌握 Continue Pre-train、Fine-tuning 已有开源模型的能力;
掌握 Lora、QLora 等最小化资源进行高效模型训练的PEFT技术;
掌握强化学习基础;
Alignment与RLHF;
数据处理技术;
压缩模型、推理加速技术;
分布式训练并行技术;
分布式网络通信技术;
生产环境部署大模型的相关技术。
很多人说,大模型赛道不是普通人能玩的。狭义的大模型赛道,是这样,更多的是看运气。但是大模型之上的生态,目前来看是广阔的蓝海。关于大模型更加体系化的介绍,建议去听一下免费公开课,有业内老师进行系统化的梳理,比自己摸索会高效很多:
退一万步讲,就是为了提高工作效率自己先用起来,也是个很好的加持。所以积极了解大模型,入股不亏。
参考资料:
Langchain 官方文档:Introduction | ️ Langchain
中文站:LangChain 介绍(内容比英文站更新慢)
github:https://github.com/hwchase17/langchain
其他语言的LangChain:
Golang: https://github.com/tmc/langchaingo
Ruby:GitHub - tmc/langchaingo: LangChain for Go, the easiest way to write LLM-based programs in Go
Java:https://github.com/langchain4j/
Ollama:
GitHub - ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models.